summaryrefslogtreecommitdiff
path: root/gnu/packages/perl.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/perl.scm')
-rw-r--r--gnu/packages/perl.scm127
1 files changed, 78 insertions, 49 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 6d653be445..933ec5928a 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)))