From d9b4cbc2a168ca3d248c5abf1f1d14c1808e6a20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 27 Jan 2017 09:50:07 +0100 Subject: [PATCH] gnu: bash: Do not retain dependency on Coreutils. Previously the "include" output of BASH-FINAL would refer to 'bootstrap-binaries' via 'Makefile.inc'. * gnu/packages/bash.scm (bash)[arguments]: In 'move-development-files' phase, remove absolute file name of 'install' from the 'INSTALL' variable in 'Makefile.inc'. * gnu/packages/commencement.scm (bash-final)[arguments]: Pass #:disallowed-references. --- gnu/packages/bash.scm | 9 ++++++++- gnu/packages/commencement.scm | 17 +++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 0923f5d55a..96ebe991e4 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015, 2017 Leo Famulari ;;; Copyright © 2016 Efraim Flashner @@ -171,6 +171,13 @@ (define-public bash (rename-file (string-append out "/lib/pkgconfig") (string-append include "/lib/pkgconfig")) + + ;; Don't capture the absolute file name of 'install' to avoid + ;; retaining a dependency on Coreutils. + (substitute* (string-append (lib include) + "/Makefile.inc") + (("^INSTALL =.*") + "INSTALL = install -c\n")) #t)))))) (native-search-paths diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 94b4d440ca..675852fb57 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -800,12 +800,17 @@ (define %boot3-inputs (define bash-final ;; Link with `-static-libgcc' to make sure we don't retain a reference ;; to the bootstrap GCC. - ;; FIXME: This depends on 'bootstrap-binaries' via Makefile.in. - (package-with-bootstrap-guile - (package-with-explicit-inputs (static-libgcc-package bash) - %boot3-inputs - (current-source-location) - #:guile %bootstrap-guile))) + (let ((bash (package + (inherit bash) + (arguments + `(#:disallowed-references + ,(assoc-ref %boot3-inputs "coreutils&co") + ,@(package-arguments bash)))))) + (package-with-bootstrap-guile + (package-with-explicit-inputs (static-libgcc-package bash) + %boot3-inputs + (current-source-location) + #:guile %bootstrap-guile)))) (define %boot4-inputs ;; Now use the final Bash.