Source: qt6-shadertools
Version: 6.3.1-3
Tags: patch
User: debian-cr...@lists.debian.org
Usertags: ftcbfs

qt6-shadertools fails to cross build from source. The immediate failure
is missing QT_HOST_PATH. Then Qt6::qsb is missing. Fixing that involves
depending on the qsb tool, the relevant cmake files and setting
QT_HOST_PATH_CMAKE_DIR. Beyond that we need to request qsb despite doing
a cross build. I'm attaching a patch for your convenience.

Helmut
diff --minimal -Nru qt6-shadertools-6.3.1/debian/changelog 
qt6-shadertools-6.3.1/debian/changelog
--- qt6-shadertools-6.3.1/debian/changelog      2022-10-01 21:27:40.000000000 
+0200
+++ qt6-shadertools-6.3.1/debian/changelog      2022-10-30 18:55:46.000000000 
+0100
@@ -1,3 +1,13 @@
+qt6-shadertools (6.3.1-3.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: (Closes: #-1)
+    + Pass QT_HOST_PATH and QT_HOST_PATH_CMAKE_DIR.
+    + New cross build dependency on native qsb.
+    + Do build tools when cross compiling.
+
+ -- Helmut Grohne <hel...@subdivi.de>  Sun, 30 Oct 2022 18:55:46 +0100
+
 qt6-shadertools (6.3.1-3) unstable; urgency=medium
 
   [ Lisandro Damián Nicanor Pérez Meyer ]
diff --minimal -Nru qt6-shadertools-6.3.1/debian/control 
qt6-shadertools-6.3.1/debian/control
--- qt6-shadertools-6.3.1/debian/control        2022-10-01 21:21:43.000000000 
+0200
+++ qt6-shadertools-6.3.1/debian/control        2022-10-30 18:55:46.000000000 
+0100
@@ -6,12 +6,14 @@
 Build-Depends: cmake (>= 3.24~),
                debhelper-compat (= 13),
                libgl1-mesa-dev,
+               libqt6shadertools6-dev:native <cross>,
                libvulkan-dev [linux-any],
                ninja-build,
                pkg-config,
                pkg-kde-tools,
                qt6-base-dev (>= 6.3.1+dfsg~),
                qt6-base-private-dev (>= 6.3.1+dfsg~),
+               qt6-shader-baker <cross>,
 Standards-Version: 4.6.1
 Homepage: https://www.qt.io/developers/
 Rules-Requires-Root: no
diff --minimal -Nru qt6-shadertools-6.3.1/debian/rules 
qt6-shadertools-6.3.1/debian/rules
--- qt6-shadertools-6.3.1/debian/rules  2022-10-01 21:22:41.000000000 +0200
+++ qt6-shadertools-6.3.1/debian/rules  2022-10-30 18:55:46.000000000 +0100
@@ -6,13 +6,23 @@
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
+cmake_extra_args :=
+
+ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
+cmake_extra_args += \
+       -DQT_HOST_PATH=/usr \
+       -DQT_HOST_PATH_CMAKE_DIR=/usr/lib/$(DEB_BUILD_MULTIARCH)/cmake \
+       -DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=ON
+endif
+
 %:
        dh $@ --with pkgkde_symbolshelper --buildsystem=cmake+ninja
 
 override_dh_auto_configure:
        dh_auto_configure -- \
                --log-level=STATUS \
-               -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)
+               -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH) \
+               $(cmake_extra_args)
 
 execute_after_dh_auto_install:
        # Reproducible builds: remove build paths from .prl files

Reply via email to