From 795bb2dd0225cb11ded6581a2de65bad9a24f4fd Mon Sep 17 00:00:00 2001 From: Jory Pratt Date: Tue, 10 Nov 2020 12:55:58 -0600 Subject: move kodi to ::musl Signed-off-by: Jory Pratt --- media-tv/kodi/Manifest | 6 - .../files/musl/0001-add-missing-stdint.h.patch | 24 -- media-tv/kodi/files/musl/0002-fix-fileemu.patch | 94 ------ .../kodi/files/musl/0003_use_stdint_for_musl.patch | 34 --- .../kodi/files/musl/0004-Fix-ldt-for-musl.patch | 25 -- .../kodi/files/musl/0005-fix-fortify-sources.patch | 25 -- .../kodi/files/musl/0006-remove-filewrap.patch | 57 ---- .../musl/0007-set-default-stacksize-for-musl.patch | 24 -- media-tv/kodi/kodi-18.9.ebuild | 334 --------------------- media-tv/kodi/metadata.xml | 29 -- 10 files changed, 652 deletions(-) delete mode 100644 media-tv/kodi/Manifest delete mode 100644 media-tv/kodi/files/musl/0001-add-missing-stdint.h.patch delete mode 100644 media-tv/kodi/files/musl/0002-fix-fileemu.patch delete mode 100644 media-tv/kodi/files/musl/0003_use_stdint_for_musl.patch delete mode 100644 media-tv/kodi/files/musl/0004-Fix-ldt-for-musl.patch delete mode 100644 media-tv/kodi/files/musl/0005-fix-fortify-sources.patch delete mode 100644 media-tv/kodi/files/musl/0006-remove-filewrap.patch delete mode 100644 media-tv/kodi/files/musl/0007-set-default-stacksize-for-musl.patch delete mode 100644 media-tv/kodi/kodi-18.9.ebuild delete mode 100644 media-tv/kodi/metadata.xml diff --git a/media-tv/kodi/Manifest b/media-tv/kodi/Manifest deleted file mode 100644 index f36ecda..0000000 --- a/media-tv/kodi/Manifest +++ /dev/null @@ -1,6 +0,0 @@ -DIST ffmpeg-kodi-4.0.4-Leia-18.4.tar.gz 12430413 BLAKE2B 6de6fde2c16264f851466b46f87c23c34e7d503203f69d47342d46034f153860190d196da51221f866315405c8a33325b2160283333256ee5d5e293336afae99 SHA512 c6dd75dbff7119adeeda246cfb640b5e8d3b4c242ef83e5ba070207b60f0c715c3fe3cb328d87687b70a133f122a03aba990f0e95f3aac7d5dbcee25bec59078 -DIST kodi-18.2-no-java-required.patch 991361 BLAKE2B ec58367d2ac378107bf84ab0b675a74f4eac620984811f50051e1fa0ccae5b52520eb106e3508c4bf4d98899a5068279370a2ddcebe33278d20642208d3a17e2 SHA512 8267f3ca7156c9498473ac33c24419f62541f68beffbb090a5e3da18fc6e9c32e509c10c91bc2721d07fc0d3ffc723966306d44cc0a00a51e363b1c24ac5d03f -DIST kodi-18.9.tar.gz 51052509 BLAKE2B e7cd888a38ed81e90566ae5e8a6f28c93688c8293af4b210674f224b02e7452ac81c25128cfbeaa3c67980fc00e18631060640ddff61263c782c807f8c5ea00e SHA512 72e4e2afa46d5d2061ed348af5c9a4218474589cb38d630e6d0643b35aff3b0aefb3db81333d52da6c799c530a1b709b1d7ccb6ec77dcb0cba06fce6791cb353 -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 diff --git a/media-tv/kodi/files/musl/0001-add-missing-stdint.h.patch b/media-tv/kodi/files/musl/0001-add-missing-stdint.h.patch deleted file mode 100644 index 8a1bfcd..0000000 --- a/media-tv/kodi/files/musl/0001-add-missing-stdint.h.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 014f4b37a13366d1df37ab86db7fcb7c7cb6da7c Mon Sep 17 00:00:00 2001 -From: Jory Pratt -Date: Wed, 24 Apr 2019 10:09:26 -0500 -Subject: [PATCH 1/7] add missing stdint.h - ---- - xbmc/filesystem/ZipManager.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/xbmc/filesystem/ZipManager.h b/xbmc/filesystem/ZipManager.h -index f24d459..4cd899c 100644 ---- a/xbmc/filesystem/ZipManager.h -+++ b/xbmc/filesystem/ZipManager.h -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - - class CURL; - --- -2.21.0 - diff --git a/media-tv/kodi/files/musl/0002-fix-fileemu.patch b/media-tv/kodi/files/musl/0002-fix-fileemu.patch deleted file mode 100644 index 25b8e5a..0000000 --- a/media-tv/kodi/files/musl/0002-fix-fileemu.patch +++ /dev/null @@ -1,94 +0,0 @@ -From eee360d98c2a506a3124b538a9f6629596607698 Mon Sep 17 00:00:00 2001 -From: Jory Pratt -Date: Wed, 24 Apr 2019 10:10:22 -0500 -Subject: [PATCH 2/7] fix fileemu - ---- - xbmc/cores/DllLoader/exports/emu_msvcrt.cpp | 15 +++++++++------ - xbmc/cores/DllLoader/exports/emu_msvcrt.h | 2 +- - xbmc/cores/DllLoader/exports/wrapper.c | 2 +- - 3 files changed, 11 insertions(+), 8 deletions(-) - -diff --git a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp -index 5546f6e..c40eee8 100644 ---- a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp -+++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - #ifdef TARGET_POSIX - #include "PlatformDefs.h" // for __stat64 - #include "XFileUtils.h" -@@ -1480,7 +1481,7 @@ extern "C" - int ret; - - ret = dll_fgetpos64(stream, &tmpPos); --#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) -+#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__) - *pos = (fpos_t)tmpPos; - #else - pos->__pos = (off_t)tmpPos.__pos; -@@ -1493,8 +1494,9 @@ extern "C" - CFile* pFile = g_emuFileWrapper.GetFileXbmcByStream(stream); - if (pFile != NULL) - { --#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) -- *pos = pFile->GetPosition(); -+#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__) -+ uint64_t *ppos = (uint64_t *) pos; -+ *ppos = pFile->GetPosition(); - #else - pos->__pos = pFile->GetPosition(); - #endif -@@ -1509,8 +1511,9 @@ extern "C" - int fd = g_emuFileWrapper.GetDescriptorByStream(stream); - if (fd >= 0) - { --#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) -- if (dll_lseeki64(fd, *pos, SEEK_SET) >= 0) -+#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__) -+ const uint64_t *ppos = (const uint64_t *) pos; -+ if (dll_lseeki64(fd, *ppos, SEEK_SET) >= 0) - #else - if (dll_lseeki64(fd, (__off64_t)pos->__pos, SEEK_SET) >= 0) - #endif -@@ -1532,7 +1535,7 @@ extern "C" - if (fd >= 0) - { - fpos64_t tmpPos; --#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) -+#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__) - tmpPos= *pos; - #else - tmpPos.__pos = (off64_t)(pos->__pos); -diff --git a/xbmc/cores/DllLoader/exports/emu_msvcrt.h b/xbmc/cores/DllLoader/exports/emu_msvcrt.h -index eb30c44..d8ca2cb 100644 ---- a/xbmc/cores/DllLoader/exports/emu_msvcrt.h -+++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.h -@@ -12,7 +12,7 @@ - #define _onexit_t void* - #endif - --#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) -+#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__) - typedef off_t __off_t; - typedef int64_t off64_t; - typedef off64_t __off64_t; -diff --git a/xbmc/cores/DllLoader/exports/wrapper.c b/xbmc/cores/DllLoader/exports/wrapper.c -index d618565..05e6368 100644 ---- a/xbmc/cores/DllLoader/exports/wrapper.c -+++ b/xbmc/cores/DllLoader/exports/wrapper.c -@@ -27,7 +27,7 @@ - #endif - #include - --#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) -+#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) || !defined(__GLIBC__) - typedef off_t __off_t; - typedef int64_t off64_t; - typedef off64_t __off64_t; --- -2.21.0 - diff --git a/media-tv/kodi/files/musl/0003_use_stdint_for_musl.patch b/media-tv/kodi/files/musl/0003_use_stdint_for_musl.patch deleted file mode 100644 index df5d52f..0000000 --- a/media-tv/kodi/files/musl/0003_use_stdint_for_musl.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 6ba5baa56fcfadc66a6e36184dbab7f111737663 Mon Sep 17 00:00:00 2001 -From: Jory Pratt -Date: Wed, 24 Apr 2019 11:20:27 -0500 -Subject: [PATCH] Use stdint.h defined types uint8_t, uint16_t, uint32_t and - uint64_t for compatibility with musl libc - ---- - xbmc/platform/linux/storage/UDisks2Provider.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/xbmc/platform/linux/storage/UDisks2Provider.h b/xbmc/platform/linux/storage/UDisks2Provider.h -index c0eb915..3697ef4 100644 ---- a/xbmc/platform/linux/storage/UDisks2Provider.h -+++ b/xbmc/platform/linux/storage/UDisks2Provider.h -@@ -10,6 +10,7 @@ - - #include - #include -+#include - - #include "storage/IStorageProvider.h" - #include "DBusUtil.h" -@@ -40,7 +41,7 @@ class CUDisks2Provider : public IStorageProvider - std::string m_label; - std::string m_device; - bool m_isSystem = false; -- u_int64_t m_size = 0; -+ int64_t m_size = 0; - - explicit Block(const char *object); - ~Block() = default; --- -2.21.0 - diff --git a/media-tv/kodi/files/musl/0004-Fix-ldt-for-musl.patch b/media-tv/kodi/files/musl/0004-Fix-ldt-for-musl.patch deleted file mode 100644 index bf45c28..0000000 --- a/media-tv/kodi/files/musl/0004-Fix-ldt-for-musl.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 557e8a2e6616e6946558276aa93d812d1ffa860c Mon Sep 17 00:00:00 2001 -From: Jory Pratt -Date: Wed, 24 Apr 2019 10:10:59 -0500 -Subject: [PATCH 3/7] Fix ldt for musl - ---- - xbmc/cores/DllLoader/ldt_keeper.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/xbmc/cores/DllLoader/ldt_keeper.c b/xbmc/cores/DllLoader/ldt_keeper.c -index 0e6bc81..73f1346 100644 ---- a/xbmc/cores/DllLoader/ldt_keeper.c -+++ b/xbmc/cores/DllLoader/ldt_keeper.c -@@ -49,7 +49,7 @@ - #ifdef __cplusplus - extern "C" { - #endif --#if defined(TARGET_ANDROID) && defined(__i386__) && !defined(modify_ldt) -+#if defined(__linux__) && !defined(__GLIBC__) && !defined(modify_ldt) - #define modify_ldt(a,b,c) syscall( __NR_modify_ldt, a, b, c); - #else - int modify_ldt(int func, void *ptr, unsigned long bytecount); --- -2.21.0 - diff --git a/media-tv/kodi/files/musl/0005-fix-fortify-sources.patch b/media-tv/kodi/files/musl/0005-fix-fortify-sources.patch deleted file mode 100644 index 82d5141..0000000 --- a/media-tv/kodi/files/musl/0005-fix-fortify-sources.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 995276d672ecebf01b7a36f5ea7532f02f7ec68e Mon Sep 17 00:00:00 2001 -From: Jory Pratt -Date: Wed, 24 Apr 2019 10:13:46 -0500 -Subject: [PATCH 4/7] fix fortify sources - ---- - xbmc/cores/DllLoader/exports/wrapper.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/xbmc/cores/DllLoader/exports/wrapper.c b/xbmc/cores/DllLoader/exports/wrapper.c -index 05e6368..a2ce079 100644 ---- a/xbmc/cores/DllLoader/exports/wrapper.c -+++ b/xbmc/cores/DllLoader/exports/wrapper.c -@@ -453,7 +453,7 @@ struct mntent *__wrap_getmntent(FILE *fp) - // are actually #defines which are inlined when compiled with -O. Those defines - // actually call __*chk (for example, __fread_chk). We need to bypass this whole - // thing to actually call our wrapped functions. --#if _FORTIFY_SOURCE > 1 -+#if defined(__GLIBC__) && _FORTIFY_SOURCE > 1 - - size_t __wrap___fread_chk(void * ptr, size_t ptrlen, size_t size, size_t n, FILE * stream) - { --- -2.21.0 - diff --git a/media-tv/kodi/files/musl/0006-remove-filewrap.patch b/media-tv/kodi/files/musl/0006-remove-filewrap.patch deleted file mode 100644 index 93c90fa..0000000 --- a/media-tv/kodi/files/musl/0006-remove-filewrap.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 04e63b1f7a3ead576bcf504950af48b3d7383301 Mon Sep 17 00:00:00 2001 -From: Jory Pratt -Date: Wed, 24 Apr 2019 10:14:17 -0500 -Subject: [PATCH 5/7] remove filewrap - ---- - xbmc/platform/posix/utils/PosixInterfaceForCLog.cpp | 6 +----- - xbmc/platform/posix/utils/PosixInterfaceForCLog.h | 4 +--- - 2 files changed, 2 insertions(+), 8 deletions(-) - -diff --git a/xbmc/platform/posix/utils/PosixInterfaceForCLog.cpp b/xbmc/platform/posix/utils/PosixInterfaceForCLog.cpp -index ce4c5aa..8c674eb 100644 ---- a/xbmc/platform/posix/utils/PosixInterfaceForCLog.cpp -+++ b/xbmc/platform/posix/utils/PosixInterfaceForCLog.cpp -@@ -17,10 +17,6 @@ - #include "platform/android/activity/XBMCApp.h" - #endif // TARGET_ANDROID - --struct FILEWRAP : public FILE --{}; -- -- - CPosixInterfaceForCLog::CPosixInterfaceForCLog() : - m_file(NULL) - { } -@@ -40,7 +36,7 @@ bool CPosixInterfaceForCLog::OpenLogFile(const std::string &logFilename, const s - (void)remove(backupOldLogToFilename.c_str()); // if it's failed, try to continue - (void)rename(logFilename.c_str(), backupOldLogToFilename.c_str()); // if it's failed, try to continue - -- m_file = (FILEWRAP*)fopen(logFilename.c_str(), "wb"); -+ m_file = fopen(logFilename.c_str(), "wb"); - if (!m_file) - return false; // error, can't open log file - -diff --git a/xbmc/platform/posix/utils/PosixInterfaceForCLog.h b/xbmc/platform/posix/utils/PosixInterfaceForCLog.h -index 4e0f6c6..758debd 100644 ---- a/xbmc/platform/posix/utils/PosixInterfaceForCLog.h -+++ b/xbmc/platform/posix/utils/PosixInterfaceForCLog.h -@@ -10,8 +10,6 @@ - - #include - --struct FILEWRAP; // forward declaration, wrapper for FILE -- - class CPosixInterfaceForCLog - { - public: -@@ -23,5 +21,5 @@ public: - void PrintDebugString(const std::string& debugString); - static void GetCurrentLocalTime(int& year, int& month, int& day, int& hour, int& minute, int& second, double& millisecond); - private: -- FILEWRAP* m_file; -+ FILE* m_file; - }; --- -2.21.0 - diff --git a/media-tv/kodi/files/musl/0007-set-default-stacksize-for-musl.patch b/media-tv/kodi/files/musl/0007-set-default-stacksize-for-musl.patch deleted file mode 100644 index 5b0f4a3..0000000 --- a/media-tv/kodi/files/musl/0007-set-default-stacksize-for-musl.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 099f2448dd4294abb91bae2135bac103a819ff8f Mon Sep 17 00:00:00 2001 -From: Jory Pratt -Date: Wed, 24 Apr 2019 10:15:33 -0500 -Subject: [PATCH 6/7] set default stacksize for musl - ---- - xbmc/threads/platform/pthreads/ThreadImpl.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/xbmc/threads/platform/pthreads/ThreadImpl.cpp b/xbmc/threads/platform/pthreads/ThreadImpl.cpp -index 4ad675e..46efbc2 100644 ---- a/xbmc/threads/platform/pthreads/ThreadImpl.cpp -+++ b/xbmc/threads/platform/pthreads/ThreadImpl.cpp -@@ -56,6 +56,7 @@ void CThread::SpawnThread(unsigned stacksize) - { - pthread_attr_t attr; - pthread_attr_init(&attr); -+ if (!stacksize) stacksize = 1024*1024; - #if !defined(TARGET_ANDROID) // http://code.google.com/p/android/issues/detail?id=7808 - if (stacksize > PTHREAD_STACK_MIN) - pthread_attr_setstacksize(&attr, stacksize); --- -2.21.0 - diff --git a/media-tv/kodi/kodi-18.9.ebuild b/media-tv/kodi/kodi-18.9.ebuild deleted file mode 100644 index a0fc9a8..0000000 --- a/media-tv/kodi/kodi-18.9.ebuild +++ /dev/null @@ -1,334 +0,0 @@ -# Copyright 1999-2020 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.0.4" -CODENAME="Leia" -FFMPEG_KODI_VERSION="18.4" -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 - !java? ( https://dev.gentoo.org/~anarchy/patches/${PN}-18.2-no-java-required.patch ) - !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 )" - - -PATCHES=( - "${FILESDIR}/musl/0001-add-missing-stdint.h.patch" - "${FILESDIR}/musl/0002-fix-fileemu.patch" - "${FILESDIR}/musl/0003_use_stdint_for_musl.patch" - "${FILESDIR}/musl/0004-Fix-ldt-for-musl.patch" - "${FILESDIR}/musl/0005-fix-fortify-sources.patch" - "${FILESDIR}/musl/0006-remove-filewrap.patch" - "${FILESDIR}/musl/0007-set-default-stacksize-for-musl.patch" -) - -if [[ ${PV} == *9999 ]] ; then - PYTHON_COMPAT=( python2_7 python3_{6,7} ) - EGIT_REPO_URI="https://github.com/xbmc/xbmc.git" - inherit git-r3 -else - PYTHON_COMPAT=( python2_7 ) - 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 ~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 dbus dvd gbm gles java 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" -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - || ( gles opengl ) - ^^ ( gbm raspberry-pi wayland X ) - ?? ( mariadb mysql ) - udev? ( !libusb ) - udisks? ( dbus ) - upower? ( 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.0.2 ) - caps? ( sys-libs/libcap ) - dbus? ( sys-apps/dbus ) - dev-db/sqlite - dev-libs/expat - dev-libs/flatbuffers - >=dev-libs/fribidi-0.19.7 - 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/tinyxml[stl] - $(python_gen_cond_dep 'dev-python/pillow[${PYTHON_MULTI_USEDEP}]') - $(python_gen_cond_dep 'dev-python/pycryptodome[${PYTHON_MULTI_USEDEP}]' 'python3*') - >=dev-libs/libcdio-0.94 - >=dev-libs/libfmt-3.0.1 - 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.12.4 - >=media-libs/freetype-2.8 - >=media-libs/libass-0.13.4 - !raspberry-pi? ( media-libs/mesa[egl,X(+)] ) - >=media-libs/taglib-1.11.1 - system-ffmpeg? ( - >=media-video/ffmpeg-${FFMPEG_VERSION}:=[encode,postproc] - libressl? ( media-video/ffmpeg[libressl,-openssl] ) - !libressl? ( media-video/ffmpeg[-libressl,openssl] ) - ) - mysql? ( dev-db/mysql-connector-c:= ) - mariadb? ( dev-db/mariadb-connector-c:= ) - >=net-misc/curl-7.56.1[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 - 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? ( - 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 ) - !media-tv/xbmc - 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-1.5.1:= - >=media-libs/libpng-1.6.26:0= - test? ( dev-cpp/gtest ) - virtual/pkgconfig - java? ( 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 - if python_is_python3; then - EGIT_BRANCH="feature_python3" - ewarn "Using the experimental Python 3 branch!" - ewarn "See https://kodi.wiki/view/Migration_to_Python_3 for more information." - ewarn "To use the non-experimental Python 2 version:" - ewarn "echo '~${CATEGORY}/${P} PYTHON_TARGETS: -* python2_7 PYTHON_SINGLE_TARGET: -* python2_7' >> /etc/portage/package.use" - ewarn "then re-merge using: emerge -a =${CATEGORY}/${PF}" - fi - git-r3_src_unpack - else - default - fi -} - -src_prepare() { - if in_iuse java && use !java; then - eapply "${DISTDIR}"/${PN}-18.2-no-java-required.patch - fi - - 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}"/lib/cpluff - "${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}"/cmake/modules/FindCpluff.cmake \ - "${S}"/tools/depends/native/TexturePacker/src/autogen.sh \ - "${S}"/tools/depends/native/JsonSchemaBuilder/src/autogen.sh \ - || die -} - -src_configure() { - local mycmakeargs=( - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - -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_CEC=$(usex cec) - -DENABLE_DBUS=$(usex dbus) - -DENABLE_DVDCSS=$(usex css) - -DENABLE_INTERNAL_CROSSGUID=OFF - -DENABLE_INTERNAL_FFMPEG="$(usex !system-ffmpeg)" - -DENABLE_INTERNAL_FSTRCMP=OFF - -DENABLE_CAP=$(usex caps) - -DENABLE_LCMS2=$(usex lcms) - -DENABLE_LIRCCLIENT=$(usex lirc) - -DENABLE_MARIADBCLIENT=$(usex mariadb) - -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_UDEV=$(usex udev) - -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" - ) - - 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 use gbm; then - mycmakeargs+=( - -DCORE_PLATFORM_NAME="gbm" - -DGBM_RENDER_SYSTEM="$(usex opengl gl gles)" - ) - fi - - if use wayland; then - mycmakeargs+=( - -DCORE_PLATFORM_NAME="wayland" - -DWAYLAND_RENDER_SYSTEM="$(usex opengl gl gles)" - ) - fi - - if use raspberry-pi; then - mycmakeargs+=( -DCORE_PLATFORM_NAME="rbpi" ) - fi - - if use X; then - mycmakeargs+=( -DCORE_PLATFORM_NAME="x11" ) - 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/metadata.xml b/media-tv/kodi/metadata.xml deleted file mode 100644 index 269b8bf..0000000 --- a/media-tv/kodi/metadata.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - candrews@gentoo.org - Craig Andrews - - - enable AirPlay support - Enable playback of Blu-ray filesystems - Enable support for HDMI-CEC devices via libcec - Use the Graphics Buffer Manager for EGL on KMS. - Enable support for GLES - Enable support for controlling Totem with a remote control using app-misc/lirc - Add MariaDB support - Enable NFS client support - Enable optical (CD/DVD drive) support - 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. - 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. - Enable internal webserver - Enable XSLT support using dev-libs/libxslt - - - https://trac.kodi.tv/ - xbmc/xbmc - - -- cgit v1.2.3-65-gdbad