Gentoo Archives: gentoo-commits

From: Craig Andrews <candrews@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-tv/kodi/
Date: Mon, 03 Dec 2018 18:13:03
Message-Id: 1543860768.8cdc90bfc9749cb434f02fd034163eda2d113a8f.candrews@gentoo
1 commit: 8cdc90bfc9749cb434f02fd034163eda2d113a8f
2 Author: Craig Andrews <candrews <AT> gentoo <DOT> org>
3 AuthorDate: Mon Dec 3 17:59:46 2018 +0000
4 Commit: Craig Andrews <candrews <AT> gentoo <DOT> org>
5 CommitDate: Mon Dec 3 18:12:48 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8cdc90bf
7
8 media-tv/kodi: 18.0_rc2 version bump
9
10 Package-Manager: Portage-2.3.52, Repoman-2.3.12
11 Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>
12
13 media-tv/kodi/Manifest | 1 +
14 media-tv/kodi/kodi-18.0_rc2.ebuild | 319 +++++++++++++++++++++++++++++++++++++
15 2 files changed, 320 insertions(+)
16
17 diff --git a/media-tv/kodi/Manifest b/media-tv/kodi/Manifest
18 index bc96f3a29f9..16cebffe679 100644
19 --- a/media-tv/kodi/Manifest
20 +++ b/media-tv/kodi/Manifest
21 @@ -7,6 +7,7 @@ DIST kodi-17.6-generated-addons.tar.xz 57564 BLAKE2B 9b3000ac23a6aab24b703a2b660
22 DIST kodi-17.6.tar.gz 58275293 BLAKE2B 538675b7a3400d9182f957da9bbf609ce5ece502c3a7f4a32e26c802bae9795979554204148e06d1923d8e68ba1f06f9d92bf11416f73cf9431381642ca00639 SHA512 1f1ba91e6129ab423f9ad47b63d7bb75775dbf18638a96413a572aaa790f4f0d738ca35486513e158a7f55d501f78f08dd9d68aabe2fbb80a729c6091b264111
23 DIST kodi-18.0b5.tar.gz 50861823 BLAKE2B dd78bec6bf3df1ebe7b1ff82b8b90b0d7d326c71b9f2c0f6b6e08c0589a41563b07dfa7947096c6a01ae7e89cf79200c33c1d98c4a7333141972986bb2be652a SHA512 13699671544677cad8d90d4474422edc8ffc0be93672568daf21d2a9a96d9f9696a953227b4a1cca56ac423f288fbead9c68fd814d53320adcf96d5357403780
24 DIST kodi-18.0rc1.tar.gz 50880027 BLAKE2B c66100e37b7719c32e03c8b1e0d65455730c45891b41c7f2f99fbfb8c8f38893ce94f3f48cc78442d903417eaf29b8681a3f456c0613aec332f75f8874c0db87 SHA512 3adaa6e4405234fe95590b48a0d947491425a1a33b2dcc7d1d6df551b9dd6b4787b51916d8707a8b943e7a713947a44970f9695b5977ef8effd5354133bf97ad
25 +DIST kodi-18.0rc2.tar.gz 50969888 BLAKE2B 982d660c6f87706fa5d50c5ece84ea3d27adcd3ad561a77082cb2c1abfdd378b233aeaa8102682f0c89bb6f3c28481fa03b6070d4e9c3ba9b37b66096211071e SHA512 2f5bba021221cdc45242abc90a993dd033c2d7839f1031159869ac7a777a0675324ec2858868ff5060b16a8d5f367a6135a20ac570a099e907032678c91eac0c
26 DIST libdvdcss-1.4.2-Leia-Beta-5.tar.gz 101068 BLAKE2B 283aa2cec0a2200d3569bc280cb9659e9224a6b3a77db8a35b269cd8caf1337ac9d8b92b806df66f63ef7458a46bd6261f0b8b14678b10e26644a79dcbeea5da SHA512 5185dbdbeb1bd13ea9d8723f1f4ab599d6f3102f5ba1096cd085aa1cda252c045f327c719227bba8e1b742352ade5e335106c8d0c1637a5a6b93ce661620dd7e
27 DIST libdvdcss-2f12236bc1c92f73c21e973363f79eb300de603f.tar.gz 95395 BLAKE2B fb3973e098201d177309ad7ca50131725eee4bc6f30f425efa5fea406411f6143ba03abd82cd6c91a250419d3e0a29aafcbf981ba015f6e14cd0ceb001222c12 SHA512 12ba7aa653fcb26d5336bf2a8110c924d634cec79f684bbf19dc38ea33f69fb68c22c97f4c09e5ca7c35f95f6c324a6d70ccc2c501a99122a9321cafd33b2cd9
28 DIST libdvdnav-43b5f81f5fe30bceae3b7cecf2b0ca57fc930dac.tar.gz 130603 BLAKE2B 0a211fcedb216567bcd929048af01486ff91efbb8d31592fd116676b6ae95de3cd7bfab7cd79853b3d15e96c27e62cce8c79eeb9baee68a1bad4f3fce8a207a0 SHA512 901c6f24afa1d78b6ed78d1ee30daf634ca0bbc0467ef9cc3416bcab4fbc4fda6869ffa051791d85c0b510de748805328627681ef044668a7857299f0035232e
29
30 diff --git a/media-tv/kodi/kodi-18.0_rc2.ebuild b/media-tv/kodi/kodi-18.0_rc2.ebuild
31 new file mode 100644
32 index 00000000000..00b10dacb86
33 --- /dev/null
34 +++ b/media-tv/kodi/kodi-18.0_rc2.ebuild
35 @@ -0,0 +1,319 @@
36 +# Copyright 1999-2018 Gentoo Authors
37 +# Distributed under the terms of the GNU General Public License v2
38 +
39 +EAPI=6
40 +
41 +PYTHON_REQ_USE="libressl?,sqlite,ssl"
42 +LIBDVDCSS_VERSION="1.4.2-Leia-Beta-5"
43 +LIBDVDREAD_VERSION="6.0.0-Leia-Alpha-3"
44 +LIBDVDNAV_VERSION="6.0.0-Leia-Alpha-3"
45 +FFMPEG_VERSION="4.0.1"
46 +CODENAME="Leia"
47 +FFMPEG_KODI_VERSION="Alpha3-1"
48 +SRC_URI="https://github.com/xbmc/libdvdcss/archive/${LIBDVDCSS_VERSION}.tar.gz -> libdvdcss-${LIBDVDCSS_VERSION}.tar.gz
49 + https://github.com/xbmc/libdvdread/archive/${LIBDVDREAD_VERSION}.tar.gz -> libdvdread-${LIBDVDREAD_VERSION}.tar.gz
50 + https://github.com/xbmc/libdvdnav/archive/${LIBDVDNAV_VERSION}.tar.gz -> libdvdnav-${LIBDVDNAV_VERSION}.tar.gz
51 + !system-ffmpeg? ( https://github.com/xbmc/FFmpeg/archive/${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz -> ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz )"
52 +
53 +if [[ ${PV} == *9999 ]] ; then
54 + PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
55 + EGIT_REPO_URI="https://github.com/xbmc/xbmc.git"
56 + inherit git-r3
57 +else
58 + PYTHON_COMPAT=( python2_7 )
59 + MY_PV=${PV/_p/_r}
60 + MY_PV=${MY_PV/_alpha/a}
61 + MY_PV=${MY_PV/_beta/b}
62 + MY_PV=${MY_PV/_rc/rc}
63 + MY_P="${PN}-${MY_PV}"
64 + SRC_URI+=" https://github.com/xbmc/xbmc/archive/${MY_PV}-${CODENAME}.tar.gz -> ${MY_P}.tar.gz"
65 + KEYWORDS="~amd64 ~x86"
66 + S=${WORKDIR}/xbmc-${MY_PV}-${CODENAME}
67 +fi
68 +
69 +inherit autotools cmake-utils eutils gnome2-utils linux-info pax-utils python-single-r1 xdg-utils
70 +
71 +DESCRIPTION="A free and open source media-player and entertainment hub"
72 +HOMEPAGE="https://kodi.tv/ https://kodi.wiki/"
73 +
74 +LICENSE="GPL-2+"
75 +SLOT="0"
76 +# use flag is called libusb so that it doesn't fool people in thinking that
77 +# it is _required_ for USB support. Otherwise they'll disable udev and
78 +# that's going to be worse.
79 +IUSE="airplay alsa bluetooth bluray caps cec +css dbus debug dvd gbm gles lcms libressl libusb lirc mariadb mysql nfs +opengl pulseaudio samba systemd +system-ffmpeg test +udev udisks upnp upower vaapi vdpau wayland webserver +X +xslt zeroconf"
80 +REQUIRED_USE="
81 + ${PYTHON_REQUIRED_USE}
82 + || ( gles opengl )
83 + ^^ ( gbm wayland X )
84 + ?? ( mariadb mysql )
85 + udev? ( !libusb )
86 + udisks? ( dbus )
87 + upower? ( dbus )
88 +"
89 +
90 +COMMON_DEPEND="${PYTHON_DEPS}
91 + airplay? (
92 + >=app-pda/libplist-2.0.0
93 + net-libs/shairplay
94 + )
95 + alsa? ( >=media-libs/alsa-lib-1.1.4.1 )
96 + bluetooth? ( net-wireless/bluez )
97 + bluray? ( >=media-libs/libbluray-1.0.2 )
98 + caps? ( sys-libs/libcap )
99 + dbus? ( sys-apps/dbus )
100 + dev-db/sqlite
101 + dev-libs/expat
102 + dev-libs/flatbuffers
103 + >=dev-libs/fribidi-0.19.7
104 + cec? ( >=dev-libs/libcec-4.0 )
105 + dev-libs/libpcre[cxx]
106 + >=dev-libs/libinput-1.10.5
107 + >=dev-libs/libxml2-2.9.4
108 + >=dev-libs/lzo-2.04
109 + dev-libs/tinyxml[stl]
110 + dev-python/pillow[${PYTHON_USEDEP}]
111 + $(python_gen_cond_dep 'dev-python/pycryptodome[${PYTHON_USEDEP}]' 'python3*')
112 + >=dev-libs/libcdio-0.94
113 + dev-libs/libfmt
114 + dev-libs/libfstrcmp
115 + gbm? ( media-libs/mesa[gbm] )
116 + gles? ( media-libs/mesa[gles2] )
117 + lcms? ( media-libs/lcms:2 )
118 + libusb? ( virtual/libusb:1 )
119 + virtual/ttf-fonts
120 + media-fonts/roboto
121 + >=media-libs/fontconfig-2.12.4
122 + >=media-libs/freetype-2.8
123 + >=media-libs/libass-0.13.4
124 + media-libs/mesa[egl]
125 + >=media-libs/taglib-1.11.1
126 + system-ffmpeg? (
127 + >=media-video/ffmpeg-${FFMPEG_VERSION}:=[encode,postproc]
128 + libressl? ( media-video/ffmpeg[libressl,-openssl] )
129 + !libressl? ( media-video/ffmpeg[-libressl,openssl] )
130 + )
131 + mysql? ( dev-db/mysql-connector-c:= )
132 + mariadb? ( dev-db/mariadb-connector-c:= )
133 + >=net-misc/curl-7.56.1
134 + nfs? ( >=net-fs/libnfs-2.0.0:= )
135 + opengl? ( media-libs/glu )
136 + !libressl? ( >=dev-libs/openssl-1.0.2l:0= )
137 + libressl? ( dev-libs/libressl:0= )
138 + pulseaudio? ( media-sound/pulseaudio )
139 + samba? ( >=net-fs/samba-3.4.6[smbclient(+)] )
140 + >=sys-libs/zlib-1.2.11
141 + udev? ( virtual/udev )
142 + vaapi? (
143 + x11-libs/libva:=
144 + opengl? ( x11-libs/libva[opengl] )
145 + system-ffmpeg? ( media-video/ffmpeg[vaapi] )
146 + vdpau? ( x11-libs/libva[vdpau] )
147 + wayland? ( x11-libs/libva[wayland] )
148 + X? ( x11-libs/libva[X] )
149 + )
150 + virtual/libiconv
151 + vdpau? (
152 + || ( >=x11-libs/libvdpau-1.1 >=x11-drivers/nvidia-drivers-180.51 )
153 + system-ffmpeg? ( media-video/ffmpeg[vdpau] )
154 + )
155 + wayland? (
156 + >=dev-cpp/waylandpp-0.2.3:=
157 + media-libs/mesa[wayland]
158 + >=dev-libs/wayland-protocols-1.7
159 + >=x11-libs/libxkbcommon-0.4.1
160 + )
161 + webserver? ( >=net-libs/libmicrohttpd-0.9.55[messages] )
162 + X? (
163 + x11-libs/libX11
164 + x11-libs/libXrandr
165 + x11-libs/libXrender
166 + system-ffmpeg? ( media-video/ffmpeg[X] )
167 + )
168 + x11-libs/libdrm
169 + xslt? ( dev-libs/libxslt )
170 + zeroconf? ( net-dns/avahi[dbus] )
171 +"
172 +RDEPEND="${COMMON_DEPEND}
173 + lirc? ( app-misc/lirc )
174 + !media-tv/xbmc
175 + udisks? ( sys-fs/udisks:2 )
176 + upower? ( sys-power/upower )
177 +"
178 +DEPEND="${COMMON_DEPEND}
179 + app-arch/bzip2
180 + app-arch/xz-utils
181 + dev-lang/swig
182 + dev-libs/crossguid
183 + dev-libs/rapidjson
184 + dev-util/cmake
185 + dev-util/gperf
186 + media-libs/giflib
187 + >=media-libs/libjpeg-turbo-1.5.1:=
188 + >=media-libs/libpng-1.6.26:0=
189 + test? ( dev-cpp/gtest )
190 + virtual/pkgconfig
191 + virtual/jre
192 + x86? ( dev-lang/nasm )
193 +"
194 +
195 +CONFIG_CHECK="~IP_MULTICAST"
196 +ERROR_IP_MULTICAST="
197 +In some cases Kodi needs to access multicast addresses.
198 +Please consider enabling IP_MULTICAST under Networking options.
199 +"
200 +
201 +pkg_setup() {
202 + check_extra_config
203 + python-single-r1_pkg_setup
204 +}
205 +
206 +src_unpack() {
207 + if [[ ${PV} == *9999 ]] ; then
208 + if python_is_python3; then
209 + EGIT_BRANCH="feature_python3"
210 + ewarn "Using the experimental Python 3 branch!"
211 + ewarn "See https://kodi.wiki/view/Migration_to_Python_3 for more information."
212 + ewarn "To use the non-experimental Python 2 version:"
213 + ewarn "echo '~${CATEGORY}/${P} PYTHON_TARGETS: -* python2_7 PYTHON_SINGLE_TARGET: -* python2_7' >> /etc/portage/package.use"
214 + ewarn "then re-merge using: emerge -a =${CATEGORY}/${PF}"
215 + fi
216 + git-r3_src_unpack
217 + else
218 + default
219 + fi
220 +}
221 +
222 +src_prepare() {
223 + cmake-utils_src_prepare
224 +
225 + # avoid long delays when powerkit isn't running #348580
226 + sed -i \
227 + -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \
228 + xbmc/platform/linux/*.cpp || die
229 +
230 + # Prepare tools and libs witch are configured with autotools during compile time
231 + AUTOTOOLS_DIRS=(
232 + "${S}"/lib/cpluff
233 + "${S}"/tools/depends/native/TexturePacker/src
234 + "${S}"/tools/depends/native/JsonSchemaBuilder/src
235 + )
236 +
237 + local d
238 + for d in "${AUTOTOOLS_DIRS[@]}" ; do
239 + pushd ${d} >/dev/null || die
240 + AT_NOELIBTOOLIZE="yes" AT_TOPLEVEL_EAUTORECONF="yes" eautoreconf
241 + popd >/dev/null || die
242 + done
243 + elibtoolize
244 +
245 + # Prevent autoreconf rerun
246 + sed -e 's/autoreconf -vif/echo "autoreconf already done in src_prepare()"/' -i \
247 + "${S}"/cmake/modules/FindCpluff.cmake \
248 + "${S}"/tools/depends/native/TexturePacker/src/autogen.sh \
249 + "${S}"/tools/depends/native/JsonSchemaBuilder/src/autogen.sh \
250 + || die
251 +}
252 +
253 +src_configure() {
254 + local mycmakeargs=(
255 + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
256 + -DENABLE_LDGOLD=OFF # https://bugs.gentoo.org/show_bug.cgi?id=606124
257 + -DENABLE_ALSA=$(usex alsa)
258 + -DENABLE_AIRTUNES=$(usex airplay)
259 + -DENABLE_AVAHI=$(usex zeroconf)
260 + -DENABLE_BLUETOOTH=$(usex bluetooth)
261 + -DENABLE_BLURAY=$(usex bluray)
262 + -DENABLE_CCACHE=OFF
263 + -DENABLE_CEC=$(usex cec)
264 + -DENABLE_DBUS=$(usex dbus)
265 + -DENABLE_DVDCSS=$(usex css)
266 + -DENABLE_INTERNAL_CROSSGUID=OFF
267 + -DENABLE_INTERNAL_FFMPEG="$(usex !system-ffmpeg)"
268 + -DENABLE_INTERNAL_FSTRCMP=OFF
269 + -DENABLE_CAP=$(usex caps)
270 + -DENABLE_LCMS2=$(usex lcms)
271 + -DENABLE_LIRCCLIENT=$(usex lirc)
272 + -DENABLE_MARIADBCLIENT=$(usex mariadb)
273 + -DENABLE_MYSQLCLIENT=$(usex mysql)
274 + -DENABLE_MICROHTTPD=$(usex webserver)
275 + -DENABLE_MYSQLCLIENT=$(usex mysql)
276 + -DENABLE_NFS=$(usex nfs)
277 + -DENABLE_OPENGLES=$(usex gles)
278 + -DENABLE_OPENGL=$(usex opengl)
279 + -DENABLE_OPTICAL=$(usex dvd)
280 + -DENABLE_PLIST=$(usex airplay)
281 + -DENABLE_PULSEAUDIO=$(usex pulseaudio)
282 + -DENABLE_SMBCLIENT=$(usex samba)
283 + -DENABLE_UDEV=$(usex udev)
284 + -DENABLE_UPNP=$(usex upnp)
285 + -DENABLE_VAAPI=$(usex vaapi)
286 + -DENABLE_VDPAU=$(usex vdpau)
287 + -DENABLE_XSLT=$(usex xslt)
288 + -Dlibdvdread_URL="${DISTDIR}/libdvdread-${LIBDVDREAD_VERSION}.tar.gz"
289 + -Dlibdvdnav_URL="${DISTDIR}/libdvdnav-${LIBDVDNAV_VERSION}.tar.gz"
290 + -Dlibdvdcss_URL="${DISTDIR}/libdvdcss-${LIBDVDCSS_VERSION}.tar.gz"
291 + )
292 +
293 + use libusb && mycmakeargs+=( -DENABLE_LIBUSB=$(usex libusb) )
294 +
295 + if use system-ffmpeg; then
296 + mycmakeargs+=( -DWITH_FFMPEG="yes" )
297 + else
298 + mycmakeargs+=( -DFFMPEG_URL="${DISTDIR}/ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz" )
299 + fi
300 +
301 + if use gbm; then
302 + mycmakeargs+=(
303 + -DCORE_PLATFORM_NAME="gbm"
304 + -DGBM_RENDER_SYSTEM="$(usex opengl gl gles)"
305 + )
306 + fi
307 +
308 + if use wayland; then
309 + mycmakeargs+=(
310 + -DCORE_PLATFORM_NAME="wayland"
311 + -DWAYLAND_RENDER_SYSTEM="$(usex opengl gl gles)"
312 + )
313 + fi
314 +
315 + if use X; then
316 + mycmakeargs+=( -DCORE_PLATFORM_NAME="x11" )
317 + fi
318 +
319 + cmake-utils_src_configure
320 +}
321 +
322 +src_compile() {
323 + cmake-utils_src_compile all
324 + use test && emake -C "${BUILD_DIR}" kodi-test
325 +}
326 +
327 +src_test() {
328 + emake -C "${BUILD_DIR}" test
329 +}
330 +
331 +src_install() {
332 + cmake-utils_src_install
333 +
334 + pax-mark Em "${ED%/}"/usr/$(get_libdir)/${PN}/${PN}.bin
335 +
336 + newicon media/icon48x48.png kodi.png
337 +
338 + rm "${ED%/}"/usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf || die
339 + dosym ../../../../fonts/roboto/Roboto-Thin.ttf \
340 + usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf
341 +
342 + python_domodule tools/EventClients/lib/python/xbmcclient.py
343 + python_newscript "tools/EventClients/Clients/KodiSend/kodi-send.py" kodi-send
344 +}
345 +
346 +pkg_postinst() {
347 + gnome2_icon_cache_update
348 + xdg_desktop_database_update
349 +}
350 +
351 +pkg_postrm() {
352 + gnome2_icon_cache_update
353 + xdg_desktop_database_update
354 +}