commit:     d48cca39adbd7eddc8da73da18e71c4fdf7e2254
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Thu Nov 13 01:08:17 2025 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Dec  1 23:14:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d48cca39

media-tv/kodi: dont install build tools

Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44433
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 media-tv/kodi/files/kodi-22-fix-native-build.patch | 49 ++++++++++++++++++++++
 media-tv/kodi/kodi-9999.ebuild                     |  1 +
 2 files changed, 50 insertions(+)

diff --git a/media-tv/kodi/files/kodi-22-fix-native-build.patch 
b/media-tv/kodi/files/kodi-22-fix-native-build.patch
new file mode 100644
index 000000000000..787795273750
--- /dev/null
+++ b/media-tv/kodi/files/kodi-22-fix-native-build.patch
@@ -0,0 +1,49 @@
+https://github.com/xbmc/xbmc/pull/27545
+
+From bb864e739bb7c9746ea6555858ad525c02e453d3 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <[email protected]>
+Date: Sun, 30 Nov 2025 22:10:11 +0000
+Subject: [PATCH] [cmake] Fix double installation of TexturePacker
+
+TexturePacker is being installed twice, but this is only noticeable when
+installing Kodi with DESTDIR, which is common in distributions. The copy
+installed by FindTexturePacker.cmake normally gets reinstalled in place,
+but with DESTDIR applied, it lands under /path/to/destdir/path/to/build.
+
+There is no need for FindTexturePacker.cmake to install it anyway. This
+change stubs the install command, runs TexturePacker from its build
+location, and the wider Kodi installation sources it from there.
+--- a/cmake/modules/buildtools/FindTexturePacker.cmake
++++ b/cmake/modules/buildtools/FindTexturePacker.cmake
+@@ -82,8 +82,7 @@ if(NOT TARGET TexturePacker::TexturePacker::Executable)
+                      "-DCMAKE_OBJDUMP=${CMAKE_OBJDUMP}"
+                      "-DCMAKE_RANLIB=${CMAKE_RANLIB}"
+                      "-DDEPENDS_PATH=${DEPENDS_PATH}"
+-                     -DKODI_SOURCE_DIR=${CMAKE_SOURCE_DIR}
+-                     -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/build)
++                     -DKODI_SOURCE_DIR=${CMAKE_SOURCE_DIR})
+ 
+       # Create a list with an alternate separator e.g. pipe symbol
+       string(REPLACE ";" "|" string_ARCH_DEFINES "${ARCH_DEFINES}")
+@@ -110,15 +109,14 @@ if(NOT TARGET TexturePacker::TexturePacker::Executable)
+                           SOURCE_DIR 
${CMAKE_SOURCE_DIR}/tools/depends/native/TexturePacker/src
+                           PREFIX ${CORE_BUILD_DIR}/build-texturepacker
+                           LIST_SEPARATOR |
+-                          INSTALL_DIR ${CMAKE_BINARY_DIR}/build
++                          INSTALL_COMMAND ""
+                           CMAKE_ARGS ${CMAKE_ARGS}
+                           BUILD_ALWAYS ON
+-                          BUILD_BYPRODUCTS 
${CMAKE_BINARY_DIR}/build/bin/TexturePacker)
++                          BUILD_BYPRODUCTS 
${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/build-texturepacker/src/buildtexturepacker-build/TexturePacker)
+ 
+-      ExternalProject_Get_Property(buildtexturepacker INSTALL_DIR)
+       add_executable(TexturePacker IMPORTED)
+       set_target_properties(TexturePacker PROPERTIES
+-                                          IMPORTED_LOCATION 
"${INSTALL_DIR}/bin/TexturePacker")
++                                          IMPORTED_LOCATION 
"${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/build-texturepacker/src/buildtexturepacker-build/TexturePacker")
+ 
+       add_dependencies(TexturePacker buildtexturepacker)
+ 
+-- 
+2.52.0
+

diff --git a/media-tv/kodi/kodi-9999.ebuild b/media-tv/kodi/kodi-9999.ebuild
index 62e8e0d1457c..d13f0ac2a2ba 100644
--- a/media-tv/kodi/kodi-9999.ebuild
+++ b/media-tv/kodi/kodi-9999.ebuild
@@ -272,6 +272,7 @@ BDEPEND="
 PATCHES=(
        "${FILESDIR}"/kodi-21-optional-ffmpeg-libx11.patch
        "${FILESDIR}"/kodi-22-silence-libdvdread-git.patch
+       "${FILESDIR}"/kodi-22-fix-native-build.patch
 )
 
 # bug #544020

Reply via email to