From 4033bde84197bd0b6d43817d064d75d25668053d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Thu, 25 Oct 2012 17:55:45 +0200
Subject: [PATCH] distro: Build the final inputs against the final Bash, not
 the bootstrap Bash.

* distro/packages/base.scm (%boot4-inputs): New variable.
  (guile-final): Use it.
  (%final-inputs): Build with %BOOT4-INPUTS, not %BOOT3-INPUTS.
---
 distro/packages/base.scm | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/distro/packages/base.scm b/distro/packages/base.scm
index 7bd211577ca..9b881d7eb18 100644
--- a/distro/packages/base.scm
+++ b/distro/packages/base.scm
@@ -2062,11 +2062,18 @@ (define-public bash-final
                                  (current-source-location)
                                  #:guile %bootstrap-guile)))
 
+(define %boot4-inputs
+  ;; Now use the final Bash.
+  `(("bash" ,bash-final)
+    ,@(alist-delete "bash" %boot3-inputs)))
+
 (define-public guile-final
+  ;; FIXME: The Libtool used here, specifically its `bin/libtool' script,
+  ;; holds a dependency on the bootstrap Binutils.  Use multiple outputs for
+  ;; Libtool, so that that dependency is isolated in the "bin" output.
   (package-with-bootstrap-guile
    (package-with-explicit-inputs guile-2.0
-                                 `(("bash" ,bash-final)
-                                   ,@(alist-delete "bash" %boot3-inputs))
+                                 %boot4-inputs
                                  (current-source-location)
                                  #:guile %bootstrap-guile)))
 
@@ -2079,7 +2086,7 @@ (define-public ld-wrapper
 
 (define-public %final-inputs
   ;; Final derivations used as implicit inputs by `gnu-build-system'.
-  (let ((finalize (cut package-with-explicit-inputs <> %boot3-inputs
+  (let ((finalize (cut package-with-explicit-inputs <> %boot4-inputs
                        (current-source-location))))
     `(,@(map (match-lambda
               ((name package)
-- 
GitLab