GNU bug report logs - #74695
[PATCH 0/1] qt-build-system: Wrap with build variables to allow %outputs in arguments

Previous Next

Package: guix-patches;

Reported by: Rutherther <rutherther <at> ditigal.xyz>

Date: Wed, 4 Dec 2024 19:14:01 UTC

Severity: normal

Tags: patch

Done: Steve George <steve <at> futurile.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 74695 in the body.
You can then email your comments to 74695 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to maxim.cournoyer <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org:
bug#74695; Package guix-patches. (Wed, 04 Dec 2024 19:14:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Rutherther <rutherther <at> ditigal.xyz>:
New bug report received and forwarded. Copy sent to maxim.cournoyer <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org. (Wed, 04 Dec 2024 19:14:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Rutherther <rutherther <at> ditigal.xyz>
To: guix-patches <at> gnu.org
Cc: Rutherther <rutherther <at> ditigal.xyz>
Subject: [PATCH 0/1] qt-build-system: Wrap with build variables to allow
 %outputs in arguments
Date: Wed,  4 Dec 2024 20:13:27 +0100
It is impossible to refer to %outputs in arguments like #:configure-flags
(ie. `(assoc-ref %outputs "out")` leads to unbound-variable %outputs).
I think the issue is in qt using different system than build systems such
as cmake or gnu. Since I am unsure about the reason for qt not having
the same structure, I am submitting this to guix devel for discussion,
as well as opening a patch in case this is fine to be merged. If not,
could someone please explain what the reason behind not adding
inputs and outputs is, and what is the alternative?

Regards,
Rutherther

Rutherther (1):
  guix: qt: add inputs and outputs build variables in qt-build

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


base-commit: 006679d1e6ca7acea0629b4f019c8cf89cde08be
--
2.46.0




Information forwarded to maxim.cournoyer <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org:
bug#74695; Package guix-patches. (Wed, 04 Dec 2024 19:17:01 GMT) Full text and rfc822 format available.

Message #8 received at 74695 <at> debbugs.gnu.org (full text, mbox):

From: Rutherther <rutherther <at> ditigal.xyz>
To: 74695 <at> debbugs.gnu.org
Cc: Rutherther <rutherther <at> ditigal.xyz>
Subject: [PATCH 1/1] guix: qt: add inputs and outputs build variables in
 qt-build
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




Reply sent to Steve George <steve <at> futurile.net>:
You have taken responsibility. (Tue, 08 Apr 2025 14:26:02 GMT) Full text and rfc822 format available.

Notification sent to Rutherther <rutherther <at> ditigal.xyz>:
bug acknowledged by developer. (Tue, 08 Apr 2025 14:26:03 GMT) Full text and rfc822 format available.

Message #13 received at 74695-done <at> debbugs.gnu.org (full text, mbox):

From: Steve George <steve <at> futurile.net>
To: 74695-done <at> debbugs.gnu.org
Subject: RE: qt-build-system: wrap build variables to allow %outputs args
Date: Tue, 8 Apr 2025 15:24:43 +0100
Hi,

As discussed at https://lists.gnu.org/archive/html/guix-devel/2024-12/msg00124.html

The eventual goal is to use Gexp's for everything, everywhere! So closing, please re-open if you think it's a mistake.

Futurile / Steve







Information forwarded to guix-patches <at> gnu.org:
bug#74695; Package guix-patches. (Tue, 08 Apr 2025 16:54:01 GMT) Full text and rfc822 format available.

Message #16 received at 74695 <at> debbugs.gnu.org (full text, mbox):

From: Rutherther <rutherther <at> ditigal.xyz>
To: 74695 <at> debbugs.gnu.org
Cc: Steve George <steve <at> futurile.net>
Subject: Re: bug#74695: closed (RE: qt-build-system: wrap build variables to
 allow %outputs args)
Date: Tue, 08 Apr 2025 18:52:53 +0200
Hello,

>
> Hi,
>
> As discussed at https://lists.gnu.org/archive/html/guix-devel/2024-12/msg00124.html
>
> The eventual goal is to use Gexp's for everything, everywhere! So closing, please re-open if you think it's a mistake.

Thanks, Steve, and sorry, I forgot to close this myself.

Regards,
Rutherther




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 07 May 2025 11:24:27 GMT) Full text and rfc822 format available.

This bug report was last modified 44 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.