From 371cf1a388e6fe026c5bce9b97be2d929f88b81a Mon Sep 17 00:00:00 2001 From: zlice Date: Fri, 5 Jul 2024 18:33:34 -0400 Subject: [PATCH] kodi: update to 21.0 --- .../kodi/patches/add-missing-includes.patch | 10 -- srcpkgs/kodi/patches/cstdint.patch | 62 ++++++++ .../disable-static-texturepacker-build.patch | 11 -- srcpkgs/kodi/patches/fix-fileemu.patch | 74 --------- srcpkgs/kodi/patches/fix-musl.patch | 11 -- srcpkgs/kodi/patches/fmt-9.patch | 44 ----- srcpkgs/kodi/patches/fortify-source-fix.patch | 13 -- srcpkgs/kodi/patches/mesa-22.3.patch | 54 ------- srcpkgs/kodi/patches/musl.patch | 97 +++++++++++ srcpkgs/kodi/patches/ppc64.patch | 15 -- srcpkgs/kodi/template | 150 +++++++++++------- 11 files changed, 251 insertions(+), 290 deletions(-) delete mode 100644 srcpkgs/kodi/patches/add-missing-includes.patch create mode 100644 srcpkgs/kodi/patches/cstdint.patch delete mode 100644 srcpkgs/kodi/patches/disable-static-texturepacker-build.patch delete mode 100644 srcpkgs/kodi/patches/fix-fileemu.patch delete mode 100644 srcpkgs/kodi/patches/fix-musl.patch delete mode 100644 srcpkgs/kodi/patches/fmt-9.patch delete mode 100644 srcpkgs/kodi/patches/fortify-source-fix.patch delete mode 100644 srcpkgs/kodi/patches/mesa-22.3.patch create mode 100644 srcpkgs/kodi/patches/musl.patch delete mode 100644 srcpkgs/kodi/patches/ppc64.patch diff --git a/srcpkgs/kodi/patches/add-missing-includes.patch b/srcpkgs/kodi/patches/add-missing-includes.patch deleted file mode 100644 index 1b9a4509744..00000000000 --- a/srcpkgs/kodi/patches/add-missing-includes.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/xbmc/filesystem/ZipManager.h.orig -+++ b/xbmc/filesystem/ZipManager.h -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - class CURL; - diff --git a/srcpkgs/kodi/patches/cstdint.patch b/srcpkgs/kodi/patches/cstdint.patch new file mode 100644 index 00000000000..ca3d44ef256 --- /dev/null +++ b/srcpkgs/kodi/patches/cstdint.patch @@ -0,0 +1,62 @@ +diff --git a/xbmc/cores/VideoPlayer/DVDInputStreams/BlurayStateSerializer.h b/xbmc/cores/VideoPlayer/DVDInputStreams/BlurayStateSerializer.h +index ca808c0..186fdf2 100644 +--- a/xbmc/cores/VideoPlayer/DVDInputStreams/BlurayStateSerializer.h ++++ b/xbmc/cores/VideoPlayer/DVDInputStreams/BlurayStateSerializer.h +@@ -8,6 +8,7 @@ + + #pragma once + ++#include + #include + + class TiXmlElement; +diff --git a/xbmc/cores/VideoPlayer/DVDInputStreams/DVDInputStream.h b/xbmc/cores/VideoPlayer/DVDInputStreams/DVDInputStream.h +index 4633757..c7a2faa 100644 +--- a/xbmc/cores/VideoPlayer/DVDInputStreams/DVDInputStream.h ++++ b/xbmc/cores/VideoPlayer/DVDInputStreams/DVDInputStream.h +@@ -8,6 +8,8 @@ + + #pragma once + ++#include ++ + #include "FileItem.h" + #include "URL.h" + #include "cores/MenuType.h" +diff --git a/xbmc/cores/VideoPlayer/DVDInputStreams/DVDStateSerializer.h b/xbmc/cores/VideoPlayer/DVDInputStreams/DVDStateSerializer.h +index debba10..0dbdfc5 100644 +--- a/xbmc/cores/VideoPlayer/DVDInputStreams/DVDStateSerializer.h ++++ b/xbmc/cores/VideoPlayer/DVDInputStreams/DVDStateSerializer.h +@@ -8,6 +8,7 @@ + + #pragma once + ++#include + #include + + class TiXmlElement; +diff --git a/xbmc/cores/VideoPlayer/Edl.h b/xbmc/cores/VideoPlayer/Edl.h +index faf3e73..c8c4def 100644 +--- a/xbmc/cores/VideoPlayer/Edl.h ++++ b/xbmc/cores/VideoPlayer/Edl.h +@@ -10,6 +10,7 @@ + + #include "cores/EdlEdit.h" + ++#include + #include + #include + +diff --git a/xbmc/filesystem/ZipManager.h b/xbmc/filesystem/ZipManager.h +index 3fba27f..7eb3f20 100644 +--- a/xbmc/filesystem/ZipManager.h ++++ b/xbmc/filesystem/ZipManager.h +@@ -19,6 +19,7 @@ + #define CHDR_SIZE 46 + #define ECDREC_SIZE 22 + ++#include + #include + #include + #include + diff --git a/srcpkgs/kodi/patches/disable-static-texturepacker-build.patch b/srcpkgs/kodi/patches/disable-static-texturepacker-build.patch deleted file mode 100644 index 766cae2005c..00000000000 --- a/srcpkgs/kodi/patches/disable-static-texturepacker-build.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/tools/depends/native/TexturePacker/Makefile 2016-04-24 08:48:30.000000000 +0200 -+++ b/tools/depends/native/TexturePacker/Makefile 2016-07-16 15:12:39.875911293 +0200 -@@ -38,7 +38,7 @@ - -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) - cd $(PLATFORM); cp -a $(SOURCE)/* . - cd $(PLATFORM); ./autogen.sh -- cd $(PLATFORM); ./configure --prefix=$(PREFIX) $(EXTRA_CONFIGURE) EXTRA_DEFINES="$(NATIVE_ARCH_DEFINES)" -+ cd $(PLATFORM); ./configure --prefix=$(PREFIX) EXTRA_DEFINES="$(NATIVE_ARCH_DEFINES)" - - - $(APP): $(PLATFORM) diff --git a/srcpkgs/kodi/patches/fix-fileemu.patch b/srcpkgs/kodi/patches/fix-fileemu.patch deleted file mode 100644 index a16fcb9ffa2..00000000000 --- a/srcpkgs/kodi/patches/fix-fileemu.patch +++ /dev/null @@ -1,74 +0,0 @@ ---- a/xbmc/cores/DllLoader/exports/emu_msvcrt.h 2019-01-30 19:20:09.336910851 +0100 -+++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.h 2019-01-30 19:20:25.423668836 +0100 -@@ -17,7 +17,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; ---- a/xbmc/cores/DllLoader/exports/wrapper.c 2019-01-30 19:24:16.396348561 +0100 -+++ b/xbmc/cores/DllLoader/exports/wrapper.c 2019-01-30 19:25:38.562176774 +0100 -@@ -23,7 +23,7 @@ - #include - #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; ---- a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp 2019-01-30 19:29:02.249253971 +0100 -+++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp 2019-01-30 19:39:34.911053272 +0100 -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - #ifdef TARGET_POSIX - #include "PlatformDefs.h" // for __stat64 - #endif -@@ -1479,7 +1480,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; -@@ -1492,8 +1493,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 -@@ -1508,8 +1510,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 -@@ -1531,7 +1534,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/srcpkgs/kodi/patches/fix-musl.patch b/srcpkgs/kodi/patches/fix-musl.patch deleted file mode 100644 index 89120411841..00000000000 --- a/srcpkgs/kodi/patches/fix-musl.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/xbmc/cores/DllLoader/ldt_keeper.c 2019-01-30 20:08:15.532823846 +0100 -+++ b/xbmc/cores/DllLoader/ldt_keeper.c 2019-01-30 20:08:34.139580225 +0100 -@@ -53,7 +53,7 @@ - #ifdef __cplusplus - extern "C" { - #endif --#if defined(TARGET_ANDROID) && (defined(__i386__) || defined(__x86_64__)) && !defined(modify_ldt) -+#if defined(__linux__) && (defined(__i386__) || defined(__x86_64__)) && !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); diff --git a/srcpkgs/kodi/patches/fmt-9.patch b/srcpkgs/kodi/patches/fmt-9.patch deleted file mode 100644 index aba5f9b67b5..00000000000 --- a/srcpkgs/kodi/patches/fmt-9.patch +++ /dev/null @@ -1,44 +0,0 @@ -The original type is const unsigned char * ---- a/xbmc/windowing/X11/WinSystemX11.cpp -+++ b/xbmc/windowing/X11/WinSystemX11.cpp -@@ -1038,7 +1038,7 @@ bool CWinSystemX11::HasWindowManager() - - if(status == Success && items_read) - { -- CLog::Log(LOGDEBUG,"Window Manager Name: %s", data); -+ CLog::Log(LOGDEBUG,"Window Manager Name: %s", (char *)data); - } - else - CLog::Log(LOGDEBUG,"Window Manager Name: "); ---- a/xbmc/utils/GLUtils.cpp -+++ b/xbmc/utils/GLUtils.cpp -@@ -152,25 +152,25 @@ void LogGraphicsInfo() - - s = glGetString(GL_VENDOR); - if (s) -- CLog::Log(LOGINFO, "GL_VENDOR = %s", s); -+ CLog::Log(LOGINFO, "GL_VENDOR = %s", (char *)(s)); - else - CLog::Log(LOGINFO, "GL_VENDOR = NULL"); - - s = glGetString(GL_RENDERER); - if (s) -- CLog::Log(LOGINFO, "GL_RENDERER = %s", s); -+ CLog::Log(LOGINFO, "GL_RENDERER = %s", (char *)(s)); - else - CLog::Log(LOGINFO, "GL_RENDERER = NULL"); - - s = glGetString(GL_VERSION); - if (s) -- CLog::Log(LOGINFO, "GL_VERSION = %s", s); -+ CLog::Log(LOGINFO, "GL_VERSION = %s", (char *)(s)); - else - CLog::Log(LOGINFO, "GL_VERSION = NULL"); - - s = glGetString(GL_SHADING_LANGUAGE_VERSION); - if (s) -- CLog::Log(LOGINFO, "GL_SHADING_LANGUAGE_VERSION = %s", s); -+ CLog::Log(LOGINFO, "GL_SHADING_LANGUAGE_VERSION = %s", (char *)(s)); - else - CLog::Log(LOGINFO, "GL_SHADING_LANGUAGE_VERSION = NULL"); - diff --git a/srcpkgs/kodi/patches/fortify-source-fix.patch b/srcpkgs/kodi/patches/fortify-source-fix.patch deleted file mode 100644 index 5a314718a70..00000000000 --- a/srcpkgs/kodi/patches/fortify-source-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: xbmc-19.0-Matrix/xbmc/cores/DllLoader/exports/wrapper.c -=================================================================== ---- xbmc-19.0-Matrix.orig/xbmc/cores/DllLoader/exports/wrapper.c -+++ xbmc-19.0-Matrix/xbmc/cores/DllLoader/exports/wrapper.c -@@ -449,7 +449,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) - { diff --git a/srcpkgs/kodi/patches/mesa-22.3.patch b/srcpkgs/kodi/patches/mesa-22.3.patch deleted file mode 100644 index f95aab7750b..00000000000 --- a/srcpkgs/kodi/patches/mesa-22.3.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 5449652abf0bb9dddd0d796de4120e60f19f89a5 Mon Sep 17 00:00:00 2001 -From: Alan Swanson -Date: Mon, 19 Dec 2022 21:28:13 +0200 -Subject: [PATCH] Work around Mesa eglchromium.h removal - -I have polished Alan's snippet to buildable state and tested -on Kodi from Debian sid. - -Signed-off-by: Vasyl Gello ---- - cmake/modules/FindEGL.cmake | 6 ++++++ - xbmc/windowing/X11/GLContextEGL.h | 4 ++++ - 2 files changed, 10 insertions(+) - -diff --git a/cmake/modules/FindEGL.cmake b/cmake/modules/FindEGL.cmake -index b00fe08a25f95..a68a8db901222 100644 ---- a/cmake/modules/FindEGL.cmake -+++ b/cmake/modules/FindEGL.cmake -@@ -9,6 +9,7 @@ - # EGL_INCLUDE_DIRS - the EGL include directory - # EGL_LIBRARIES - the EGL libraries - # EGL_DEFINITIONS - the EGL definitions -+# HAVE_EGLEXTANGLE - if eglext_angle.h exists else use eglextchromium.h - # - # and the following imported targets:: - # -@@ -35,6 +36,11 @@ if(EGL_FOUND) - set(EGL_LIBRARIES ${EGL_LIBRARY}) - set(EGL_INCLUDE_DIRS ${EGL_INCLUDE_DIR}) - set(EGL_DEFINITIONS -DHAS_EGL=1) -+ include(CheckIncludeFiles) -+ check_include_files("EGL/egl.h;EGL/eglext.h;EGL/eglext_angle.h" HAVE_EGLEXTANGLE) -+ if(HAVE_EGLEXTANGLE) -+ list(APPEND EGL_DEFINITIONS "-DHAVE_EGLEXTANGLE=1") -+ endif() - - if(NOT TARGET EGL::EGL) - add_library(EGL::EGL UNKNOWN IMPORTED) -diff --git a/xbmc/windowing/X11/GLContextEGL.h b/xbmc/windowing/X11/GLContextEGL.h -index 99a6a9024e8c6..afea0b7c43eac 100644 ---- a/xbmc/windowing/X11/GLContextEGL.h -+++ b/xbmc/windowing/X11/GLContextEGL.h -@@ -13,7 +13,11 @@ - #include "threads/CriticalSection.h" - - #include -+#ifdef HAVE_EGLEXTANGLE -+#include -+#else - #include -+#endif - #include - - class CGLContextEGL : public CGLContext diff --git a/srcpkgs/kodi/patches/musl.patch b/srcpkgs/kodi/patches/musl.patch new file mode 100644 index 00000000000..a421c6707f7 --- /dev/null +++ b/srcpkgs/kodi/patches/musl.patch @@ -0,0 +1,97 @@ +https://git.alpinelinux.org/aports/tree/community/kodi/fix-musl-incompability.patch + +diff --git a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp +index 1d5564c8c5..73c07fb586 100644 +--- a/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp ++++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.cpp +@@ -72,6 +72,13 @@ + #include "platform/win32/CharsetConverter.h" + #endif + ++#ifndef _PATH_MOUNTED ++#define _PATH_MOUNTED "/proc/mounts" ++#endif ++#ifndef _PATH_MNTTAB ++#define _PATH_MNTTAB "/etc/fstab" ++#endif ++ + using namespace XFILE; + + struct SDirData +@@ -124,7 +131,7 @@ extern "C" void __stdcall init_emu_environ() + dll_putenv("OS=win10"); + #elif defined(TARGET_DARWIN) + dll_putenv("OS=darwin"); +-#elif defined(TARGET_POSIX) ++#elif defined(TARGET_POSIX) || !defined(__GLIBC__) + dll_putenv("OS=linux"); + #else + dll_putenv("OS=unknown"); +@@ -1480,7 +1487,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(__GLIBC__) || !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) + *pos = (fpos_t)tmpPos; + #else + pos->__pos = (off_t)tmpPos.__pos; +@@ -1493,8 +1500,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(__GLIBC__) || !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) ++ uint64_t *ppos = (uint64_t *)pos; ++ *ppos = pFile->GetPosition(); + #else + pos->__pos = pFile->GetPosition(); + #endif +@@ -1509,8 +1517,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(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) ++ 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 +1541,7 @@ extern "C" + if (fd >= 0) + { + fpos64_t tmpPos; +-#if !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) ++#if !defined(__GLIBC__) || !defined(TARGET_POSIX) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) + 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 7869dc221c..3b86d6b45b 100644 +--- a/xbmc/cores/DllLoader/exports/emu_msvcrt.h ++++ b/xbmc/cores/DllLoader/exports/emu_msvcrt.h +@@ -17,7 +17,7 @@ + #define _onexit_t void* + #endif + +-#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) ++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) + 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 33ab3437c1..5a68de2c64 100644 +--- a/xbmc/cores/DllLoader/exports/wrapper.c ++++ b/xbmc/cores/DllLoader/exports/wrapper.c +@@ -23,7 +23,7 @@ + #include + #include + +-#if defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) ++#if !defined(__GLIBC__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD) || defined(TARGET_ANDROID) + typedef off_t __off_t; + typedef int64_t off64_t; + typedef off64_t __off64_t; diff --git a/srcpkgs/kodi/patches/ppc64.patch b/srcpkgs/kodi/patches/ppc64.patch deleted file mode 100644 index 8bd3e7661ca..00000000000 --- a/srcpkgs/kodi/patches/ppc64.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/cmake/scripts/linux/ArchSetup.cmake 2019-01-30 21:03:03.146025973 +0100 -+++ b/cmake/scripts/linux/ArchSetup.cmake 2019-01-30 21:03:47.810441038 +0100 -@@ -35,6 +35,12 @@ - elseif(CPU MATCHES riscv64) - set(ARCH riscv64) - set(NEON False) -+ elseif(CPU MATCHES ppc64le) -+ set(ARCH ppc64le-linux) -+ set(NEON False) -+ elseif(CPU MATCHES ppc64) -+ set(ARCH ppc64-linux) -+ set(NEON False) - else() - message(SEND_ERROR "Unknown CPU: ${CPU}") - endif() diff --git a/srcpkgs/kodi/template b/srcpkgs/kodi/template index d37a5918cd6..94f8fa33c3c 100644 --- a/srcpkgs/kodi/template +++ b/srcpkgs/kodi/template @@ -1,69 +1,76 @@ # Template file for 'kodi' pkgname=kodi -version=19.4 -revision=9 -_codename="Matrix" +version=21.0 +revision=1 +_codename="Omega" +_crossguid_ver="ca1bf4b810e2d188d04cb6286f957008ee1b7681" +_dvdcss_ver="1.4.3-Next-Nexus-Alpha2-2" +_dvdread_ver="6.1.3-Next-Nexus-Alpha2-2" +_dvdnav_ver="6.1.1-Next-Nexus-Alpha2-2" +_udfread_ver="1.1.2" build_style=cmake -configure_args="-DWITH_FFMPEG=/usr -DENABLE_LDGOLD=OFF - -DAPP_RENDER_SYSTEM=gl -DENABLE_INTERNAL_CROSSGUID=ON - -DCROSSGUID_URL=${XBPS_SRCDISTDIR}/${pkgname}-${version}/crossguid-8f399e8bd4.tar.gz - -Dlibdvdcss_URL=${XBPS_SRCDISTDIR}/${pkgname}-${version}/libdvdcss-1.4.2-Leia-Beta-5.tar.gz - -Dlibdvdread_URL=${XBPS_SRCDISTDIR}/${pkgname}-${version}/libdvdread-6.0.0-Leia-Alpha-3.tar.gz - -Dlibdvdnav_URL=${XBPS_SRCDISTDIR}/${pkgname}-${version}/libdvdnav-6.0.0-Leia-Alpha-3.tar.gz" +# XXX: some vendored libraries aren't found if CMAKE_BUILD_TYPE=None +# because there is special handling for =Release +configure_args="-DWITH_FFMPEG=/usr -DENABLE_LDGOLD=OFF -DAPP_RENDER_SYSTEM=gl -DCMAKE_BUILD_TYPE=Release + -DENABLE_LDGOLD=OFF -DENABLE_AIRTUNES=ON -DENABLE_AVAHI=ON -DENABLE_BLURAY=ON -DENABLE_CEC=ON + -DENABLE_DBUS=ON -DENABLE_DVDCSS=ON -DENABLE_EGL=ON -DENABLE_EVENTCLIENTS=ON -DENABLE_MICROHTTPD=ON + -DENABLE_MYSQLCLIENT=ON -DENABLE_NFS=ON -DENABLE_OPTICAL=ON -DENABLE_SMBCLIENT=ON -DENABLE_UDEV=ON + -DENABLE_UPNP=ON -DENABLE_VAAPI=ON -DENABLE_VDPAU=ON -DENABLE_XSLT=ON -DENABLE_LIRCCLIENT=OFF + -DENABLE_INTERNAL_RapidJSON=OFF -DENABLE_INTERNAL_CROSSGUID=ON -DENABLE_INTERNAL_FSTRCMP=OFF + -DENABLE_INTERNAL_FLATBUFFERS=OFF -DENABLE_INTERNAL_UDFREAD=ON + -DCROSSGUID_URL=${XBPS_SRCDISTDIR}/${pkgname}-${version}/crossguid-${_crossguid_ver}.tar.gz + -Dlibdvdcss_URL=${XBPS_SRCDISTDIR}/${pkgname}-${version}/libdvdcss-${_dvdcss_ver}.tar.gz + -Dlibdvdnav_URL=${XBPS_SRCDISTDIR}/${pkgname}-${version}/libdvdnav-${_dvdnav_ver}.tar.gz + -Dlibdvdread_URL=${XBPS_SRCDISTDIR}/${pkgname}-${version}/libdvdread-${_dvdread_ver}.tar.gz + -DUDFREAD_URL=${XBPS_SRCDISTDIR}/${pkgname}-${version}/libudfread-${_udfread_ver}.tar.gz" make_build_target="all" -short_desc="Software media player and entertainment hub for digital media" -maintainer="Orphaned " -license="GPL-2.0-or-later" -homepage="http://www.kodi.tv" -distfiles="https://github.com/xbmc/xbmc/archive/${version}-${_codename}.tar.gz" -checksum=cc026f59fd6e37ae90f3449df50810f1cefa37da9444e1188302d910518710da -# Add CrossGUID dependency -distfiles+=" http://mirrors.kodi.tv/build-deps/sources/crossguid-8f399e8bd4.tar.gz" -checksum+=" 3d77d09a5df0de510aeeb940df4cb534787ddff3bb1828779753f5dfa1229d10" -# Add libdvdcss dependency -distfiles+=" https://github.com/xbmc/libdvdcss/archive/1.4.2-Leia-Beta-5.tar.gz>libdvdcss-1.4.2-Leia-Beta-5.tar.gz" -checksum+=" 38816f8373e243bc5950449b4f3b18938c4e1c59348e3411e23f31db4072e40d" -# Add libdvdread dependency -distfiles+=" https://github.com/xbmc/libdvdread/archive/6.0.0-Leia-Alpha-3.tar.gz>libdvdread-6.0.0-Leia-Alpha-3.tar.gz" -checksum+=" a30b6aa0aad0f2c505bc77948af2d5531a80b6e68112addb4c123fca24d5d3bf" -# Add libdvdnav dependency -distfiles+=" https://github.com/xbmc/libdvdnav/archive/6.0.0-Leia-Alpha-3.tar.gz>libdvdnav-6.0.0-Leia-Alpha-3.tar.gz" -checksum+=" 071e414e61b795f2ff9015b21a85fc009dde967f27780d23092643916538a57a" -skip_extraction="crossguid-8f399e8bd4.tar.gz libdvdcss-1.4.2-Leia-Beta-5.tar.gz - libdvdread-6.0.0-Leia-Alpha-3.tar.gz libdvdnav-6.0.0-Leia-Alpha-3.tar.gz" -python_version=3 -LDFLAGS="-Wl,-z,stack-size=1048576" - -if [ "$XBPS_WORDSIZE" = 32 ]; then - LDFLAGS+=" -Wl,--no-keep-memory" -fi - -lib32disabled=yes -archs="i686* x86_64* aarch64* - ppc64* armv6l* armv7l*" - -hostmakedepends=" - automake libtool pkg-config gperf cmake gettext zip unzip nasm yasm python3-devel - gettext-devel libltdl-devel curl flatbuffers swig openjdk11 which wayland-scanner++" -makedepends=" - eudev-libudev-devel pcre-devel expat-devel libpng-devel libjpeg-turbo-devel +hostmakedepends="automake libtool pkg-config gperf cmake gettext zip unzip nasm yasm python3-devel + gettext-devel libltdl-devel curl flatbuffers swig openjdk11 which wayland-scanner++ cross-aarch64-linux-gnu cross-aarch64-linux-gnu-libc" +makedepends="eudev-libudev-devel pcre-devel expat-devel libpng-devel libjpeg-turbo-devel libXrandr-devel avahi-libs-devel pulseaudio-devel samba-devel tiff-devel libmariadbclient-devel libmpeg2-devel wavpack-devel zlib-devel lzo-devel libXmu-devel glew-devel fribidi-devel sqlite-devel libcdio-devel freetype-devel jasper-devel faac-devel SDL2_image-devel faad2-devel libmodplug-devel openssl-devel libmad-devel fontconfig-devel libXinerama-devel libsamplerate-devel libmms-devel enca-devel boost-devel libcurl-devel libva-devel libvdpau-devel libass-devel - libbluetooth-devel yajl-devel libplist-devel librtmp-devel tinyxml-devel - taglib-devel libcap-devel lame-devel libbluray-devel libnfs-devel ffmpeg-devel - giflib-devel libxslt-devel gnutls-devel libssh-devel libmicrohttpd-devel - libcec-devel dcadec-devel flatbuffers-devel fmt-devel lcms2-devel - libfstrcmp-devel rapidjson libcdio-paranoia spdlog libwaylandpp-devel - libinput-devel libdav1d-devel gtest-devel python3-devel" - + libbluetooth-devel yajl-devel libplist-devel librtmp-devel libdisplay-info-devel + tinyxml-devel tinyxml2-devel taglib-devel libcap-devel lame-devel libbluray-devel + libnfs-devel ffmpeg6-devel giflib-devel libxslt-devel gnutls-devel libssh-devel + libmicrohttpd-devel libcec-devel dcadec-devel flatbuffers-devel fmt-devel lcms2-devel + libfstrcmp-devel rapidjson libcdio-paranoia spdlog libwaylandpp-devel libinput-devel + libdav1d-devel gtest-devel python3-devel" # The following dependencies are dlopen(3)ed. depends="libbluray libmad libvorbis libcurl libflac libmodplug libass libmpeg2 - lame librtmp libnfs>=1.9.7 libplist>=1.12" -depends+=" glxinfo hicolor-icon-theme desktop-file-utils xdpyinfo" + lame librtmp libnfs>=1.9.7 libplist>=1.12 glxinfo hicolor-icon-theme + desktop-file-utils xdpyinfo" +short_desc="Software media player and entertainment hub for digital media" +maintainer="Orphaned " +license="GPL-2.0-or-later" +homepage="http://www.kodi.tv" +distfiles="https://github.com/xbmc/xbmc/archive/${version}-${_codename}.tar.gz + http://mirrors.kodi.tv/build-deps/sources/crossguid-${_crossguid_ver}.tar.gz + https://github.com/xbmc/libdvdcss/archive/${_dvdcss_ver}.tar.gz>libdvdcss-${_dvdcss_ver}.tar.gz + https://github.com/xbmc/libdvdread/archive/${_dvdread_ver}.tar.gz>libdvdread-${_dvdread_ver}.tar.gz + https://github.com/xbmc/libdvdnav/archive/${_dvdnav_ver}.tar.gz>libdvdnav-${_dvdnav_ver}.tar.gz + https://mirrors.kodi.tv/build-deps/sources/libudfread-${_udfread_ver}.tar.gz" +checksum="7f54c1fd8456ac46221fbc85e447362bdc209163c6cb19fca98d106560071b7c + 6be27e0b3a4907f0cd3cfadec255ee1b925569e1bd06e67a4d2f4267299b69c4 + f38c4a4e7a4f4da6d8e83b8852489aa3bb6588a915dc41f5ee89d9aad305a06e + 719130091e3adc9725ba72df808f24a14737a009dca5a4c38c601c0c76449b62 + 584f62a3896794408d46368e2ecf2c6217ab9c676ce85921b2d68b8961f49dfc + 2bf16726ac98d093156195bb049a663e07d3323e079c26912546f4e05c77bac5" +skip_extraction="crossguid-${_crossguid_ver}.tar.gz + libdvdcss-${_dvdcss_ver}.tar.gz + libdvdread-${_dvdread_ver}.tar.gz + libdvdnav-${_dvdnav_ver}.tar.gz + libudfread-${_udfread_ver}.tar.gz" +lib32disabled=yes +python_version=3 +LDFLAGS="-Wl,-z,stack-size=1048576" + +if [ "$XBPS_WORDSIZE" = 32 ]; then + LDFLAGS+=" -Wl,--no-keep-memory" +fi # Disable this test on all architectures # https://github.com/void-linux/void-packages/commit/3c0332ab330e30a2c280de2258ed9bf60a9c2e09/checks/2101961295/logs @@ -92,12 +99,13 @@ if [ -z "$CROSS_BUILD" ]; then make_build_target+=" kodi-test" else hostmakedepends+=" libmariadbclient-devel SDL2_image-devel lzo-devel - libwaylandpp-devel" + libwaylandpp-devel kodi" + configure_args+=" -DWITH_TEXTUREPACKER=/usr/bin/TexturePacker" fi pre_configure() { if [ "$CROSS_BUILD" ]; then - find -type f | \ + find -type f | \ grep "configure\.ac\|Makefile\|cmake\|config\.site" | \ xargs sed -i -e "s;-isystem;-I;g" fi @@ -106,15 +114,41 @@ pre_configure() { # Build tools needed to run on the host if [ "$CROSS_BUILD" ]; then + cd tools/depends && ./bootstrap + vsed -e "s|uclibc|musl|g" -i configure + CC= LD= CXX= LDFLAGS= CFLAGS= CXXFLAGS= ./configure --exec_prefix=/usr \ + --prefix=/usr --with-toolchain=/usr --host=${XBPS_TRIPLET} \ + --build=${XBPS_TRIPLET} --target=${XBPS_TRIPLET} --with-rendersystem=gl + cd ../.. for i in JsonSchemaBuilder TexturePacker; do + msg_normal "Building native tool $i" + cd tools/depends/native/$i/src + ./autogen.sh CC= LD= CXX= LDFLAGS= CFLAGS= CXXFLAGS= \ - make -C tools/depends/native/$i native/$i - mv tools/depends/native/$i/native/$i tools/$i + ./configure --host=${XBPS_TRIPLET} --build=${XBPS_TRIPLET} \ + --target=${XBPS_TRIPLET} + CC= LD= CXX= LDFLAGS= CFLAGS= CXXFLAGS= \ + make $makejobs + cd ${wrksrc} + cp -r tools/depends/native/$i/src/$i tools/$i make -C tools/depends/native/$i distclean done configure_args+=" -DWITH_JSONSCHEMABUILDER:PATH=$wrksrc/tools/JsonSchemaBuilder -DWITH_TEXTUREPACKER:PATH=$wrksrc/tools/TexturePacker" + # host = what we are on + # build = what tool to build with + # target = what this should run on and what repo it's in (same as build for cross) + configure_args=${configure_args/--host=${XBPS_CROSS_TRIPLET}/--host${XBPS_TRIPLET}}" + configure_args=${configure_args/--build=${XBPS_TRIPLET}/--build${XBPS_CROSS_TRIPLET}}" + configure_args+="--target=${XBPS_CROSS_TRIPLET}" + fi +} + +post_configure() { + if [ "$CROSS_BUILD" ]; then + vsed -e "s|^ COMMAND.*udfread.*\./configure|& --host=${XBPS_TRIPLET} --build=${XBPS_CROSS_TRIPLET} --target=${XBPS_CROSS_TRIPLET}|" \ + -i build/build.ninja fi }