diff options
Diffstat (limited to 'gnu/packages/perl.scm')
-rw-r--r-- | gnu/packages/perl.scm | 127 |
1 files changed, 78 insertions, 49 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3fb5a7c3a2..c90ff7f46f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com> -;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017, 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> @@ -31,6 +31,7 @@ ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -91,18 +92,17 @@ ;; Yeah, Perl... It is required early in the bootstrap process by Linux. (package (name "perl") - (version "5.30.2") + (version "5.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/src/5.0/perl-" version ".tar.gz")) (sha256 (base32 - "128nfdxcvxfn5kq55qcfrx2851ys8hv794dcdxbyny8rm7w7vnv6")) + "16mywn5afpv1mczv9dlc1w84rbgjgrr0pyr4c0hhb2wnif0zq7jm")) (patches (search-patches "perl-no-sys-dirs.patch" "perl-autosplit-default-time.patch" - "perl-deterministic-ordering.patch" "perl-reproducible-build-date.patch")))) (build-system gnu-build-system) (arguments @@ -124,44 +124,36 @@ #:phases (modify-phases %standard-phases (add-before 'configure 'setup-configure - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) ;; 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"))) + (("'/bin/pwd'") + (string-append "'" (search-input-file inputs "bin/pwd") "'"))) ;; Build in GNU89 mode to tolerate C++-style comment in libc's ;; <bits/string3.h>. (substitute* "cflags.SH" (("-std=c89") - "-std=gnu89")) - #t)) + "-std=gnu89")))) ,@(if (%current-target-system) `((add-after 'unpack 'unpack-cross (lambda* (#:key native-inputs inputs #:allow-other-keys) (let ((cross-checkout - (assoc-ref native-inputs "perl-cross")) - (cross-patch - (assoc-ref native-inputs "perl-cross-patch"))) + (assoc-ref native-inputs "perl-cross"))) (rename-file "Artistic" "Artistic.perl") (rename-file "Copying" "Copying.perl") - (copy-recursively cross-checkout ".") - (format #t "Applying ~a\n" cross-patch) - (invoke "patch" "-p1" "-i" cross-patch)) - (let ((bash (assoc-ref inputs "bash"))) + (copy-recursively cross-checkout ".")) + (let ((bash (search-input-file inputs "bin/bash"))) (substitute* '("Makefile.config.SH" "cnf/config.guess" "cnf/config.sub" "cnf/configure" "cnf/configure_misc.sh" "miniperl_top") - (("! */bin/sh") (string-append "! " bash "/bin/bash")) - ((" /bin/sh") (string-append bash "/bin/bash"))) + (("! */bin/sh") (string-append "! " bash)) + ((" /bin/sh") 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")) @@ -177,22 +169,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-minimal"))) (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 @@ -206,8 +194,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) @@ -238,13 +225,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" @@ -252,11 +238,10 @@ (method git-fetch) (uri (git-reference (url "https://github.com/arsv/perl-cross") - (commit "1.3.3"))) - (file-name (git-file-name "perl-cross" "1.3.3")) + (commit "1.3.6"))) + (file-name (git-file-name "perl-cross" "1.3.6")) (sha256 - (base32 "065qbl1x44maykaj8p8za0b6qxj74bz7fi2zsrlydir1mqb1js3d")))) - ("perl-cross-patch" ,@(search-patches "perl-cross.patch"))) + (base32 "0k5vyj40czbkfl7r3dcwxpc7dvdlp2xliaav358bviq3dq9vq9bb"))))) '())) (native-search-paths (list (search-path-specification (variable "PERL5LIB") @@ -5126,6 +5111,25 @@ vaguely inspired by John Ousterhout's Tk_ParseArgv.") (home-page "https://metacpan.org/release/Getopt-Tabular") (license (package-license perl)))) +(define-public perl-gettext + (package + (name "perl-gettext") + (version "1.07") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/P/PV/PVANDRY" + "/gettext-" version ".tar.gz")) + (sha256 + (base32 + "05cwqjxxary11di03gg3fm6j9lbvg1dr2wpr311c1rwp8salg7ch")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/gettext") + (synopsis "Perl bindings for POSIX i18n gettext functions") + (description + "Locale::gettext provides an object oriented interface to the +internationalization functions provided by the C library.") + (license license:perl-license))) + (define-public perl-graph (package (name "perl-graph") @@ -8656,13 +8660,39 @@ available.") "01xifj83dv492lxixijmg6va02rf3ydlxly0a9slmx22r6qa1drh")))) (build-system perl-build-system) (propagated-inputs - `(("perl-devel-symdump" ,perl-devel-symdump))) + `(("perl-devel-symdump" ,perl-devel-symdump) + ("perl-pod-parser" ,perl-pod-parser))) (home-page "https://metacpan.org/release/Pod-Coverage") (synopsis "Check for comprehensive documentation of a module") (description "This module provides a mechanism for determining if the pod for a given module is comprehensive.") (license (package-license perl)))) +(define-public perl-pod-parser + (package + (name "perl-pod-parser") + (version "1.63") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MA/MAREKR/Pod-Parser-" + version ".tar.gz")) + (sha256 + (base32 + "1k8clxxdjag56zm6cv38c3q81gj7xphfhh98l21jynwp55hvbq6v")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Pod-Parser") + (synopsis "Modules for parsing/translating POD format documents") + (description + "@code{Pod::Parser} is a base class for creating POD filters and +translators. It handles most of the effort involved with parsing the POD +sections from an input stream, leaving subclasses free to be concerned only +with performing the actual translation of text. + +@emph{NOTE}: This module is considered legacy. New projects should prefer +@code{Pod::Simple} instead.") + (license license:perl-license))) + (define-public perl-pod-simple (package (name "perl-pod-simple") @@ -11492,7 +11522,7 @@ MYMETA.yml.") (define-public perl-module-build (package (name "perl-module-build") - (version "0.4229") + (version "0.4231") (source (origin (method url-fetch) @@ -11500,7 +11530,7 @@ MYMETA.yml.") "Module-Build-" version ".tar.gz")) (sha256 (base32 - "064c03wxia7jz0i578awj4srykj0nnigm4p5r0dv0559rnk93r0z")))) + "05xpn8qg814y49vrih16zfr9iiwb7pmdf57ahjnc2h0p5illq3vy")))) (build-system perl-build-system) (propagated-inputs `(("perl-cpan-meta" ,perl-cpan-meta))) @@ -11790,9 +11820,8 @@ prop, vhea, vmtx and the reading and writing of all other table types.") ;; This is needed for tests (add-after 'unpack 'set-TZDIR (lambda* (#:key inputs #:allow-other-keys) - (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") - "/share/zoneinfo")) - #t))))) + (setenv "TZDIR" + (search-input-directory inputs "share/zoneinfo"))))))) (native-inputs `(("perl-module-build" ,perl-module-build) ("tzdata" ,tzdata-for-tests))) |