summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-04-01 22:10:30 +0200
committerLudovic Courtès <ludo@gnu.org>2021-04-01 22:10:30 +0200
commitd064cba7bfc051aa32816d5c64c466a52eaf6360 (patch)
tree7f22d1167b69ba07553da2d8c5f4c4713219ee3a
parent600effef2b0b7a7e094c8009d8ed294e2145ad33 (diff)
downloadguix-d064cba7bfc051aa32816d5c64c466a52eaf6360.tar.gz
build-system/qt: Convert phases to a gexp if needed.
Fixes a bug whereby the "/gnu/store/.*qmlcachegen" string in the
'ktouch' phases would incorrectly be interpreted as a store item,
leading to an error while trying to build it:

  $ ./pre-inst-env guix build ktouch -d --no-grafts
  guix build: error: path ‘/gnu/store/.*qmlcachegen’ is not valid

Reported by Christopher Baines.

* guix/build-system/qt.scm (qt-build)[builder]: If PHASES is a pair,
pass it to 'sexp->gexp'.
-rw-r--r--guix/build-system/qt.scm4
1 files changed, 3 insertions, 1 deletions
diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm
index 063fa7bedc..ccee89d5ef 100644
--- a/guix/build-system/qt.scm
+++ b/guix/build-system/qt.scm
@@ -142,7 +142,9 @@ provides a 'CMakeLists.txt' file as its build system."
                     #:search-paths '#$(sexp->gexp
                                        (map search-path-specification->sexp
                                             search-paths))
-                    #:phases #$phases
+                    #:phases #$(if (pair? phases)
+                                   (sexp->gexp phases)
+                                   phases)
                     #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
                     #:configure-flags #$configure-flags
                     #:make-flags #$make-flags