summaryrefslogtreecommitdiff
path: root/package/kodi
diff options
context:
space:
mode:
Diffstat (limited to 'package/kodi')
-rw-r--r--package/kodi/Makefile72
-rw-r--r--package/kodi/files/kodi.init2
-rw-r--r--package/kodi/patches/patch-CMakeLists_txt27
-rw-r--r--package/kodi/patches/patch-tools_depends_native_TexturePacker_src_decoder_GifHelper_cpp4
-rw-r--r--package/kodi/patches/patch-xbmc_dbwrappers_dataset_h10
-rw-r--r--package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp31
6 files changed, 52 insertions, 94 deletions
diff --git a/package/kodi/Makefile b/package/kodi/Makefile
index 9fb6deccb..cd1aaa91e 100644
--- a/package/kodi/Makefile
+++ b/package/kodi/Makefile
@@ -4,39 +4,39 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= kodi
-PKG_VERSION:= 21.0b2
+PKG_VERSION:= 22.0a1
PKG_RELEASE:= 1
-PKG_HASH:= b9d6ecbb8769cdfe00cbbe5da5c330a7624eee50cffb87d87f6271033f1ee74b
+PKG_HASH:= da88f6aee01995caadfc6e194b8e3b51dfd193164a6c8d559d2443dd7f58f9f8
PKG_DESCR:= software media player
PKG_SECTION:= mm/video
-PKG_DEPENDS:= python3 libsquish libressl libxz libfmt rapidjson
+PKG_DEPENDS:= python3 libsquish libopenssl libfmt rapidjson libpcre
PKG_DEPENDS+= libass libmpeg2 libmad libmodplug libcurl libxshmfence
-PKG_DEPENDS+= libflac libbz2 libtiff libnettle librtmp liblzo
+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 giflib
-PKG_DEPENDS+= glib libdcadec libffmpeg libxvidcore libiconv harfbuzz
+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_DEPENDS+= xkeyboard-config tinyxml2 libdisplay-info libudfread
-PKG_BUILDDEP:= python3 libass ffmpeg rtmpdump libiconv libudfread
+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 libdisplay-info
-PKG_BUILDDEP+= tinyxml tinyxml2 sqlite pcre libcdio freetype libpng
+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 harfbuzz
+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)-Omega.tar.gz
-WRKDIST= ${WRKDIR}/xbmc-$(PKG_VERSION)-Omega
+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 raspberry-pi4-64 rockpi4-plus raspberry-pi5
+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
@@ -69,17 +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.11 \
- -DPYTHON_PATH=$(STAGING_TARGET_DIR)/usr/lib/python3.11 \
- -DPYTHON_VER=3.11 \
+ -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 \
@@ -99,9 +99,9 @@ CMAKE_FLAGS+= -DENABLE_CCACHE=OFF \
-DENABLE_PLIST=OFF \
-DNATIVEPREFIX=$(STAGING_HOST_DIR)/usr \
-DDEPENDS_PATH=$(STAGING_TARGET_DIR)/usr \
- -DWITH_TEXTUREPACKER=$(STAGING_HOST_DIR)/usr/bin/TexturePacker \
-DWITH_JSONSCHEMABUILDER=$(STAGING_HOST_DIR)/usr/bin/JsonSchemaBuilder \
- -DCMAKE_EXE_LINKER_FLAGS=-latomic \
+ -DWITH_TEXTUREPACKER=$(STAGING_HOST_DIR)/usr/bin/TexturePacker \
+ -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
@@ -112,10 +112,17 @@ CMAKE_FLAGS+= -DWITH_ARCH=aarch64 \
-DENABLE_NEON=OFF
endif
ifeq ($(ADK_TARGET_ARCH_ARM),y)
- -DWITH_ARCH=arm \
+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 \
@@ -162,24 +169,23 @@ CMAKE_FLAGS+= -DENABLE_SSH=OFF
endif
XAKE_FLAGS+= VERBOSE=1
-TARGET_LDFLAGS+= -latomic -liconv
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/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/src
- #cp $(WRKSRC)/tools/depends/native/TexturePacker/src/TexturePacker \
- # $(STAGING_HOST_DIR)/usr/bin
+ (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/src
+ cp $(WRKSRC)/tools/depends/native/TexturePacker/src/TexturePacker \
+ $(STAGING_HOST_DIR)/usr/bin
(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)
diff --git a/package/kodi/files/kodi.init b/package/kodi/files/kodi.init
index c3dfdf893..fc53d4486 100644
--- a/package/kodi/files/kodi.init
+++ b/package/kodi/files/kodi.init
@@ -13,7 +13,7 @@ autostart)
;;
start)
if [ ! -d /data/kodi ]; then
- mkdir /data/kodi
+ mkdir -p /data/kodi
fi
cd / && /usr/lib/kodi/kodi-gbm &
;;
diff --git a/package/kodi/patches/patch-CMakeLists_txt b/package/kodi/patches/patch-CMakeLists_txt
deleted file mode 100644
index 7fa65595b..000000000
--- a/package/kodi/patches/patch-CMakeLists_txt
+++ /dev/null
@@ -1,27 +0,0 @@
---- xbmc-21.0b2-Omega.orig/CMakeLists.txt 2023-12-09 22:24:46.000000000 +0100
-+++ xbmc-21.0b2-Omega/CMakeLists.txt 2024-01-31 10:45:45.831435209 +0100
-@@ -178,7 +178,6 @@ endforeach()
- # Required tools. Keep in alphabetical order please
- set(required_buildtools FlatC
- JsonSchemaBuilder
-- TexturePacker
- )
-
- # Optional build tools
-@@ -468,7 +467,6 @@ endif()
- add_custom_command(
- OUTPUT ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${CONFIG_VAR}/gen_skin.timestamp
- COMMAND ${CMAKE_COMMAND} -DBUNDLEDIR=${_bundle_dir}
-- -DTEXTUREPACKER_EXECUTABLE=$<TARGET_FILE:TexturePacker::TexturePacker::Executable>
- -P ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/GeneratedPackSkins.cmake
- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${CONFIG_VAR}
- COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${CONFIG_VAR}/gen_skin.timestamp
-@@ -481,7 +479,7 @@ add_custom_target(gen_skin_pack DEPENDS
-
- # Packaging target. This generates system addon, xbt creation, copy files to build tree
- add_custom_target(generate-packaging ALL
-- DEPENDS TexturePacker::TexturePacker::Executable export-files gen_skin_pack gen_system_addons)
-+ DEPENDS export-files gen_skin_pack gen_system_addons)
- # Make sure we build any libs before we look to export-files.
- # We may need to export some shared libs/data (eg Python)
- add_dependencies(export-files ${GLOBAL_TARGET_DEPS})
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 27c420df8..000000000
--- a/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp
+++ /dev/null
@@ -1,31 +0,0 @@
---- xbmc-21.0b2-Omega.orig/xbmc/platform/linux/CPUInfoLinux.cpp 2023-12-09 22:24:46.000000000 +0100
-+++ xbmc-21.0b2-Omega/xbmc/platform/linux/CPUInfoLinux.cpp 2024-01-30 15:52:43.704683194 +0100
-@@ -19,10 +19,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
-
-@@ -279,16 +276,6 @@ CCPUInfoLinux::CCPUInfoLinux()
-
- m_cpuModel = m_cpuModel.substr(0, m_cpuModel.find(char(0))); // remove extra null terminations
-
--#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;