diff --git a/packages/devel/pcre/package.mk b/packages/devel/pcre/package.mk
deleted file mode 100644
index 65570fabb3..0000000000
--- a/packages/devel/pcre/package.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
-# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
-
-PKG_NAME="pcre"
-PKG_VERSION="8.45"
-PKG_SHA256="4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8"
-PKG_LICENSE="OSS"
-PKG_SITE="http://www.pcre.org/"
-PKG_URL="${SOURCEFORGE_SRC}/pcre/${PKG_NAME}/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
-PKG_DEPENDS_TARGET="toolchain"
-PKG_LONGDESC="A set of functions that implement regular expression pattern matching."
-PKG_TOOLCHAIN="configure"
-PKG_BUILD_FLAGS="+pic"
-
-PKG_CONFIGURE_OPTS_TARGET="--disable-shared \
- --enable-static \
- --enable-utf8 \
- --disable-cpp \
- --enable-pcre16 \
- --enable-unicode-properties \
- --with-gnu-ld"
-
-post_makeinstall_target() {
- rm -rf ${INSTALL}/usr/bin
- cp ${PKG_NAME}-config ${TOOLCHAIN}/bin
- sed -e "s:\(['= ]\)/usr:\\1${PKG_ORIG_SYSROOT_PREFIX}/usr:g" -i ${TOOLCHAIN}/bin/${PKG_NAME}-config
- chmod +x ${TOOLCHAIN}/bin/${PKG_NAME}-config
-}
diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk
index 67c82d1541..d9fdba8542 100644
--- a/packages/mediacenter/kodi/package.mk
+++ b/packages/mediacenter/kodi/package.mk
@@ -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} \
diff --git a/packages/mediacenter/kodi/patches/kodi-100.02-add-libreelec.tv-RSS-news.patch b/packages/mediacenter/kodi/patches/kodi-100.02-add-libreelec.tv-RSS-news.patch
index 425e2247db..14097f8616 100644
--- a/packages/mediacenter/kodi/patches/kodi-100.02-add-libreelec.tv-RSS-news.patch
+++ b/packages/mediacenter/kodi/patches/kodi-100.02-add-libreelec.tv-RSS-news.patch
@@ -5,6 +5,6 @@
+ https://libreelec.tv/feed
- http://feeds.kodi.tv/xbmc
- http://feeds.kodi.tv/latest_xbmc_addons
- http://feeds.kodi.tv/updated_xbmc_addons
+ https://kodi.tv/feed
+
+
diff --git a/packages/mediacenter/kodi/patches/kodi-100.08-setup-timezone.patch b/packages/mediacenter/kodi/patches/kodi-100.08-setup-timezone.patch
deleted file mode 100644
index 8c3714fe23..0000000000
--- a/packages/mediacenter/kodi/patches/kodi-100.08-setup-timezone.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 7afdfe63354967ea5123cb2b1746c3ae552d0977 Mon Sep 17 00:00:00 2001
-From: Stefan Saraev
-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
-+
- 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(setting)->GetValue().c_str());
-+ out << tz << std::endl;
-+ out.flush();
-+ out.close();
-+ system("systemctl restart tz-data.service");
-+ }
-+
- SetTimezone(std::static_pointer_cast(setting)->GetValue());
-
- CDateTime::ResetTimezoneBias();
diff --git a/packages/mediacenter/kodi/patches/kodi-999.30-fix-gcc-14-compile.patch b/packages/mediacenter/kodi/patches/kodi-999.30-fix-gcc-14-compile.patch
deleted file mode 100644
index bcdacd0c52..0000000000
--- a/packages/mediacenter/kodi/patches/kodi-999.30-fix-gcc-14-compile.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 2bf5ab07731b3d4160196e6b8d9ab9e25bea2ef9 Mon Sep 17 00:00:00 2001
-From: Rudi Heitbaum
-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
----
- 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
- #include
- #include
- #include
-
-From b6ddd8fb25ef20e8adb9a9f9b53bebf0cee3a970 Mon Sep 17 00:00:00 2001
-From: Rudi Heitbaum
-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
----
- 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 class CSizeGen
- return {m_w, m_h};
- }
-
-- template explicit CSizeGen(const CSizeGen& rhs)
-+ template explicit CSizeGen(const CSizeGen& rhs)
- {
- CheckSet(static_cast (rhs.m_w), static_cast (rhs.m_h));
- }
diff --git a/packages/mediacenter/kodi/patches/kodi-999.40-PeripheralBusUSBLibUdev-fix-assert-issue-with-system.patch b/packages/mediacenter/kodi/patches/kodi-999.40-PeripheralBusUSBLibUdev-fix-assert-issue-with-system.patch
deleted file mode 100644
index a7fc5571a4..0000000000
--- a/packages/mediacenter/kodi/patches/kodi-999.40-PeripheralBusUSBLibUdev-fix-assert-issue-with-system.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 8a78c59791ba408c3f03e285b68f9afbac2658d8 Mon Sep 17 00:00:00 2001
-From: Rudi Heitbaum
-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
-