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