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: Sun, 01 Nov 2020 00:47:12
Message-Id: 1604191622.88caa4510f10188e906aecd6a4602dcd91fb49c2.candrews@gentoo
1 commit: 88caa4510f10188e906aecd6a4602dcd91fb49c2
2 Author: Craig Andrews <candrews <AT> gentoo <DOT> org>
3 AuthorDate: Sun Nov 1 00:44:55 2020 +0000
4 Commit: Craig Andrews <candrews <AT> gentoo <DOT> org>
5 CommitDate: Sun Nov 1 00:47:02 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88caa451
7
8 media-tv/kodi: 19.0_alpha3 version bump
9
10 Package-Manager: Portage-3.0.8, Repoman-3.0.2
11 Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>
12
13 media-tv/kodi/Manifest | 1 +
14 media-tv/kodi/kodi-19.0_alpha3.ebuild | 302 ++++++++++++++++++++++++++++++++++
15 2 files changed, 303 insertions(+)
16
17 diff --git a/media-tv/kodi/Manifest b/media-tv/kodi/Manifest
18 index a23ea44a1df..19fd7b59402 100644
19 --- a/media-tv/kodi/Manifest
20 +++ b/media-tv/kodi/Manifest
21 @@ -5,6 +5,7 @@ DIST kodi-18.7.tar.gz 51051040 BLAKE2B 7ff04cd0ddcf74e46eef4318cf870662b9e076b36
22 DIST kodi-18.8.tar.gz 51052219 BLAKE2B 6e49b08b5e2bfe778dafb687658e82b90226a9f1c1a7827a4290d601fe4c98e5cbaabaa39563c19a2956b83ce3a76640f081a56a41dfea4d65fb8b503c6f37b0 SHA512 242eaa9144ba0d9b15f02ab41282295de76d375cf66d595e7f6687d47c996133fcf5647448dcd06759df9f30bd86cdba239720b9bdd8b57827b6f261c08c4aaa
23 DIST kodi-18.9.tar.gz 51052509 BLAKE2B e7cd888a38ed81e90566ae5e8a6f28c93688c8293af4b210674f224b02e7452ac81c25128cfbeaa3c67980fc00e18631060640ddff61263c782c807f8c5ea00e SHA512 72e4e2afa46d5d2061ed348af5c9a4218474589cb38d630e6d0643b35aff3b0aefb3db81333d52da6c799c530a1b709b1d7ccb6ec77dcb0cba06fce6791cb353
24 DIST kodi-19.0_alpha2_p20201030.tar.gz 52309285 BLAKE2B 13d20b526675f7338f4ef033004710917da2fee4851fa96290d461941465f46de82b76124ba67fb301c4f460443fdf14b1271895f35a45409d3d6c4938d6abb7 SHA512 84c3d7aaf35585c278929749c539f2a3f33709d716d52019ad13a5780b05ccaca3a15a727a295b41c5479f50313d4bce1751af998c326c77aa729910a1915132
25 +DIST kodi-19.0a3.tar.gz 52312636 BLAKE2B 2672e8ec243e59ae31ce1a0a4d1bfadc4dddfe3ae5eb0e7560ad2c9452d3ad238be9d7e12ed2b72a63ba6b172515842f0b4bb0c79e987df25a21480bf7850851 SHA512 9d08cee972d611c2e9a3ba7b46ad098f76be15321606e3a1645492bfaa8018a902603dabaa59cbd93d99b1e431d0f8b155096b235a6b0a1070cfb164b228e7b0
26 DIST libdvdcss-1.4.2-Leia-Beta-5.tar.gz 101068 BLAKE2B 283aa2cec0a2200d3569bc280cb9659e9224a6b3a77db8a35b269cd8caf1337ac9d8b92b806df66f63ef7458a46bd6261f0b8b14678b10e26644a79dcbeea5da SHA512 5185dbdbeb1bd13ea9d8723f1f4ab599d6f3102f5ba1096cd085aa1cda252c045f327c719227bba8e1b742352ade5e335106c8d0c1637a5a6b93ce661620dd7e
27 DIST libdvdnav-6.0.0-Leia-Alpha-3.tar.gz 137942 BLAKE2B 7573434a0ae8e8ccabf48173f81fcde29074eb138e119a2ae9156cde3c3d8bfd716f5d0e605b97f2dcac21f570781137c8533c5ae306b51e3905822fda318355 SHA512 11c93eaacd156f8fd7dec7c43d366438b201f31ad55b2870463a9e286912b6ada08882319a021fb7992190f87b909a49f2b83e0321cc17aedc29f7fe5898fa72
28 DIST libdvdread-6.0.0-Leia-Alpha-3.tar.gz 130649 BLAKE2B 0c206acdaf0776841ab792c74e023af07d9539eb72e03ae164382a31ed950f60e5e15f1d055979d28f1398924471b294d11f064b11b8373353b3962a3777ff3c SHA512 b3419ba0a1a2dd70f1bb6236afdfe1c6e88c9ad4264198b289e3bba9375e077cecf7f89848c7b09debaa445327f3507101f3d157e692f7a7163b2bb52643e1e7
29
30 diff --git a/media-tv/kodi/kodi-19.0_alpha3.ebuild b/media-tv/kodi/kodi-19.0_alpha3.ebuild
31 new file mode 100644
32 index 00000000000..ad742a28610
33 --- /dev/null
34 +++ b/media-tv/kodi/kodi-19.0_alpha3.ebuild
35 @@ -0,0 +1,302 @@
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.3.1"
46 +CODENAME="Matrix"
47 +FFMPEG_KODI_VERSION="Alpha1-2"
48 +PYTHON_COMPAT=( python3_{6,7,8,9} )
49 +SRC_URI="https://github.com/xbmc/libdvdcss/archive/${LIBDVDCSS_VERSION}.tar.gz -> libdvdcss-${LIBDVDCSS_VERSION}.tar.gz
50 + https://github.com/xbmc/libdvdread/archive/${LIBDVDREAD_VERSION}.tar.gz -> libdvdread-${LIBDVDREAD_VERSION}.tar.gz
51 + https://github.com/xbmc/libdvdnav/archive/${LIBDVDNAV_VERSION}.tar.gz -> libdvdnav-${LIBDVDNAV_VERSION}.tar.gz
52 + !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 )"
53 +if [[ ${PV} == *9999 ]] ; then
54 + EGIT_REPO_URI="https://github.com/xbmc/xbmc.git"
55 + inherit git-r3
56 +else
57 + MY_PV=${PV/_p/_r}
58 + MY_PV=${MY_PV/_alpha/a}
59 + MY_PV=${MY_PV/_beta/b}
60 + MY_PV=${MY_PV/_rc/rc}
61 + MY_P="${PN}-${MY_PV}"
62 + SRC_URI+=" https://github.com/xbmc/xbmc/archive/${MY_PV}-${CODENAME}.tar.gz -> ${MY_P}.tar.gz"
63 + KEYWORDS="~amd64 ~arm ~arm64 ~x86"
64 + S=${WORKDIR}/xbmc-${MY_PV}-${CODENAME}
65 +fi
66 +
67 +inherit autotools cmake desktop linux-info pax-utils python-single-r1 xdg
68 +
69 +DESCRIPTION="A free and open source media-player and entertainment hub"
70 +HOMEPAGE="https://kodi.tv/ https://kodi.wiki/"
71 +
72 +LICENSE="GPL-2+"
73 +SLOT="0"
74 +# use flag is called libusb so that it doesn't fool people in thinking that
75 +# it is _required_ for USB support. Otherwise they'll disable udev and
76 +# that's going to be worse.
77 +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 udf udev udisks upnp upower vaapi vdpau wayland webserver +X +xslt zeroconf"
78 +REQUIRED_USE="
79 + ${PYTHON_REQUIRED_USE}
80 + || ( gles opengl )
81 + || ( gbm wayland X )
82 + ?? ( mariadb mysql )
83 + bluray? ( udf )
84 + udev? ( !libusb )
85 + udisks? ( dbus )
86 + upower? ( dbus )
87 +"
88 +RESTRICT="!test? ( test )"
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.1.2 )
98 + caps? ( sys-libs/libcap )
99 + dbus? ( sys-apps/dbus )
100 + dev-db/sqlite
101 + dev-libs/expat
102 + >=dev-libs/flatbuffers-1.11.0
103 + >=dev-libs/fribidi-1.0.5
104 + cec? ( >=dev-libs/libcec-4.0[raspberry-pi?] )
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/spdlog-1.5.0:=
110 + dev-libs/tinyxml[stl]
111 + $(python_gen_cond_dep '
112 + dev-python/pillow[${PYTHON_MULTI_USEDEP}]
113 + dev-python/pycryptodome[${PYTHON_MULTI_USEDEP}]
114 + ')
115 + >=dev-libs/libcdio-2.1.0
116 + >=dev-libs/libfmt-6.1.2
117 + dev-libs/libfstrcmp
118 + gbm? ( media-libs/mesa[gbm] )
119 + gles? (
120 + !raspberry-pi? ( media-libs/mesa[gles2] )
121 + )
122 + lcms? ( media-libs/lcms:2 )
123 + libusb? ( virtual/libusb:1 )
124 + virtual/ttf-fonts
125 + media-fonts/roboto
126 + media-libs/dav1d
127 + >=media-libs/fontconfig-2.13.1
128 + >=media-libs/freetype-2.10.1
129 + >=media-libs/libass-0.13.4
130 + !raspberry-pi? ( media-libs/mesa[egl] )
131 + >=media-libs/taglib-1.11.1
132 + system-ffmpeg? (
133 + >=media-video/ffmpeg-${FFMPEG_VERSION}:=[dav1d,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.68.0[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 + udf? ( >=dev-libs/libudfread-1.0.0 )
151 + udev? ( virtual/udev )
152 + vaapi? (
153 + x11-libs/libva:=
154 + opengl? ( x11-libs/libva[opengl] )
155 + system-ffmpeg? ( media-video/ffmpeg[vaapi] )
156 + vdpau? ( x11-libs/libva[vdpau] )
157 + wayland? ( x11-libs/libva[wayland] )
158 + X? ( x11-libs/libva[X] )
159 + )
160 + virtual/libiconv
161 + vdpau? (
162 + || ( >=x11-libs/libvdpau-1.1 >=x11-drivers/nvidia-drivers-180.51 )
163 + system-ffmpeg? ( media-video/ffmpeg[vdpau] )
164 + )
165 + wayland? (
166 + >=dev-cpp/waylandpp-0.2.3:=
167 + media-libs/mesa[wayland]
168 + >=dev-libs/wayland-protocols-1.7
169 + )
170 + webserver? ( >=net-libs/libmicrohttpd-0.9.55[messages(+)] )
171 + X? (
172 + media-libs/mesa[X]
173 + x11-libs/libX11
174 + x11-libs/libXrandr
175 + x11-libs/libXrender
176 + system-ffmpeg? ( media-video/ffmpeg[X] )
177 + )
178 + x11-libs/libdrm
179 + >=x11-libs/libxkbcommon-0.4.1
180 + xslt? ( dev-libs/libxslt )
181 + zeroconf? ( net-dns/avahi[dbus] )
182 +"
183 +RDEPEND="${COMMON_DEPEND}
184 + lirc? ( app-misc/lirc )
185 + udisks? ( sys-fs/udisks:2 )
186 + upower? ( sys-power/upower )
187 +"
188 +DEPEND="${COMMON_DEPEND}
189 + app-arch/bzip2
190 + app-arch/xz-utils
191 + dev-lang/swig
192 + dev-libs/crossguid
193 + dev-libs/rapidjson
194 + dev-util/cmake
195 + dev-util/gperf
196 + media-libs/giflib
197 + >=media-libs/libjpeg-turbo-2.0.4:=
198 + >=media-libs/libpng-1.6.26:0=
199 + test? ( >=dev-cpp/gtest-1.10.0 )
200 + virtual/pkgconfig
201 + virtual/jre
202 + x86? ( dev-lang/nasm )
203 +"
204 +
205 +CONFIG_CHECK="~IP_MULTICAST"
206 +ERROR_IP_MULTICAST="
207 +In some cases Kodi needs to access multicast addresses.
208 +Please consider enabling IP_MULTICAST under Networking options.
209 +"
210 +
211 +pkg_setup() {
212 + check_extra_config
213 + python-single-r1_pkg_setup
214 +}
215 +
216 +src_unpack() {
217 + if [[ ${PV} == *9999 ]] ; then
218 + git-r3_src_unpack
219 + else
220 + default
221 + fi
222 +}
223 +
224 +src_prepare() {
225 + cmake_src_prepare
226 +
227 + # avoid long delays when powerkit isn't running #348580
228 + sed -i \
229 + -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \
230 + xbmc/platform/linux/*.cpp || die
231 +
232 + # Prepare tools and libs witch are configured with autotools during compile time
233 + AUTOTOOLS_DIRS=(
234 + "${S}"/tools/depends/native/TexturePacker/src
235 + "${S}"/tools/depends/native/JsonSchemaBuilder/src
236 + )
237 +
238 + local d
239 + for d in "${AUTOTOOLS_DIRS[@]}" ; do
240 + pushd ${d} >/dev/null || die
241 + AT_NOELIBTOOLIZE="yes" AT_TOPLEVEL_EAUTORECONF="yes" eautoreconf
242 + popd >/dev/null || die
243 + done
244 + elibtoolize
245 +
246 + # Prevent autoreconf rerun
247 + sed -e 's/autoreconf -vif/echo "autoreconf already done in src_prepare()"/' -i \
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 platform=()
255 + use gbm && platform+=( gbm )
256 + use wayland && platform+=( wayland )
257 + use X && platform+=( x11 )
258 + local mycmakeargs=(
259 + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
260 + -DENABLE_LDGOLD=OFF # https://bugs.gentoo.org/show_bug.cgi?id=606124
261 + -DENABLE_ALSA=$(usex alsa)
262 + -DENABLE_AIRTUNES=$(usex airplay)
263 + -DENABLE_AVAHI=$(usex zeroconf)
264 + -DENABLE_BLUETOOTH=$(usex bluetooth)
265 + -DENABLE_BLURAY=$(usex bluray)
266 + -DENABLE_CCACHE=OFF
267 + -DENABLE_CEC=$(usex cec)
268 + -DENABLE_DBUS=$(usex dbus)
269 + -DENABLE_DVDCSS=$(usex css)
270 + -DENABLE_INTERNAL_CROSSGUID=OFF
271 + -DENABLE_INTERNAL_FFMPEG="$(usex !system-ffmpeg)"
272 + -DENABLE_INTERNAL_FSTRCMP=OFF
273 + -DENABLE_INTERNAL_GTEST=OFF
274 + -DENABLE_INTERNAL_UDFREAD=OFF
275 + -DENABLE_CAP=$(usex caps)
276 + -DENABLE_LCMS2=$(usex lcms)
277 + -DENABLE_LIRCCLIENT=$(usex lirc)
278 + -DENABLE_MARIADBCLIENT=$(usex mariadb)
279 + -DENABLE_MICROHTTPD=$(usex webserver)
280 + -DENABLE_MYSQLCLIENT=$(usex mysql)
281 + -DENABLE_NFS=$(usex nfs)
282 + -DENABLE_OPENGLES=$(usex gles)
283 + -DENABLE_OPENGL=$(usex opengl)
284 + -DENABLE_OPTICAL=$(usex dvd)
285 + -DENABLE_PLIST=$(usex airplay)
286 + -DENABLE_PULSEAUDIO=$(usex pulseaudio)
287 + -DENABLE_SMBCLIENT=$(usex samba)
288 + -DENABLE_TESTING=$(usex test)
289 + -DENABLE_UDEV=$(usex udev)
290 + -DENABLE_UDFREAD=$(usex udf)
291 + -DENABLE_UPNP=$(usex upnp)
292 + -DENABLE_VAAPI=$(usex vaapi)
293 + -DENABLE_VDPAU=$(usex vdpau)
294 + -DENABLE_XSLT=$(usex xslt)
295 + -Dlibdvdread_URL="${DISTDIR}/libdvdread-${LIBDVDREAD_VERSION}.tar.gz"
296 + -Dlibdvdnav_URL="${DISTDIR}/libdvdnav-${LIBDVDNAV_VERSION}.tar.gz"
297 + -Dlibdvdcss_URL="${DISTDIR}/libdvdcss-${LIBDVDCSS_VERSION}.tar.gz"
298 + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
299 + -DPYTHON_LIBRARY="$(python_get_library_path)"
300 + -DAPP_RENDER_SYSTEM="$(usex opengl gl gles)"
301 + -DCORE_PLATFORM_NAME="${platform[@]}"
302 + )
303 +
304 + use libusb && mycmakeargs+=( -DENABLE_LIBUSB=$(usex libusb) )
305 +
306 + if use system-ffmpeg; then
307 + mycmakeargs+=( -DWITH_FFMPEG="yes" )
308 + else
309 + mycmakeargs+=( -DFFMPEG_URL="${DISTDIR}/ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz" )
310 + fi
311 +
312 + cmake_src_configure
313 +}
314 +
315 +src_compile() {
316 + cmake_src_compile all
317 +}
318 +
319 +src_test() {
320 + # see https://github.com/xbmc/xbmc/issues/17860#issuecomment-630120213
321 + KODI_HOME="${BUILD_DIR}" cmake_build check
322 +}
323 +
324 +src_install() {
325 + cmake_src_install
326 +
327 + pax-mark Em "${ED}"/usr/$(get_libdir)/${PN}/${PN}.bin
328 +
329 + newicon media/icon48x48.png kodi.png
330 +
331 + rm "${ED}"/usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf || die
332 + dosym ../../../../fonts/roboto/Roboto-Thin.ttf \
333 + usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf
334 +
335 + python_domodule tools/EventClients/lib/python/xbmcclient.py
336 + python_newscript "tools/EventClients/Clients/KodiSend/kodi-send.py" kodi-send
337 +}