summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMiguel Ángel Arruga Vivas <rosen644835@gmail.com>2020-11-13 15:24:46 +0100
committerMiguel Ángel Arruga Vivas <rosen644835@gmail.com>2020-11-16 13:44:29 +0100
commit8d263ff254292c9e13a9848f90b52263da52d570 (patch)
tree4fd437f165215f5ed084abd638ac615a2f106fde /gnu
parentdbb4c665e4d17aa7fdc39220ef79560c545628d3 (diff)
downloadguix-8d263ff254292c9e13a9848f90b52263da52d570.tar.gz
gnu: libtool: Restore shebangs on all libtoolize files.
Fixes <https://bugs.gnu.org/25304>.

* gnu/packages/autotools.scm (libtool)[restore-build-aux-shebang]: New
phase after install.
[restore-ltmain-shebang]: Remove phase, it is now performed by the phase
restore-build-aux-shebang.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/autotools.scm18
1 files changed, 13 insertions, 5 deletions
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 96f2925180..c9e1c9bcf1 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -444,11 +444,19 @@ Makefile, simplifying the entire process for the developer.")
                (("/bin/sh")
                 (string-append bash "/bin/sh")))
              #t)))
-         (add-after 'patch-source-shebangs 'restore-ltmain-shebang
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "build-aux/ltmain.in"
-               (("^#!.*/bin/sh$") "#!/bin/sh"))
-             #t)))))
+         ;; These files may be copied into source trees by libtoolize,
+         ;; therefore they must not point to store file names that would be
+         ;; leaked with tarballs generated by make dist.
+         (add-after 'install 'restore-build-aux-shebang
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (dir (string-append out "/share/libtool/build-aux")))
+               (for-each (lambda (file)
+                           (format #t "restoring shebang on `~a'~%" file)
+                           (substitute* file
+                             (("^#!.*/bin/sh") "#!/bin/sh")))
+                         (find-files dir ".*"))
+               #t))))))
 
     (synopsis "Generic shared library support tools")
     (description