From 63760b5bab223131d3cef39755eaff9ea3c4d70b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 Oct 2013 16:15:07 +0200 Subject: [PATCH] gnu: base: Fix circular dependency between %final-outputs and inputs. * gnu/packages/base.scm (%final-inputs): Add 'package-with-bootstrap-guile' to 'finalize'. --- gnu/packages/base.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index c24675598b916633fa7092a16f0f4ed0c55b0717..7cf328a80c36c26b6e1025352ec6d2c4a20e1f63 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))))