Subject: [bug#40399] [PATCH] build-system/gnu: Allow overriding of bootstrap scripts.

From: Ricardo Wurmus <[email-masked]>
Date: Fri, 3 Apr 2020 07:11:33 +0200

* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Accept
bootstrap-scripts keyword argument and pass it to gnu-build.
(%bootstrap-scripts): New variable.
* guix/build/gnu-build-system.scm (%bootstrap-scripts): Remove variable.
(bootstrap): Remove default value for bootstrap-scripts argument.
---
 guix/build-system/gnu.scm       | 8 ++++++++
 guix/build/gnu-build-system.scm | 6 +-----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index 7266fa0009..f28d59cc5e 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -322,10 +322,15 @@ standard packages used as implicit inputs of the GNU build system."
   ;; Regexp matching license files.
   "^(COPYING.*|LICEN[CS]E.*|[Ll]icen[cs]e.*|Copy[Rr]ight(\\.(txt|md))?)$")
 
+(define %bootstrap-scripts
+  ;; Typical names of Autotools "bootstrap" scripts.
+  '("bootstrap" "bootstrap.sh" "autogen.sh"))
+
 (define* (gnu-build store name input-drvs
                     #:key (guile #f)
                     (outputs '("out"))
                     (search-paths '())
+                    (bootstrap-scripts %bootstrap-scripts)
                     (configure-flags ''())
                     (make-flags ''())
                     (out-of-source? #f)
@@ -398,6 +403,7 @@ packages that must not be referenced."
                                         search-paths)
                   #:phases ,phases
                   #:locale ,locale
+                  #:bootstrap-scripts ,bootstrap-scripts
                   #:configure-flags ,configure-flags
                   #:make-flags ,make-flags
                   #:out-of-source? ,out-of-source?
@@ -476,6 +482,7 @@ is one of `host' or `target'."
                           (search-paths '())
                           (native-search-paths '())
 
+                          (bootstrap-scripts %bootstrap-scripts)
                           (configure-flags ''())
                           (make-flags ''())
                           (out-of-source? #f)
@@ -557,6 +564,7 @@ platform."
                                              native-search-paths)
                     #:phases ,phases
                     #:locale ,locale
+                    #:bootstrap-scripts ,bootstrap-scripts
                     #:configure-flags ,configure-flags
                     #:make-flags ,make-flags
                     #:out-of-source? ,out-of-source?
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index 4df0bb4904..72a188955d 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -163,11 +163,7 @@ working directory."
         (chdir (first-subdirectory "."))))
   #t)
 
-(define %bootstrap-scripts
-  ;; Typical names of Autotools "bootstrap" scripts.
-  '("bootstrap" "bootstrap.sh" "autogen.sh"))
-
-(define* (bootstrap #:key (bootstrap-scripts %bootstrap-scripts)
+(define* (bootstrap #:key bootstrap-scripts
                     #:allow-other-keys)
   "If the code uses Autotools and \"configure\" is missing, run
 \"autoreconf\".  Otherwise do nothing."
-- 
2.25.1