diff options
author | Marius Bakke <marius@gnu.org> | 2021-07-18 13:43:16 +0200 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2021-07-23 17:26:44 +0200 |
commit | 9840ec8cabc0adf5d99d45276617eeaf6f4f3635 (patch) | |
tree | 68751d857d58550290647237313812940c9231f3 | |
parent | d672c57a770a481dabd355ec7eea1a73d2c67139 (diff) | |
download | guix-9840ec8cabc0adf5d99d45276617eeaf6f4f3635.tar.gz guix-9840ec8cabc0adf5d99d45276617eeaf6f4f3635.zip |
gnu: Perl: Resolve TODO.
* gnu/packages/perl.scm (perl)[inputs]: Add COREUTILS-MINIMAL.
[arguments]: Unconditionally patch /bin/pwd in Cwd.pm. While at it, remove
trailing #t's.
-rw-r--r-- | gnu/packages/perl.scm | 58 |
1 files changed, 25 insertions, 33 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 682b58338b..685a31914c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -123,20 +123,19 @@ #:phases (modify-phases %standard-phases (add-before 'configure 'setup-configure - (lambda _ - ;; Use the right path for `pwd'. - ;; TODO: use coreutils from INPUTS instead of 'which' - ;; in next rebuild cycle, see fixup below. - (substitute* "dist/PathTools/Cwd.pm" - (("/bin/pwd") - (which "pwd"))) - - ;; Build in GNU89 mode to tolerate C++-style comment in libc's - ;; <bits/string3.h>. - (substitute* "cflags.SH" - (("-std=c89") - "-std=gnu89")) - #t)) + (lambda* (#:key inputs #:allow-other-keys) + (let ((coreutils (or (assoc-ref inputs "coreutils-minimal") + (assoc-ref inputs "coreutils")))) + ;; Use the right path for `pwd'. + (substitute* "dist/PathTools/Cwd.pm" + (("'/bin/pwd'") + (string-append "'" coreutils "/bin/pwd'"))) + + ;; Build in GNU89 mode to tolerate C++-style comment in libc's + ;; <bits/string3.h>. + (substitute* "cflags.SH" + (("-std=c89") + "-std=gnu89"))))) ,@(if (%current-target-system) `((add-after 'unpack 'unpack-cross (lambda* (#:key native-inputs inputs #:allow-other-keys) @@ -155,8 +154,7 @@ (("! */bin/sh") (string-append "! " bash "/bin/bash")) ((" /bin/sh") (string-append bash "/bin/bash"))) (substitute* '("ext/Errno/Errno_pm.PL") - (("\\$cpp < errno.c") "$Config{cc} -E errno.c"))) - #t)) + (("\\$cpp < errno.c") "$Config{cc} -E errno.c"))))) (replace 'configure (lambda* (#:key configure-flags outputs inputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -172,22 +170,18 @@ (lambda (x) (or (string-prefix? "-d" x) (string-prefix? "-Dcc=" x)))) configure-flags))) - (bash (assoc-ref inputs "bash")) - (coreutils (assoc-ref inputs "coreutils"))) + (bash (assoc-ref inputs "bash"))) (format (current-error-port) - "running ./configure ~a\n" (string-join configure-flags)) + "running ./configure ~a\n" + (string-join configure-flags)) (apply invoke (cons "./configure" configure-flags)) (substitute* "config.sh" (((string-append store-directory "/[^/]*-bash-[^/]*")) bash)) (substitute* '("config.h") (("^#define SH_PATH .*") - (string-append "#define SH_PATH \"" bash "/bin/bash\"\n"))) - ;;TODO: fix this in setup-configure next rebuild cycle - (substitute* "dist/PathTools/Cwd.pm" - (((string-append store-directory "/[^/]*-coreutils-[^/]*")) - coreutils)) - #t))) + (string-append "#define SH_PATH \"" + bash "/bin/bash\"\n")))))) (add-after 'build 'touch-non-built-files-for-install (lambda _ ;; `make install' wants to install these although they do @@ -201,8 +195,7 @@ '("Pod-Usage/blib/script/pod2text" "Pod-Usage/blib/script/pod2usage" "Pod-Checker/blib/script/podchecker" - "Pod-Parser/blib/script/podselect"))) - #t))) + "Pod-Parser/blib/script/podselect")))))) `((replace 'configure (lambda* (#:key configure-flags #:allow-other-keys) (format #t "Perl configure flags: ~s~%" configure-flags) @@ -233,13 +226,12 @@ (("libpth => .*$") (string-append "libpth => '" libc "/lib',\n")))) - config2) - #t)))))) + config2))))))) (inputs - (if (%current-target-system) - `(("bash" ,bash-minimal) - ("coreutils" ,coreutils)) - '())) + (append (list coreutils-minimal) + (if (%current-target-system) + (list bash-minimal) + '()))) (native-inputs (if (%current-target-system) `(("perl-cross" |