summary refs log tree commit diff
path: root/gnu/packages/make-bootstrap.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2019-08-11 22:37:12 -0400
committerMark H Weaver <mhw@netris.org>2019-08-15 14:46:20 -0400
commitfe507d7a3d83169c77b6f73a66ffa0ce59f1119d (patch)
tree595d722cdcfa8db89e0317f7b1e04619e4a0e9a8 /gnu/packages/make-bootstrap.scm
parent6744cef5b033c60a388d1de9a6b08c917cc51a4c (diff)
downloadguix-fe507d7a3d83169c77b6f73a66ffa0ce59f1119d.tar.gz
bootstrap: Build bootstrap bash deterministically.
* gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/make-bootstrap.scm (static-bash-for-bootstrap): New variable.
(%static-inputs): Use 'static-bash-for-bootstrap' instead of 'static-bash'.
Diffstat (limited to 'gnu/packages/make-bootstrap.scm')
-rw-r--r--gnu/packages/make-bootstrap.scm15
1 files changed, 12 insertions, 3 deletions
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index d3b13d9d5f..2f0bb30b91 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2018, 2019 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -125,6 +125,15 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                                 (current-source-location)
                                 #:native-inputs native-inputs))
 
+(define static-bash-for-bootstrap
+  (package
+    (inherit static-bash)
+    (source (origin
+              (inherit (package-source static-bash))
+              (patches
+               (cons (search-patch "bash-4.4-linux-pgrp-pipe.patch")
+                     (origin-patches (package-source static-bash))))))))
+
 (define %static-inputs
   ;; Packages that are to be used as %BOOTSTRAP-INPUTS.
   (let ((coreutils (package (inherit coreutils)
@@ -192,7 +201,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                                  (("-Wl,-export-dynamic") ""))
                                #t)))))))
                 (inputs (if (%current-target-system)
-                            `(("bash" ,static-bash))
+                            `(("bash" ,static-bash-for-bootstrap))
                             '()))))
 	(tar (package (inherit tar)
 	       (arguments
@@ -233,7 +242,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                ("sed" ,sed)
                ("grep" ,grep)
                ("gawk" ,gawk)))
-      ("bash" ,static-bash))))
+      ("bash" ,static-bash-for-bootstrap))))
 
 (define %static-binaries
   (package