summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-10-28 01:21:56 +0200
committerLudovic Courtès <ludo@gnu.org>2023-10-28 01:21:56 +0200
commit661672a7f82db706be8dcc962d5e2385bdcf8c78 (patch)
treefbe13ee823c4e01767b2b60eecd2008abc073a1b
parent344e39c928bdb8e6b7e5ac79d94535921a414a05 (diff)
downloadguix-661672a7f82db706be8dcc962d5e2385bdcf8c78.tar.gz
environment: Parameterize ‘%graft?’ early on.
Previously, ‘%graft?’ would be parameterized after ‘package-derivation’
had been called for ‘%guile-for-build’, which is too late.

* guix/scripts/environment.scm (guix-environment*)[with-store/maybe]:
Parameterize ‘%graft?’.
Remove ‘%graft?’ parameterization from body.

Change-Id: I65ef4a8c5f27e19a49196005871e5f7057fabaec
-rw-r--r--guix/scripts/environment.scm26
1 files changed, 13 insertions, 13 deletions
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index 61ef639b46..ad5d6a1026 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -1100,17 +1100,18 @@ command-line option processing with 'parse-command-line'."
       ;; Evaluate EXP... with STORE bound to a connection, unless
       ;; STORE-NEEDED? is false, in which case STORE is bound to #f.
       (let ((proc (lambda (store) exp ...)))
-        (if store-needed?
-            (with-store s
-              (set-build-options-from-command-line s opts)
-              (with-build-handler (build-notifier #:use-substitutes?
-                                                  (assoc-ref opts 'substitutes?)
-                                                  #:verbosity
-                                                  (assoc-ref opts 'verbosity)
-                                                  #:dry-run?
-                                                  (assoc-ref opts 'dry-run?))
-                (proc s)))
-            (proc #f))))
+        (parameterize ((%graft? (assoc-ref opts 'graft?)))
+          (if store-needed?
+              (with-store s
+                (set-build-options-from-command-line s opts)
+                (with-build-handler (build-notifier #:use-substitutes?
+                                                    (assoc-ref opts 'substitutes?)
+                                                    #:verbosity
+                                                    (assoc-ref opts 'verbosity)
+                                                    #:dry-run?
+                                                    (assoc-ref opts 'dry-run?))
+                  (proc s)))
+              (proc #f)))))
 
     (when container? (assert-container-features))
 
@@ -1146,8 +1147,7 @@ command-line option processing with 'parse-command-line'."
           (warning (G_ "no packages specified; creating an empty environment~%")))
 
         ;; Use the bootstrap Guile when requested.
-        (parameterize ((%graft? (assoc-ref opts 'graft?))
-                       (%guile-for-build
+        (parameterize ((%guile-for-build
                         (and store-needed?
                              (package-derivation
                               store