summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-01-09 15:01:40 +0100
committerLudovic Courtès <ludo@gnu.org>2019-01-09 15:01:40 +0100
commit804b9b18ac9188ffb6c6891cbb9241c6a80ed7c8 (patch)
treefeaba70fa7da39be50c80e7fd80719c0b470cbfc
parent6e54e488c6bbeca48f633b03333d856651f24077 (diff)
downloadguix-804b9b18ac9188ffb6c6891cbb9241c6a80ed7c8.tar.gz
build-system/asdf: 'package-with-build-system' accesses inputs lazily.
Fixes a bug whereby we would, at the top-level (while evaluation
lisp.scm package definitions), attempt to access package inputs.
Because of circular dependencies, this could lead to unbound variables
as reported by Arun Isaac <arunisaac@systemreboot.net> at
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=33801#56>.

* guix/build-system/asdf.scm (package-with-build-system)[transform]
(new-propagated-inputs): Turn into a procedure.
Adjust user accordingly.
-rw-r--r--guix/build-system/asdf.scm4
1 files changed, 2 insertions, 2 deletions
diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm
index 57e294d74d..af04084c86 100644
--- a/guix/build-system/asdf.scm
+++ b/guix/build-system/asdf.scm
@@ -172,7 +172,7 @@ set up using CL source package conventions."
       ;; Special considerations for source packages: CL inputs become
       ;; propagated, and un-handled arguments are removed.
 
-      (define new-propagated-inputs
+      (define (new-propagated-inputs)
         (if target-is-source?
             (map rewrite
                  (append
@@ -218,7 +218,7 @@ set up using CL source package conventions."
            (substitute-keyword-arguments base-arguments
              ((#:phases phases) (list phases-transformer phases))))
           (inputs (new-inputs package-inputs))
-          (propagated-inputs new-propagated-inputs)
+          (propagated-inputs (new-propagated-inputs))
           (native-inputs (new-inputs package-native-inputs))
           (outputs (if target-is-source?
                        '("out")