summary refs log tree commit diff
path: root/gnu/packages/base.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-10-16 16:15:07 +0200
committerLudovic Courtès <ludo@gnu.org>2013-10-16 16:15:07 +0200
commit63760b5bab223131d3cef39755eaff9ea3c4d70b (patch)
tree388cf9f61ab305aa5b8089ac6868f67fb813a9d0 /gnu/packages/base.scm
parentf1352766fa64e5b2d12b1c64373463783e10cb53 (diff)
downloadguix-63760b5bab223131d3cef39755eaff9ea3c4d70b.tar.gz
gnu: base: Fix circular dependency between %final-outputs and <origin> inputs.
* gnu/packages/base.scm (%final-inputs): Add
  'package-with-bootstrap-guile' to 'finalize'.
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r--gnu/packages/base.scm10
1 files changed, 7 insertions, 3 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index c24675598b..7cf328a80c 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1001,9 +1001,13 @@ store.")
                       '("guile" "bash"))))))
 
 (define-public %final-inputs
-  ;; Final derivations used as implicit inputs by `gnu-build-system'.
-  (let ((finalize (cut package-with-explicit-inputs <> %boot4-inputs
-                       (current-source-location))))
+  ;; Final derivations used as implicit inputs by 'gnu-build-system'.  We
+  ;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are
+  ;; used for origins that have patches, thereby avoiding circular
+  ;; dependencies.
+  (let ((finalize (compose package-with-bootstrap-guile
+                           (cut package-with-explicit-inputs <> %boot4-inputs
+                                (current-source-location)))))
     `(,@(map (match-lambda
               ((name package)
                (list name (finalize package))))