summaryrefslogtreecommitdiff
path: root/package/kodi/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'package/kodi/Makefile')
-rw-r--r--package/kodi/Makefile102
1 files changed, 69 insertions, 33 deletions
diff --git a/package/kodi/Makefile b/package/kodi/Makefile
index 4e9a57a4c..cd1aaa91e 100644
--- a/package/kodi/Makefile
+++ b/package/kodi/Makefile
@@ -4,36 +4,39 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= kodi
-PKG_VERSION:= 18.0a1
+PKG_VERSION:= 22.0a1
PKG_RELEASE:= 1
-PKG_HASH:= 8892498d5248eea29c30db7c128a5910afc60d1b0b894aea472604bb879a0310
+PKG_HASH:= da88f6aee01995caadfc6e194b8e3b51dfd193164a6c8d559d2443dd7f58f9f8
PKG_DESCR:= software media player
PKG_SECTION:= mm/video
-PKG_DEPENDS:= python2 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 python2-mod-sqlite
-PKG_DEPENDS+= glib libdcadec bcm28xx-vc-gl-libs libffmpeg libxvidcore
-PKG_BUILDDEP:= python2 libass ffmpeg rtmpdump bcm28xx-vc
+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 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)-Leia.tar.gz
-WRKDIST= ${WRKDIR}/xbmc-$(PKG_VERSION)-Leia
+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-pi3p raspberry-pi3p-64
+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
@@ -66,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 \
@@ -87,17 +95,38 @@ CMAKE_FLAGS+= -DENABLE_CCACHE=OFF \
-DENABLE_OPTICAL=OFF \
-DENABLE_DBUS=OFF \
-DENABLE_EVENTCLIENTS=OFF \
- -DENABLE_UDEV=OFF \
+ -DENABLE_UDEV=ON \
-DENABLE_PLIST=OFF \
-DNATIVEPREFIX=$(STAGING_HOST_DIR)/usr \
- -DDEPENDS_PATH=$(STAGING_HOST_DIR) \
- -DWITH_TEXTUREPACKER=$(STAGING_HOST_DIR)/usr/bin/TexturePacker
+ -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.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=rbpi \
- -DWITH_ARCH=arm \
- -DWITH_CPU=arm \
- -DENABLE_NEON=ON \
+CMAKE_FLAGS+= -DCORE_PLATFORM_NAME=gbm \
+ -DAPP_RENDER_SYSTEM=gles \
-DENABLE_OPENGL=OFF \
-DENABLE_X11=OFF \
-DENABLE_OPENGLES=ON
@@ -141,18 +170,25 @@ endif
XAKE_FLAGS+= VERBOSE=1
+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
- (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-$(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