Lines 1-16
Link Here
|
1 |
# $FreeBSD: head/multimedia/kodi/Makefile 543873 2020-07-31 17:07:18Z tobik $ |
1 |
# $FreeBSD: head/multimedia/kodi/Makefile 543873 2020-07-31 17:07:18Z tobik $ |
2 |
|
2 |
|
3 |
PORTNAME= kodi |
3 |
PORTNAME= kodi |
4 |
DISTVERSION= 18.7.1 |
4 |
DISTVERSION= ${KODI_VERSION} |
5 |
PORTREVISION= 2 |
|
|
6 |
CATEGORIES= multimedia java |
5 |
CATEGORIES= multimedia java |
7 |
|
6 |
|
8 |
MAINTAINER= ports@FreeBSD.org |
7 |
MAINTAINER= yzrh@tuta.io |
9 |
COMMENT= Award winning media center application |
8 |
COMMENT= Award winning media center application |
10 |
|
9 |
|
11 |
LICENSE= GPLv2+ |
10 |
LICENSE= GPLv2+ |
12 |
|
11 |
|
13 |
ONLY_FOR_ARCHS= amd64 armv6 armv7 i386 |
12 |
ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 |
14 |
|
13 |
|
15 |
BUILD_DEPENDS= flatbuffers>0:devel/flatbuffers \ |
14 |
BUILD_DEPENDS= flatbuffers>0:devel/flatbuffers \ |
16 |
gperf>0:devel/gperf \ |
15 |
gperf>0:devel/gperf \ |
Lines 24-29
Link Here
|
24 |
libcdio.so:sysutils/libcdio \ |
23 |
libcdio.so:sysutils/libcdio \ |
25 |
libcrossguid.so:devel/libcrossguid \ |
24 |
libcrossguid.so:devel/libcrossguid \ |
26 |
libcurl.so:ftp/curl \ |
25 |
libcurl.so:ftp/curl \ |
|
|
26 |
libdvdnav.so:multimedia/libdvdnav \ |
27 |
libdvdread.so:multimedia/libdvdread \ |
27 |
libexpat.so:textproc/expat2 \ |
28 |
libexpat.so:textproc/expat2 \ |
28 |
libfmt.so:devel/libfmt \ |
29 |
libfmt.so:devel/libfmt \ |
29 |
libfreetype.so:print/freetype2 \ |
30 |
libfreetype.so:print/freetype2 \ |
Lines 39-54
Link Here
|
39 |
libtag.so:audio/taglib \ |
40 |
libtag.so:audio/taglib \ |
40 |
libtinyxml.so:textproc/tinyxml \ |
41 |
libtinyxml.so:textproc/tinyxml \ |
41 |
libuuid.so:misc/e2fsprogs-libuuid |
42 |
libuuid.so:misc/e2fsprogs-libuuid |
42 |
RUN_DEPENDS= ${LOCALBASE}/share/fonts/dejavu/DejaVuSans.ttf:x11-fonts/dejavu |
|
|
43 |
|
43 |
|
44 |
USES= autoreconf:build cmake:noninja compiler:c++14-lang gettext gl gmake \ |
44 |
USES= autoreconf:build cmake:noninja cmake compiler:c++14-lang gettext gmake \ |
45 |
gnome iconv jpeg libtool pkgconfig python:2.7 ssl sqlite xorg |
45 |
gnome iconv jpeg libtool pkgconfig python:2.7 ssl sqlite |
46 |
|
46 |
|
47 |
KODI_ARCH_amd64=x86_64 |
47 |
.include "version.mk" |
48 |
KODI_ARCH_i386= x86 |
|
|
49 |
KODI_ARCH_armv7=armv7 |
50 |
KODI_ARCH_armv6=armv6 |
51 |
|
48 |
|
|
|
49 |
USE_GITHUB= yes |
50 |
GH_ACCOUNT= xbmc |
51 |
GH_PROJECT= xbmc |
52 |
GH_TAGNAME= ${DISTVERSION}-${KODI_CODENAME} |
53 |
|
54 |
KODI_ARCH_aarch64= aarch64 |
55 |
KODI_ARCH_amd64= x86_64 |
56 |
KODI_ARCH_i386= x86 |
57 |
KODI_ARCH_armv7= armv7 |
58 |
KODI_ARCH_armv6= armv6 |
59 |
|
60 |
PLIST_SUB= ARCH=${KODI_ARCH_${ARCH}} |
61 |
|
52 |
NOPRECIOUSMAKEVARS= yes |
62 |
NOPRECIOUSMAKEVARS= yes |
53 |
|
63 |
|
54 |
INSTALLS_ICONS= yes |
64 |
INSTALLS_ICONS= yes |
Lines 56-88
Link Here
|
56 |
USE_JAVA= yes |
66 |
USE_JAVA= yes |
57 |
JAVA_BUILD= jre |
67 |
JAVA_BUILD= jre |
58 |
USE_GNOME= libxml2 |
68 |
USE_GNOME= libxml2 |
59 |
CMAKE_ARGS= -Dlibdvdcss_URL="${DISTDIR}/xbmc-libdvdcss-1.4.2-Leia-Beta-5_GH0.tar.gz" \ |
69 |
CMAKE_ARGS= -DGIT_VERSION="${GH_TAGNAME}" \ |
60 |
-Dlibdvdnav_URL="${DISTDIR}/xbmc-libdvdnav-6.0.0-Leia-Alpha-3_GH0.tar.gz" \ |
70 |
-DDVDNAV_LIBRARY="${LOCALBASE}/lib/libdvdnav.so" \ |
61 |
-Dlibdvdread_URL="${DISTDIR}/xbmc-libdvdread-6.0.0-Leia-Alpha-3_GH0.tar.gz" |
71 |
-DDVDREAD_LIBRARY="${LOCALBASE}/lib/libdvdread.so" \ |
|
|
72 |
-DLIBDVD_INCLUDE_DIRS="${LOCALBASE}/include" |
62 |
CMAKE_OFF= ENABLE_INTERNAL_CROSSGUID \ |
73 |
CMAKE_OFF= ENABLE_INTERNAL_CROSSGUID \ |
63 |
ENABLE_INTERNAL_FFMPEG |
74 |
ENABLE_INTERNAL_FFMPEG |
64 |
CONFIGURE_ENV= _CPU_FEATURE="${CPU_FEATURE}" |
75 |
CONFIGURE_ENV= _CPU_FEATURE="${CPU_FEATURE}" |
65 |
|
76 |
|
66 |
KODI_CODENAME= Leia |
|
|
67 |
LIBDVDCSS_VERSION= 1.4.2-${KODI_CODENAME}-Beta-5 |
68 |
LIBDVDNAV_VERSION= 6.0.0-${KODI_CODENAME}-Alpha-3 |
69 |
LIBDVDREAD_VERSION= 6.0.0-${KODI_CODENAME}-Alpha-3 |
70 |
|
71 |
USE_GITHUB= yes |
72 |
GH_TUPLE= xbmc:xbmc:${PORTVERSION}-${KODI_CODENAME} \ |
73 |
xbmc:libdvdcss:${LIBDVDCSS_VERSION}:libdvdcss/tools/depends/target/libdvdcss/native \ |
74 |
xbmc:libdvdnav:${LIBDVDNAV_VERSION}:libdvdnav/tools/depends/target/libdvdnav/native \ |
75 |
xbmc:libdvdread:${LIBDVDREAD_VERSION}:libdvdread/tools/depends/target/libdvdread/native |
76 |
|
77 |
PLIST_SUB= ARCH=${KODI_ARCH_${ARCH}} |
78 |
|
79 |
OPTIONS_SUB= yes |
77 |
OPTIONS_SUB= yes |
80 |
# Not implemented: BLUETOOTH CAP |
78 |
# Broken: BLUETOOTH |
81 |
OPTIONS_DEFINE= AIRPLAY AIRTUNES AVAHI CEC DBUS DOCS DVDCSS LCMS2 \ |
79 |
OPTIONS_DEFINE= AIRPLAY AVAHI LIBBLURAY CEC DBUS DVDCSS LCMS2 \ |
82 |
LIBBLURAY LIRC NFS OPTICAL SMB UDEV UPNP VAAPI VDPAU \ |
80 |
LIRC WEBSERVER NFS DVD SMB UDEV UPNP \ |
83 |
WEBSERVER XSLT |
81 |
VAAPI VDPAU XSLT DOCS |
84 |
OPTIONS_DEFAULT= AIRPLAY AIRTUNES AVAHI CEC DVDCSS LIBBLURAY NFS OPTICAL SMB \ |
82 |
OPTIONS_DEFAULT= AIRPLAY AVAHI LIBBLURAY CEC DVDCSS LCMS2 WEBSERVER NFS \ |
85 |
UDEV UPNP VAAPI VDPAU WEBSERVER X11 XSLT |
83 |
DVD SMB UDEV UPNP VAAPI VDPAU XSLT X11 |
86 |
OPTIONS_DEFAULT_amd64= SSE SSE2 SSE3 |
84 |
OPTIONS_DEFAULT_amd64= SSE SSE2 SSE3 |
87 |
OPTIONS_DEFAULT_i386= SSE SSE2 SSE3 |
85 |
OPTIONS_DEFAULT_i386= SSE SSE2 SSE3 |
88 |
OPTIONS_SINGLE= PLATFORM |
86 |
OPTIONS_SINGLE= PLATFORM |
Lines 95-137
Link Here
|
95 |
OPTIONS_GROUP_FEATURE= SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX AVX2 |
93 |
OPTIONS_GROUP_FEATURE= SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX AVX2 |
96 |
OPTIONS_EXCLUDE_amd64= RPI |
94 |
OPTIONS_EXCLUDE_amd64= RPI |
97 |
OPTIONS_EXCLUDE_i386= RPI |
95 |
OPTIONS_EXCLUDE_i386= RPI |
|
|
96 |
OPTIONS_EXCLUDE_aarch64=FEATURE |
98 |
OPTIONS_EXCLUDE_armv7= FEATURE |
97 |
OPTIONS_EXCLUDE_armv7= FEATURE |
99 |
OPTIONS_EXCLUDE_armv6= FEATURE |
98 |
OPTIONS_EXCLUDE_armv6= FEATURE |
100 |
|
99 |
|
101 |
AIRPLAY_DESC= AirPlay support via libplist |
100 |
PLATFORM_DESC= Kodi platform |
102 |
AIRTUNES_DESC= AirTunes support via libshairplay |
|
|
103 |
AVX_DESC= Use AVX optimized routines |
104 |
AVX2_DESC= Use AVX2 optimized routines |
105 |
BLUETOOTH_DESC= Bluetooth support via bluez |
106 |
CAP_DESC= Capability support via libcap |
107 |
CEC_DESC= CEC adapter support |
108 |
DATABASE_DESC= Database |
101 |
DATABASE_DESC= Database |
109 |
FEATURE_DESC= X86 CPU feature |
102 |
FEATURE_DESC= X86 CPU feature |
|
|
103 |
|
104 |
AIRPLAY_DESC= AirPlay support |
105 |
BLUETOOTH_DESC= Bluetooth support |
106 |
CEC_DESC= CEC adapter support |
107 |
DVD_DESC= DVD support |
108 |
UDEV_DESC= Use libudev-devd |
109 |
XSLT_DESC= Use libxslt |
110 |
|
111 |
RPI_DESC= Raspberry Pi support |
110 |
GBM_DESC= GBM support |
112 |
GBM_DESC= GBM support |
111 |
MARIADB_DESC= MariaDB database support |
113 |
MARIADB_DESC= MariaDB database support |
112 |
OPTICAL_DESC= Optical disc support |
114 |
|
113 |
PLATFORM_DESC= Kodi platform |
|
|
114 |
RPI_DESC= Raspberry Pi support |
115 |
SSE2_DESC= Use SSE2 optimized routines |
115 |
SSE2_DESC= Use SSE2 optimized routines |
116 |
SSE3_DESC= Use SSE3 optimized routines |
116 |
SSE3_DESC= Use SSE3 optimized routines |
117 |
SSSE3_DESC= Use SSSE3 optimized routines |
117 |
SSSE3_DESC= Use SSSE3 optimized routines |
118 |
SSE4_1_DESC= Use SSE4.1 optimized routines |
118 |
SSE4_1_DESC= Use SSE4.1 optimized routines |
119 |
SSE4_2_DESC= Use SSE4.2 optimized routines |
119 |
SSE4_2_DESC= Use SSE4.2 optimized routines |
120 |
UDEV_DESC= Use libudev-devd |
120 |
AVX_DESC= Use AVX optimized routines |
121 |
XSLT_DESC= Use libxslt |
121 |
AVX2_DESC= Use AVX2 optimized routines |
122 |
|
122 |
|
123 |
AIRPLAY_LIB_DEPENDS= libplist.so:devel/libplist |
123 |
AIRPLAY_LIB_DEPENDS= libplist.so:devel/libplist \ |
124 |
AIRPLAY_CMAKE_BOOL= ENABLE_PLIST |
124 |
libshairplay.so:audio/shairplay |
|
|
125 |
AIRPLAY_CMAKE_BOOL= ENABLE_PLIST \ |
126 |
ENABLE_AIRTUNES |
125 |
|
127 |
|
126 |
AIRTUNES_LIB_DEPENDS= libshairplay.so:audio/shairplay |
|
|
127 |
AIRTUNES_CMAKE_BOOL= ENABLE_AIRTUNES |
128 |
|
129 |
AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app |
128 |
AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app |
130 |
AVAHI_CMAKE_BOOL= ENABLE_AVAHI |
129 |
AVAHI_CMAKE_BOOL= ENABLE_AVAHI |
131 |
|
130 |
|
132 |
BLUETOOTH_CMAKE_BOOL= ENABLE_BLUETOOTH |
131 |
BLUETOOTH_CMAKE_BOOL= ENABLE_BLUETOOTH |
|
|
132 |
BLUETOOTH_CMAKE_ON= -DBLUETOOTH_INCLUDE_DIR="${LOCALBASE}/include" |
133 |
|
133 |
|
134 |
CAP_CMAKE_BOOL= ENABLE_CAP |
134 |
LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray |
|
|
135 |
LIBBLURAY_CMAKE_BOOL= ENABLE_BLURAY |
135 |
|
136 |
|
136 |
CEC_LIB_DEPENDS= libcec.so:multimedia/libcec |
137 |
CEC_LIB_DEPENDS= libcec.so:multimedia/libcec |
137 |
CEC_CMAKE_BOOL= ENABLE_CEC |
138 |
CEC_CMAKE_BOOL= ENABLE_CEC |
Lines 139-166
Link Here
|
139 |
DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus |
140 |
DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus |
140 |
DBUS_CMAKE_BOOL= ENABLE_DBUS |
141 |
DBUS_CMAKE_BOOL= ENABLE_DBUS |
141 |
|
142 |
|
|
|
143 |
DVDCSS_LIB_DEPENDS= libdvdcss.so:multimedia/libdvdcss |
142 |
DVDCSS_CMAKE_BOOL= ENABLE_DVDCSS |
144 |
DVDCSS_CMAKE_BOOL= ENABLE_DVDCSS |
|
|
145 |
DVDCSS_CMAKE_ON= -DDVDCSS_LIBRARY="${LOCALBASE}/lib/libdvdcss.so" |
143 |
|
146 |
|
144 |
LCMS2_LIB_DEPENDS= liblcms2.so.2:graphics/lcms2 |
147 |
LCMS2_LIB_DEPENDS= liblcms2.so.2:graphics/lcms2 |
145 |
LCMS2_CMAKE_BOOL= ENABLE_LCMS2 |
148 |
LCMS2_CMAKE_BOOL= ENABLE_LCMS2 |
146 |
|
149 |
|
147 |
LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray |
|
|
148 |
LIBBLURAY_CMAKE_BOOL= ENABLE_BLURAY |
149 |
|
150 |
LIRC_LIB_DEPENDS= liblirc_client.so:comms/lirc |
150 |
LIRC_LIB_DEPENDS= liblirc_client.so:comms/lirc |
151 |
LIRC_CMAKE_BOOL= ENABLE_LIRCCLIENT |
151 |
LIRC_CMAKE_BOOL= ENABLE_LIRCCLIENT |
152 |
|
152 |
|
153 |
MARIADB_USES= mysql:104m |
153 |
WEBSERVER_LIB_DEPENDS= libmicrohttpd.so:www/libmicrohttpd |
154 |
MARIADB_CMAKE_BOOL= ENABLE_MARIADBCLIENT |
154 |
WEBSERVER_CMAKE_BOOL= ENABLE_MICROHTTPD |
155 |
MARIADB_CMAKE_ON= -DMARIADBCLIENT_INCLUDE_DIR="${LOCALBASE}/include" |
|
|
156 |
|
155 |
|
157 |
MYSQL_USES= mysql |
|
|
158 |
MYSQL_CMAKE_BOOL= ENABLE_MYSQLCLIENT |
159 |
|
160 |
NFS_LIB_DEPENDS= libnfs.so:net/libnfs |
156 |
NFS_LIB_DEPENDS= libnfs.so:net/libnfs |
161 |
NFS_CMAKE_BOOL= ENABLE_NFS |
157 |
NFS_CMAKE_BOOL= ENABLE_NFS |
162 |
|
158 |
|
163 |
OPTICAL_CMAKE_BOOL= ENABLE_OPTICAL |
159 |
DVD_CMAKE_BOOL= ENABLE_OPTICAL |
164 |
|
160 |
|
165 |
SMB_USES= samba:lib |
161 |
SMB_USES= samba:lib |
166 |
SMB_CMAKE_BOOL= ENABLE_SMBCLIENT |
162 |
SMB_CMAKE_BOOL= ENABLE_SMBCLIENT |
Lines 176-187
Link Here
|
176 |
VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau |
172 |
VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau |
177 |
VDPAU_CMAKE_BOOL= ENABLE_VDPAU |
173 |
VDPAU_CMAKE_BOOL= ENABLE_VDPAU |
178 |
|
174 |
|
179 |
WEBSERVER_LIB_DEPENDS= libmicrohttpd.so:www/libmicrohttpd |
|
|
180 |
WEBSERVER_CMAKE_BOOL= ENABLE_MICROHTTPD |
181 |
|
182 |
XSLT_LIB_DEPENDS= libxslt.so:textproc/libxslt |
175 |
XSLT_LIB_DEPENDS= libxslt.so:textproc/libxslt |
183 |
XSLT_CMAKE_BOOL= ENABLE_XSLT |
176 |
XSLT_CMAKE_BOOL= ENABLE_XSLT |
184 |
|
177 |
|
|
|
178 |
MARIADB_USES= mysql:105m |
179 |
MARIADB_CMAKE_BOOL= ENABLE_MARIADBCLIENT |
180 |
MARIADB_CMAKE_ON= -DMARIADBCLIENT_INCLUDE_DIR="${LOCALBASE}/include" |
181 |
|
182 |
MYSQL_USES= mysql |
183 |
MYSQL_CMAKE_BOOL= ENABLE_MYSQLCLIENT |
184 |
|
185 |
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib |
185 |
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib |
186 |
ALSA_CMAKE_BOOL= ENABLE_ALSA |
186 |
ALSA_CMAKE_BOOL= ENABLE_ALSA |
187 |
|
187 |
|
Lines 200-205
Link Here
|
200 |
AVX_VARS= CPU_FEATURE+=AVX |
200 |
AVX_VARS= CPU_FEATURE+=AVX |
201 |
AVX2_VARS= CPU_FEATURE+=AVX2 |
201 |
AVX2_VARS= CPU_FEATURE+=AVX2 |
202 |
|
202 |
|
|
|
203 |
GBM_USES= gl |
203 |
GBM_USE= GL=egl,gbm,glu |
204 |
GBM_USE= GL=egl,gbm,glu |
204 |
GBM_CFLAGS= -I${LOCALBASE}/include/libepoll-shim |
205 |
GBM_CFLAGS= -I${LOCALBASE}/include/libepoll-shim |
205 |
GBM_LDFLAGS= -L${LOCALBASE}/lib -lepoll-shim |
206 |
GBM_LDFLAGS= -L${LOCALBASE}/lib -lepoll-shim |
Lines 217-222
Link Here
|
217 |
libinput.so:x11/libinput |
218 |
libinput.so:x11/libinput |
218 |
RPI_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="rbpi" |
219 |
RPI_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="rbpi" |
219 |
|
220 |
|
|
|
221 |
WAYLAND_USES= gl |
220 |
WAYLAND_USE= GL=egl,glu |
222 |
WAYLAND_USE= GL=egl,glu |
221 |
WAYLAND_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ |
223 |
WAYLAND_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ |
222 |
wayland-protocols>0:graphics/wayland-protocols |
224 |
wayland-protocols>0:graphics/wayland-protocols |
Lines 226-231
Link Here
|
226 |
WAYLAND_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="wayland" \ |
228 |
WAYLAND_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="wayland" \ |
227 |
-DWAYLAND_RENDER_SYSTEM:STRING="gl" |
229 |
-DWAYLAND_RENDER_SYSTEM:STRING="gl" |
228 |
|
230 |
|
|
|
231 |
X11_USES= xorg gl |
229 |
X11_USE= XORG=x11,xext,xrandr GL=egl,gl,glu |
232 |
X11_USE= XORG=x11,xext,xrandr GL=egl,gl,glu |
230 |
X11_LIB_DEPENDS= libdrm.so:graphics/libdrm |
233 |
X11_LIB_DEPENDS= libdrm.so:graphics/libdrm |
231 |
X11_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="x11" |
234 |
X11_CMAKE_ON= -DCORE_PLATFORM_NAME:STRING="x11" |
Lines 233-238
Link Here
|
233 |
.include <bsd.port.options.mk> |
236 |
.include <bsd.port.options.mk> |
234 |
|
237 |
|
235 |
post-patch: |
238 |
post-patch: |
|
|
239 |
${REINPLACE_CMD} 's|KODI_DEPENDSBUILD|true|' \ |
240 |
${WRKSRC}/cmake/modules/FindLibDvd.cmake |
236 |
${REINPLACE_CMD} 's|/usr/share|${LOCALBASE}/share|' \ |
241 |
${REINPLACE_CMD} 's|/usr/share|${LOCALBASE}/share|' \ |
237 |
${WRKSRC}/xbmc/platform/linux/input/LibInputSettings.cpp |
242 |
${WRKSRC}/xbmc/platform/linux/input/LibInputSettings.cpp |
238 |
|
243 |
|