diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-04-08 22:43:00 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-04-09 14:19:34 +0200 |
commit | 4863c4304e7d4d5945474e771d242878f8339d44 (patch) | |
tree | 2563c7640698aedaba32b2c8e35088fe02436fc1 | |
parent | b7daa450d93438e9c01fd72f930880e8d055921a (diff) | |
download | guix-4863c4304e7d4d5945474e771d242878f8339d44.tar.gz |
build-system/gnu: Give #:bootstrap-scripts a valid default.
Commit 9cfc93be30c516fd6fa32915c61c06e03f23a011 changed the default value of #:bootstrap-scripts to #f, which is invalid (it must be a list of strings). That default value was used by build systems that inherit phases from 'gnu-build-system', such as 'qt-build-system', which would lead to wrong-type-arg errors in the 'boostrap' phase. Reported by Raghav Gururajan <rg@raghavgururajan.name>. * guix/build/gnu-build-system.scm (%bootstrap-scripts): New variable. (bootstrap): Change #:bootstrap-scripts to default to it. * guix/build-system/gnu.scm (%bootstrap-scripts): Change value. (gnu-build): #:bootstrap-scripts defaults to %bootstrap-scripts. Remove call to 'sexp->gexp'. (gnu-cross-build): Likewise.
-rw-r--r-- | guix/build-system/gnu.scm | 10 | ||||
-rw-r--r-- | guix/build/gnu-build-system.scm | 9 |
2 files changed, 12 insertions, 7 deletions
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index a1b2b654aa..c74acb51b0 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -328,7 +328,7 @@ standard packages used as implicit inputs of the GNU build system." (define %bootstrap-scripts ;; Typical names of Autotools "bootstrap" scripts. - '("bootstrap" "bootstrap.sh" "autogen.sh")) + #~%bootstrap-scripts) (define %strip-flags #~'("--strip-unneeded" "--enable-deterministic-archives")) @@ -341,7 +341,7 @@ standard packages used as implicit inputs of the GNU build system." guile source (outputs '("out")) (search-paths '()) - (bootstrap-scripts (list 'quote %bootstrap-scripts)) + (bootstrap-scripts %bootstrap-scripts) (configure-flags ''()) (make-flags ''()) (out-of-source? #f) @@ -400,7 +400,7 @@ are allowed to refer to." (sexp->gexp phases) phases) #:locale #$locale - #:bootstrap-scripts #$(sexp->gexp bootstrap-scripts) + #:bootstrap-scripts #$bootstrap-scripts #:configure-flags #$(if (pair? configure-flags) (sexp->gexp configure-flags) configure-flags) @@ -474,7 +474,7 @@ is one of `host' or `target'." (search-paths '()) (native-search-paths '()) - (bootstrap-scripts (list 'quote %bootstrap-scripts)) + (bootstrap-scripts %bootstrap-scripts) (configure-flags ''()) (make-flags ''()) (out-of-source? #f) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index af64b3b61f..28c719d9ca 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> @@ -36,6 +36,7 @@ #:use-module (rnrs io ports) #:export (%standard-phases %license-file-regexp + %bootstrap-scripts dump-file-contents gnu-build)) @@ -176,7 +177,11 @@ working directory." ;; Attempt to change into child directory. (and=> (first-subdirectory ".") chdir)))) -(define* (bootstrap #:key bootstrap-scripts +(define %bootstrap-scripts + ;; Typical names of Autotools "bootstrap" scripts. + '("bootstrap" "bootstrap.sh" "autogen.sh")) + +(define* (bootstrap #:key (bootstrap-scripts %bootstrap-scripts) #:allow-other-keys) "If the code uses Autotools and \"configure\" is missing, run \"autoreconf\". Otherwise do nothing." |