diff options
Diffstat (limited to 'package/kodi')
6 files changed, 77 insertions, 94 deletions
diff --git a/package/kodi/Makefile b/package/kodi/Makefile index 91a9951e2..cd1aaa91e 100644 --- a/package/kodi/Makefile +++ b/package/kodi/Makefile @@ -4,38 +4,39 @@ include $(ADK_TOPDIR)/rules.mk PKG_NAME:= kodi -PKG_VERSION:= 19.3 +PKG_VERSION:= 22.0a1 PKG_RELEASE:= 1 -PKG_HASH:= 440f47e475dd8a48e0a6d41349e83b74890f3fbe8275d3e401d3c50f5b9ea09b +PKG_HASH:= da88f6aee01995caadfc6e194b8e3b51dfd193164a6c8d559d2443dd7f58f9f8 PKG_DESCR:= software media player PKG_SECTION:= mm/video -PKG_DEPENDS:= python3 libsquish libressl libxz libfmt rapidjson -PKG_DEPENDS+= libass libmpeg2 libmad libmodplug libcurl -PKG_DEPENDS+= libflac libbz2 libtiff libnettle librtmp liblzo +PKG_DEPENDS:= python3 libsquish libopenssl libfmt rapidjson libpcre +PKG_DEPENDS+= libass libmpeg2 libmad libmodplug libcurl libxshmfence +PKG_DEPENDS+= libflac libbz2 libtiff libnettle librtmp liblzo libXext PKG_DEPENDS+= yajl tinyxml libsqlite libpcrecpp libncurses libpng -PKG_DEPENDS+= libpcre libcdio libfreetype libsamplerate libuuid -PKG_DEPENDS+= taglib libjasper libmp3lame libgpg-error -PKG_DEPENDS+= glib libdcadec bcm28xx-vc-gl-libs libffmpeg libxvidcore +PKG_DEPENDS+= libpcre2 libcdio libfreetype libsamplerate libuuid +PKG_DEPENDS+= taglib libjasper libmp3lame libgpg-error giflib nghttp2 +PKG_DEPENDS+= glib libdcadec libffmpeg libxvidcore harfbuzz exiv2 PKG_DEPENDS+= flatbuffers fstrcmp spdlog mesa libinput libxkbcommon -PKG_BUILDDEP:= python3 libass ffmpeg rtmpdump bcm28xx-vc +PKG_DEPENDS+= xkeyboard-config tinyxml2 libdisplay-info libudfread json +PKG_BUILDDEP:= python3 libass ffmpeg rtmpdump libudfread exiv2 PKG_BUILDDEP+= libmpeg2 libmad libjpeg-turbo fmt rapidjson -PKG_BUILDDEP+= curl flac bzip2 libtiff yajl cmake-host -PKG_BUILDDEP+= tinyxml sqlite pcre libcdio freetype libpng -PKG_BUILDDEP+= libsamplerate taglib libjasper -PKG_BUILDDEP+= glib libmodplug libgpg-error xvidcore +PKG_BUILDDEP+= curl flac bzip2 libtiff yajl cmake-host libdisplay-info +PKG_BUILDDEP+= tinyxml tinyxml2 sqlite pcre2 libcdio freetype libpng +PKG_BUILDDEP+= libsamplerate taglib libjasper giflib xkeyboard-config +PKG_BUILDDEP+= glib libmodplug libgpg-error xvidcore libxshmfence PKG_BUILDDEP+= swig-host liblzo-host libpng-host libjpeg-turbo-host PKG_BUILDDEP+= zip-host unzip-host giflib-host libsquish libdcadec -PKG_BUILDDEP+= libcrossguid libressl xz bzip2 liblzo +PKG_BUILDDEP+= openssl bzip2 liblzo harfbuzz pcre json PKG_BUILDDEP+= flatbuffers fstrcmp spdlog mesa libinput libxkbcommon PKG_NEEDS:= threads c++ data iconv PKG_URL:= http://kodi.tv/ PKG_SITES:= https://github.com/xbmc/xbmc/archive/ -DISTFILES:= $(PKG_VERSION)-Matrix.tar.gz -WRKDIST= ${WRKDIR}/xbmc-$(PKG_VERSION)-Matrix +DISTFILES:= $(PKG_VERSION)-Piers.tar.gz +WRKDIST= ${WRKDIR}/xbmc-$(PKG_VERSION)-Piers WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj -PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi4 +PKG_SYSTEM_DEPENDS:= qemu-x86_64 raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi4 raspberry-pi4-64 rockpi4-plus raspberry-pi5 PKG_FLAVOURS_KODI:= WITH_ALSA WITH_CEC WITH_PULSEAUDIO WITH_SMB PKG_FLAVOURS_KODI+= WITH_MICROHTTPD WITH_SSH WITH_AVAHI @@ -68,12 +69,17 @@ $(eval $(call PKG_template,KODI,kodi,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS HOST_CXXFLAGS:= -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -I$(WRKSRC)/xbmc/linux CONFIG_STYLE:= cmake CMAKE_FLAGS+= -DENABLE_CCACHE=OFF \ + -DENABLE_TESTING=OFF \ -DCMAKE_BUILD_TYPE=Release \ -DVERBOSE=ON \ -DENABLE_DVDCSS=ON \ - -DENABLE_INTERNAL_CROSSGUID=OFF \ -DENABLE_INTERNAL_FFMPEG=OFF \ + -DENABLE_INTERNAL_RapidJSON=OFF \ -DWITH_FFMPEG=$(STAGING_TARGET_DIR)/usr \ + -DPYTHON_EXECUTABLE=$(STAGING_HOST_DIR)/usr/bin/python3 \ + -DPYTHON_INCLUDE_DIRS=$(STAGING_TARGET_DIR)/usr/include/python3.13 \ + -DPYTHON_PATH=$(STAGING_TARGET_DIR)/usr/lib/python3.13 \ + -DPYTHON_VER=3.13 \ -DKODI_DEPENDSBUILD=OFF \ -DENABLE_OPENSSL=ON \ -DENABLE_MYSQLCLIENT=OFF \ @@ -92,20 +98,35 @@ CMAKE_FLAGS+= -DENABLE_CCACHE=OFF \ -DENABLE_UDEV=ON \ -DENABLE_PLIST=OFF \ -DNATIVEPREFIX=$(STAGING_HOST_DIR)/usr \ - -DDEPENDS_PATH=$(STAGING_HOST_DIR) \ + -DDEPENDS_PATH=$(STAGING_TARGET_DIR)/usr \ + -DWITH_JSONSCHEMABUILDER=$(STAGING_HOST_DIR)/usr/bin/JsonSchemaBuilder \ -DWITH_TEXTUREPACKER=$(STAGING_HOST_DIR)/usr/bin/TexturePacker \ - -DCMAKE_EXE_LINKER_FLAGS=-latomic \ - -DLIBDVDCSS_URL=$(DL_DIR)/libdvdcss-1.4.2-Leia-Beta-5.tar.gz \ - -DLIBDVDNAV_URL=$(DL_DIR)/libdvdnav-6.0.0-Leia-Alpha-3.tar.gz \ - -DLIBDVDREAD_URL=$(DL_DIR)/libdvdread-6.0.0-Leia-Alpha-3.tar.gz + -DCMAKE_EXE_LINKER_FLAGS="-latomic" \ + -DLIBDVDCSS_URL=$(DL_DIR)/libdvdcss-1.4.3-Next-Nexus-Alpha2-2.tar.gz \ + -DLIBDVDNAV_URL=$(DL_DIR)/libdvdnav-6.1.1-Next-Nexus-Alpha2-2.tar.gz \ + -DLIBDVDREAD_URL=$(DL_DIR)/libdvdread-6.1.3-Next-Nexus-Alpha2-2.tar.gz +ifeq ($(ADK_TARGET_ARCH_AARCH64),y) +CMAKE_FLAGS+= -DWITH_ARCH=aarch64 \ + -DWITH_CPU=aarch64 \ + -DENABLE_NEON=OFF +endif +ifeq ($(ADK_TARGET_ARCH_ARM),y) +CMAKE_FLAGS+= -DWITH_ARCH=arm \ + -DWITH_CPU=arm \ + -DENABLE_NEON=ON +endif +ifeq ($(ADK_TARGET_ARCH_X86_64),y) +CMAKE_FLAGS+= -DWITH_ARCH=x86_64 \ + -DAPP_RENDER_SYSTEM=gl \ + -DCORE_PLATFORM_NAME=x11 \ + -DENABLE_OPENGL=ON \ + -DENABLE_X11=ON +endif ifeq ($(ADK_TARGET_BOARD_BCM28XX),y) CMAKE_FLAGS+= -DCORE_PLATFORM_NAME=gbm \ -DAPP_RENDER_SYSTEM=gles \ - -DWITH_ARCH=arm \ - -DWITH_CPU=arm \ - -DENABLE_NEON=ON \ -DENABLE_OPENGL=OFF \ -DENABLE_X11=OFF \ -DENABLE_OPENGLES=ON @@ -148,23 +169,26 @@ CMAKE_FLAGS+= -DENABLE_SSH=OFF endif XAKE_FLAGS+= VERBOSE=1 -TARGET_LDFLAGS+= -latomic + +KODI_LIBDVDCSS_VERSION = 1.4.3-Next-Nexus-Alpha2-2 +KODI_LIBDVDNAV_VERSION = 6.1.1-Next-Nexus-Alpha2-2 +KODI_LIBDVDREAD_VERSION = 6.1.3-Next-Nexus-Alpha2-2 pre-configure: - (cd $(WRKSRC)/tools/depends/native/JsonSchemaBuilder && PATH='$(HOST_PATH)' cmake .) - PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/JsonSchemaBuilder - cp $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/JsonSchemaBuilder \ - $(STAGING_HOST_DIR)/usr/bin/JsonSchemaBuilder::JsonSchemaBuilder - (cd $(WRKSRC)/tools/depends/native/TexturePacker && PATH='$(HOST_PATH)' cmake \ - -DCORE_SOURCE_DIR=$(WRKSRC) \ + (cd $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/src && PATH='$(HOST_PATH)' cmake .) + PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/src + cp $(WRKSRC)/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder \ + $(STAGING_HOST_DIR)/usr/bin/JsonSchemaBuilder + (cd $(WRKSRC)/tools/depends/native/TexturePacker/src && PATH='$(HOST_PATH)' cmake \ + -DKODI_SOURCE_DIR=$(WRKSRC) \ -DCMAKE_MODULE_PATH=$(WRKSRC)/cmake/modules \ -DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" .) - PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/TexturePacker - cp $(WRKSRC)/tools/depends/native/TexturePacker/TexturePacker \ + PATH='$(HOST_PATH)' make -C $(WRKSRC)/tools/depends/native/TexturePacker/src + cp $(WRKSRC)/tools/depends/native/TexturePacker/src/TexturePacker \ $(STAGING_HOST_DIR)/usr/bin - (cd $(DL_DIR) && wget -O libdvdcss-1.4.2-Leia-Beta-5.tar.gz https://github.com/xbmc/libdvdcss/archive/refs/tags/1.4.2-Leia-Beta-5.tar.gz) - (cd $(DL_DIR) && wget -O libdvdnav-6.0.0-Leia-Alpha-3.tar.gz https://github.com/xbmc/libdvdnav/archive/refs/tags/6.0.0-Leia-Alpha-3.tar.gz) - (cd $(DL_DIR) && wget -O libdvdread-6.0.0-Leia-Alpha-3.tar.gz https://github.com/xbmc/libdvdread/archive/refs/tags/6.0.0-Leia-Alpha-3.tar.gz) + (cd $(DL_DIR) && wget -O libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz https://github.com/xbmc/libdvdcss/archive/refs/tags/$(KODI_LIBDVDCSS_VERSION).tar.gz) + (cd $(DL_DIR) && wget -O libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz https://github.com/xbmc/libdvdnav/archive/refs/tags/$(KODI_LIBDVDNAV_VERSION).tar.gz) + (cd $(DL_DIR) && wget -O libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz https://github.com/xbmc/libdvdread/archive/refs/tags/$(KODI_LIBDVDREAD_VERSION).tar.gz) kodi-install: $(INSTALL_DIR) $(STAGING_TARGET_DIR)/usr/share/kodi diff --git a/package/kodi/files/kodi.init b/package/kodi/files/kodi.init index 04ed8ea83..fc53d4486 100644 --- a/package/kodi/files/kodi.init +++ b/package/kodi/files/kodi.init @@ -13,12 +13,12 @@ autostart) ;; start) if [ ! -d /data/kodi ]; then - mkdir /data/kodi + mkdir -p /data/kodi fi - cd / && /usr/lib/kodi/kodi-rbpi & + cd / && /usr/lib/kodi/kodi-gbm & ;; stop) - kill $(pgrep -f /usr/lib/kodi/kodi-rbpi) + kill $(pgrep -f /usr/lib/kodi/kodi-gbm) ;; restart) sh $0 stop diff --git a/package/kodi/patches/patch-tools_depends_native_TexturePacker_CMakeLists_txt b/package/kodi/patches/patch-tools_depends_native_TexturePacker_CMakeLists_txt deleted file mode 100644 index 2b62c1465..000000000 --- a/package/kodi/patches/patch-tools_depends_native_TexturePacker_CMakeLists_txt +++ /dev/null @@ -1,20 +0,0 @@ ---- xbmc-18.0a1-Leia.orig/tools/depends/native/TexturePacker/CMakeLists.txt 2018-03-04 10:21:28.000000000 +0100 -+++ xbmc-18.0a1-Leia/tools/depends/native/TexturePacker/CMakeLists.txt 2018-05-26 06:54:36.060611270 +0200 -@@ -33,7 +33,7 @@ set(SOURCES src/md5.cpp - src/decoder/GifHelper.cpp - src/decoder/JPGDecoder.cpp - src/decoder/PNGDecoder.cpp -- ${CMAKE_SOURCE_DIR}/xbmc/guilib/XBTF.cpp) -+ ${CORE_SOURCE_DIR}/xbmc/guilib/XBTF.cpp) - - set(CMAKE_POSITITION_INDEPENDENT_CODE 1) - -@@ -42,7 +42,7 @@ target_include_directories(TexturePacker - PRIVATE ${PNG_INCLUDE_DIRS} - ${JPEG_INCLUDE_DIR} - ${GIF_INCLUDE_DIR} -- ${CMAKE_SOURCE_DIR}/xbmc -+ ${CORE_SOURCE_DIR}/xbmc - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${CMAKE_CURRENT_SOURCE_DIR}/src/decoder) - target_link_libraries(TexturePacker diff --git a/package/kodi/patches/patch-tools_depends_native_TexturePacker_src_decoder_GifHelper_cpp b/package/kodi/patches/patch-tools_depends_native_TexturePacker_src_decoder_GifHelper_cpp index 67e51c6e9..193f5987b 100644 --- a/package/kodi/patches/patch-tools_depends_native_TexturePacker_src_decoder_GifHelper_cpp +++ b/package/kodi/patches/patch-tools_depends_native_TexturePacker_src_decoder_GifHelper_cpp @@ -1,5 +1,5 @@ ---- xbmc-19.3-Matrix.orig/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp 2021-10-24 12:09:58.000000000 +0200 -+++ xbmc-19.3-Matrix/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp 2022-02-26 00:09:15.499548854 +0100 +--- xbmc-22.0a1-Piers.orig/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp 2025-08-18 23:49:12.000000000 +0200 ++++ xbmc-22.0a1-Piers/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp 2025-10-06 14:07:24.604055678 +0200 @@ -18,11 +18,11 @@ * */ diff --git a/package/kodi/patches/patch-xbmc_dbwrappers_dataset_h b/package/kodi/patches/patch-xbmc_dbwrappers_dataset_h new file mode 100644 index 000000000..f27f92975 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_dbwrappers_dataset_h @@ -0,0 +1,10 @@ +--- xbmc-22.0a1-Piers.orig/xbmc/dbwrappers/dataset.h 2025-08-18 23:49:12.000000000 +0200 ++++ xbmc-22.0a1-Piers/xbmc/dbwrappers/dataset.h 2025-10-07 06:25:46.959580300 +0200 +@@ -14,6 +14,7 @@ + + #include "qry_dat.h" + ++#include <cstdarg> + #include <list> + #include <map> + #include <memory> diff --git a/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp b/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp deleted file mode 100644 index afd13ea30..000000000 --- a/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp +++ /dev/null @@ -1,31 +0,0 @@ ---- xbmc-19.3-Matrix.orig/xbmc/platform/linux/CPUInfoLinux.cpp 2021-10-24 12:09:58.000000000 +0200 -+++ xbmc-19.3-Matrix/xbmc/platform/linux/CPUInfoLinux.cpp 2022-02-26 13:55:19.357313177 +0100 -@@ -18,10 +18,7 @@ - #include <sstream> - #include <vector> - --#if (defined(__arm__) && defined(HAS_NEON)) || defined(__aarch64__) --#include <asm/hwcap.h> --#include <sys/auxv.h> --#elif defined(__i386__) || defined(__x86_64__) -+#if defined(__i386__) || defined(__x86_64__) - #include <cpuid.h> - #endif - -@@ -252,16 +249,6 @@ CCPUInfoLinux::CCPUInfoLinux() - } - #endif - --#if defined(HAS_NEON) && defined(__arm__) -- if (getauxval(AT_HWCAP) & HWCAP_NEON) -- m_cpuFeatures |= CPU_FEATURE_NEON; --#endif -- --#if defined(HAS_NEON) && defined(__aarch64__) -- if (getauxval(AT_HWCAP) & HWCAP_ASIMD) -- m_cpuFeatures |= CPU_FEATURE_NEON; --#endif -- - // Set MMX2 when SSE is present as SSE is a superset of MMX2 and Intel doesn't set the MMX2 cap - if (m_cpuFeatures & CPU_FEATURE_SSE) - m_cpuFeatures |= CPU_FEATURE_MMX2; |