diff options
author | Brendan Tildesley <mail@brendan.scot> | 2019-10-08 02:55:03 +1100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2020-02-16 15:48:37 +0100 |
commit | a21bd6d5c208111fbf96e9b402cc5ca872f95109 (patch) | |
tree | b4d03b13bd36ed49bd9149c2df16026f0f68411a | |
parent | f379c665a8ba6ab30e19ddeabc310b2f4bb9e4fc (diff) | |
download | guix-a21bd6d5c208111fbf96e9b402cc5ca872f95109.tar guix-a21bd6d5c208111fbf96e9b402cc5ca872f95109.tar.gz |
build-system/gnu: Don't try executing directories in bootstrap phase.
* guix/build/gnu-build-system.scm: (bootstrap): Change the file-exists?
procedure to one that excludes directories, so that we do not mistake it for a
script. For example if the source includes a bootstrap/ directory.
Signed-off-by: Marius Bakke <mbakke@fastmail.com>
-rw-r--r-- | guix/build/gnu-build-system.scm | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 22805c84ea..96913ef9f0 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> ;;; ;;; This file is part of GNU Guix. ;;; @@ -173,12 +174,16 @@ working directory." \"autoreconf\". Otherwise do nothing." ;; Note: Run that right after 'unpack' so that the generated files are ;; visible when the 'patch-source-shebangs' phase runs. - (if (not (file-exists? "configure")) + (define (script-exists? file) + (and (file-exists? file) + (not (file-is-directory? file)))) + + (if (not (script-exists? "configure")) ;; First try one of the BOOTSTRAP-SCRIPTS. If none exists, and it's ;; clearly an Autoconf-based project, run 'autoreconf'. Otherwise, do ;; nothing (perhaps the user removed or overrode the 'configure' phase.) - (let ((script (find file-exists? bootstrap-scripts))) + (let ((script (find script-exists? bootstrap-scripts))) ;; GNU packages often invoke the 'git-version-gen' script from ;; 'configure.ac' so make sure it has a valid shebang. (false-if-file-not-found |