package/kodi: add upstream patch to fix build on s390, mark unavailable on m68k

Build errors were found by the Gitlab pipelines with these defconfigs:

- bootlin-m68k-68040-uclibc
  CMake Error at cmake/scripts/linux/ArchSetup.cmake:50 (message):
    Unknown CPU: m68k

- bootlin-s390x-z13-glibc
  CMake Error at cmake/scripts/linux/ArchSetup.cmake:50 (message):
    Unknown CPU: s390x

Backport an upstream commit from the upcoming Piers branch to fix the
restriction in ArchSetup.cmake.

This caused a different build error on m68k later on:

/builds/bkuhls/buildroot/br-test-pkg/bootlin-m68k-68040-uclibc/build/kodi-21.3-Omega/xbmc/utils/MathUtils.h:142:5:
 error: unknown register name ‘st’ in ‘asm’
  142 |     __asm__ __volatile__ (

because m68k is not part of the list of archs to disable asm code:
https://github.com/xbmc/xbmc/blob/Omega/xbmc/utils/MathUtils.h#L26

Upstream rejected to add m68k there:
https://github.com/xbmc/xbmc/pull/22519
https://github.com/xbmc/xbmc/pull/22357#issuecomment-1368358471

so we disable m68k in BR2_PACKAGE_KODI_ARCH_SUPPORTS.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Bernd Kuhls
2026-06-23 07:17:25 +02:00
committed by Thomas Petazzoni
parent 139025f793
commit 86102dd827
2 changed files with 43 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
From 1695ba12380272056f369f434747839b2ae38d91 Mon Sep 17 00:00:00 2001
From: fossdd <fossdd@pwned.life>
Date: Sat, 22 Feb 2025 20:59:28 +0100
Subject: [PATCH] [cmake] Set ARCH to CPU by default
Reduces complexity of redundant architecture names and allows building
for other architectures implicitly.
Upstream: https://github.com/xbmc/xbmc/commit/1695ba12380272056f369f434747839b2ae38d91
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
cmake/scripts/linux/ArchSetup.cmake | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/cmake/scripts/linux/ArchSetup.cmake b/cmake/scripts/linux/ArchSetup.cmake
index ab142177c8..f29a870a1e 100644
--- a/cmake/scripts/linux/ArchSetup.cmake
+++ b/cmake/scripts/linux/ArchSetup.cmake
@@ -37,17 +37,8 @@ else()
elseif(CPU MATCHES aarch64 OR CPU MATCHES arm64)
set(ARCH aarch64)
set(NEON True)
- elseif(CPU MATCHES riscv64)
- set(ARCH riscv64)
- set(NEON False)
- elseif(CPU MATCHES ppc64le)
- set(ARCH ppc64le)
- set(NEON False)
- elseif(CPU MATCHES loongarch64)
- set(ARCH loongarch64)
- set(NEON False)
else()
- message(SEND_ERROR "Unknown CPU: ${CPU}")
+ set(ARCH ${CPU})
endif()
endif()
--
2.47.3

View File

@@ -4,6 +4,8 @@ config BR2_PACKAGE_KODI_ARCH_SUPPORTS
default y if BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
# i386: needs sse (see upstream PR 10351)
depends on !(BR2_i386 && !BR2_X86_CPU_HAS_SSE)
# m68k not supported upstream
depends on !BR2_m68k
depends on BR2_USE_MMU # libcdio, and others
comment "kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 9.x, host gcc >= 9.x"