From 5b42305568aa16d162cbc88e2c4fcfbe394e23ee Mon Sep 17 00:00:00 2001 From: vasilito Date: Thu, 2 Jul 2026 17:51:45 +0300 Subject: [PATCH] qtshadertools(0.2.5): add host build step for qsb tool qtshadertools cross-compile needs the host 'qsb' (Qt Shader Builder) tool, just like qtbase needs host moc/rcc/uic. Added a native cmake build step that compiles qsb from the 6.11.1 source and installs it into the shared qt-host-build prefix. Also regenerate pam-redbear Cargo.lock (stale after 0.2.5 version bump of redbear-login-protocol path dependency). --- local/recipes/qt/qtshadertools/recipe.toml | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/local/recipes/qt/qtshadertools/recipe.toml b/local/recipes/qt/qtshadertools/recipe.toml index 8d9b8ef729..5cfa93e88b 100644 --- a/local/recipes/qt/qtshadertools/recipe.toml +++ b/local/recipes/qt/qtshadertools/recipe.toml @@ -16,6 +16,10 @@ script = """ DYNAMIC_INIT HOST_BUILD="${COOKBOOK_ROOT}/build/qt-host-build" +HOST_QST_BUILD="${COOKBOOK_ROOT}/build/qtshadertools-host-build" +HOST_QST_STAMP="${HOST_BUILD}/.redbear-host-qsb-6.11.1" +HOST_PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" + source "${COOKBOOK_ROOT}/local/scripts/lib/qt-sysroot.sh" redbear_qt_link_sysroot_dirs "${COOKBOOK_SYSROOT}" plugins mkspecs metatypes modules @@ -26,6 +30,51 @@ if [ -f "${COOKBOOK_SYSROOT}/lib/libredbear-qt-strtold-compat.so" ]; then cp -f "${COOKBOOK_SYSROOT}/lib/libredbear-qt-strtold-compat.so" "${COOKBOOK_SYSROOT}/usr/lib/" 2>/dev/null || true fi +# ============================================================ +# Step 1: Build qtshadertools host tools (qsb) on the host +# Qt6 cross-compile needs the host qsb tool for shader processing. +# ============================================================ +if [ ! -f "${HOST_BUILD}/libexec/qsb" ] || [ ! -f "${HOST_QST_STAMP}" ]; then + echo "=== Building qtshadertools host tools (qsb) ===" + rm -rf "${HOST_QST_BUILD}" + env -i \ + HOME="${HOME}" \ + PATH="${HOST_PATH}" \ + cmake -S "${COOKBOOK_SOURCE}" -B "${HOST_QST_BUILD}" \ + -GNinja \ + -DCMAKE_C_COMPILER=/usr/bin/cc \ + -DCMAKE_CXX_COMPILER=/usr/bin/c++ \ + -DCMAKE_ASM_COMPILER=/usr/bin/cc \ + -DCMAKE_AR=/usr/bin/ar \ + -DCMAKE_RANLIB=/usr/bin/ranlib \ + -DCMAKE_STRIP=/usr/bin/strip \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_PREFIX_PATH="${HOST_BUILD}" \ + -DQT_HOST_PATH="${HOST_BUILD}" \ + -DQT_BUILD_TOOLS_BY_DEFAULT=ON \ + -DBUILD_TESTING=OFF \ + -DBUILD_EXAMPLES=OFF \ + -Wno-dev + ( + cd "${HOST_QST_BUILD}" + env -i \ + HOME="${HOME}" \ + PATH="${HOST_PATH}" \ + cmake --build . -j"${COOKBOOK_MAKE_JOBS}" + ) + ( + cd "${HOST_QST_BUILD}" + env -i \ + HOME="${HOME}" \ + PATH="${HOST_PATH}" \ + cmake --install . --prefix "${HOST_BUILD}" + ) + printf '%s\n' "6.11.1" > "${HOST_QST_STAMP}" +fi + +# ============================================================ +# Step 2: Cross-compile qtshadertools for Redox +# ============================================================ redbear_qt_reset_cmake_cache_dir cmake "${COOKBOOK_SOURCE}" \