summaryrefslogtreecommitdiff
path: root/package/kodi
diff options
context:
space:
mode:
Diffstat (limited to 'package/kodi')
-rw-r--r--package/kodi/Makefile36
-rw-r--r--package/kodi/patches/patch-cmake_KodiConfig_cmake_in20
-rw-r--r--package/kodi/patches/patch-tools_depends_native_TexturePacker_src_decoder_GifHelper_cpp15
-rw-r--r--package/kodi/patches/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA_cpp30
-rw-r--r--package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp31
5 files changed, 70 insertions, 62 deletions
diff --git a/package/kodi/Makefile b/package/kodi/Makefile
index 4e9a57a4c..91a9951e2 100644
--- a/package/kodi/Makefile
+++ b/package/kodi/Makefile
@@ -4,19 +4,20 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= kodi
-PKG_VERSION:= 18.0a1
+PKG_VERSION:= 19.3
PKG_RELEASE:= 1
-PKG_HASH:= 8892498d5248eea29c30db7c128a5910afc60d1b0b894aea472604bb879a0310
+PKG_HASH:= 440f47e475dd8a48e0a6d41349e83b74890f3fbe8275d3e401d3c50f5b9ea09b
PKG_DESCR:= software media player
PKG_SECTION:= mm/video
-PKG_DEPENDS:= python2 libsquish libressl libxz libfmt rapidjson
+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+= 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+= taglib libjasper libmp3lame libgpg-error
PKG_DEPENDS+= glib libdcadec bcm28xx-vc-gl-libs libffmpeg libxvidcore
-PKG_BUILDDEP:= python2 libass ffmpeg rtmpdump bcm28xx-vc
+PKG_DEPENDS+= flatbuffers fstrcmp spdlog mesa libinput libxkbcommon
+PKG_BUILDDEP:= python3 libass ffmpeg rtmpdump bcm28xx-vc
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
@@ -25,15 +26,16 @@ PKG_BUILDDEP+= glib libmodplug libgpg-error xvidcore
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+= 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)-Matrix.tar.gz
+WRKDIST= ${WRKDIR}/xbmc-$(PKG_VERSION)-Matrix
WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj
-PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi3p raspberry-pi3p-64
+PKG_SYSTEM_DEPENDS:= raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi4
PKG_FLAVOURS_KODI:= WITH_ALSA WITH_CEC WITH_PULSEAUDIO WITH_SMB
PKG_FLAVOURS_KODI+= WITH_MICROHTTPD WITH_SSH WITH_AVAHI
@@ -87,14 +89,20 @@ 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
+ -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
+
ifeq ($(ADK_TARGET_BOARD_BCM28XX),y)
-CMAKE_FLAGS+= -DCORE_PLATFORM_NAME=rbpi \
+CMAKE_FLAGS+= -DCORE_PLATFORM_NAME=gbm \
+ -DAPP_RENDER_SYSTEM=gles \
-DWITH_ARCH=arm \
-DWITH_CPU=arm \
-DENABLE_NEON=ON \
@@ -140,12 +148,13 @@ CMAKE_FLAGS+= -DENABLE_SSH=OFF
endif
XAKE_FLAGS+= VERBOSE=1
+TARGET_LDFLAGS+= -latomic
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
+ $(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 \
@@ -153,6 +162,9 @@ pre-configure:
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)
kodi-install:
$(INSTALL_DIR) $(STAGING_TARGET_DIR)/usr/share/kodi
diff --git a/package/kodi/patches/patch-cmake_KodiConfig_cmake_in b/package/kodi/patches/patch-cmake_KodiConfig_cmake_in
deleted file mode 100644
index 3ebae759b..000000000
--- a/package/kodi/patches/patch-cmake_KodiConfig_cmake_in
+++ /dev/null
@@ -1,20 +0,0 @@
---- xbmc-18.0a1-Leia.orig/cmake/KodiConfig.cmake.in 2018-03-04 10:21:28.000000000 +0100
-+++ xbmc-18.0a1-Leia/cmake/KodiConfig.cmake.in 2018-05-23 08:10:01.842094111 +0200
-@@ -8,7 +8,7 @@ if(NOT @APP_NAME_UC@_PREFIX)
- set(@APP_NAME_UC@_PREFIX @APP_PREFIX@)
- endif()
- if(NOT @APP_NAME_UC@_INCLUDE_DIR)
-- set(@APP_NAME_UC@_INCLUDE_DIR @APP_INCLUDE_DIR@)
-+ set(@APP_NAME_UC@_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_INCLUDE_DIR@)
- endif()
- if(NOT @APP_NAME_UC@_LIB_DIR)
- set(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@)
-@@ -20,7 +20,7 @@ set(APP_RENDER_SYSTEM @APP_RENDER_SYSTEM
- if(NOT WIN32)
- set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@")
- endif()
--list(APPEND CMAKE_MODULE_PATH @APP_LIB_DIR@ @APP_DATA_DIR@/cmake)
-+list(APPEND CMAKE_MODULE_PATH ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@ ${CMAKE_FIND_ROOT_PATH}/@APP_DATA_DIR@/cmake)
-
- string(REPLACE ";" " " ARCH_DEFINES "@ARCH_DEFINES@")
- add_definitions(${ARCH_DEFINES} -DBUILD_KODI_ADDON)
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
new file mode 100644
index 000000000..67e51c6e9
--- /dev/null
+++ b/package/kodi/patches/patch-tools_depends_native_TexturePacker_src_decoder_GifHelper_cpp
@@ -0,0 +1,15 @@
+--- 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
+@@ -18,11 +18,11 @@
+ *
+ */
+
+-#include "GifHelper.h"
+
+ #include <algorithm>
+ #include <cstdlib>
+ #include <cstring>
++#include "GifHelper.h"
+
+ #define UNSIGNED_LITTLE_ENDIAN(lo, hi) ((lo) | ((hi) << 8))
+ #define GIF_MAX_MEMORY 82944000U // about 79 MB, which is equivalent to 10 full hd frames.
diff --git a/package/kodi/patches/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA_cpp b/package/kodi/patches/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA_cpp
deleted file mode 100644
index fa943b89a..000000000
--- a/package/kodi/patches/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA_cpp
+++ /dev/null
@@ -1,30 +0,0 @@
---- xbmc-18.0a1-Leia.orig/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 2018-03-04 10:21:28.000000000 +0100
-+++ xbmc-18.0a1-Leia/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 2018-05-26 06:48:45.750618626 +0200
-@@ -1213,7 +1213,8 @@ void CAESinkALSA::EnumerateDevicesEx(AED
- * found by the enumeration process. Skip them as well ("hw", "dmix",
- * "plughw", "dsnoop"). */
-
-- else if (baseName != "default"
-+ else if (true)
-+/* baseName != "default"
- && baseName != "sysdefault"
- && baseName != "surround40"
- && baseName != "surround41"
-@@ -1223,7 +1224,7 @@ void CAESinkALSA::EnumerateDevicesEx(AED
- && baseName != "hw"
- && baseName != "dmix"
- && baseName != "plughw"
-- && baseName != "dsnoop")
-+ && baseName != "dsnoop")*/
- {
- EnumerateDevice(list, name, desc ? desc : name, config);
- }
-@@ -1380,7 +1381,7 @@ void CAESinkALSA::EnumerateDevice(AEDevi
- info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI")
- {
- /* We already know this is HDMI, strip it */
-- info.m_displayName.erase(info.m_displayName.size()-5);
-+ /*info.m_displayName.erase(info.m_displayName.size()-5);*/
- }
-
- /* "CONEXANT Analog", "USB Audio", "HDMI 0", "ALC889 Digital" ... */
diff --git a/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp b/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp
new file mode 100644
index 000000000..afd13ea30
--- /dev/null
+++ b/package/kodi/patches/patch-xbmc_platform_linux_CPUInfoLinux_cpp
@@ -0,0 +1,31 @@
+--- 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;