build-system/gnu: Give #:bootstrap-scripts a valid default.

Commit 9cfc93be30 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.
This commit is contained in:
Ludovic Courtès 2021-04-08 22:43:00 +02:00
parent b7daa450d9
commit 4863c4304e
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 12 additions and 7 deletions

View file

@ -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 @@ (define %license-file-regexp
(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 @@ (define* (gnu-build name inputs
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 @@ (define builder
(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 @@ (define* (gnu-cross-build name
(search-paths '())
(native-search-paths '())
(bootstrap-scripts (list 'quote %bootstrap-scripts))
(bootstrap-scripts %bootstrap-scripts)
(configure-flags ''())
(make-flags ''())
(out-of-source? #f)

View file

@ -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 @@ (define-module (guix build gnu-build-system)
#:use-module (rnrs io ports)
#:export (%standard-phases
%license-file-regexp
%bootstrap-scripts
dump-file-contents
gnu-build))
@ -176,7 +177,11 @@ (define* (unpack #:key source #:allow-other-keys)
;; 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."