summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-03-26 11:06:16 +0100
committerLudovic Courtès <ludo@gnu.org>2019-03-26 18:11:52 +0100
commit863519f660fdebefbbb7f7c18b4875ba9b05f74c (patch)
tree46405e30c3b5a3de6397a82dad2c35ce4a60b65c
parent28d32817d82fb0d4da6bd274b9c5446ddb1d7f45 (diff)
downloadguix-863519f660fdebefbbb7f7c18b4875ba9b05f74c.tar.gz
gnu: current-guix: Delay effectful bits.
* gnu/packages/package-management.scm (current-guix): Delay 'repository-root'.
-rw-r--r--gnu/packages/package-management.scm10
1 files changed, 5 insertions, 5 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 62bed6bde8..07a6c24bc8 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -410,10 +410,10 @@ generated file."
   (make-parameter #f))
 
 (define-public current-guix
-  (let* ((repository-root (canonicalize-path
-                           (string-append (current-source-directory)
-                                          "/../..")))
-         (select? (delay (or (git-predicate repository-root)
+  (let* ((repository-root (delay (canonicalize-path
+                                  (string-append (current-source-directory)
+                                                 "/../.."))))
+         (select? (delay (or (git-predicate (force repository-root))
                              source-file?))))
     (lambda ()
       "Return a package representing Guix built from the current source tree.
@@ -423,7 +423,7 @@ out) and returning a package that uses that as its 'source'."
           (package
             (inherit guix)
             (version (string-append (package-version guix) "+"))
-            (source (local-file repository-root "guix-current"
+            (source (local-file (force repository-root) "guix-current"
                                 #:recursive? #t
                                 #:select? (force select?))))))))