aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-09-09 10:09:25 +0200
committerLudovic Courtès <ludo@gnu.org>2021-09-09 10:09:25 +0200
commit902de26c1a2462b3374633f724852507d957019a (patch)
tree7b40d8a4ed70c3e636982e1aaa6fe529ed05becf
parentde15397006c271b5506561b45fa41e110f93dec4 (diff)
downloadguix-902de26c1a2462b3374633f724852507d957019a.tar
guix-902de26c1a2462b3374633f724852507d957019a.tar.gz
gnu: autoconf: Unpatch shebangs on files that "autoconf -i" installs.
Fixes <https://issues.guix.gnu.org/50288>. Reported by Maxim Cournoyer. * gnu/packages/autotools.scm (autoconf-2.71)[arguments]: Add 'unpatch-shebangs' phase.
-rw-r--r--gnu/packages/autotools.scm13
1 files changed, 12 insertions, 1 deletions
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 33e1905a25..6987a8fd40 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -135,7 +135,18 @@ know anything about Autoconf or M4.")
(find-files "bin"
(lambda (file stat)
(executable-file? file)))))
- #t))))))))
+ #t))
+ (add-after 'install 'unpatch-shebangs
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Scripts that "autoconf -i" installs (config.guess,
+ ;; config.sub, and install-sh) must use a regular shebang
+ ;; rather than a reference to the store. Restore it.
+ ;; TODO: Move this phase to 'autoconf-2.69'.
+ (let* ((out (assoc-ref outputs "out"))
+ (build-aux (string-append
+ out "/share/autoconf/build-aux")))
+ (substitute* (find-files build-aux)
+ (("^#!.*/bin/sh") "#!/bin/sh")))))))))))
(define-public autoconf autoconf-2.69)