kodi: update to 21.0

This commit is contained in:
zlice 2024-07-05 18:33:34 -04:00 committed by classabbyamp
parent 6f70ba6ed9
commit 371cf1a388
11 changed files with 251 additions and 290 deletions

View File

@ -1,10 +0,0 @@
--- a/xbmc/filesystem/ZipManager.h.orig
+++ b/xbmc/filesystem/ZipManager.h
@@ -22,6 +22,7 @@
#include <string>
#include <vector>
#include <map>
+#include <cstdint>
class CURL;

View File

@ -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 <cstdint>
#include <string>
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 <cstdint>
+
#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 <cstdint>
#include <string>
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 <cstdint>
#include <string>
#include <vector>
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 <cstdint>
#include <cstring>
#include <map>
#include <string>

View File

@ -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)

View File

@ -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 <dirent.h>
#include <dlfcn.h>
-#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 <fcntl.h>
#include <time.h>
#include <signal.h>
+#include <paths.h>
#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);

View File

@ -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);

View File

@ -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");

View File

@ -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)
{

View File

@ -1,54 +0,0 @@
From 5449652abf0bb9dddd0d796de4120e60f19f89a5 Mon Sep 17 00:00:00 2001
From: Alan Swanson <reiver@improbability.net>
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 <vasek.gello@gmail.com>
---
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 <EGL/eglext.h>
+#ifdef HAVE_EGLEXTANGLE
+#include <EGL/eglext_angle.h>
+#else
#include <EGL/eglextchromium.h>
+#endif
#include <X11/Xutil.h>
class CGLContextEGL : public CGLContext

View File

@ -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 <dirent.h>
#include <dlfcn.h>
-#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;

View File

@ -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()

View File

@ -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 <orphan@voidlinux.org>"
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 <orphan@voidlinux.org>"
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
}