From b0c7c21d033f50e054788f87cdbdfbaed3e82ec5 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Fri, 22 Mar 2024 09:22:33 +0000 Subject: [PATCH 01/18] llvm: update to 18.1.8 --- packages/lang/llvm/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/lang/llvm/package.mk b/packages/lang/llvm/package.mk index 9546e2da23..3cc3002484 100644 --- a/packages/lang/llvm/package.mk +++ b/packages/lang/llvm/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) PKG_NAME="llvm" -PKG_VERSION="17.0.6" -PKG_SHA256="58a8818c60e6627064f312dbf46c02d9949956558340938b71cf731ad8bc0813" +PKG_VERSION="18.1.8" +PKG_SHA256="0b58557a6d32ceee97c8d533a59b9212d87e0fc4d2833924eb6c611247db2f2a" PKG_LICENSE="Apache-2.0" PKG_SITE="http://llvm.org/" PKG_URL="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PKG_VERSION}/llvm-project-${PKG_VERSION/-/}.src.tar.xz" From f2d5957612f71de4616707699f395c71c5d964a1 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Tue, 22 Jul 2025 13:54:07 +0000 Subject: [PATCH 02/18] spirv-llvm-translator: update to 18.1.14 --- packages/graphics/spirv-llvm-translator/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/graphics/spirv-llvm-translator/package.mk b/packages/graphics/spirv-llvm-translator/package.mk index 58adaa30a7..bc09625017 100644 --- a/packages/graphics/spirv-llvm-translator/package.mk +++ b/packages/graphics/spirv-llvm-translator/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2024-present Team LibreELEC (https://libreelec.tv) PKG_NAME="spirv-llvm-translator" -PKG_VERSION="17.0.14" -PKG_SHA256="0aa498daca090793d87ba24a61b01b6dfdcd00ea960611bd2dca1101333b7d88" +PKG_VERSION="18.1.14" +PKG_SHA256="c6f9fbbd3a27f4805f15383059f070263a5b046796f1df3cff06859838b98b90" PKG_LICENSE="LLVM" PKG_SITE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" PKG_URL="https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/v${PKG_VERSION}.tar.gz" From 492c6b2225daa0d62643768f773f76aec5841279 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Fri, 22 Mar 2024 09:23:48 +0000 Subject: [PATCH 03/18] rust: update to 1.78.0 --- packages/rust/rust/package.mk | 6 +++--- packages/rust/rust/targets/x86_64-libreelec-linux-gnu.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/rust/rust/package.mk b/packages/rust/rust/package.mk index 6e65530523..4b67bbb68d 100644 --- a/packages/rust/rust/package.mk +++ b/packages/rust/rust/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) PKG_NAME="rust" -PKG_VERSION="1.76.0" -PKG_SHA256="9e5cff033a7f0d2266818982ad90e4d3e4ef8f8ee1715776c6e25073a136c021" +PKG_VERSION="1.78.0" +PKG_SHA256="ff544823a5cb27f2738128577f1e7e00ee8f4c83f2a348781ae4fc355e91d5a9" PKG_LICENSE="MIT" PKG_SITE="https://www.rust-lang.org" PKG_URL="https://static.rust-lang.org/dist/rustc-${PKG_VERSION}-src.tar.gz" @@ -33,7 +33,7 @@ configure_host() { esac cat > ${PKG_BUILD}/config.toml < Date: Fri, 22 Mar 2024 09:23:48 +0000 Subject: [PATCH 04/18] cargo-snapshot: update to 1.78.0 --- packages/rust/cargo-snapshot/package.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/rust/cargo-snapshot/package.mk b/packages/rust/cargo-snapshot/package.mk index 9fa586b211..eefe93a86e 100644 --- a/packages/rust/cargo-snapshot/package.mk +++ b/packages/rust/cargo-snapshot/package.mk @@ -10,15 +10,15 @@ PKG_TOOLCHAIN="manual" case "${MACHINE_HARDWARE_NAME}" in "aarch64") - PKG_SHA256="d0c54d824e64b7313a974409541ca3a157b3ed7299865786bd0c440b0e073091" + PKG_SHA256="5173f84a07d4cc6b19f27eda7464999c5886232ce8e54bf61b06617635d43fb9" PKG_URL="https://static.rust-lang.org/dist/cargo-${PKG_VERSION}-${MACHINE_HARDWARE_NAME}-unknown-linux-gnu.tar.xz" ;; "arm") - PKG_SHA256="427eff597f3801987959a97a1ee5d5df57c56875a7adada41b45e72b46edfb4d" + PKG_SHA256="3c69ce28099974d5b2698aca4c10c88b4f2e04a89f44627373d98a76f9b9efc7" PKG_URL="https://static.rust-lang.org/dist/cargo-${PKG_VERSION}-${MACHINE_HARDWARE_NAME}-unknown-linux-gnueabihf.tar.xz" ;; "x86_64") - PKG_SHA256="30ec0ad9fca443ec12c544f9ce448dacdde411a45b9042961938b650e918ccfb" + PKG_SHA256="f8aacf7a101eb10dc000b8bf26de90a9d0ce678d02ccf70430ed20dd31ecec6b" PKG_URL="https://static.rust-lang.org/dist/cargo-${PKG_VERSION}-${MACHINE_HARDWARE_NAME}-unknown-linux-gnu.tar.xz" ;; esac From 3974f4078374beab6b336b2e18e66879ff638f7e Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Fri, 22 Mar 2024 09:23:48 +0000 Subject: [PATCH 05/18] rust-std-snapshot: update to 1.78.0 --- packages/rust/rust-std-snapshot/package.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/rust/rust-std-snapshot/package.mk b/packages/rust/rust-std-snapshot/package.mk index afc6f3d88f..3f32c97902 100644 --- a/packages/rust/rust-std-snapshot/package.mk +++ b/packages/rust/rust-std-snapshot/package.mk @@ -10,15 +10,15 @@ PKG_TOOLCHAIN="manual" case "${MACHINE_HARDWARE_NAME}" in "aarch64") - PKG_SHA256="c0c579d9321da855109a2b6c7d7c9e01549db37e8490f058cfdc0012bef394cd" + PKG_SHA256="66cf114dcd8056a596bf169f824ff95ff1837bc065daaafdbcaa02ce92903304" PKG_URL="https://static.rust-lang.org/dist/rust-std-${PKG_VERSION}-${MACHINE_HARDWARE_NAME}-unknown-linux-gnu.tar.xz" ;; "arm") - PKG_SHA256="3b9a6af550679c82cf205b665962de86d067e9ccfc392c754217519dbf2bce52" + PKG_SHA256="897271da9a11a6783b736f7d2a600e3a6782618ebe28cf24713986ab8f90c871" PKG_URL="https://static.rust-lang.org/dist/rust-std-${PKG_VERSION}-${MACHINE_HARDWARE_NAME}-unknown-linux-gnueabihf.tar.xz" ;; "x86_64") - PKG_SHA256="e41150b52d923a3bbe166c4ecc5719f56576274b0d034d764768aee279ae2063" + PKG_SHA256="95aece42a336f237c5bac5c5d9aca051b7f0bd3e6a64fb3c5828e6d0d3af2e8c" PKG_URL="https://static.rust-lang.org/dist/rust-std-${PKG_VERSION}-${MACHINE_HARDWARE_NAME}-unknown-linux-gnu.tar.xz" ;; esac From 8ba68efb87e47e92d61fc89dfa98e3d9310351aa Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Fri, 22 Mar 2024 09:23:48 +0000 Subject: [PATCH 06/18] rustc-snapshot: update to 1.78.0 --- packages/rust/rustc-snapshot/package.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/rust/rustc-snapshot/package.mk b/packages/rust/rustc-snapshot/package.mk index 4709b5a1c6..a24e6fe594 100644 --- a/packages/rust/rustc-snapshot/package.mk +++ b/packages/rust/rustc-snapshot/package.mk @@ -10,15 +10,15 @@ PKG_TOOLCHAIN="manual" case "${MACHINE_HARDWARE_NAME}" in "aarch64") - PKG_SHA256="a299b5053d2771c24e3d5787caa0317ea729618700acacf2eeb95e345a92529c" + PKG_SHA256="e0450bef5537e6b0bb82872e9f837c3b3f6397cc8eba6f53211481c82426e1ce" PKG_URL="https://static.rust-lang.org/dist/rustc-${PKG_VERSION}-${MACHINE_HARDWARE_NAME}-unknown-linux-gnu.tar.xz" ;; "arm") - PKG_SHA256="f398547fd5ad0e2f5904ace4eddaf74c615d0a75221b36ed2667fbb9a6324714" + PKG_SHA256="8e42581140e56ad55a67e2e8a3b562b86fa7571bbc394c0df8696f0276a8faf3" PKG_URL="https://static.rust-lang.org/dist/rustc-${PKG_VERSION}-${MACHINE_HARDWARE_NAME}-unknown-linux-gnueabihf.tar.xz" ;; "x86_64") - PKG_SHA256="9fadfcf71bc6a0ddfd026b9624163faf1c5689dd4a1f7cc1f857167ade4aa6eb" + PKG_SHA256="3994971e5923716d54e4b574ce238f04c4e20cda03990670f7cc3f87d36e5499" PKG_URL="https://static.rust-lang.org/dist/rustc-${PKG_VERSION}-${MACHINE_HARDWARE_NAME}-unknown-linux-gnu.tar.xz" ;; esac From fd31612344b7942b880e9693e2578856bb08f72d Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Wed, 16 Apr 2025 14:29:35 +0000 Subject: [PATCH 07/18] mesa: update to 25.1.6 release notes: https://docs.mesa3d.org/relnotes/25.1.0.html --- packages/graphics/mesa/package.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index a6659fed63..7618e2a4bf 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) PKG_NAME="mesa" -PKG_VERSION="25.0.7" -PKG_SHA256="592272df3cf01e85e7db300c449df5061092574d099da275d19e97ef0510f8a6" +PKG_VERSION="25.1.6" +PKG_SHA256="9f2b69eb39d2d8717d30a9868fdda3e0c0d3708ba32778bbac8ddb044538ce84" PKG_LICENSE="OSS" PKG_SITE="http://www.mesa3d.org/" PKG_URL="https://mesa.freedesktop.org/archive/mesa-${PKG_VERSION}.tar.xz" @@ -117,5 +117,5 @@ fi makeinstall_host() { mkdir -p "${TOOLCHAIN}/bin" cp -a src/compiler/clc/mesa_clc "${TOOLCHAIN}/bin" - cp -a src/compiler/spirv/vtn_bindgen "${TOOLCHAIN}/bin" + cp -a src/compiler/spirv/vtn_bindgen2 "${TOOLCHAIN}/bin" } From 1003fd46313135dad101242b2efc485a3c809785 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Thu, 8 May 2025 13:12:03 +0000 Subject: [PATCH 08/18] mesa: panfrost requires libclc since 25.1.0 --- packages/graphics/mesa/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 7618e2a4bf..f339979b6a 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -61,7 +61,7 @@ if listcontains "${GRAPHIC_DRIVERS}" "etnaviv"; then PKG_DEPENDS_TARGET+=" pycparser:host" fi -if listcontains "${GRAPHIC_DRIVERS}" "iris"; then +if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then PKG_DEPENDS_TARGET+=" mesa:host" PKG_MESON_OPTS_TARGET+=" -Dmesa-clc=system" fi From 90e7044d2b8a787fe653512d2bf4d3913e326dad Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Mon, 21 Jul 2025 12:06:24 +0000 Subject: [PATCH 09/18] mesa: part Add Generic-gl device --- packages/graphics/mesa/package.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index f339979b6a..1542c3b9de 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -66,7 +66,9 @@ if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then PKG_MESON_OPTS_TARGET+=" -Dmesa-clc=system" fi -if listcontains "${GRAPHIC_DRIVERS}" "(nvidia|nvidia-ng)"; then +if listcontains "${GRAPHIC_DRIVERS}" "(nvidia|nvidia-ng)" || + [ "${OPENGL_SUPPORT}" = "yes" ] && + [ "${DISPLAYSERVER}" != "x11" ]; then PKG_DEPENDS_TARGET+=" libglvnd" PKG_MESON_OPTS_TARGET+=" -Dglvnd=enabled" else From 69a736e075fbd1244457baf176aae9b3fa886405 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Thu, 8 May 2025 16:41:18 +0000 Subject: [PATCH 10/18] mesa: build panfrost compiler as required by 25.1.0 --- packages/graphics/mesa/package.mk | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 1542c3b9de..8d40f6c45e 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -61,11 +61,17 @@ if listcontains "${GRAPHIC_DRIVERS}" "etnaviv"; then PKG_DEPENDS_TARGET+=" pycparser:host" fi -if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then +if listcontains "${GRAPHIC_DRIVERS}" "iris"; then PKG_DEPENDS_TARGET+=" mesa:host" PKG_MESON_OPTS_TARGET+=" -Dmesa-clc=system" fi +if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then + PKG_DEPENDS_TARGET+=" mesa:host" + PKG_MESON_OPTS_HOST+=" -Dtools=panfrost" + PKG_MESON_OPTS_TARGET+=" -Dprecomp-compiler=system -Dmesa-clc=system" +fi + if listcontains "${GRAPHIC_DRIVERS}" "(nvidia|nvidia-ng)" || [ "${OPENGL_SUPPORT}" = "yes" ] && [ "${DISPLAYSERVER}" != "x11" ]; then @@ -120,4 +126,8 @@ makeinstall_host() { mkdir -p "${TOOLCHAIN}/bin" cp -a src/compiler/clc/mesa_clc "${TOOLCHAIN}/bin" cp -a src/compiler/spirv/vtn_bindgen2 "${TOOLCHAIN}/bin" + + if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then + cp -a src/panfrost/clc/panfrost_compile "${TOOLCHAIN}/bin" + fi } From ca2f6232bba45a1fe29c8bd1fec0059ed8ebee6e Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 10 May 2025 07:18:34 +0000 Subject: [PATCH 11/18] mesa: host builds with shared-llvm=disabled allows mesa_clc to be portable between build trees and build hosts --- packages/graphics/mesa/package.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 8d40f6c45e..a296d6bfb6 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -23,7 +23,8 @@ PKG_MESON_OPTS_HOST="-Dglvnd=disabled \ -Dgallium-vdpau=disabled \ -Dplatforms= \ -Dglx=disabled \ - -Dvulkan-drivers=" + -Dvulkan-drivers= \ + -Dshared-llvm=disabled" PKG_MESON_OPTS_TARGET="-Dgallium-drivers=${GALLIUM_DRIVERS// /,} \ -Dgallium-extra-hud=false \ From 0ea5016c0c75ece7609156b289c304248611a6d3 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sun, 11 May 2025 23:24:15 +0000 Subject: [PATCH 12/18] mesa: for host builds always build panfrost_compile --- packages/graphics/mesa/package.mk | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index a296d6bfb6..30ff2f45e4 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -24,7 +24,8 @@ PKG_MESON_OPTS_HOST="-Dglvnd=disabled \ -Dplatforms= \ -Dglx=disabled \ -Dvulkan-drivers= \ - -Dshared-llvm=disabled" + -Dshared-llvm=disabled \ + -Dtools=panfrost" PKG_MESON_OPTS_TARGET="-Dgallium-drivers=${GALLIUM_DRIVERS// /,} \ -Dgallium-extra-hud=false \ @@ -62,15 +63,9 @@ if listcontains "${GRAPHIC_DRIVERS}" "etnaviv"; then PKG_DEPENDS_TARGET+=" pycparser:host" fi -if listcontains "${GRAPHIC_DRIVERS}" "iris"; then +if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then PKG_DEPENDS_TARGET+=" mesa:host" - PKG_MESON_OPTS_TARGET+=" -Dmesa-clc=system" -fi - -if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then - PKG_DEPENDS_TARGET+=" mesa:host" - PKG_MESON_OPTS_HOST+=" -Dtools=panfrost" - PKG_MESON_OPTS_TARGET+=" -Dprecomp-compiler=system -Dmesa-clc=system" + PKG_MESON_OPTS_TARGET+=" -Dmesa-clc=system -Dprecomp-compiler=system" fi if listcontains "${GRAPHIC_DRIVERS}" "(nvidia|nvidia-ng)" || @@ -124,11 +119,8 @@ else fi makeinstall_host() { - mkdir -p "${TOOLCHAIN}/bin" - cp -a src/compiler/clc/mesa_clc "${TOOLCHAIN}/bin" - cp -a src/compiler/spirv/vtn_bindgen2 "${TOOLCHAIN}/bin" + host_files="src/compiler/clc/mesa_clc src/compiler/spirv/vtn_bindgen2 src/panfrost/clc/panfrost_compile" - if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then - cp -a src/panfrost/clc/panfrost_compile "${TOOLCHAIN}/bin" - fi + mkdir -p "${TOOLCHAIN}/bin" + cp -a ${host_files} "${TOOLCHAIN}/bin" } From d8f6fac9b1cdaa75dfe3067ab87a6deb0a64c076 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Wed, 21 May 2025 17:46:19 +0200 Subject: [PATCH 13/18] mesa: fix logic error in glvnd selection Commit 9d2001f14ec7 ("Add Generic-gl device") introduced a subtle error in the glvnd enablement logic that lead to the Generic-Legacy image being built without glvnd which breaks nvidia support. Unlike most programming languages "||" and "&&" have the same precedence in shell and "A || B && C" get evaluated as "(A || B) && C" instead of the intended "A || (B && C)". Fix this by moving the "AND not-X11" check into the "GL" test and adjust formatting to make the intention clear. Signed-off-by: Matthias Reichl --- packages/graphics/mesa/package.mk | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 30ff2f45e4..ae7db59aa3 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -69,8 +69,7 @@ if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then fi if listcontains "${GRAPHIC_DRIVERS}" "(nvidia|nvidia-ng)" || - [ "${OPENGL_SUPPORT}" = "yes" ] && - [ "${DISPLAYSERVER}" != "x11" ]; then + [ "${OPENGL_SUPPORT}" = "yes" -a "${DISPLAYSERVER}" != "x11" ]; then PKG_DEPENDS_TARGET+=" libglvnd" PKG_MESON_OPTS_TARGET+=" -Dglvnd=enabled" else From 35dc9c0b71bd0f66d23321d32e32058524618f95 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 17 May 2025 05:31:40 +0000 Subject: [PATCH 14/18] mesa-reusable: initial release --- packages/graphics/mesa-reusable/package.mk | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 packages/graphics/mesa-reusable/package.mk diff --git a/packages/graphics/mesa-reusable/package.mk b/packages/graphics/mesa-reusable/package.mk new file mode 100644 index 0000000000..30fb0da221 --- /dev/null +++ b/packages/graphics/mesa-reusable/package.mk @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="mesa-reusable" +PKG_LICENSE="OSS" +PKG_SITE="http://www.mesa3d.org/" +PKG_DEPENDS_HOST="toolchain:host" +PKG_LONGDESC="Mesa is a 3-D graphics library with an API." +PKG_TOOLCHAIN="manual" + +MESA_VERSION=$(get_pkg_version mesa) +PKG_VERSION="${OS_VERSION}-${MESA_VERSION}" +PKG_SOURCE_NAME="${PKG_NAME}-${PKG_VERSION}-${MACHINE_HARDWARE_NAME}.tar" +PKG_URL="https://github.com/LibreELEC/mesa-reusable/releases/download/${PKG_VERSION}/${PKG_SOURCE_NAME}" +PKG_SHA256="$(curl --fail --connect-timeout 30 --retry 3 --location --max-redirs 5 ${PKG_URL}.sha256)" + +unpack() { + mkdir -p ${TOOLCHAIN}/bin + tar -xf ${SOURCES}/${PKG_NAME}/${PKG_SOURCE_NAME} -C ${TOOLCHAIN}/bin +} From 4c78a6818cb60da4bd4abd969f634f015eeb7a03 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sun, 11 May 2025 05:49:56 +0000 Subject: [PATCH 15/18] mesa: host: enable build of reusable tools strip the tools and apply upx create a tar file of the reusable mesa:host tools --- distributions/LibreELEC/options | 8 ++++++++ packages/graphics/mesa/package.mk | 23 +++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/distributions/LibreELEC/options b/distributions/LibreELEC/options index 729f8d5aed..3d3ca4cfa8 100644 --- a/distributions/LibreELEC/options +++ b/distributions/LibreELEC/options @@ -265,3 +265,11 @@ # for a list of additional drivers see packages/linux-driver-addons # Space separated list is supported, DRIVER_ADDONS="crazycat digital_devices dvb-latest" + +# should reusable host tools be built: +# Space separated list is supported, +# list of options are: +# - all (for all host tools to be built) +# - mesa:host +# - save-local (saves a copy in sources/reusable/ + BUILD_REUSABLE="" diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index ae7db59aa3..e7d26bc82d 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -120,6 +120,29 @@ fi makeinstall_host() { host_files="src/compiler/clc/mesa_clc src/compiler/spirv/vtn_bindgen2 src/panfrost/clc/panfrost_compile" + if listcontains "${BUILD_REUSABLE}" "(all|mesa:host)"; then + # Build the reusable mesa:host for both local and to be added to a GitHub release + strip ${host_files} + upx --lzma ${host_files} + + REUSABLE_SOURCES="${SOURCES}/mesa-reusable" + MESA_HOST="mesa-reusable-${OS_VERSION}-${PKG_VERSION}" + REUSABLE_SOURCE_NAME=${MESA_HOST}-${MACHINE_HARDWARE_NAME}.tar + + mkdir -p "${TARGET_IMG}" + + tar cf ${TARGET_IMG}/${REUSABLE_SOURCE_NAME} --transform='s|.*/||' ${host_files} + sha256sum ${TARGET_IMG}/${REUSABLE_SOURCE_NAME} | \ + cut -d" " -f1 >${TARGET_IMG}/${REUSABLE_SOURCE_NAME}.sha256 + + if listcontains "${BUILD_REUSABLE}" "save-local"; then + mkdir -p "${REUSABLE_SOURCES}" + cp -p ${TARGET_IMG}/${REUSABLE_SOURCE_NAME} ${REUSABLE_SOURCES} + cp -p ${TARGET_IMG}/${REUSABLE_SOURCE_NAME}.sha256 ${REUSABLE_SOURCES} + echo "save-local" >${REUSABLE_SOURCES}/${REUSABLE_SOURCE_NAME}.url + fi + fi + mkdir -p "${TOOLCHAIN}/bin" cp -a ${host_files} "${TOOLCHAIN}/bin" } From bfa6a95d90e7873b415105c0d8081962711726a7 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 17 May 2025 05:44:18 +0000 Subject: [PATCH 16/18] mesa: allow use of mesa-reusable host tools --- distributions/LibreELEC/options | 3 +++ packages/graphics/mesa/package.mk | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/distributions/LibreELEC/options b/distributions/LibreELEC/options index 3d3ca4cfa8..4a52cbd9b9 100644 --- a/distributions/LibreELEC/options +++ b/distributions/LibreELEC/options @@ -273,3 +273,6 @@ # - mesa:host # - save-local (saves a copy in sources/reusable/ BUILD_REUSABLE="" + +# should reusable host tools be used (yes / no) + USE_REUSABLE="no" diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index e7d26bc82d..333675e32e 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -64,7 +64,11 @@ if listcontains "${GRAPHIC_DRIVERS}" "etnaviv"; then fi if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then - PKG_DEPENDS_TARGET+=" mesa:host" + if [ "${USE_REUSABLE}" = "yes" ]; then + PKG_DEPENDS_TARGET+=" mesa-reusable" + else + PKG_DEPENDS_TARGET+=" mesa:host" + fi PKG_MESON_OPTS_TARGET+=" -Dmesa-clc=system -Dprecomp-compiler=system" fi From 7c7c98b0f6bc6781577820b97973b105c9e37ced Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 7 Jun 2025 14:25:54 +0000 Subject: [PATCH 17/18] mesa: drop deprecated options The following options are now deprecated: - DEPRECATION: Option 'gallium-nine' is deprecated - was false and defaults to false - DEPRECATION: Option 'gallium-opencl' is deprecated - was false and defaults to false - DEPRECATION: Option 'shared-glapi' is deprecated - option now does nothing - DEPRECATION: Option 'osmesa' is deprecated - option now does nothing - DEPRECATION: Option 'gallium-xa' is deprecated - this deprecated option has been left as-is until it is removed by upstream. this is expected in mesa 25.2 is set to true for vmware otherwise was false and defaults to false --- packages/graphics/mesa/package.mk | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 333675e32e..91fb0ce5b0 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -30,10 +30,7 @@ PKG_MESON_OPTS_HOST="-Dglvnd=disabled \ PKG_MESON_OPTS_TARGET="-Dgallium-drivers=${GALLIUM_DRIVERS// /,} \ -Dgallium-extra-hud=false \ -Dgallium-rusticl=false \ - -Dgallium-nine=false \ - -Dgallium-opencl=disabled \ -Dshader-cache=enabled \ - -Dshared-glapi=enabled \ -Dopengl=true \ -Dgbm=enabled \ -Degl=enabled \ @@ -42,8 +39,7 @@ PKG_MESON_OPTS_TARGET="-Dgallium-drivers=${GALLIUM_DRIVERS// /,} \ -Dlmsensors=disabled \ -Dbuild-tests=false \ -Ddraw-use-llvm=false \ - -Dmicrosoft-clc=disabled \ - -Dosmesa=false" + -Dmicrosoft-clc=disabled" if [ "${DISPLAYSERVER}" = "x11" ]; then PKG_DEPENDS_TARGET+=" xorgproto libXext libXdamage libXfixes libXxf86vm libxcb libX11 libxshmfence libXrandr" From 26fbb83eaf655107b037a9d59878f81c5bd3a304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Kelemen=20=28vudiq=29?= Date: Wed, 29 Jan 2025 20:06:19 +0100 Subject: [PATCH 18/18] ply: add python-ply package ply is required by mesa package when building vulkan drivers, otherwise following error is thrown: Problem encountered: Python (3.x) ply module required to build GRL kernels. --- packages/graphics/mesa/package.mk | 2 +- packages/python/devel/ply/package.mk | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 packages/python/devel/ply/package.mk diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 91fb0ce5b0..e4c5d98bfa 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -111,7 +111,7 @@ else fi if [ "${VULKAN_SUPPORT}" = "yes" ]; then - PKG_DEPENDS_TARGET+=" ${VULKAN} vulkan-tools" + PKG_DEPENDS_TARGET+=" ${VULKAN} vulkan-tools ply:host" PKG_MESON_OPTS_TARGET+=" -Dvulkan-drivers=${VULKAN_DRIVERS_MESA// /,}" else PKG_MESON_OPTS_TARGET+=" -Dvulkan-drivers=" diff --git a/packages/python/devel/ply/package.mk b/packages/python/devel/ply/package.mk new file mode 100644 index 0000000000..57547a367c --- /dev/null +++ b/packages/python/devel/ply/package.mk @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="ply" +PKG_VERSION="3.11" +PKG_SHA256="00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3" +PKG_LICENSE="BSD-3-Clause" +PKG_SITE="https://pypi.org/project/ply" +PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.gz" +PKG_DEPENDS_HOST="Python3:host setuptools:host" +PKG_LONGDESC="PLY is yet another implementation of lex and yacc for Python." +PKG_TOOLCHAIN="python"