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.master
parent
82a7a8c667
commit
d9b4cbc2a1
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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 © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
|
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
;;; 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")
|
(rename-file (string-append out "/lib/pkgconfig")
|
||||||
(string-append include
|
(string-append include
|
||||||
"/lib/pkgconfig"))
|
"/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))))))
|
#t))))))
|
||||||
|
|
||||||
(native-search-paths
|
(native-search-paths
|
||||||
|
|
|
@ -800,12 +800,17 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
||||||
(define bash-final
|
(define bash-final
|
||||||
;; Link with `-static-libgcc' to make sure we don't retain a reference
|
;; Link with `-static-libgcc' to make sure we don't retain a reference
|
||||||
;; to the bootstrap GCC.
|
;; to the bootstrap GCC.
|
||||||
;; FIXME: This depends on 'bootstrap-binaries' via Makefile.in.
|
(let ((bash (package
|
||||||
(package-with-bootstrap-guile
|
(inherit bash)
|
||||||
(package-with-explicit-inputs (static-libgcc-package bash)
|
(arguments
|
||||||
%boot3-inputs
|
`(#:disallowed-references
|
||||||
(current-source-location)
|
,(assoc-ref %boot3-inputs "coreutils&co")
|
||||||
#:guile %bootstrap-guile)))
|
,@(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
|
(define %boot4-inputs
|
||||||
;; Now use the final Bash.
|
;; Now use the final Bash.
|
||||||
|
|
Reference in New Issue