Correct name and email address for ng0.
[jackhill/guix/guix.git] / gnu / packages / perl.scm
index c818291..0075bbd 100644 (file)
@@ -1,13 +1,13 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2016, 2018 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
+;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 ng0 <ng0@n0.is>
 ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
 ;;; Copyright © 2016, 2018 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com>
 ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
-;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
   #:use-module (gnu packages)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
-  #:use-module (guix utils) ;substitute-keyword-arguments for perl-5.26.2
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages perl-compression)
   #:use-module (gnu packages perl-web)
-  #:use-module (gnu packages pkg-config))
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages textutils))
 
 ;;;
 ;;; Please: Try to add new module packages in alphabetic order.
   ;; Yeah, Perl...  It is required early in the bootstrap process by Linux.
   (package
     (name "perl")
-    (version "5.26.1")
-    (replacement perl/fixed)
+    (version "5.28.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://cpan/src/5.0/perl-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "1p81wwvr5jb81m41d07kfywk5gvbk0axdrnvhc2aghcdbr4alqz7"))
+               "1a3f822lcl8dr8v0hk80yyhpzqlljg49z9flb48rs3nbsij9z4ky"))
              (patches (search-patches
-                       "perl-file-path-CVE-2017-6512.patch"
                        "perl-no-sys-dirs.patch"
                        "perl-autosplit-default-time.patch"
                        "perl-deterministic-ordering.patch"
@@ -163,41 +163,6 @@ more.")
     (home-page "http://www.perl.org/")
     (license gpl1+)))                          ; or "Artistic"
 
-;; Fixes CVE-2018-6797, CVE-2018-6798, and CVE-2018-6913.
-;; See <https://metacpan.org/changes/release/SHAY/perl-5.26.2>.
-(define perl-5.26.2
-  (package
-    (inherit perl)
-    (version "5.26.2")
-    (source (origin
-              (inherit (package-source perl))
-              (uri (string-append "mirror://cpan/src/5.0/perl-"
-                                  version ".tar.gz"))
-              (patches (append (origin-patches (package-source perl))
-                               (search-patches "perl-archive-tar-CVE-2018-12015.patch")))
-              (sha256
-               (base32
-                "03gpnxx1g6hvlh0v4aqx00580h787sfywp1vlvw64q2xcbm9qbsp"))))))
-
-;; When grafting perl, complications arise when the replacement perl has a
-;; different version number than the original.  So, here we create a version
-;; of perl-5.26.2 that thinks it is version 5.26.1.  See
-;; <https://bugs.gnu.org/31210> and <https://bugs.gnu.org/31216>.
-(define perl/fixed
-  (package
-    (inherit perl-5.26.2)
-    (version "5.26.1")
-    (arguments
-     (substitute-keyword-arguments (package-arguments perl-5.26.2)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'unpack 'revert-perl-subversion
-             (lambda _
-               (substitute* "patchlevel.h"
-                 (("^#define PERL_SUBVERSION   2")
-                  "#define PERL_SUBVERSION     1"))
-               #t))))))))
-
 (define-public perl-algorithm-c3
   (package
     (name "perl-algorithm-c3")
@@ -331,15 +296,17 @@ list manipulation routines.")
 (define-public perl-async-interrupt
   (package
     (name "perl-async-interrupt")
-    (version "1.21")
+    (version "1.24")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
                                   "Async-Interrupt-" version ".tar.gz"))
               (sha256
                (base32
-                "092zs7b72f8q109c3z829nqfgwqghp3nhw44c0gcyhacbb4wgpk3"))))
+                "1lx4am3cqb9vvng9fhlwgfd7mk3afbrg8rps6xgpas6ij67dw8m0"))))
     (build-system perl-build-system)
+    (native-inputs
+     `(("perl-canary-stability" ,perl-canary-stability)))
     (propagated-inputs
      `(("perl-common-sense" ,perl-common-sense)))
     (home-page "https://metacpan.org/release/Async-Interrupt")
@@ -364,7 +331,7 @@ sometimes even without using a single syscall.")
 (define-public perl-autovivification
   (package
     (name "perl-autovivification")
-    (version "0.16")
+    (version "0.18")
     (source
      (origin
        (method url-fetch)
@@ -372,7 +339,7 @@ sometimes even without using a single syscall.")
                            "autovivification-" version ".tar.gz"))
        (sha256
         (base32
-         "1422kw9fknv7rbjkgdfflg1q3mb69d3yryszp38dn0bgzkqhwkc1"))))
+         "01giacr2sx6b9bgfz6aqw7ndcnf08j8n6kwhm7880a94hmb9g69d"))))
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/autovivification")
     (synopsis "Lexically disable autovivification")
@@ -1384,6 +1351,35 @@ and objects.")
 as defined by two typical specimens of Perl coders.")
     (license (package-license perl))))
 
+(define-public perl-conf-libconfig
+  (package
+    (name "perl-conf-libconfig")
+    (version "0.100")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/C/CN/CNANGEL/"
+                           "Conf-Libconfig-" version ".tar.gz"))
+       (sha256
+        (base32 "0qdypqd7mx96bwdjlv13fn6p96bs4w0yv94yv94xa7z5lqkdj4rg"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig)
+       ("perl-test-deep" ,perl-test-deep)
+       ("perl-test-exception" ,perl-test-exception)
+       ("perl-test-warn" ,perl-test-warn)))
+    (inputs
+     `(("libconfig" ,libconfig)))
+    (home-page "https://metacpan.org/release/Conf-Libconfig")
+    (synopsis "Perl extension for libconfig")
+    (description
+     "Conf::Libconfig is a Perl interface to the libconfig configuration file
+library.  It support scalar, array, and hash data structures just like its C/C++
+counterpart.  It reduces the effort required to implement a configuration file
+parser in your Perl programme and allows sharing configuration files between
+languages.")
+    (license bsd-3)))
+
 (define-public perl-config-any
   (package
     (name "perl-config-any")
@@ -1409,7 +1405,7 @@ supports XML, YAML, JSON, Apache-style configuration, and Perl code.")
 (define-public perl-config-autoconf
   (package
     (name "perl-config-autoconf")
-    (version "0.315")
+    (version "0.317")
     (source
      (origin
        (method url-fetch)
@@ -1417,7 +1413,7 @@ supports XML, YAML, JSON, Apache-style configuration, and Perl code.")
                            "Config-AutoConf-" version ".tar.gz"))
        (sha256
         (base32
-         "0h39x9rzrhhilpg8yxlzpka269qrzsjg0iy0c1b9xflqlvhx2g2b"))))
+         "1qcwib4yaml5z2283qy5khjcydyibklsnk8zrk9wzdzc5wnv5r01"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-capture-tiny" ,perl-capture-tiny)))
@@ -1570,7 +1566,7 @@ CPAN::Meta object are present.")
 (define-public perl-cpanel-json-xs
   (package
     (name "perl-cpanel-json-xs")
-    (version "3.0114")
+    (version "4.08")
     (source
      (origin
        (method url-fetch)
@@ -1578,7 +1574,7 @@ CPAN::Meta object are present.")
                            "Cpanel-JSON-XS-" version ".tar.gz"))
        (sha256
         (base32
-         "0jhi1v0631x4d14a7cpfnpjqhs34zkygxjn1nwvvr927awx5jx71"))))
+         "0bbw9sk3kgfwkg9lw3vf59g4jjvr69vv09sinndl2nlbd5dlgh9b"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-common-sense" ,perl-common-sense)))
@@ -1683,9 +1679,8 @@ It returns to the previous working directory when the object is destroyed.")
           (lambda* (#:key outputs #:allow-other-keys)
             (copy-recursively "."
                               (string-append (assoc-ref outputs "out")
-                                             "/plib/perl5/site_perl/"
-                                             ,(package-version perl)
-                                             "/czplib/"))
+                                             "/lib/perl5/site_perl/"
+                                             ,(package-version perl)))
             #t)))))
     (home-page "https://sourceforge.net/projects/czplib/")
     (synopsis "Library for genomic analysis")
@@ -1787,6 +1782,27 @@ their argument and produces a string as its result.  The string contains Perl
 code that, when \"eval\"ed, produces a deep copy of the original arguments.")
     (license (package-license perl))))
 
+(define-public perl-data-dumper
+  (package
+    (name "perl-data-dumper")
+    (version "2.173")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/X/XS/XSAWYERX/"
+                           "Data-Dumper-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1yknbp86md6mjlhbs1lzz6mals3iyizndgiij58qx61hjfrhhxk9"))))
+    (build-system perl-build-system)
+    (home-page "https://metacpan.org/release/Data-Dumper")
+    (synopsis "Convert data structures to strings")
+    (description "Given a list of scalars or reference variables,
+@code{Data::Dumper} writes out their contents in Perl syntax.  The references
+can also be objects.  The content of each variable is output in a single Perl
+statement.  It handles self-referential structures correctly.")
+    (license perl-license)))
+
 (define-public perl-data-dumper-concise
   (package
     (name "perl-data-dumper-concise")
@@ -2421,7 +2437,7 @@ parsing logic.")
 (define-public perl-datetime-format-strptime
   (package
     (name "perl-datetime-format-strptime")
-    (version "1.75")
+    (version "1.76")
     (source
      (origin
        (method url-fetch)
@@ -2429,7 +2445,7 @@ parsing logic.")
                            "DateTime-Format-Strptime-" version ".tar.gz"))
        (sha256
         (base32
-         "069wmgbchydgx3nm9klqw0g6ksnja28g61d4allgzmvr9ynb5ksg"))))
+         "03dmzi9n6jmnfjmf0ld5sdmi3ib6jrhz25cjzv7d58ypdr32cg2r"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-datetime" ,perl-datetime)
@@ -2450,7 +2466,7 @@ takes a string and a pattern and returns the `DateTime` object associated.")
 (define-public perl-datetime-locale
   (package
     (name "perl-datetime-locale")
-    (version "1.17")
+    (version "1.23")
     (source
      (origin
        (method url-fetch)
@@ -2458,10 +2474,11 @@ takes a string and a pattern and returns the `DateTime` object associated.")
                            "DateTime-Locale-" version ".tar.gz"))
        (sha256
         (base32
-         "1jawnci23kik5x4gln6ixvv9bxznd5f6ira024yjxsc97y5mk9hc"))))
+         "05f0jchminv5g2nrvsx5v1ihc5919fzzhh4f82dxi5ns8bkq2nis"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-file-sharedir" ,perl-file-sharedir)
+       ("perl-ipc-system-simple" ,perl-ipc-system-simple)
        ("perl-test-file-sharedir-dist" ,perl-test-file-sharedir-dist)
        ("perl-test-warnings" ,perl-test-warnings)
        ("perl-test-requires" ,perl-test-requires)
@@ -2626,6 +2643,30 @@ the appropriate objects.")
 particular command is available.")
     (license (package-license perl))))
 
+(define-public perl-devel-checklib
+  (package
+    (name "perl-devel-checklib")
+    (version "1.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-"
+             version ".tar.gz"))
+       (sha256
+        (base32 "1a19qkwxwz3wqb16cdabymfbf9kiydiifw90nd5srpq5hy8gvb94"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-io-captureoutput" ,perl-io-captureoutput)
+       ("perl-mock-config" ,perl-mock-config)))
+    (home-page "https://metacpan.org/release/Devel-CheckLib")
+    (synopsis "Check that a library is available")
+    (description
+     "@code{Devel::CheckLib} is a Perl module that checks whether a particular
+C library and its headers are available.  You can also check for the presence of
+particular functions in a library, or even that those functions return
+particular results.")
+    (license perl-license)))
+
 (define-public perl-devel-checkcompiler
   (package
   (name "perl-devel-checkcompiler")
@@ -2890,7 +2931,8 @@ interface for the RFC 2104 HMAC mechanism.")
          (add-after 'build 'set-permissions
            (lambda _
              ;; Make MD5.so read-write so it can be stripped.
-             (chmod "blib/arch/auto/Digest/MD5/MD5.so" #o755))))))
+             (chmod "blib/arch/auto/Digest/MD5/MD5.so" #o755)
+             #t)))))
     (home-page "https://metacpan.org/release/Digest-MD5")
     (synopsis "Perl interface to the MD-5 algorithm")
     (description
@@ -3016,7 +3058,7 @@ also known as JIS 2000.")
      '(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'set-env
-           (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1"))))))
+           (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1") #t)))))
     (home-page "https://metacpan.org/release/Encode-HanExtra")
     (synopsis "Additional Chinese encodings")
     (description "This Perl module provides Chinese encodings that are not
@@ -3168,7 +3210,7 @@ only about 40% as many lines of code and with zero non-core dependencies.")
 (define-public perl-extutils-installpaths
   (package
     (name "perl-extutils-installpaths")
-    (version "0.011")
+    (version "0.012")
     (source
      (origin
        (method url-fetch)
@@ -3176,7 +3218,7 @@ only about 40% as many lines of code and with zero non-core dependencies.")
                            "ExtUtils-InstallPaths-" version ".tar.gz"))
        (sha256
         (base32
-         "0z06y0fhx9hy9x01abb7s2xdbqrh9x4ps7avmlf4bwfwih2gl2bn"))))
+         "1v9lshfhm9ck4p0v77arj5f7haj1mmkqal62lgzzvcds6wq5www4"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-extutils-config" ,perl-extutils-config)))
@@ -3232,7 +3274,7 @@ XS interface besides the perl one.")
 (define-public perl-extutils-helpers
   (package
     (name "perl-extutils-helpers")
-    (version "0.022")
+    (version "0.026")
     (source
      (origin
        (method url-fetch)
@@ -3240,7 +3282,7 @@ XS interface besides the perl one.")
                            "ExtUtils-Helpers-" version ".tar.gz"))
        (sha256
         (base32
-         "15dalfwmpfmifw312i5pwiai8134pxf7b2804shlqhdk1xqczy6k"))))
+         "05ilqcj1rg5izr09dsqmy5di4fvq6ph4k0chxks7qmd4j1kip46y"))))
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/ExtUtils-Helpers")
     (synopsis "Various portability utilities for module builders")
@@ -3442,7 +3484,7 @@ provide a quick dropin when such functionality is needed.")
 (define-public perl-file-homedir
   (package
     (name "perl-file-homedir")
-    (version "1.002")
+    (version "1.004")
     (source
      (origin
        (method url-fetch)
@@ -3450,7 +3492,7 @@ provide a quick dropin when such functionality is needed.")
                            "File-HomeDir-" version ".tar.gz"))
        (sha256
         (base32
-         "0x62hn8rc7ninf9nlp69h61yh21g4cbq2g81sh64cf2ify2hqk7b"))))
+         "1bciyzwv7gwsnaykqz0czj6mlbkkg4hg1s40s1q7j2p6nlmpxxj5"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-file-which" ,perl-file-which)))
@@ -3570,7 +3612,7 @@ the input record separator string on a per file basis.")
 (define-public perl-file-remove
   (package
     (name "perl-file-remove")
-    (version "1.57")
+    (version "1.58")
     (source
      (origin
        (method url-fetch)
@@ -3578,14 +3620,16 @@ the input record separator string on a per file basis.")
                            "File-Remove-" version ".tar.gz"))
        (sha256
         (base32
-         "1b814lw181kkqh6c1n4p2zlzzsq6ic5pfpr831nphf2w2rhcvgmk"))))
+         "1n6h5w3sp2bs4cfrifdx2z15cfpb4r536179mx1a12xbmj1yrxl1"))))
     (build-system perl-build-system)
+    (native-inputs
+     `(("perl-module-build" ,perl-module-build)))
     (home-page "https://metacpan.org/release/File-Remove")
     (synopsis "Remove files and directories in Perl")
-    (description "File::Remove::remove removes files and directories.  It acts
-like /bin/rm, for the most part.  Although \"unlink\" can be given a list of
-files, it will not remove directories; this module remedies that.  It also
-accepts wildcards, * and ?, as arguments for file names.")
+    (description "@code{File::Remove::remove} removes files and directories.
+It acts like @code{/bin/rm}, for the most part.  Although @code{unlink} can be
+given a list of files, it will not remove directories; this module remedies
+that.  It also accepts wildcards, * and ?, as arguments for file names.")
     (license (package-license perl))))
 
 (define-public perl-file-sharedir
@@ -3659,15 +3703,15 @@ allows you to locate these files after installation.")
 (define-public perl-file-slurp
   (package
     (name "perl-file-slurp")
-    (version "9999.19")
+    (version "9999.25")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://cpan/authors/id/U/UR/URI/"
+       (uri (string-append "mirror://cpan/authors/id/C/CA/CAPOEIRAB/"
                            "File-Slurp-" version ".tar.gz"))
        (sha256
         (base32
-         "0hrn4nipwx40d6ji8ssgr5nw986z9iqq8cn0kdpbszh9jplynaff"))))
+         "1hg3bhf5m78d77p4174cnldd75ppyrvr5rkc8w289ihvwsx9gsn7"))))
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/File-Slurp")
     (synopsis "Reading/Writing/Modifying of complete files")
@@ -3679,7 +3723,7 @@ file names in a directory.")
 (define-public perl-file-slurper
   (package
     (name "perl-file-slurper")
-    (version "0.008")
+    (version "0.012")
     (source
      (origin
        (method url-fetch)
@@ -3689,8 +3733,10 @@ file names in a directory.")
              ".tar.gz"))
        (sha256
         (base32
-         "0cyjspspms6zyjcqz9v18dbs574g085h2jzjh41xvsrc1qa8bxhh"))))
+         "0y5518ji60yfkx9ggjp309j6g8vfri4ka4zqlsys245i2sj2xysf"))))
     (build-system perl-build-system)
+    (native-inputs
+     `(("perl-test-warnings" ,perl-test-warnings)))
     (propagated-inputs
      `(("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict)))
     (home-page "https://metacpan.org/release/File-Slurper")
@@ -3741,14 +3787,14 @@ a safe way.")
 (define-public perl-file-which
   (package
     (name "perl-file-which")
-    (version "1.09")
+    (version "1.23")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/"
+              (uri (string-append "mirror://cpan/authors/id/P/PL/PLICEASE/"
                                   "File-Which-" version ".tar.gz"))
               (sha256
                (base32
-                "1hxjyh9yrv32f3g8vrnr8iylzprajsac14vjm75kf1qnj1jyqbxp"))))
+                "0y70qh5kn2hyrrvbsfhg0iws2qggk5vkpz37f7rbd5rd9cjc57dp"))))
     (build-system perl-build-system)
     (native-inputs `(("test-script" ,perl-test-script)))
     (synopsis "Portable implementation of the `which' utility")
@@ -3756,7 +3802,7 @@ a safe way.")
      "File::Which was created to be able to get the paths to executable
 programs on systems under which the `which' program wasn't implemented in the
 shell.")
-    (home-page "https://metacpan.org/release/ADAMK/File-Which-1.09")
+    (home-page "https://metacpan.org/release/File-Which")
     (license (package-license perl))))
 
 (define-public perl-file-zglob
@@ -3812,7 +3858,7 @@ single-letter approach, is provided but not enabled by default.")
 (define-public perl-getopt-long-descriptive
   (package
     (name "perl-getopt-long-descriptive")
-    (version "0.102")
+    (version "0.103")
     (source
      (origin
        (method url-fetch)
@@ -3820,7 +3866,7 @@ single-letter approach, is provided but not enabled by default.")
                            "Getopt-Long-Descriptive-" version ".tar.gz"))
        (sha256
         (base32
-         "0ii8xafvlph5vzcqp3dpc83lg7nkg3l1l2hmqdf5382a567vkm4s"))))
+         "1cpl240qxmh7jf85ai9sfkp3nzm99syya4jxidizp7aa83kvmqbh"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-cpan-meta-check" ,perl-cpan-meta-check)
@@ -4067,16 +4113,16 @@ inc directory within a distribution and are used by Makefile.PL or Build.PL.")
 (define-public perl-inline
   (package
    (name "perl-inline")
-   (version "0.80")
+   (version "0.81")
    (source
     (origin
      (method url-fetch)
      (uri (string-append
-           "mirror://cpan/authors/id/I/IN/INGY/Inline-"
+           "mirror://cpan/authors/id/T/TI/TINITA/Inline-"
            version ".tar.gz"))
      (sha256
       (base32
-       "1xnf5hykcr54271x5jsnr61bcv1c7x39cy4kdcrkxm7bn62djavy"))))
+       "1qxi0xvn8rqj4sca9gwb1xkm6bdz33x57li5kfls6mnavil3i5qz"))))
    (build-system perl-build-system)
    (native-inputs
     `(("perl-test-warn" ,perl-test-warn)))
@@ -4291,7 +4337,8 @@ run interactively.  It also has an option to capture output/error buffers.")
                    (lambda _
                      ;; This test fails, and we're not really interested in
                      ;; it, so disable it.
-                     (delete-file "t/win32_compile.t"))))))
+                     (delete-file "t/win32_compile.t")
+                     #t)))))
     (home-page "https://metacpan.org/release/IPC-Run")
     (synopsis "Run system() and background procs w/ piping, redirs, ptys")
     (description "IPC::Run allows you run and interact with child processes
@@ -4369,15 +4416,15 @@ commands.")
 (define-public perl-json
   (package
     (name "perl-json")
-    (version "2.90")
+    (version "4.01")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://cpan/authors/id/M/MA/MAKAMAKA/"
+       (uri (string-append "mirror://cpan/authors/id/I/IS/ISHIGAKI/"
                            "JSON-" version ".tar.gz"))
        (sha256
         (base32
-         "127yppvr17qik9pkd1vy901hs4l13kg6rhp76jdgcyask35v7nsd"))))
+         "1vdiw095g5rf51q8d0ipf8020jx371pma0k4sxp0wlfl76lr65b3"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-json-xs" ,perl-json-xs))) ;recommended
@@ -4419,7 +4466,7 @@ installed.")
 (define-public perl-json-maybexs
   (package
     (name "perl-json-maybexs")
-    (version "1.003010")
+    (version "1.004000")
     (source
      (origin
        (method url-fetch)
@@ -4427,7 +4474,7 @@ installed.")
                            "JSON-MaybeXS-" version ".tar.gz"))
        (sha256
         (base32
-         "0hs504x5zsa2vl6r7b3rvbygsak1ly24m1lg636bqp3x7jirmb30"))))
+         "09m1w03as6n0a00pzvaldkhm494yaf5n0g3j2cwwfx24iwpa1gar"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-without-module" ,perl-test-without-module)))
@@ -4444,7 +4491,7 @@ either uses the first module it finds or throws an error.")
 (define-public perl-json-xs
   (package
     (name "perl-json-xs")
-    (version "3.01")
+    (version "4.0")
     (source
      (origin
        (method url-fetch)
@@ -4452,8 +4499,10 @@ either uses the first module it finds or throws an error.")
                            "JSON-XS-" version ".tar.gz"))
        (sha256
         (base32
-         "1aviik480m61ykwvyix83grywzbk828wvfz19hqfvaasd8jz73af"))))
+         "0118yrzagwlcfj5yldn3h23zzqs2rx282jlm068nf7fjlvy4m7s7"))))
     (build-system perl-build-system)
+    (native-inputs
+     `(("perl-canary-stability" ,perl-canary-stability)))
     (propagated-inputs
      `(("perl-common-sense" ,perl-common-sense)
        ("perl-types-serialiser" ,perl-types-serialiser)))
@@ -4647,7 +4696,7 @@ implemented for example in GNU gettext.")
 (define-public perl-lingua-translit
   (package
     (name "perl-lingua-translit")
-    (version "0.26")
+    (version "0.28")
     (source
      (origin
        (method url-fetch)
@@ -4655,7 +4704,7 @@ implemented for example in GNU gettext.")
                            "Lingua-Translit-" version ".tar.gz"))
        (sha256
         (base32
-         "161589h08kzliga17i2g0hb0yn4cjmb8rdiyadq5bw97974bac14"))))
+         "1qgap0j0ixmif309dvbqca7sy8xha9xgnj9s2lvh8qrczkc92gqi"))))
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/Lingua-Translit")
     (synopsis "Transliterate text between writing systems")
@@ -5262,7 +5311,7 @@ examine the contents, and perform some simple tasks.  It can also load the
 (define-public perl-module-runtime
   (package
     (name "perl-module-runtime")
-    (version "0.014")
+    (version "0.016")
     (source
      (origin
        (method url-fetch)
@@ -5270,7 +5319,7 @@ examine the contents, and perform some simple tasks.  It can also load the
                            "Module-Runtime-" version ".tar.gz"))
        (sha256
         (base32
-         "19326f094jmjs6mgpwkyisid54k67w34br8yfh0gvaaml87gwi2c"))))
+         "097hy2czwkxlppri32m599ph0xfvfsbf0a5y23a4fdc38v32wc38"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
     (home-page "https://metacpan.org/release/Module-Runtime")
@@ -5307,7 +5356,7 @@ from Moose::Conflicts and moose-outdated.")
 (define-public perl-module-scandeps
   (package
     (name "perl-module-scandeps")
-    (version "1.25")
+    (version "1.27")
     (source
      (origin
        (method url-fetch)
@@ -5315,7 +5364,7 @@ from Moose::Conflicts and moose-outdated.")
                            "Module-ScanDeps-" version ".tar.gz"))
        (sha256
         (base32
-         "13280nq0d6zc58mcz3kvs2m85a741czq0fabk69ks1nr4j1w2nl4"))))
+         "0j6r9r99x5p0i6fv06i44wpsvjxj32amjkiqf6pmqpj80jff2k7f"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-requires" ,perl-test-requires)))
@@ -5521,7 +5570,7 @@ private methods are not.")
 (define-public perl-moosex-getopt
   (package
     (name "perl-moosex-getopt")
-    (version "0.71")
+    (version "0.73")
     (source
      (origin
        (method url-fetch)
@@ -5529,12 +5578,15 @@ private methods are not.")
                            "MooseX-Getopt-" version ".tar.gz"))
        (sha256
         (base32
-         "0nf2094qgir0irxjycwqavy53ygm530g9f7cxfywnl2n1bmgh66y"))))
+         "19zm8brf930p0ymqn3w1y0ix29kb74m8nvhrhjvrg8cgz6vc5fyz"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
+       ("perl-module-build-tiny" ,perl-module-build-tiny)
+       ("perl-path-tiny" ,perl-path-tiny)
        ("perl-test-deep" ,perl-test-deep)
        ("perl-test-fatal" ,perl-test-fatal)
+       ("perl-test-needs" ,perl-test-needs)
        ("perl-test-requires" ,perl-test-requires)
        ("perl-test-trap" ,perl-test-trap)
        ("perl-test-warnings" ,perl-test-warnings)))
@@ -6411,25 +6463,20 @@ system threads instead of Perl threads.")
 (define-public perl-net-idn-encode
   (package
     (name "perl-net-idn-encode")
-    (version "2.400")
+    (version "2.500")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "mirror://cpan/authors/id/C/CF/CFAERBER/Net-IDN-Encode-"
-             version
-             ".tar.gz"))
+       (uri (string-append "mirror://cpan/authors/id/C/CF/CFAERBER/"
+                           "Net-IDN-Encode-" version ".tar.gz"))
        (sha256
-        (base32
-         "0a9knav5f9kjldrkxx1k47ivd3p23zkmi8aqgyhnxidhgasz1dlq"))))
+        (base32 "1aiy7adirk3wpwlczd8sldi9k1dray0jrg1lbcrcw97zwcrkciam"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
        ("perl-test-nowarnings" ,perl-test-nowarnings)))
-    (home-page
-     "https://metacpan.org/release/Net-IDN-Encode")
-    (synopsis
-     "Internationalizing Domain Names in Applications (IDNA)")
+    (home-page "https://metacpan.org/release/Net-IDN-Encode")
+    (synopsis "Internationalizing Domain Names in Applications (IDNA)")
     (description
      "Internationalized Domain Names (IDNs) use characters drawn from a large
 repertoire (Unicode), but IDNA allows the non-ASCII characters to be
@@ -6877,7 +6924,8 @@ directory specifications in a cross-platform manner.")
              (substitute* "Cwd.pm"
                (("'/bin/pwd'")
                 (string-append "'" (assoc-ref inputs "coreutils")
-                               "/bin/pwd'"))))))))
+                               "/bin/pwd'")))
+             #t)))))
     (inputs
      `(("coreutils" ,coreutils)))
     (home-page "https://metacpan.org/release/PathTools")
@@ -6937,7 +6985,7 @@ for correctness.")
 (define-public perl-pegex
   (package
    (name "perl-pegex")
-   (version "0.64")
+   (version "0.67")
    (source
     (origin
      (method url-fetch)
@@ -6946,7 +6994,7 @@ for correctness.")
            version ".tar.gz"))
      (sha256
       (base32
-       "1kb7y2cc3nibbn8i8y3vrzz1f9h3892nbf8jj88c5fdgpmj05q17"))))
+       "149015ra2figalxrnj72fz02qc5cm96xg6x8d6kmyanfmrrxzf9w"))))
    (build-system perl-build-system)
    (native-inputs
     `(("perl-file-sharedir-install" ,perl-file-sharedir-install)
@@ -8393,7 +8441,7 @@ algorism to indicate multiplication by 1000.")
 (define-public perl-text-template
   (package
     (name "perl-text-template")
-    (version "1.47")
+    (version "1.54")
     (source
      (origin
        (method url-fetch)
@@ -8403,8 +8451,11 @@ algorism to indicate multiplication by 1000.")
              ".tar.gz"))
        (sha256
         (base32
-         "1z781cgz7wbn80lf3kqr2ad0pg6g1wlnim0822h8liw28k3l5msh"))))
+         "0s56jgak9ccbbbybf5v8hvvhyplbfhzl6p6v1751inly80rlj1kv"))))
     (build-system perl-build-system)
+    (native-inputs
+     `(("perl-test-more-utf8" ,perl-test-more-utf8)
+       ("perl-test-warnings" ,perl-test-warnings)))
     (home-page
      "https://metacpan.org/release/Text-Template")
     (synopsis
@@ -9009,6 +9060,9 @@ defined by Annex #11 is used to determine breaking positions.")
                (base32
                 "1xnhazbdvpyfpnxd90krzhxkvabf8fa2ji6xzlrf75j6nz8251zs"))))
     (build-system perl-build-system)
+    ;; FIXME: Tests fail on 32-bit architectures:
+    ;; <https://rt.cpan.org/Public/Bug/Display.html?id=127007>.
+    (arguments `(#:tests? ,(target-64bit?)))
     (native-inputs
      `(("perl-test-fatal" ,perl-test-fatal)
        ("perl-test-leaktrace" ,perl-test-leaktrace)
@@ -9204,7 +9258,7 @@ best YAML support to date.")
 (define-public perl-yaml-tiny
   (package
     (name "perl-yaml-tiny")
-    (version "1.66")
+    (version "1.73")
     (source
      (origin
        (method url-fetch)
@@ -9212,7 +9266,7 @@ best YAML support to date.")
                            "YAML-Tiny-" version ".tar.gz"))
        (sha256
         (base32
-         "0c17l8pvpraznpb31ncmr4wxlyww8sg8dhvp3s3q02yqll3cnygv"))))
+         "0i3p4nz8ysrsrs6vlzc6gkjcfpcaf05xjc7lwbjkw7lg5shmycdw"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-json-maybexs" ,perl-json-maybexs)
@@ -9722,3 +9776,28 @@ lookup in %INC or by assuming it is $0 if the caller is @code{main}
     (description "Regexp::Pattern is a convention for organizing reusable
 regexp patterns in modules.")
     (license (package-license perl))))
+
+(define-public perl-data-sexpression
+  (package
+    (name "perl-data-sexpression")
+    (version "0.41")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/N/NE/NELHAGE/Data-SExpression-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "16qls1yqcmhxrcx9agsmaypxa1nirq4nvbyzbww9984589m44ql1"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-module-install" ,perl-module-install)
+       ("perl-test-deep" ,perl-test-deep)))
+    (propagated-inputs
+     `(("perl-class-accessor" ,perl-class-accessor)))
+    (home-page "https://metacpan.org/release/Data-SExpression")
+    (synopsis "Parse Lisp S-Expressions into Perl data structures")
+    (description "Data::SExpression parses Lisp S-Expressions into Perl data
+structures.")
+    (license perl-license)))