From d99093fb4bb5652015c06274d64083daa2439e4f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 3 Mar 2021 10:28:17 +0000 Subject: gentoo resync : 03.03.2021 --- media-tv/kodi/Manifest | 10 +- media-tv/kodi/kodi-19.0.ebuild | 357 ++++++++++++++++++++++++++++++++++ media-tv/kodi/kodi-19.0_rc1-r2.ebuild | 328 ------------------------------- media-tv/kodi/kodi-19.9999.ebuild | 91 ++++++--- media-tv/kodi/kodi-9999.ebuild | 90 ++++++--- media-tv/kodi/metadata.xml | 12 +- 6 files changed, 489 insertions(+), 399 deletions(-) create mode 100644 media-tv/kodi/kodi-19.0.ebuild delete mode 100644 media-tv/kodi/kodi-19.0_rc1-r2.ebuild (limited to 'media-tv/kodi') diff --git a/media-tv/kodi/Manifest b/media-tv/kodi/Manifest index 142243532097..6e2466ec8833 100644 --- a/media-tv/kodi/Manifest +++ b/media-tv/kodi/Manifest @@ -1,9 +1,9 @@ DIST ffmpeg-kodi-4.3.1-Matrix-Beta1.tar.gz 13477440 BLAKE2B 49415f76fd2a888b0efadb19597bd89db65c3d9e1224ab529ff0d73ab5734a23982b4d4905ddeb105ce59a816c4642cdb9f5568b0c39c29f5fb9431f9623d4ec SHA512 ce43390e816dabeed4ca231f5f7adade6c721c38e17996a57810fb6025ea49b812133c2a6e29aac7c674d4e4af3a21dbd7e605d85fb966935a01bda983b884ac -DIST kodi-19.0RC1.tar.gz 52332966 BLAKE2B 305793e2a5f16f07853a82e8f1953a56baa4159c9eee762aee40e8b6692c317cb83e7713d99cbb767cff0c1ac2a2d8bfc3837525d8ad4c854f114f900ebdb294 SHA512 c00d73d46f949eace856f762f9bd2b854e4c8db271366a54c26e18a9b960e04b26f2d4344656be18c79cfa42dfdffc6cd75e4df941268ca9bcfa17f4a987fc81 +DIST kodi-19.0.tar.gz 52311355 BLAKE2B 543936b8fb607d1d629a8f2abd9cd0cb3bf6114aa93647c7e8ccee2f99ff1f84a2740bb57f0cbf675b3efa5914e98c57effb28ecd8e9df83a39d67ee708280a2 SHA512 d6c9fe7414b64d33d919d6c3de1ddb4800e36b786a460d2d2f5c1e5346cd4819487e54f212c37778103d44dd051f7df6c74e0a98a0b21d1e4dc9bedaa8570422 DIST libdvdcss-1.4.2-Leia-Beta-5.tar.gz 101068 BLAKE2B 283aa2cec0a2200d3569bc280cb9659e9224a6b3a77db8a35b269cd8caf1337ac9d8b92b806df66f63ef7458a46bd6261f0b8b14678b10e26644a79dcbeea5da SHA512 5185dbdbeb1bd13ea9d8723f1f4ab599d6f3102f5ba1096cd085aa1cda252c045f327c719227bba8e1b742352ade5e335106c8d0c1637a5a6b93ce661620dd7e DIST libdvdnav-6.0.0-Leia-Alpha-3.tar.gz 137942 BLAKE2B 7573434a0ae8e8ccabf48173f81fcde29074eb138e119a2ae9156cde3c3d8bfd716f5d0e605b97f2dcac21f570781137c8533c5ae306b51e3905822fda318355 SHA512 11c93eaacd156f8fd7dec7c43d366438b201f31ad55b2870463a9e286912b6ada08882319a021fb7992190f87b909a49f2b83e0321cc17aedc29f7fe5898fa72 DIST libdvdread-6.0.0-Leia-Alpha-3.tar.gz 130649 BLAKE2B 0c206acdaf0776841ab792c74e023af07d9539eb72e03ae164382a31ed950f60e5e15f1d055979d28f1398924471b294d11f064b11b8373353b3962a3777ff3c SHA512 b3419ba0a1a2dd70f1bb6236afdfe1c6e88c9ad4264198b289e3bba9375e077cecf7f89848c7b09debaa445327f3507101f3d157e692f7a7163b2bb52643e1e7 -EBUILD kodi-19.0_rc1-r2.ebuild 10298 BLAKE2B 7661224d6b58c9be818f63fb8f25e5f71029045d58f40e42808fd963c403127f30924e145947d127df4d18d940954134f118aad2b1bdc453ad0cbe089c5f49d1 SHA512 e8b9a1ecdd2fb6b81f2c04c64e8f6d485d52aaab567fd1ddac54a73d740640f17d2ac43b27860564183f643bb9c80b577e6846dbb5e62adb8d5c2f764f76ec21 -EBUILD kodi-19.9999.ebuild 10298 BLAKE2B 7661224d6b58c9be818f63fb8f25e5f71029045d58f40e42808fd963c403127f30924e145947d127df4d18d940954134f118aad2b1bdc453ad0cbe089c5f49d1 SHA512 e8b9a1ecdd2fb6b81f2c04c64e8f6d485d52aaab567fd1ddac54a73d740640f17d2ac43b27860564183f643bb9c80b577e6846dbb5e62adb8d5c2f764f76ec21 -EBUILD kodi-9999.ebuild 10298 BLAKE2B 7661224d6b58c9be818f63fb8f25e5f71029045d58f40e42808fd963c403127f30924e145947d127df4d18d940954134f118aad2b1bdc453ad0cbe089c5f49d1 SHA512 e8b9a1ecdd2fb6b81f2c04c64e8f6d485d52aaab567fd1ddac54a73d740640f17d2ac43b27860564183f643bb9c80b577e6846dbb5e62adb8d5c2f764f76ec21 -MISC metadata.xml 2049 BLAKE2B 0cea6e04954a26b69e8a5c76c4e40b72e66d53df51f6565497db18ef92c3711105d2e0dff441cf7a25ae9ca308b8e78d917111d6f7c3d519841cbfd7b04d530d SHA512 5fe5d82b46e4f02d52e3b4d3d8b6f1d0f985cdcca22e0ca5fe7d0df2a2381bac8903a4957af4af54278f4dd8dc253e629e326382fdaf6f3f04922eab8cee1c22 +EBUILD kodi-19.0.ebuild 10993 BLAKE2B b6a7569f8d957ac23d20365539f3c7e18b54a9daf02c679ea7b47b4363bd8780d80f23812a99b105d9d1fe42b85895fac25522393b0d257341ea8abaa602d073 SHA512 334e4c773a029b2d8b723f64ba0ec00b5feb1d14e1bbd798d6bf5cabb1f24d3c7ca57f6395dc7c3c6e388fd7c55651b8e586b246660abb23279d6227e361d065 +EBUILD kodi-19.9999.ebuild 10993 BLAKE2B b6a7569f8d957ac23d20365539f3c7e18b54a9daf02c679ea7b47b4363bd8780d80f23812a99b105d9d1fe42b85895fac25522393b0d257341ea8abaa602d073 SHA512 334e4c773a029b2d8b723f64ba0ec00b5feb1d14e1bbd798d6bf5cabb1f24d3c7ca57f6395dc7c3c6e388fd7c55651b8e586b246660abb23279d6227e361d065 +EBUILD kodi-9999.ebuild 10971 BLAKE2B 921863fe8859275dbefe33f282352ee8e1b0f0eae6e0132bd9cd29165338f52a00fab498310663660b5cc542b669356a195c4119717557a2acec8e2b9a0ab7ac SHA512 1cba85287830d14262d627fb06fde06f8213ad194576cb797a7289b3d35145b464f90b00857f6e9aa6734703b8cb640d0ae8d66a2e03f06fea3526e1cda23f3e +MISC metadata.xml 2707 BLAKE2B 647da6ee38f710be18a87b3b3267dddcbe1f4e23f3008a73f6d800e8c765a58dbdcf4b0ec165aa45be843276712b5a1feee5754b8553a43ba149993702cf2252 SHA512 04ad8ecd819f0c7779bdac2860bf31f89b7308c633c527a9f70600bfb1d82681874d4304c59f394a91c18fdac1441e5d97dee2ab81ace1589985c0c422a672b0 diff --git a/media-tv/kodi/kodi-19.0.ebuild b/media-tv/kodi/kodi-19.0.ebuild new file mode 100644 index 000000000000..0c01abfd0056 --- /dev/null +++ b/media-tv/kodi/kodi-19.0.ebuild @@ -0,0 +1,357 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_REQ_USE="libressl?,sqlite,ssl" +LIBDVDCSS_VERSION="1.4.2-Leia-Beta-5" +LIBDVDREAD_VERSION="6.0.0-Leia-Alpha-3" +LIBDVDNAV_VERSION="6.0.0-Leia-Alpha-3" +FFMPEG_VERSION="4.3.1" +CODENAME="Matrix" +FFMPEG_KODI_VERSION="Beta1" +PYTHON_COMPAT=( python3_{6,7,8,9} ) +SRC_URI="https://github.com/xbmc/libdvdcss/archive/${LIBDVDCSS_VERSION}.tar.gz -> libdvdcss-${LIBDVDCSS_VERSION}.tar.gz + https://github.com/xbmc/libdvdread/archive/${LIBDVDREAD_VERSION}.tar.gz -> libdvdread-${LIBDVDREAD_VERSION}.tar.gz + https://github.com/xbmc/libdvdnav/archive/${LIBDVDNAV_VERSION}.tar.gz -> libdvdnav-${LIBDVDNAV_VERSION}.tar.gz + !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 )" +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/xbmc/xbmc.git" + EGIT_BRANCH="Matrix" + inherit git-r3 +else + MY_PV=${PV/_p/_r} + MY_PV=${MY_PV/_alpha/a} + MY_PV=${MY_PV/_beta/b} + MY_PV=${MY_PV/_rc/RC} + MY_P="${PN}-${MY_PV}" + SRC_URI+=" https://github.com/xbmc/xbmc/archive/${MY_PV}-${CODENAME}.tar.gz -> ${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" + S=${WORKDIR}/xbmc-${MY_PV}-${CODENAME} +fi + +inherit autotools cmake desktop linux-info pax-utils python-single-r1 xdg + +DESCRIPTION="A free and open source media-player and entertainment hub" +HOMEPAGE="https://kodi.tv/ https://kodi.wiki/" + +LICENSE="GPL-2+" +SLOT="0" +# use flag is called libusb so that it doesn't fool people in thinking that +# it is _required_ for USB support. Otherwise they'll disable udev and +# that's going to be worse. +IUSE="airplay alsa bluetooth bluray caps cec +css dav1d dbus eventclients gbm gles lcms libressl libusb lirc mariadb mysql nfs +optical power-control pulseaudio raspberry-pi samba +system-ffmpeg test udf udev udisks upnp upower vaapi vdpau wayland webserver +X +xslt zeroconf" +IUSE="${IUSE} cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_arm_neon" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + || ( gbm wayland X ) + ?? ( mariadb mysql ) + bluray? ( udf ) + udev? ( !libusb ) + udisks? ( dbus ) + upower? ( dbus ) + power-control? ( dbus ) + vdpau? ( + X + !gles + !gbm + ) + zeroconf? ( dbus ) +" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + >=dev-libs/lzo-2.04 + >=dev-libs/flatbuffers-1.11.0 + >=media-libs/libjpeg-turbo-2.0.4:= + >=media-libs/libpng-1.6.26:0= +" +COMMON_TARGET_DEPEND="${PYTHON_DEPS} + airplay? ( + >=app-pda/libplist-2.0.0 + net-libs/shairplay + ) + alsa? ( >=media-libs/alsa-lib-1.1.4.1 ) + bluetooth? ( net-wireless/bluez ) + bluray? ( >=media-libs/libbluray-1.1.2 ) + caps? ( sys-libs/libcap ) + dbus? ( sys-apps/dbus ) + dev-db/sqlite + dev-libs/crossguid + >=dev-libs/fribidi-1.0.5 + cec? ( >=dev-libs/libcec-4.0[raspberry-pi?] ) + dev-libs/libpcre[cxx] + >=dev-libs/spdlog-1.5.0:= + dev-libs/tinyxml[stl] + $(python_gen_cond_dep ' + dev-python/pillow[${PYTHON_MULTI_USEDEP}] + dev-python/pycryptodome[${PYTHON_MULTI_USEDEP}] + ') + >=dev-libs/libcdio-2.1.0[cxx] + >=dev-libs/libfmt-6.1.2 + dev-libs/libfstrcmp + gbm? ( + >=dev-libs/libinput-1.10.5 + media-libs/mesa[gbm] + x11-libs/libxkbcommon + ) + gles? ( + !raspberry-pi? ( media-libs/mesa[gles2] ) + ) + lcms? ( media-libs/lcms:2 ) + libusb? ( virtual/libusb:1 ) + virtual/ttf-fonts + media-fonts/roboto + >=media-libs/freetype-2.10.1 + >=media-libs/libass-0.13.4 + !raspberry-pi? ( media-libs/mesa[egl] ) + >=media-libs/taglib-1.11.1 + system-ffmpeg? ( + >=media-video/ffmpeg-${FFMPEG_VERSION}:=[dav1d?,encode,postproc] + libressl? ( media-video/ffmpeg[libressl,-openssl] ) + !libressl? ( media-video/ffmpeg[-libressl,openssl] ) + ) + !system-ffmpeg? ( + app-arch/bzip2 + dav1d? ( media-libs/dav1d ) + ) + mysql? ( dev-db/mysql-connector-c:= ) + mariadb? ( dev-db/mariadb-connector-c:= ) + >=net-misc/curl-7.68.0[http2] + nfs? ( >=net-fs/libnfs-2.0.0:= ) + !gles? ( media-libs/glu ) + !libressl? ( >=dev-libs/openssl-1.0.2l:0= ) + libressl? ( dev-libs/libressl:0= ) + raspberry-pi? ( + || ( media-libs/raspberrypi-userland media-libs/raspberrypi-userland-bin media-libs/mesa[egl,gles2,video_cards_vc4] ) + ) + pulseaudio? ( media-sound/pulseaudio ) + samba? ( >=net-fs/samba-3.4.6[smbclient(+)] ) + >=sys-libs/zlib-1.2.11 + udf? ( >=dev-libs/libudfread-1.0.0 ) + udev? ( virtual/udev ) + vaapi? ( + x11-libs/libva:= + !gles? ( x11-libs/libva[opengl] ) + system-ffmpeg? ( media-video/ffmpeg[vaapi] ) + vdpau? ( x11-libs/libva[vdpau] ) + wayland? ( x11-libs/libva[wayland] ) + X? ( x11-libs/libva[X] ) + ) + virtual/libiconv + vdpau? ( + || ( >=x11-libs/libvdpau-1.1 >=x11-drivers/nvidia-drivers-180.51 ) + system-ffmpeg? ( media-video/ffmpeg[vdpau] ) + ) + wayland? ( + >=dev-cpp/waylandpp-0.2.3:= + media-libs/mesa[wayland] + >=dev-libs/wayland-protocols-1.7 + >=x11-libs/libxkbcommon-0.4.1 + ) + webserver? ( >=net-libs/libmicrohttpd-0.9.55[messages(+)] ) + X? ( + media-libs/mesa[X] + !gles? ( media-libs/libglvnd[X] ) + x11-libs/libX11 + x11-libs/libXrandr + x11-libs/libXrender + system-ffmpeg? ( media-video/ffmpeg[X] ) + ) + x11-libs/libdrm + xslt? ( + dev-libs/libxslt + >=dev-libs/libxml2-2.9.4 + ) + zeroconf? ( net-dns/avahi[dbus] ) +" +RDEPEND="${COMMON_DEPEND} ${COMMON_TARGET_DEPEND} + lirc? ( app-misc/lirc ) + power-control? ( || ( sys-apps/systemd sys-auth/elogind ) ) + udisks? ( sys-fs/udisks:2 ) + upower? ( sys-power/upower ) +" +DEPEND="${COMMON_DEPEND} ${COMMON_TARGET_DEPEND} + dev-libs/rapidjson + test? ( >=dev-cpp/gtest-1.10.0 ) +" +BDEPEND="${COMMON_DEPEND} + dev-lang/swig + dev-util/cmake + media-libs/giflib + >=dev-libs/flatbuffers-1.11.0 + >=media-libs/libjpeg-turbo-2.0.4:= + >=media-libs/libpng-1.6.26:0= + virtual/pkgconfig + virtual/jre +" + +CONFIG_CHECK="~IP_MULTICAST" +ERROR_IP_MULTICAST=" +In some cases Kodi needs to access multicast addresses. +Please consider enabling IP_MULTICAST under Networking options. +" + +pkg_setup() { + check_extra_config + python-single-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + else + default + fi +} + +src_prepare() { + cmake_src_prepare + + # avoid long delays when powerkit isn't running #348580 + sed -i \ + -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \ + xbmc/platform/linux/*.cpp || die + + # Prepare tools and libs witch are configured with autotools during compile time + AUTOTOOLS_DIRS=( + "${S}"/tools/depends/native/TexturePacker/src + "${S}"/tools/depends/native/JsonSchemaBuilder/src + ) + + local d + for d in "${AUTOTOOLS_DIRS[@]}" ; do + pushd ${d} >/dev/null || die + AT_NOELIBTOOLIZE="yes" AT_TOPLEVEL_EAUTORECONF="yes" eautoreconf + popd >/dev/null || die + done + elibtoolize + + # Prevent autoreconf rerun + sed -e 's/autoreconf -vif/echo "autoreconf already done in src_prepare()"/' -i \ + "${S}"/tools/depends/native/TexturePacker/src/autogen.sh \ + "${S}"/tools/depends/native/JsonSchemaBuilder/src/autogen.sh \ + || die +} + +src_configure() { + local platform=() + use gbm && platform+=( gbm ) + use wayland && platform+=( wayland ) + use X && platform+=( x11 ) + local core_platform_name="${platform[@]}" + local mycmakeargs=( + -DENABLE_SSE=$(usex cpu_flags_x86_sse) + -DENABLE_SSE2=$(usex cpu_flags_x86_sse2) + -DENABLE_SSE3=$(usex cpu_flags_x86_sse3) + -DENABLE_SSE4_1=$(usex cpu_flags_x86_sse4_1) + -DENABLE_SSE4_2=$(usex cpu_flags_x86_sse4_2) + -DENABLE_AVX=$(usex cpu_flags_x86_avx) + -DENABLE_AVX2=$(usex cpu_flags_x86_avx2) + -DENABLE_NEON=$(usex cpu_flags_arm_neon) + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + -DVERBOSE=ON + -DENABLE_LDGOLD=OFF # https://bugs.gentoo.org/show_bug.cgi?id=606124 + -DENABLE_ALSA=$(usex alsa) + -DENABLE_AIRTUNES=$(usex airplay) + -DENABLE_AVAHI=$(usex zeroconf) + -DENABLE_BLUETOOTH=$(usex bluetooth) + -DENABLE_BLURAY=$(usex bluray) + -DENABLE_CCACHE=OFF + -DENABLE_CLANGFORMAT=OFF + -DENABLE_CLANGTIDY=OFF + -DENABLE_CPPCHECK=OFF + -DENABLE_ISO9660PP=$(usex optical) + -DENABLE_CEC=$(usex cec) + -DENABLE_DBUS=$(usex dbus) + -DENABLE_DVDCSS=$(usex css) + -DENABLE_EVENTCLIENTS=ON # alway enable to have 'kodi-send' and filter extra staff in 'src_install()' + -DENABLE_INTERNAL_CROSSGUID=OFF + -DENABLE_INTERNAL_RapidJSON=OFF + -DENABLE_INTERNAL_FMT=OFF + -DENABLE_INTERNAL_FFMPEG="$(usex !system-ffmpeg)" + -DENABLE_INTERNAL_FSTRCMP=OFF + -DENABLE_INTERNAL_FLATBUFFERS=OFF + -DENABLE_INTERNAL_DAV1D=OFF + -DENABLE_INTERNAL_GTEST=OFF + -DENABLE_INTERNAL_UDFREAD=OFF + -DENABLE_INTERNAL_SPDLOG=OFF + -DENABLE_CAP=$(usex caps) + -DENABLE_LCMS2=$(usex lcms) + -DENABLE_LIRCCLIENT=$(usex lirc) + -DENABLE_MARIADBCLIENT=$(usex mariadb) + -DENABLE_MDNS=OFF # used only on Android + -DENABLE_MICROHTTPD=$(usex webserver) + -DENABLE_MYSQLCLIENT=$(usex mysql) + -DENABLE_NFS=$(usex nfs) + -DENABLE_OPENGLES=$(usex gles) + -DENABLE_OPENGL=$(usex !gles) + -DENABLE_OPTICAL=$(usex optical) + -DENABLE_PLIST=$(usex airplay) + -DENABLE_PULSEAUDIO=$(usex pulseaudio) + -DENABLE_SMBCLIENT=$(usex samba) + -DENABLE_SNDIO=OFF + -DENABLE_TESTING=$(usex test) + -DENABLE_UDEV=$(usex udev) + -DENABLE_UDFREAD=$(usex udf) + -DENABLE_UPNP=$(usex upnp) + -DENABLE_VAAPI=$(usex vaapi) + -DENABLE_VDPAU=$(usex vdpau) + -DENABLE_XSLT=$(usex xslt) + -Dlibdvdread_URL="${DISTDIR}/libdvdread-${LIBDVDREAD_VERSION}.tar.gz" + -Dlibdvdnav_URL="${DISTDIR}/libdvdnav-${LIBDVDNAV_VERSION}.tar.gz" + -Dlibdvdcss_URL="${DISTDIR}/libdvdcss-${LIBDVDCSS_VERSION}.tar.gz" + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" + -DPYTHON_LIBRARY="$(python_get_library_path)" + -DAPP_RENDER_SYSTEM="$(usex gles gles gl)" + -DCORE_PLATFORM_NAME="${core_platform_name}" + ) + + use !udev && mycmakeargs+=( -DENABLE_LIBUSB=$(usex libusb) ) + + use X && use !gles && mycmakeargs+=( -DENABLE_GLX=ON ) + + if use system-ffmpeg; then + mycmakeargs+=( -DWITH_FFMPEG="yes" ) + else + mycmakeargs+=( -DFFMPEG_URL="${DISTDIR}/ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz" ) + fi + + if ! echo "${CFLAGS}" | grep -Fwqe '-DNDEBUG' - && ! echo "${CFLAGS}" | grep -Fwqe '-D_DEBUG' - ; then + CFLAGS+=' -DNDEBUG' # Kodi requires one of the 'NDEBUG' or '_DEBUG' defines + CXXFLAGS+=' -DNDEBUG' + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile all +} + +src_test() { + # see https://github.com/xbmc/xbmc/issues/17860#issuecomment-630120213 + KODI_HOME="${BUILD_DIR}" cmake_build check +} + +src_install() { + cmake_src_install + + pax-mark Em "${ED}"/usr/$(get_libdir)/${PN}/${PN}.bin + + newicon media/icon48x48.png kodi.png + + rm "${ED}"/usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf || die + dosym ../../../../fonts/roboto/Roboto-Thin.ttf \ + usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf + + if use !eventclients ; then + rm -f "${ED}"/usr/bin/kodi-ps3remote || die + rm -f "${D}"$(python_get_sitedir)/kodi/ps3_remote.py || die + rm -rf "${D}"$(python_get_sitedir)/kodi/ps3 || die + rm -rf "${D}"$(python_get_sitedir)/kodi/bt || die + rm -rf "${ED}"/usr/share/doc/${PF}/kodi-eventclients-dev || die + fi + + python_optimize "${D}$(python_get_sitedir)" +} diff --git a/media-tv/kodi/kodi-19.0_rc1-r2.ebuild b/media-tv/kodi/kodi-19.0_rc1-r2.ebuild deleted file mode 100644 index cb070312eded..000000000000 --- a/media-tv/kodi/kodi-19.0_rc1-r2.ebuild +++ /dev/null @@ -1,328 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_REQ_USE="libressl?,sqlite,ssl" -LIBDVDCSS_VERSION="1.4.2-Leia-Beta-5" -LIBDVDREAD_VERSION="6.0.0-Leia-Alpha-3" -LIBDVDNAV_VERSION="6.0.0-Leia-Alpha-3" -FFMPEG_VERSION="4.3.1" -CODENAME="Matrix" -FFMPEG_KODI_VERSION="Beta1" -PYTHON_COMPAT=( python3_{6,7,8,9} ) -SRC_URI="https://github.com/xbmc/libdvdcss/archive/${LIBDVDCSS_VERSION}.tar.gz -> libdvdcss-${LIBDVDCSS_VERSION}.tar.gz - https://github.com/xbmc/libdvdread/archive/${LIBDVDREAD_VERSION}.tar.gz -> libdvdread-${LIBDVDREAD_VERSION}.tar.gz - https://github.com/xbmc/libdvdnav/archive/${LIBDVDNAV_VERSION}.tar.gz -> libdvdnav-${LIBDVDNAV_VERSION}.tar.gz - !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 )" -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/xbmc/xbmc.git" - inherit git-r3 -else - MY_PV=${PV/_p/_r} - MY_PV=${MY_PV/_alpha/a} - MY_PV=${MY_PV/_beta/b} - MY_PV=${MY_PV/_rc/RC} - MY_P="${PN}-${MY_PV}" - SRC_URI+=" https://github.com/xbmc/xbmc/archive/${MY_PV}-${CODENAME}.tar.gz -> ${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~x86" - S=${WORKDIR}/xbmc-${MY_PV}-${CODENAME} -fi - -inherit autotools cmake desktop linux-info pax-utils python-single-r1 xdg - -DESCRIPTION="A free and open source media-player and entertainment hub" -HOMEPAGE="https://kodi.tv/ https://kodi.wiki/" - -LICENSE="GPL-2+" -SLOT="0" -# use flag is called libusb so that it doesn't fool people in thinking that -# it is _required_ for USB support. Otherwise they'll disable udev and -# that's going to be worse. -IUSE="airplay alsa bluetooth bluray caps cec +css dav1d dbus dvd gbm gles lcms libressl libusb lirc mariadb mysql nfs +opengl power-control pulseaudio raspberry-pi samba +system-ffmpeg test udf udev udisks upnp upower vaapi vdpau wayland webserver +X +xslt zeroconf" -IUSE="${IUSE} cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_arm_neon" -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - || ( gles opengl ) - || ( gbm wayland X ) - ?? ( mariadb mysql ) - bluray? ( udf ) - udev? ( !libusb ) - udisks? ( dbus ) - upower? ( dbus ) - power-control? ( dbus ) -" -RESTRICT="!test? ( test )" - -COMMON_DEPEND="${PYTHON_DEPS} - airplay? ( - >=app-pda/libplist-2.0.0 - net-libs/shairplay - ) - alsa? ( >=media-libs/alsa-lib-1.1.4.1 ) - bluetooth? ( net-wireless/bluez ) - bluray? ( >=media-libs/libbluray-1.1.2 ) - caps? ( sys-libs/libcap ) - dbus? ( sys-apps/dbus ) - dev-db/sqlite - dev-libs/expat - >=dev-libs/flatbuffers-1.11.0 - >=dev-libs/fribidi-1.0.5 - cec? ( >=dev-libs/libcec-4.0[raspberry-pi?] ) - dev-libs/libpcre[cxx] - >=dev-libs/libinput-1.10.5 - >=dev-libs/libxml2-2.9.4 - >=dev-libs/lzo-2.04 - >=dev-libs/spdlog-1.5.0:= - dev-libs/tinyxml[stl] - $(python_gen_cond_dep ' - dev-python/pillow[${PYTHON_MULTI_USEDEP}] - dev-python/pycryptodome[${PYTHON_MULTI_USEDEP}] - ') - >=dev-libs/libcdio-2.1.0[cxx] - >=dev-libs/libfmt-6.1.2 - dev-libs/libfstrcmp - gbm? ( media-libs/mesa[gbm] ) - gles? ( - !raspberry-pi? ( media-libs/mesa[gles2] ) - ) - lcms? ( media-libs/lcms:2 ) - libusb? ( virtual/libusb:1 ) - virtual/ttf-fonts - media-fonts/roboto - >=media-libs/fontconfig-2.13.1 - >=media-libs/freetype-2.10.1 - >=media-libs/libass-0.13.4 - !raspberry-pi? ( media-libs/mesa[egl] ) - >=media-libs/taglib-1.11.1 - system-ffmpeg? ( - >=media-video/ffmpeg-${FFMPEG_VERSION}:=[dav1d?,encode,postproc] - libressl? ( media-video/ffmpeg[libressl,-openssl] ) - !libressl? ( media-video/ffmpeg[-libressl,openssl] ) - ) - !system-ffmpeg? ( dav1d? ( media-libs/dav1d ) ) - mysql? ( dev-db/mysql-connector-c:= ) - mariadb? ( dev-db/mariadb-connector-c:= ) - >=net-misc/curl-7.68.0[http2] - nfs? ( >=net-fs/libnfs-2.0.0:= ) - opengl? ( media-libs/glu ) - !libressl? ( >=dev-libs/openssl-1.0.2l:0= ) - libressl? ( dev-libs/libressl:0= ) - raspberry-pi? ( - || ( media-libs/raspberrypi-userland media-libs/raspberrypi-userland-bin media-libs/mesa[egl,gles2,video_cards_vc4] ) - ) - pulseaudio? ( media-sound/pulseaudio ) - samba? ( >=net-fs/samba-3.4.6[smbclient(+)] ) - >=sys-libs/zlib-1.2.11 - udf? ( >=dev-libs/libudfread-1.0.0 ) - udev? ( virtual/udev ) - vaapi? ( - x11-libs/libva:= - opengl? ( x11-libs/libva[opengl] ) - system-ffmpeg? ( media-video/ffmpeg[vaapi] ) - vdpau? ( x11-libs/libva[vdpau] ) - wayland? ( x11-libs/libva[wayland] ) - X? ( x11-libs/libva[X] ) - ) - virtual/libiconv - vdpau? ( - || ( >=x11-libs/libvdpau-1.1 >=x11-drivers/nvidia-drivers-180.51 ) - system-ffmpeg? ( media-video/ffmpeg[vdpau] ) - ) - wayland? ( - >=dev-cpp/waylandpp-0.2.3:= - media-libs/mesa[wayland] - >=dev-libs/wayland-protocols-1.7 - ) - webserver? ( >=net-libs/libmicrohttpd-0.9.55[messages(+)] ) - X? ( - media-libs/mesa[X] - x11-libs/libX11 - x11-libs/libXrandr - x11-libs/libXrender - system-ffmpeg? ( media-video/ffmpeg[X] ) - ) - x11-libs/libdrm - >=x11-libs/libxkbcommon-0.4.1 - xslt? ( dev-libs/libxslt ) - zeroconf? ( net-dns/avahi[dbus] ) -" -RDEPEND="${COMMON_DEPEND} - lirc? ( app-misc/lirc ) - power-control? ( || ( sys-apps/systemd sys-auth/elogind ) ) - udisks? ( sys-fs/udisks:2 ) - upower? ( sys-power/upower ) -" -DEPEND="${COMMON_DEPEND} - app-arch/bzip2 - app-arch/xz-utils - dev-lang/swig - dev-libs/crossguid - dev-libs/rapidjson - dev-util/cmake - dev-util/gperf - media-libs/giflib - >=media-libs/libjpeg-turbo-2.0.4:= - >=media-libs/libpng-1.6.26:0= - test? ( >=dev-cpp/gtest-1.10.0 ) - virtual/pkgconfig - virtual/jre - x86? ( dev-lang/nasm ) -" - -CONFIG_CHECK="~IP_MULTICAST" -ERROR_IP_MULTICAST=" -In some cases Kodi needs to access multicast addresses. -Please consider enabling IP_MULTICAST under Networking options. -" - -pkg_setup() { - check_extra_config - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} == *9999 ]] ; then - git-r3_src_unpack - else - default - fi -} - -src_prepare() { - cmake_src_prepare - - # avoid long delays when powerkit isn't running #348580 - sed -i \ - -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \ - xbmc/platform/linux/*.cpp || die - - # Prepare tools and libs witch are configured with autotools during compile time - AUTOTOOLS_DIRS=( - "${S}"/tools/depends/native/TexturePacker/src - "${S}"/tools/depends/native/JsonSchemaBuilder/src - ) - - local d - for d in "${AUTOTOOLS_DIRS[@]}" ; do - pushd ${d} >/dev/null || die - AT_NOELIBTOOLIZE="yes" AT_TOPLEVEL_EAUTORECONF="yes" eautoreconf - popd >/dev/null || die - done - elibtoolize - - # Prevent autoreconf rerun - sed -e 's/autoreconf -vif/echo "autoreconf already done in src_prepare()"/' -i \ - "${S}"/tools/depends/native/TexturePacker/src/autogen.sh \ - "${S}"/tools/depends/native/JsonSchemaBuilder/src/autogen.sh \ - || die -} - -src_configure() { - local platform=() - use gbm && platform+=( gbm ) - use wayland && platform+=( wayland ) - use X && platform+=( x11 ) - local core_platform_name="${platform[@]}" - local mycmakeargs=( - -DENABLE_SSE=$(usex cpu_flags_x86_sse) - -DENABLE_SSE2=$(usex cpu_flags_x86_sse2) - -DENABLE_SSE3=$(usex cpu_flags_x86_sse3) - -DENABLE_SSE4_1=$(usex cpu_flags_x86_sse4_1) - -DENABLE_SSE4_2=$(usex cpu_flags_x86_sse4_2) - -DENABLE_AVX=$(usex cpu_flags_x86_avx) - -DENABLE_AVX2=$(usex cpu_flags_x86_avx2) - -DENABLE_NEON=$(usex cpu_flags_arm_neon) - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - -DVERBOSE=ON - -DENABLE_LDGOLD=OFF # https://bugs.gentoo.org/show_bug.cgi?id=606124 - -DENABLE_ALSA=$(usex alsa) - -DENABLE_AIRTUNES=$(usex airplay) - -DENABLE_AVAHI=$(usex zeroconf) - -DENABLE_BLUETOOTH=$(usex bluetooth) - -DENABLE_BLURAY=$(usex bluray) - -DENABLE_CCACHE=OFF - -DENABLE_ISO9660PP=ON - -DENABLE_CEC=$(usex cec) - -DENABLE_DBUS=$(usex dbus) - -DENABLE_DVDCSS=$(usex css) - -DENABLE_INTERNAL_CROSSGUID=OFF - -DENABLE_INTERNAL_RapidJSON=OFF - -DENABLE_INTERNAL_FMT=OFF - -DENABLE_INTERNAL_FFMPEG="$(usex !system-ffmpeg)" - -DENABLE_INTERNAL_FSTRCMP=OFF - -DENABLE_INTERNAL_FLATBUFFERS=OFF - -DENABLE_INTERNAL_DAV1D=OFF - -DENABLE_INTERNAL_GTEST=OFF - -DENABLE_INTERNAL_UDFREAD=OFF - -DENABLE_INTERNAL_SPDLOG=OFF - -DENABLE_CAP=$(usex caps) - -DENABLE_LCMS2=$(usex lcms) - -DENABLE_LIRCCLIENT=$(usex lirc) - -DENABLE_MARIADBCLIENT=$(usex mariadb) - -DENABLE_MDNS=OFF # used only on Android - -DENABLE_MICROHTTPD=$(usex webserver) - -DENABLE_MYSQLCLIENT=$(usex mysql) - -DENABLE_NFS=$(usex nfs) - -DENABLE_OPENGLES=$(usex gles) - -DENABLE_OPENGL=$(usex opengl) - -DENABLE_OPTICAL=$(usex dvd) - -DENABLE_PLIST=$(usex airplay) - -DENABLE_PULSEAUDIO=$(usex pulseaudio) - -DENABLE_SMBCLIENT=$(usex samba) - -DENABLE_SNDIO=OFF - -DENABLE_TESTING=$(usex test) - -DENABLE_UDEV=$(usex udev) - -DENABLE_UDFREAD=$(usex udf) - -DENABLE_UPNP=$(usex upnp) - -DENABLE_VAAPI=$(usex vaapi) - -DENABLE_VDPAU=$(usex vdpau) - -DENABLE_XSLT=$(usex xslt) - -Dlibdvdread_URL="${DISTDIR}/libdvdread-${LIBDVDREAD_VERSION}.tar.gz" - -Dlibdvdnav_URL="${DISTDIR}/libdvdnav-${LIBDVDNAV_VERSION}.tar.gz" - -Dlibdvdcss_URL="${DISTDIR}/libdvdcss-${LIBDVDCSS_VERSION}.tar.gz" - -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" - -DPYTHON_LIBRARY="$(python_get_library_path)" - -DAPP_RENDER_SYSTEM="$(usex opengl gl gles)" - -DCORE_PLATFORM_NAME="${core_platform_name}" - ) - - use libusb && mycmakeargs+=( -DENABLE_LIBUSB=$(usex libusb) ) - - if use system-ffmpeg; then - mycmakeargs+=( -DWITH_FFMPEG="yes" ) - else - mycmakeargs+=( -DFFMPEG_URL="${DISTDIR}/ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz" ) - fi - - if ! echo "${CFLAGS}" | grep -Fwqe '-DNDEBUG' - && ! echo "${CFLAGS}" | grep -Fwqe '-D_DEBUG' - ; then - CFLAGS+=' -DNDEBUG' # Kodi requires one of the 'NDEBUG' or '_DEBUG' defines - CXXFLAGS+=' -DNDEBUG' - fi - - cmake_src_configure -} - -src_compile() { - cmake_src_compile all -} - -src_test() { - # see https://github.com/xbmc/xbmc/issues/17860#issuecomment-630120213 - KODI_HOME="${BUILD_DIR}" cmake_build check -} - -src_install() { - cmake_src_install - - pax-mark Em "${ED}"/usr/$(get_libdir)/${PN}/${PN}.bin - - newicon media/icon48x48.png kodi.png - - rm "${ED}"/usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf || die - dosym ../../../../fonts/roboto/Roboto-Thin.ttf \ - usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf - - python_domodule tools/EventClients/lib/python/xbmcclient.py - python_newscript "tools/EventClients/Clients/KodiSend/kodi-send.py" kodi-send -} diff --git a/media-tv/kodi/kodi-19.9999.ebuild b/media-tv/kodi/kodi-19.9999.ebuild index cb070312eded..0c01abfd0056 100644 --- a/media-tv/kodi/kodi-19.9999.ebuild +++ b/media-tv/kodi/kodi-19.9999.ebuild @@ -17,6 +17,7 @@ SRC_URI="https://github.com/xbmc/libdvdcss/archive/${LIBDVDCSS_VERSION}.tar.gz - !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 )" if [[ ${PV} == *9999 ]] ; then EGIT_REPO_URI="https://github.com/xbmc/xbmc.git" + EGIT_BRANCH="Matrix" inherit git-r3 else MY_PV=${PV/_p/_r} @@ -39,11 +40,10 @@ SLOT="0" # use flag is called libusb so that it doesn't fool people in thinking that # it is _required_ for USB support. Otherwise they'll disable udev and # that's going to be worse. -IUSE="airplay alsa bluetooth bluray caps cec +css dav1d dbus dvd gbm gles lcms libressl libusb lirc mariadb mysql nfs +opengl power-control pulseaudio raspberry-pi samba +system-ffmpeg test udf udev udisks upnp upower vaapi vdpau wayland webserver +X +xslt zeroconf" +IUSE="airplay alsa bluetooth bluray caps cec +css dav1d dbus eventclients gbm gles lcms libressl libusb lirc mariadb mysql nfs +optical power-control pulseaudio raspberry-pi samba +system-ffmpeg test udf udev udisks upnp upower vaapi vdpau wayland webserver +X +xslt zeroconf" IUSE="${IUSE} cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_arm_neon" REQUIRED_USE=" ${PYTHON_REQUIRED_USE} - || ( gles opengl ) || ( gbm wayland X ) ?? ( mariadb mysql ) bluray? ( udf ) @@ -51,10 +51,22 @@ REQUIRED_USE=" udisks? ( dbus ) upower? ( dbus ) power-control? ( dbus ) + vdpau? ( + X + !gles + !gbm + ) + zeroconf? ( dbus ) " RESTRICT="!test? ( test )" -COMMON_DEPEND="${PYTHON_DEPS} +COMMON_DEPEND=" + >=dev-libs/lzo-2.04 + >=dev-libs/flatbuffers-1.11.0 + >=media-libs/libjpeg-turbo-2.0.4:= + >=media-libs/libpng-1.6.26:0= +" +COMMON_TARGET_DEPEND="${PYTHON_DEPS} airplay? ( >=app-pda/libplist-2.0.0 net-libs/shairplay @@ -65,14 +77,10 @@ COMMON_DEPEND="${PYTHON_DEPS} caps? ( sys-libs/libcap ) dbus? ( sys-apps/dbus ) dev-db/sqlite - dev-libs/expat - >=dev-libs/flatbuffers-1.11.0 + dev-libs/crossguid >=dev-libs/fribidi-1.0.5 cec? ( >=dev-libs/libcec-4.0[raspberry-pi?] ) dev-libs/libpcre[cxx] - >=dev-libs/libinput-1.10.5 - >=dev-libs/libxml2-2.9.4 - >=dev-libs/lzo-2.04 >=dev-libs/spdlog-1.5.0:= dev-libs/tinyxml[stl] $(python_gen_cond_dep ' @@ -82,7 +90,11 @@ COMMON_DEPEND="${PYTHON_DEPS} >=dev-libs/libcdio-2.1.0[cxx] >=dev-libs/libfmt-6.1.2 dev-libs/libfstrcmp - gbm? ( media-libs/mesa[gbm] ) + gbm? ( + >=dev-libs/libinput-1.10.5 + media-libs/mesa[gbm] + x11-libs/libxkbcommon + ) gles? ( !raspberry-pi? ( media-libs/mesa[gles2] ) ) @@ -90,7 +102,6 @@ COMMON_DEPEND="${PYTHON_DEPS} libusb? ( virtual/libusb:1 ) virtual/ttf-fonts media-fonts/roboto - >=media-libs/fontconfig-2.13.1 >=media-libs/freetype-2.10.1 >=media-libs/libass-0.13.4 !raspberry-pi? ( media-libs/mesa[egl] ) @@ -100,12 +111,15 @@ COMMON_DEPEND="${PYTHON_DEPS} libressl? ( media-video/ffmpeg[libressl,-openssl] ) !libressl? ( media-video/ffmpeg[-libressl,openssl] ) ) - !system-ffmpeg? ( dav1d? ( media-libs/dav1d ) ) + !system-ffmpeg? ( + app-arch/bzip2 + dav1d? ( media-libs/dav1d ) + ) mysql? ( dev-db/mysql-connector-c:= ) mariadb? ( dev-db/mariadb-connector-c:= ) >=net-misc/curl-7.68.0[http2] nfs? ( >=net-fs/libnfs-2.0.0:= ) - opengl? ( media-libs/glu ) + !gles? ( media-libs/glu ) !libressl? ( >=dev-libs/openssl-1.0.2l:0= ) libressl? ( dev-libs/libressl:0= ) raspberry-pi? ( @@ -118,7 +132,7 @@ COMMON_DEPEND="${PYTHON_DEPS} udev? ( virtual/udev ) vaapi? ( x11-libs/libva:= - opengl? ( x11-libs/libva[opengl] ) + !gles? ( x11-libs/libva[opengl] ) system-ffmpeg? ( media-video/ffmpeg[vaapi] ) vdpau? ( x11-libs/libva[vdpau] ) wayland? ( x11-libs/libva[wayland] ) @@ -133,41 +147,43 @@ COMMON_DEPEND="${PYTHON_DEPS} >=dev-cpp/waylandpp-0.2.3:= media-libs/mesa[wayland] >=dev-libs/wayland-protocols-1.7 + >=x11-libs/libxkbcommon-0.4.1 ) webserver? ( >=net-libs/libmicrohttpd-0.9.55[messages(+)] ) X? ( media-libs/mesa[X] + !gles? ( media-libs/libglvnd[X] ) x11-libs/libX11 x11-libs/libXrandr x11-libs/libXrender system-ffmpeg? ( media-video/ffmpeg[X] ) ) x11-libs/libdrm - >=x11-libs/libxkbcommon-0.4.1 - xslt? ( dev-libs/libxslt ) + xslt? ( + dev-libs/libxslt + >=dev-libs/libxml2-2.9.4 + ) zeroconf? ( net-dns/avahi[dbus] ) " -RDEPEND="${COMMON_DEPEND} +RDEPEND="${COMMON_DEPEND} ${COMMON_TARGET_DEPEND} lirc? ( app-misc/lirc ) power-control? ( || ( sys-apps/systemd sys-auth/elogind ) ) udisks? ( sys-fs/udisks:2 ) upower? ( sys-power/upower ) " -DEPEND="${COMMON_DEPEND} - app-arch/bzip2 - app-arch/xz-utils - dev-lang/swig - dev-libs/crossguid +DEPEND="${COMMON_DEPEND} ${COMMON_TARGET_DEPEND} dev-libs/rapidjson + test? ( >=dev-cpp/gtest-1.10.0 ) +" +BDEPEND="${COMMON_DEPEND} + dev-lang/swig dev-util/cmake - dev-util/gperf media-libs/giflib + >=dev-libs/flatbuffers-1.11.0 >=media-libs/libjpeg-turbo-2.0.4:= >=media-libs/libpng-1.6.26:0= - test? ( >=dev-cpp/gtest-1.10.0 ) virtual/pkgconfig virtual/jre - x86? ( dev-lang/nasm ) " CONFIG_CHECK="~IP_MULTICAST" @@ -242,10 +258,14 @@ src_configure() { -DENABLE_BLUETOOTH=$(usex bluetooth) -DENABLE_BLURAY=$(usex bluray) -DENABLE_CCACHE=OFF - -DENABLE_ISO9660PP=ON + -DENABLE_CLANGFORMAT=OFF + -DENABLE_CLANGTIDY=OFF + -DENABLE_CPPCHECK=OFF + -DENABLE_ISO9660PP=$(usex optical) -DENABLE_CEC=$(usex cec) -DENABLE_DBUS=$(usex dbus) -DENABLE_DVDCSS=$(usex css) + -DENABLE_EVENTCLIENTS=ON # alway enable to have 'kodi-send' and filter extra staff in 'src_install()' -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_RapidJSON=OFF -DENABLE_INTERNAL_FMT=OFF @@ -265,8 +285,8 @@ src_configure() { -DENABLE_MYSQLCLIENT=$(usex mysql) -DENABLE_NFS=$(usex nfs) -DENABLE_OPENGLES=$(usex gles) - -DENABLE_OPENGL=$(usex opengl) - -DENABLE_OPTICAL=$(usex dvd) + -DENABLE_OPENGL=$(usex !gles) + -DENABLE_OPTICAL=$(usex optical) -DENABLE_PLIST=$(usex airplay) -DENABLE_PULSEAUDIO=$(usex pulseaudio) -DENABLE_SMBCLIENT=$(usex samba) @@ -283,11 +303,13 @@ src_configure() { -Dlibdvdcss_URL="${DISTDIR}/libdvdcss-${LIBDVDCSS_VERSION}.tar.gz" -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" -DPYTHON_LIBRARY="$(python_get_library_path)" - -DAPP_RENDER_SYSTEM="$(usex opengl gl gles)" + -DAPP_RENDER_SYSTEM="$(usex gles gles gl)" -DCORE_PLATFORM_NAME="${core_platform_name}" ) - use libusb && mycmakeargs+=( -DENABLE_LIBUSB=$(usex libusb) ) + use !udev && mycmakeargs+=( -DENABLE_LIBUSB=$(usex libusb) ) + + use X && use !gles && mycmakeargs+=( -DENABLE_GLX=ON ) if use system-ffmpeg; then mycmakeargs+=( -DWITH_FFMPEG="yes" ) @@ -323,6 +345,13 @@ src_install() { dosym ../../../../fonts/roboto/Roboto-Thin.ttf \ usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf - python_domodule tools/EventClients/lib/python/xbmcclient.py - python_newscript "tools/EventClients/Clients/KodiSend/kodi-send.py" kodi-send + if use !eventclients ; then + rm -f "${ED}"/usr/bin/kodi-ps3remote || die + rm -f "${D}"$(python_get_sitedir)/kodi/ps3_remote.py || die + rm -rf "${D}"$(python_get_sitedir)/kodi/ps3 || die + rm -rf "${D}"$(python_get_sitedir)/kodi/bt || die + rm -rf "${ED}"/usr/share/doc/${PF}/kodi-eventclients-dev || die + fi + + python_optimize "${D}$(python_get_sitedir)" } diff --git a/media-tv/kodi/kodi-9999.ebuild b/media-tv/kodi/kodi-9999.ebuild index cb070312eded..234e0adf22e4 100644 --- a/media-tv/kodi/kodi-9999.ebuild +++ b/media-tv/kodi/kodi-9999.ebuild @@ -39,11 +39,10 @@ SLOT="0" # use flag is called libusb so that it doesn't fool people in thinking that # it is _required_ for USB support. Otherwise they'll disable udev and # that's going to be worse. -IUSE="airplay alsa bluetooth bluray caps cec +css dav1d dbus dvd gbm gles lcms libressl libusb lirc mariadb mysql nfs +opengl power-control pulseaudio raspberry-pi samba +system-ffmpeg test udf udev udisks upnp upower vaapi vdpau wayland webserver +X +xslt zeroconf" +IUSE="airplay alsa bluetooth bluray caps cec +css dav1d dbus eventclients gbm gles lcms libressl libusb lirc mariadb mysql nfs +optical power-control pulseaudio raspberry-pi samba +system-ffmpeg test udf udev udisks upnp upower vaapi vdpau wayland webserver +X +xslt zeroconf" IUSE="${IUSE} cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_arm_neon" REQUIRED_USE=" ${PYTHON_REQUIRED_USE} - || ( gles opengl ) || ( gbm wayland X ) ?? ( mariadb mysql ) bluray? ( udf ) @@ -51,10 +50,22 @@ REQUIRED_USE=" udisks? ( dbus ) upower? ( dbus ) power-control? ( dbus ) + vdpau? ( + X + !gles + !gbm + ) + zeroconf? ( dbus ) " RESTRICT="!test? ( test )" -COMMON_DEPEND="${PYTHON_DEPS} +COMMON_DEPEND=" + >=dev-libs/lzo-2.04 + >=dev-libs/flatbuffers-1.11.0 + >=media-libs/libjpeg-turbo-2.0.4:= + >=media-libs/libpng-1.6.26:0= +" +COMMON_TARGET_DEPEND="${PYTHON_DEPS} airplay? ( >=app-pda/libplist-2.0.0 net-libs/shairplay @@ -65,14 +76,10 @@ COMMON_DEPEND="${PYTHON_DEPS} caps? ( sys-libs/libcap ) dbus? ( sys-apps/dbus ) dev-db/sqlite - dev-libs/expat - >=dev-libs/flatbuffers-1.11.0 + dev-libs/crossguid >=dev-libs/fribidi-1.0.5 cec? ( >=dev-libs/libcec-4.0[raspberry-pi?] ) dev-libs/libpcre[cxx] - >=dev-libs/libinput-1.10.5 - >=dev-libs/libxml2-2.9.4 - >=dev-libs/lzo-2.04 >=dev-libs/spdlog-1.5.0:= dev-libs/tinyxml[stl] $(python_gen_cond_dep ' @@ -82,7 +89,11 @@ COMMON_DEPEND="${PYTHON_DEPS} >=dev-libs/libcdio-2.1.0[cxx] >=dev-libs/libfmt-6.1.2 dev-libs/libfstrcmp - gbm? ( media-libs/mesa[gbm] ) + gbm? ( + >=dev-libs/libinput-1.10.5 + media-libs/mesa[gbm] + x11-libs/libxkbcommon + ) gles? ( !raspberry-pi? ( media-libs/mesa[gles2] ) ) @@ -90,7 +101,6 @@ COMMON_DEPEND="${PYTHON_DEPS} libusb? ( virtual/libusb:1 ) virtual/ttf-fonts media-fonts/roboto - >=media-libs/fontconfig-2.13.1 >=media-libs/freetype-2.10.1 >=media-libs/libass-0.13.4 !raspberry-pi? ( media-libs/mesa[egl] ) @@ -100,12 +110,15 @@ COMMON_DEPEND="${PYTHON_DEPS} libressl? ( media-video/ffmpeg[libressl,-openssl] ) !libressl? ( media-video/ffmpeg[-libressl,openssl] ) ) - !system-ffmpeg? ( dav1d? ( media-libs/dav1d ) ) + !system-ffmpeg? ( + app-arch/bzip2 + dav1d? ( media-libs/dav1d ) + ) mysql? ( dev-db/mysql-connector-c:= ) mariadb? ( dev-db/mariadb-connector-c:= ) >=net-misc/curl-7.68.0[http2] nfs? ( >=net-fs/libnfs-2.0.0:= ) - opengl? ( media-libs/glu ) + !gles? ( media-libs/glu ) !libressl? ( >=dev-libs/openssl-1.0.2l:0= ) libressl? ( dev-libs/libressl:0= ) raspberry-pi? ( @@ -118,7 +131,7 @@ COMMON_DEPEND="${PYTHON_DEPS} udev? ( virtual/udev ) vaapi? ( x11-libs/libva:= - opengl? ( x11-libs/libva[opengl] ) + !gles? ( x11-libs/libva[opengl] ) system-ffmpeg? ( media-video/ffmpeg[vaapi] ) vdpau? ( x11-libs/libva[vdpau] ) wayland? ( x11-libs/libva[wayland] ) @@ -133,41 +146,43 @@ COMMON_DEPEND="${PYTHON_DEPS} >=dev-cpp/waylandpp-0.2.3:= media-libs/mesa[wayland] >=dev-libs/wayland-protocols-1.7 + >=x11-libs/libxkbcommon-0.4.1 ) webserver? ( >=net-libs/libmicrohttpd-0.9.55[messages(+)] ) X? ( media-libs/mesa[X] + !gles? ( media-libs/libglvnd[X] ) x11-libs/libX11 x11-libs/libXrandr x11-libs/libXrender system-ffmpeg? ( media-video/ffmpeg[X] ) ) x11-libs/libdrm - >=x11-libs/libxkbcommon-0.4.1 - xslt? ( dev-libs/libxslt ) + xslt? ( + dev-libs/libxslt + >=dev-libs/libxml2-2.9.4 + ) zeroconf? ( net-dns/avahi[dbus] ) " -RDEPEND="${COMMON_DEPEND} +RDEPEND="${COMMON_DEPEND} ${COMMON_TARGET_DEPEND} lirc? ( app-misc/lirc ) power-control? ( || ( sys-apps/systemd sys-auth/elogind ) ) udisks? ( sys-fs/udisks:2 ) upower? ( sys-power/upower ) " -DEPEND="${COMMON_DEPEND} - app-arch/bzip2 - app-arch/xz-utils - dev-lang/swig - dev-libs/crossguid +DEPEND="${COMMON_DEPEND} ${COMMON_TARGET_DEPEND} dev-libs/rapidjson + test? ( >=dev-cpp/gtest-1.10.0 ) +" +BDEPEND="${COMMON_DEPEND} + dev-lang/swig dev-util/cmake - dev-util/gperf media-libs/giflib + >=dev-libs/flatbuffers-1.11.0 >=media-libs/libjpeg-turbo-2.0.4:= >=media-libs/libpng-1.6.26:0= - test? ( >=dev-cpp/gtest-1.10.0 ) virtual/pkgconfig virtual/jre - x86? ( dev-lang/nasm ) " CONFIG_CHECK="~IP_MULTICAST" @@ -242,10 +257,14 @@ src_configure() { -DENABLE_BLUETOOTH=$(usex bluetooth) -DENABLE_BLURAY=$(usex bluray) -DENABLE_CCACHE=OFF - -DENABLE_ISO9660PP=ON + -DENABLE_CLANGFORMAT=OFF + -DENABLE_CLANGTIDY=OFF + -DENABLE_CPPCHECK=OFF + -DENABLE_ISO9660PP=$(usex optical) -DENABLE_CEC=$(usex cec) -DENABLE_DBUS=$(usex dbus) -DENABLE_DVDCSS=$(usex css) + -DENABLE_EVENTCLIENTS=ON # alway enable to have 'kodi-send' and filter extra staff in 'src_install()' -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_RapidJSON=OFF -DENABLE_INTERNAL_FMT=OFF @@ -265,8 +284,8 @@ src_configure() { -DENABLE_MYSQLCLIENT=$(usex mysql) -DENABLE_NFS=$(usex nfs) -DENABLE_OPENGLES=$(usex gles) - -DENABLE_OPENGL=$(usex opengl) - -DENABLE_OPTICAL=$(usex dvd) + -DENABLE_OPENGL=$(usex !gles) + -DENABLE_OPTICAL=$(usex optical) -DENABLE_PLIST=$(usex airplay) -DENABLE_PULSEAUDIO=$(usex pulseaudio) -DENABLE_SMBCLIENT=$(usex samba) @@ -283,11 +302,13 @@ src_configure() { -Dlibdvdcss_URL="${DISTDIR}/libdvdcss-${LIBDVDCSS_VERSION}.tar.gz" -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" -DPYTHON_LIBRARY="$(python_get_library_path)" - -DAPP_RENDER_SYSTEM="$(usex opengl gl gles)" + -DAPP_RENDER_SYSTEM="$(usex gles gles gl)" -DCORE_PLATFORM_NAME="${core_platform_name}" ) - use libusb && mycmakeargs+=( -DENABLE_LIBUSB=$(usex libusb) ) + use !udev && mycmakeargs+=( -DENABLE_LIBUSB=$(usex libusb) ) + + use X && use !gles && mycmakeargs+=( -DENABLE_GLX=ON ) if use system-ffmpeg; then mycmakeargs+=( -DWITH_FFMPEG="yes" ) @@ -323,6 +344,13 @@ src_install() { dosym ../../../../fonts/roboto/Roboto-Thin.ttf \ usr/share/kodi/addons/skin.estuary/fonts/Roboto-Thin.ttf - python_domodule tools/EventClients/lib/python/xbmcclient.py - python_newscript "tools/EventClients/Clients/KodiSend/kodi-send.py" kodi-send + if use !eventclients ; then + rm -f "${ED}"/usr/bin/kodi-ps3remote || die + rm -f "${D}"$(python_get_sitedir)/kodi/ps3_remote.py || die + rm -rf "${D}"$(python_get_sitedir)/kodi/ps3 || die + rm -rf "${D}"$(python_get_sitedir)/kodi/bt || die + rm -rf "${ED}"/usr/share/doc/${PF}/kodi-eventclients-dev || die + fi + + python_optimize "${D}$(python_get_sitedir)" } diff --git a/media-tv/kodi/metadata.xml b/media-tv/kodi/metadata.xml index a30254b912a9..b33526329c7c 100644 --- a/media-tv/kodi/metadata.xml +++ b/media-tv/kodi/metadata.xml @@ -8,23 +8,27 @@ enable AirPlay support Enable playback of Blu-ray filesystems + Enable JSON-RPC over BT for remote control connected via bluetooth Use sys-libs/libcap to bind to privileged ports as non-root Enable support for HDMI-CEC devices via libcec + Install full set of Kodi python evenclients and evenclients examples Use the Graphics Buffer Manager for EGL on KMS. - Enable support for GLES + Use simplified OpenGLES instead of full-scale OpenGL Enable support for IR remote controls using app-misc/lirc - Add MariaDB support + Enable support store of media library metadata on local or remote MariaDB + Enable support store of media library metadata on local or remote MySQL Enables AV1 decoding via media-libs/dav1d Enable NFS client support - Enable optical (CD/DVD drive) support + Enable Audio CD playback, optical disks detection and reading (CD-ROM, Video CD, and others), and ISO optical disk images direct reading. DVD disks may require additional 'udf' flag. Enable control of shutdown, reboot, suspend, and hibernate Enable support for the Raspberry Pi Use system ffmpeg instead of the bundled one Use virtual/libusb for usb device hotplug support. This flag should only be enabled if you're running a non-Linux kernel or you don't want to use sys-fs/udev. Enable UDF support. Required for playing blurays. Use sys-fs/udev rules to handle devices' permissions and hotplug support. Unless you know what you're doing do not disable this flag on Linux kernels. This is provided as an option for completeness. + Use sys-power/upower to get battery level and active power source Enable internal webserver - Enable XSLT support using dev-libs/libxslt + Enable metadata XSLT scrapers support with dev-libs/libxslt https://trac.kodi.tv/ -- cgit v1.2.3