summaryrefslogtreecommitdiff
path: root/package/kodi
diff options
context:
space:
mode:
Diffstat (limited to 'package/kodi')
-rw-r--r--package/kodi/Makefile90
-rw-r--r--package/kodi/files/kodi.init4
-rw-r--r--package/kodi/patches/patch-CMakeLists_txt27
-rw-r--r--package/kodi/patches/patch-tools_depends_native_TexturePacker_CMakeLists_txt20
-rw-r--r--package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp12
5 files changed, 89 insertions, 64 deletions
diff --git a/package/kodi/Makefile b/package/kodi/Makefile
index 91a9951e2..9fb6deccb 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:= 21.0b2
PKG_RELEASE:= 1
-PKG_HASH:= 440f47e475dd8a48e0a6d41349e83b74890f3fbe8275d3e401d3c50f5b9ea09b
+PKG_HASH:= b9d6ecbb8769cdfe00cbbe5da5c330a7624eee50cffb87d87f6271033f1ee74b
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+= libass libmpeg2 libmad libmodplug libcurl libxshmfence
PKG_DEPENDS+= libflac libbz2 libtiff libnettle librtmp liblzo
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+= taglib libjasper libmp3lame libgpg-error giflib
+PKG_DEPENDS+= glib libdcadec libffmpeg libxvidcore libiconv harfbuzz
PKG_DEPENDS+= flatbuffers fstrcmp spdlog mesa libinput libxkbcommon
-PKG_BUILDDEP:= python3 libass ffmpeg rtmpdump bcm28xx-vc
+PKG_DEPENDS+= xkeyboard-config tinyxml2 libdisplay-info libudfread
+PKG_BUILDDEP:= python3 libass ffmpeg rtmpdump libiconv libudfread
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 pcre 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+= libcrossguid libressl xz bzip2 liblzo harfbuzz
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)-Omega.tar.gz
+WRKDIST= ${WRKDIR}/xbmc-$(PKG_VERSION)-Omega
WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
-PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi4
+PKG_SYSTEM_DEPENDS:= 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
@@ -73,7 +74,12 @@ CMAKE_FLAGS+= -DENABLE_CCACHE=OFF \
-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 \
-DKODI_DEPENDSBUILD=OFF \
-DENABLE_OPENSSL=ON \
-DENABLE_MYSQLCLIENT=OFF \
@@ -92,20 +98,28 @@ 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_TEXTUREPACKER=$(STAGING_HOST_DIR)/usr/bin/TexturePacker \
+ -DWITH_JSONSCHEMABUILDER=$(STAGING_HOST_DIR)/usr/bin/JsonSchemaBuilder \
-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
+ -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)
+ -DWITH_ARCH=arm \
+ -DWITH_CPU=arm \
+ -DENABLE_NEON=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 +162,27 @@ CMAKE_FLAGS+= -DENABLE_SSH=OFF
endif
XAKE_FLAGS+= VERBOSE=1
-TARGET_LDFLAGS+= -latomic
+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 && 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) \
- -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 \
- $(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 $(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)
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..c3dfdf893 100644
--- a/package/kodi/files/kodi.init
+++ b/package/kodi/files/kodi.init
@@ -15,10 +15,10 @@ start)
if [ ! -d /data/kodi ]; then
mkdir /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-CMakeLists_txt b/package/kodi/patches/patch-CMakeLists_txt
new file mode 100644
index 000000000..7fa65595b
--- /dev/null
+++ b/package/kodi/patches/patch-CMakeLists_txt
@@ -0,0 +1,27 @@
+--- 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_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-xbmc_platform_linux_CPUInfoLinux_cpp b/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp
index afd13ea30..27c420df8 100644
--- a/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp
+++ b/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp
@@ -1,6 +1,6 @@
---- 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 @@
+--- 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>
@@ -12,9 +12,9 @@
#include <cpuid.h>
#endif
-@@ -252,16 +249,6 @@ CCPUInfoLinux::CCPUInfoLinux()
- }
- #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)