Subject: [PATCH 1/1] guix: qt: add inputs and outputs build variables in qt-build

From: Rutherther <[email-masked]>
Date: Wed, 4 Dec 2024 20:15:36 +0100

Qt build doesn't provide build-variables of inputs and outputs,
so it's not possible to refer to %outputs in arguments of
a package that uses qt-build-system. This patch unifies
qt-build-system's behavior with other build systems like
cmake-build-system or gnu-build-system.

* guix/build-system/qt.scm (qt-build): Wrap with with-build-variables to
provide variables to arguments

Change-Id: I65853a5831ce7b5dc7ebe10807c6e61bb89cab36
---
 guix/build-system/qt.scm | 54 +++++++++++++++++++++-------------------
 1 file changed, 28 insertions(+), 26 deletions(-)

diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm
index d1f721c54e..5f9a5019ae 100644
--- a/guix/build-system/qt.scm
+++ b/guix/build-system/qt.scm
@@ -152,32 +152,34 @@ (define* (qt-build name inputs
     (with-imported-modules imported-modules
       #~(begin
           (use-modules #$@(sexp->gexp modules))
-          (qt-build #:source #+source
-                    #:system #$system
-                    #:outputs #$(outputs->gexp outputs)
-                    #:inputs #$(input-tuples->gexp inputs)
-                    #:search-paths '#$(sexp->gexp
-                                       (map search-path-specification->sexp
-                                            search-paths))
-                    #:phases #$(if (pair? phases)
-                                   (sexp->gexp phases)
-                                   phases)
-                    #:qtbase #+qtbase
-                    #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
-                    #:qt-wrap-excluded-inputs #$qt-wrap-excluded-inputs
-                    #:configure-flags #$configure-flags
-                    #:make-flags #$make-flags
-                    #:out-of-source? #$out-of-source?
-                    #:build-type #$build-type
-                    #:tests? #$tests?
-                    #:test-target #$test-target
-                    #:parallel-build? #$parallel-build?
-                    #:parallel-tests? #$parallel-tests?
-                    #:validate-runpath? #$validate-runpath?
-                    #:patch-shebangs? #$patch-shebangs?
-                    #:strip-binaries? #$strip-binaries?
-                    #:strip-flags #$strip-flags
-                    #:strip-directories #$strip-directories))))
+
+          #$(with-build-variables inputs outputs
+              #~(qt-build #:source #+source
+                          #:system #$system
+                          #:outputs %outputs
+                          #:inputs %build-inputs
+                          #:search-paths '#$(sexp->gexp
+                                             (map search-path-specification->sexp
+                                                  search-paths))
+                          #:phases #$(if (pair? phases)
+                                         (sexp->gexp phases)
+                                         phases)
+                          #:qtbase #+qtbase
+                          #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
+                          #:qt-wrap-excluded-inputs #$qt-wrap-excluded-inputs
+                          #:configure-flags #$configure-flags
+                          #:make-flags #$make-flags
+                          #:out-of-source? #$out-of-source?
+                          #:build-type #$build-type
+                          #:tests? #$tests?
+                          #:test-target #$test-target
+                          #:parallel-build? #$parallel-build?
+                          #:parallel-tests? #$parallel-tests?
+                          #:validate-runpath? #$validate-runpath?
+                          #:patch-shebangs? #$patch-shebangs?
+                          #:strip-binaries? #$strip-binaries?
+                          #:strip-flags #$strip-flags
+                          #:strip-directories #$strip-directories)))))
 
   (mlet %store-monad ((guile (package->derivation (or guile (default-guile))
                                                   system #:graft? #f)))
-- 
2.46.0