kodi: update to githash 060417c

- add exiv2 as target depend
- drop upstreamed gcc-14 patch
- drop upstreamed udev patch
- drop timezone patch (not applicable in Kodi "Piers")
- cmake pcre2-static detection requires PCRE2_USE_STATIC_LIBS setting in cmakefile
This commit is contained in:
Rudi Heitbaum 2024-05-29 08:19:16 +00:00
parent c780187ec3
commit 6e8298a011
5 changed files with 12 additions and 135 deletions

View File

@ -3,12 +3,12 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="kodi"
PKG_VERSION="21.0-Omega"
PKG_SHA256="7f54c1fd8456ac46221fbc85e447362bdc209163c6cb19fca98d106560071b7c"
PKG_VERSION="060417ccfa5b21939669d404b9a223c3004ba132"
PKG_SHA256="aaf649ae54ca9e866af2018c12c8e5e466f18e43f0b99cfbaf6192dc8dc64f6b"
PKG_LICENSE="GPL"
PKG_SITE="http://www.kodi.tv"
PKG_URL="https://github.com/xbmc/xbmc/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain JsonSchemaBuilder:host TexturePacker:host Python3 zlib systemd lzo pcre swig:host libass curl fontconfig fribidi tinyxml tinyxml2 libjpeg-turbo freetype libcdio taglib libxml2 libxslt rapidjson sqlite ffmpeg crossguid libdvdnav libfmt lirc libfstrcmp flatbuffers:host flatbuffers libudfread spdlog"
PKG_DEPENDS_TARGET="toolchain JsonSchemaBuilder:host TexturePacker:host Python3 zlib systemd lzo pcre2 swig:host libass curl exiv2 fontconfig fribidi tinyxml tinyxml2 libjpeg-turbo freetype libcdio taglib libxml2 libxslt rapidjson sqlite ffmpeg crossguid libdvdnav libfmt lirc libfstrcmp flatbuffers:host flatbuffers libudfread spdlog"
PKG_DEPENDS_UNPACK="commons-lang3 commons-text groovy"
PKG_DEPENDS_HOST="toolchain"
PKG_LONGDESC="A free and open source cross-platform media player."
@ -243,11 +243,13 @@ configure_package() {
-DPYTHON_INCLUDE_DIRS=${SYSROOT_PREFIX}/usr/include/${PKG_PYTHON_VERSION} \
-DGIT_VERSION=${PKG_VERSION} \
-DFFMPEG_PATH=${SYSROOT_PREFIX}/usr \
-DENABLE_INTERNAL_FFMPEG=OFF \
-DENABLE_INTERNAL_CROSSGUID=OFF \
-DENABLE_INTERNAL_UDFREAD=OFF \
-DENABLE_INTERNAL_SPDLOG=OFF \
-DENABLE_INTERNAL_EXIV2=OFF \
-DENABLE_INTERNAL_FFMPEG=OFF \
-DENABLE_INTERNAL_FLATBUFFERS=OFF \
-DENABLE_INTERNAL_RapidJSON=OFF \
-DENABLE_INTERNAL_SPDLOG=OFF \
-DENABLE_INTERNAL_UDFREAD=OFF \
-DENABLE_UDEV=ON \
-DENABLE_DBUS=ON \
-DENABLE_XSLT=ON \
@ -257,12 +259,12 @@ configure_package() {
-DENABLE_DEBUGFISSION=OFF \
-DENABLE_APP_AUTONAME=OFF \
-DENABLE_TESTING=OFF \
-DENABLE_INTERNAL_FLATBUFFERS=OFF \
-DENABLE_LCMS2=OFF \
-DADDONS_CONFIGURE_AT_STARTUP=OFF \
-Dgroovy_SOURCE_DIR=$(get_build_dir groovy) \
-Dapache-commons-lang_SOURCE_DIR=$(get_build_dir commons-lang3) \
-Dapache-commons-text_SOURCE_DIR=$(get_build_dir commons-text) \
-DPCRE2_USE_STATIC_LIBS=ON \
${PKG_KODI_USE_LTO} \
${PKG_KODI_LINKER} \
${KODI_ARCH} \

View File

@ -5,6 +5,6 @@
<!-- To use different sets in your skin, each must be called from skin with a unique id. !-->
<set id="1">
+ <feed updateinterval="30">https://libreelec.tv/feed</feed>
<feed updateinterval="30">http://feeds.kodi.tv/xbmc</feed>
<feed updateinterval="30">http://feeds.kodi.tv/latest_xbmc_addons</feed>
<feed updateinterval="30">http://feeds.kodi.tv/updated_xbmc_addons</feed>
<feed updateinterval="1440">https://kodi.tv/feed</feed>
</set>
</rssfeeds>

View File

@ -1,40 +0,0 @@
From 7afdfe63354967ea5123cb2b1746c3ae552d0977 Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Mon, 18 Aug 2014 17:46:54 +0300
Subject: [PATCH] setup timezone
on TZ country setting change, store the value in format
TIMEZONE=Xx/Yyy to /storage/.cache/timezone to be used with
tz-data.service
---
xbmc/platform/posix/PosixTimezone.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
--- a/xbmc/platform/posix/PosixTimezone.cpp
+++ b/xbmc/platform/posix/PosixTimezone.cpp
@@ -24,6 +24,8 @@
#include "PlatformDefs.h"
+#include <fstream>
+
CPosixTimezone::CPosixTimezone()
{
char* line = NULL;
@@ -141,6 +143,16 @@ void CPosixTimezone::OnSettingChanged(co
const std::string &settingId = setting->GetId();
if (settingId == CSettings::SETTING_LOCALE_TIMEZONE)
{
+ std::ofstream out("/storage/.cache/timezone");
+ if (out)
+ {
+ const std::string tz = std::string("TIMEZONE=") + (std::static_pointer_cast<const CSettingString>(setting)->GetValue().c_str());
+ out << tz << std::endl;
+ out.flush();
+ out.close();
+ system("systemctl restart tz-data.service");
+ }
+
SetTimezone(std::static_pointer_cast<const CSettingString>(setting)->GetValue());
CDateTime::ResetTimezoneBias();

View File

@ -1,52 +0,0 @@
From 2bf5ab07731b3d4160196e6b8d9ab9e25bea2ef9 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Thu, 2 May 2024 08:02:42 +0000
Subject: [PATCH 1/2] add missing c++ headers
Add missing headers which are no longer indirectly included by
other headers, fixes build with gcc-14
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
---
xbmc/platform/posix/filesystem/SMBWSDiscoveryListener.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/xbmc/platform/posix/filesystem/SMBWSDiscoveryListener.cpp b/xbmc/platform/posix/filesystem/SMBWSDiscoveryListener.cpp
index d42c19bb2cd4a..142974591b1a7 100644
--- a/xbmc/platform/posix/filesystem/SMBWSDiscoveryListener.cpp
+++ b/xbmc/platform/posix/filesystem/SMBWSDiscoveryListener.cpp
@@ -17,6 +17,7 @@
#include "platform/posix/filesystem/SMBWSDiscovery.h"
+#include <algorithm>
#include <array>
#include <chrono>
#include <mutex>
From b6ddd8fb25ef20e8adb9a9f9b53bebf0cee3a970 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Thu, 2 May 2024 08:05:00 +0000
Subject: [PATCH 2/2] Geometry: fix template-id not allowed for constructor
fixes gcc-14 error:
- warning: template-id not allowed for constructor in C++20
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
---
xbmc/utils/Geometry.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/utils/Geometry.h b/xbmc/utils/Geometry.h
index 1bf4624d06d18..90e4275165a48 100644
--- a/xbmc/utils/Geometry.h
+++ b/xbmc/utils/Geometry.h
@@ -177,7 +177,7 @@ template <typename T> class CSizeGen
return {m_w, m_h};
}
- template<class U> explicit CSizeGen<T>(const CSizeGen<U>& rhs)
+ template<class U> explicit CSizeGen(const CSizeGen<U>& rhs)
{
CheckSet(static_cast<T> (rhs.m_w), static_cast<T> (rhs.m_h));
}

View File

@ -1,33 +0,0 @@
From 8a78c59791ba408c3f03e285b68f9afbac2658d8 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Wed, 12 Jun 2024 21:45:23 +0000
Subject: [PATCH] PeripheralBusUSBLibUdev: fix assert issue with systemd udev
do not call udev_device_get_parent(udev_device_get_parent(dev))
directly as a null return on the parent will cause an assert in
udev_device_get_parent
---
.../platform/linux/peripherals/PeripheralBusUSBLibUdev.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/xbmc/platform/linux/peripherals/PeripheralBusUSBLibUdev.cpp b/xbmc/platform/linux/peripherals/PeripheralBusUSBLibUdev.cpp
index aeb5e71d9f..3b649652c3 100644
--- a/xbmc/platform/linux/peripherals/PeripheralBusUSBLibUdev.cpp
+++ b/xbmc/platform/linux/peripherals/PeripheralBusUSBLibUdev.cpp
@@ -108,7 +108,12 @@ bool CPeripheralBusUSB::PerformDeviceScan(PeripheralScanResults &results)
if (bContinue)
{
- dev = udev_device_get_parent(udev_device_get_parent(parent));
+ // do not call udev_device_get_parent(udev_device_get_parent(dev))
+ // directly as a null return on the parent will cause an assert in
+ // udev_device_get_parent
+ dev = udev_device_get_parent(parent);
+ if (dev)
+ dev = udev_device_get_parent(dev);
if (!dev || !udev_device_get_sysattr_value(dev,"idVendor") || !udev_device_get_sysattr_value(dev, "idProduct"))
bContinue = false;
}
--
2.43.0