~ruther/guix-local

d9b4cbc2a168ca3d248c5abf1f1d14c1808e6a20 — Ludovic Courtès 9 years ago 82a7a8c
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.
2 files changed, 19 insertions(+), 7 deletions(-)

M gnu/packages/bash.scm
M gnu/packages/commencement.scm
M gnu/packages/bash.scm => gnu/packages/bash.scm +8 -1
@@ 1,5 1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>


@@ 171,6 171,13 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
                (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

M gnu/packages/commencement.scm => gnu/packages/commencement.scm +11 -6
@@ 800,12 800,17 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(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.