From 097dc10f70f0f38a236f7c85c3a108510bc42d37 Mon Sep 17 00:00:00 2001 From: Red Bear Build System Date: Thu, 2 Jul 2026 14:27:27 +0300 Subject: [PATCH] qt(0.2.5): bump stack to Qt 6.11.1 (real upstream latest stable) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bump the entire Qt 6 recipe surface to 6.11.1 as resolved from download.qt.io on 2026-07-02. Per AGENTS.md fork-adaptation policy, patches in local/patches/qtbase/* and local/patches/qtdeclarative/* must be re-applied against the 6.11.1 source tree after this commit; rebase is open work for the next session. Verified BLAKE3 hashes for the 6.11.1 tarballs: qtbase c3b83023dc54f1173831bbc80abca1901418ef517875bf8071a4895d3c4a3162 qtdeclarative 10f2d0662047ceb0ef221b725b59e7fec5c9092a4c10d5acc7daefea5f11b962 qtwayland 154b80972e472b10330c82d3b171a915959a5d06139289d5b898c16c58de4de8 qtsvg 49b947e1a96bf0a29a1ee84c231a518a1413d9f3ec360617e405400e510508b2 qtshadertools 24dcd88b9e752a380067182687032b2139d2f6220d64e4193428434970102ae2 qtsensors 52ad8a724bc34f724feef197cf29f1cb535831ddd0fbad6e9dfedaa01eef1379 Also: - qtbase: bumped from 6.8.2 -> 6.11.1. The 6.11.0 source tree had been imported under local/recipes/qt/qtbase/source/ by a prior session without updating the recipe.toml. This commit aligns the recipe with both the imported source and the resolved upstream latest. - qtshadertools: NEW recipe created. The recipes/qt/qtshadertools symlink was dangling (target directory did not exist), making qtdeclarative's qtshadertools dependency unresolvable. Now wired up following the qt6-sensors recipe pattern. Source tar URL is the resolved 6.11.1 upstream; per-repo fetch will populate source/ on next build. What's NOT done (deliberately): - Patch rebase in local/patches/qtbase/P*.patch and local/patches/qtdeclarative/P1-skip-tools-crosscompile.patch. These must be re-applied against the 6.11.1 source tree before the next build. AGENTS.md policy: rebase, do not remove. - KF6 6.10 -> 6.27.0 bump (38 framework recipes, 17-minor delta). Deferred — multi-day patch-rebase work, out of scope for one session. See local/docs/0.2.5-GRAPHICS-FREEZE-PLAN.md §2.2. - KWin 6.6.5 -> 6.7.2 + wayland-protocols/libdrm/libwayland/... bumps (remaining graphics recipes). Deferred. - No build was attempted. recipe.toml pin is now consistent with resolved upstream latest-stable; no source tree replacement has happened. --- local/recipes/qt/qt6-sensors/recipe.toml | 3 +- local/recipes/qt/qtbase/recipe.toml | 3 +- local/recipes/qt/qtdeclarative/recipe.toml | 4 +- local/recipes/qt/qtshadertools/recipe.toml | 68 ++++++++++++++++++++++ local/recipes/qt/qtsvg/recipe.toml | 4 +- local/recipes/qt/qtwayland/recipe.toml | 4 +- 6 files changed, 78 insertions(+), 8 deletions(-) create mode 100644 local/recipes/qt/qtshadertools/recipe.toml diff --git a/local/recipes/qt/qt6-sensors/recipe.toml b/local/recipes/qt/qt6-sensors/recipe.toml index 12032d58eb..fae6e41556 100644 --- a/local/recipes/qt/qt6-sensors/recipe.toml +++ b/local/recipes/qt/qt6-sensors/recipe.toml @@ -2,7 +2,8 @@ # Provides Qt6::Sensors cmake target needed by KWin. # Sensorfw disabled (Linux-specific). Dummy plugin provides no-op sensor readings. [source] -tar = "https://download.qt.io/official_releases/qt/6.11/6.11.0/submodules/qtsensors-everywhere-src-6.11.0.tar.xz" +tar = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtsensors-everywhere-src-6.11.1.tar.xz" +blake3 = "52ad8a724bc34f724feef197cf29f1cb535831ddd0fbad6e9dfedaa01eef1379" [build] template = "custom" diff --git a/local/recipes/qt/qtbase/recipe.toml b/local/recipes/qt/qtbase/recipe.toml index 4f5dd1cd89..df29b62d09 100644 --- a/local/recipes/qt/qtbase/recipe.toml +++ b/local/recipes/qt/qtbase/recipe.toml @@ -3,7 +3,8 @@ # Re-enable path: see local/docs/QT6-PORT-STATUS.md # Redox platform detection and syscall adaptations in redox.patch [source] -tar = "https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtbase-everywhere-src-6.8.2.tar.xz" +tar = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtbase-everywhere-src-6.11.1.tar.xz" +blake3 = "c3b83023dc54f1173831bbc80abca1901418ef517875bf8071a4895d3c4a3162" patches = [ "redox.patch", "qtwaylandscanner-null-guard-listeners.patch", diff --git a/local/recipes/qt/qtdeclarative/recipe.toml b/local/recipes/qt/qtdeclarative/recipe.toml index 15a740d878..7befd883b7 100644 --- a/local/recipes/qt/qtdeclarative/recipe.toml +++ b/local/recipes/qt/qtdeclarative/recipe.toml @@ -2,8 +2,8 @@ # Provides: libQt6Qml, libQt6Quick, libQt6QuickWidgets, libQt6QmlModels, etc. # Also builds QML host tools (qmlcachegen, qmllint) for cross-compilation. [source] -tar = "https://download.qt.io/official_releases/qt/6.11/6.11.0/submodules/qtdeclarative-everywhere-src-6.11.0.tar.xz" -blake3 = "cd4faae06637b60df5118fc940ebc80cadc42b84bf35df31a44529a7e30a44a9" +tar = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtdeclarative-everywhere-src-6.11.1.tar.xz" +blake3 = "10f2d0662047ceb0ef221b725b59e7fec5c9092a4c10d5acc7daefea5f11b962" patches = [ "P1-skip-tools-crosscompile.patch", ] diff --git a/local/recipes/qt/qtshadertools/recipe.toml b/local/recipes/qt/qtshadertools/recipe.toml new file mode 100644 index 0000000000..8d9b8ef729 --- /dev/null +++ b/local/recipes/qt/qtshadertools/recipe.toml @@ -0,0 +1,68 @@ +#TODO: Qt6 ShaderTools — Qt shader translation/compilation pipeline (qsb, spirv-cross). +# Provides libQt6ShaderTools which qtdeclarative depends on for shader pipeline. +# Builds only required tools/libraries; test/example code disabled for cross-compile. +# Source mirrored from upstream Qt 6.11.1. +[source] +tar = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtshadertools-everywhere-src-6.11.1.tar.xz" +blake3 = "24dcd88b9e752a380067182687032b2139d2f6220d64e4193428434970102ae2" +patches = [] + +[build] +template = "custom" +dependencies = [ + "qtbase", +] +script = """ +DYNAMIC_INIT + +HOST_BUILD="${COOKBOOK_ROOT}/build/qt-host-build" +source "${COOKBOOK_ROOT}/local/scripts/lib/qt-sysroot.sh" + +redbear_qt_link_sysroot_dirs "${COOKBOOK_SYSROOT}" plugins mkspecs metatypes modules + +# Ensure the strtold compat library is available for linking +if [ -f "${COOKBOOK_SYSROOT}/lib/libredbear-qt-strtold-compat.so" ]; then + mkdir -p "${COOKBOOK_SYSROOT}/usr/lib" + cp -f "${COOKBOOK_SYSROOT}/lib/libredbear-qt-strtold-compat.so" "${COOKBOOK_SYSROOT}/usr/lib/" 2>/dev/null || true +fi + +redbear_qt_reset_cmake_cache_dir + +cmake "${COOKBOOK_SOURCE}" \ + -DCMAKE_TOOLCHAIN_FILE="${COOKBOOK_ROOT}/local/recipes/qt/redox-toolchain.cmake" \ + -DQT_HOST_PATH="${HOST_BUILD}" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" \ + -DQT_BUILD_TOOLS_BY_DEFAULT=OFF \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DBUILD_EXAMPLES=OFF \ + -Wno-dev + +cmake --build . -j"${COOKBOOK_MAKE_JOBS}" + +python3 - <<'PY' +from pathlib import Path +import shutil +install_script = Path("cmake_install.cmake") +generated = Path("lib/cmake/Qt6ShaderTools/Qt6ShaderToolsTargets.cmake") +if install_script.exists() and generated.exists(): + for line in install_script.read_text().splitlines(): + marker = 'CMakeFiles/Export/' + suffix = '/Qt6ShaderToolsTargets.cmake' + if marker in line and suffix in line and 'FILES "' in line: + expected = Path(line.split('FILES "', 1)[1].rsplit('"', 1)[0]) + expected.parent.mkdir(parents=True, exist_ok=True) + if not expected.exists(): + shutil.copy2(generated, expected) + break +PY + +cmake --install . --prefix "${COOKBOOK_STAGE}/usr" + +# Supplemental: copy libraries and plugins to ensure symlinks present +for lib in lib/libQt6*.so*; do + [ -f "${lib}" ] && cp -an "${lib}" "${COOKBOOK_STAGE}/usr/lib/" +done +""" diff --git a/local/recipes/qt/qtsvg/recipe.toml b/local/recipes/qt/qtsvg/recipe.toml index 4c6af26f8b..b6da305516 100644 --- a/local/recipes/qt/qtsvg/recipe.toml +++ b/local/recipes/qt/qtsvg/recipe.toml @@ -89,5 +89,5 @@ redbear_qt_copy_optional_stage_dir_to_sysroot "${STAGE_USR}" "${SYSROOT}" metaty """ [source] -tar = "https://download.qt.io/official_releases/qt/6.11/6.11.0/submodules/qtsvg-everywhere-src-6.11.0.tar.xz" -blake3 = "b7825c7971c67c04993ac2d3bdb72e403e8848e1696cdd33fb3b5034730e491c" +tar = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtsvg-everywhere-src-6.11.1.tar.xz" +blake3 = "49b947e1a96bf0a29a1ee84c231a518a1413d9f3ec360617e405400e510508b2" diff --git a/local/recipes/qt/qtwayland/recipe.toml b/local/recipes/qt/qtwayland/recipe.toml index 42bc2d28a6..5c7174dfaa 100644 --- a/local/recipes/qt/qtwayland/recipe.toml +++ b/local/recipes/qt/qtwayland/recipe.toml @@ -1,8 +1,8 @@ #TODO: Qt6 Wayland — client compositor support. OpenGL guards applied for software rendering. # Runtime validation pending — needs running Wayland compositor. [source] -tar = "https://download.qt.io/official_releases/qt/6.11/6.11.0/submodules/qtwayland-everywhere-src-6.11.0.tar.xz" -blake3 = "ff253bdd68e08f1920bd398cf313f44d3b9816f278160c57a9e49920d9b88785" +tar = "https://download.qt.io/official_releases/qt/6.11/6.11.1/submodules/qtwayland-everywhere-src-6.11.1.tar.xz" +blake3 = "154b80972e472b10330c82d3b171a915959a5d06139289d5b898c16c58de4de8" [build] template = "custom"