diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2021-12-17 15:20:54 -0500 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-01-10 11:44:30 -0500 |
commit | 1c3a92254208b20741099588740e6f2f6ac9f54c (patch) | |
tree | 2aa9bf5accfd79ebe2b7c3ba5a9b723baccb837d /gnu/packages/autotools.scm | |
parent | 756188a8da7e3cf4a784dab4eab05799eb2f2dd5 (diff) | |
download | guix-1c3a92254208b20741099588740e6f2f6ac9f54c.tar guix-1c3a92254208b20741099588740e6f2f6ac9f54c.tar.gz |
gnu: autoconf-2.69: Repatriate unpatch-shebangs phase from 2.71.
* gnu/packages/autotools.scm (autoconf-2.71)[phases]{unpatch-shebangs}: Move
to...
* gnu/packages/autotools.scm (autoconf-2.69)[phases]: ... here.
Diffstat (limited to 'gnu/packages/autotools.scm')
-rw-r--r-- | gnu/packages/autotools.scm | 69 |
1 files changed, 33 insertions, 36 deletions
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index a8bf36a966..1eea731233 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -68,29 +68,38 @@ `(;; XXX: testsuite: 209 and 279 failed. The latter is an impurity. It ;; should use our own "cpp" instead of "/lib/cpp". #:tests? #f - ,@(if (%current-target-system) - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'patch-non-shebang-references - (lambda* (#:key build inputs outputs #:allow-other-keys) - ;; `patch-shebangs' patches shebangs only, and the Perl - ;; scripts use a re-exec feature that references the - ;; build hosts' perl. Also, BASH and M4 store references - ;; hide in the scripts. - (let ((bash (assoc-ref inputs "bash")) - (m4 (assoc-ref inputs "m4")) - (perl (assoc-ref inputs "perl")) - (out (assoc-ref outputs "out")) - (store-directory (%store-directory))) - (substitute* (find-files (string-append out "/bin")) - (((string-append store-directory "/[^/]*-bash-[^/]*")) - bash) - (((string-append store-directory "/[^/]*-m4-[^/]*")) - m4) - (((string-append store-directory "/[^/]*-perl-[^/]*")) - perl)) - #t))))) - '()))) + #:phases + (modify-phases %standard-phases + ,@(if (%current-target-system) + '((add-after 'install 'patch-non-shebang-references + (lambda* (#:key build inputs outputs #:allow-other-keys) + ;; `patch-shebangs' patches shebangs only, and the Perl + ;; scripts use a re-exec feature that references the + ;; build hosts' perl. Also, BASH and M4 store references + ;; hide in the scripts. + (let ((bash (assoc-ref inputs "bash")) + (m4 (assoc-ref inputs "m4")) + (perl (assoc-ref inputs "perl")) + (out (assoc-ref outputs "out")) + (store-directory (%store-directory))) + (substitute* (find-files (string-append out "/bin")) + (((string-append store-directory "/[^/]*-bash-[^/]*")) + bash) + (((string-append store-directory "/[^/]*-m4-[^/]*")) + m4) + (((string-append store-directory "/[^/]*-perl-[^/]*")) + perl)))))) + '()) + (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. + (let* ((out (assoc-ref outputs "out")) + (build-aux (string-append + out "/share/autoconf/build-aux"))) + (substitute* (find-files build-aux) + (("^#!.*/bin/sh") "#!/bin/sh")))))))) (home-page "https://www.gnu.org/software/autoconf/") (synopsis "Create source code configuration scripts") (description @@ -130,19 +139,7 @@ know anything about Autoconf or M4.") (executable-file? file))) (find-files "bin" (lambda (file stat) - (executable-file? file))))) - #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"))))))))))) + (executable-file? file))))))))))))) (define-public autoconf autoconf-2.69) |