;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015, 2016, 2017, 2019 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; 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, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@n0.is>
+;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
-;;; Copyright © 2016, 2018 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016, 2018, 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
-;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; 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 Adriano Peluso <catonano@gmail.com>
-;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Stephen J. Scheck <sscheck@cpan.org>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gd)
+ #:use-module (gnu packages hurd)
#:use-module (gnu packages less)
+ #:use-module (gnu packages ncurses)
#: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 textutils))
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages textutils)
+ #:use-module (gnu packages web))
;;;
;;; 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.30.0")
+ (version "5.30.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/src/5.0/perl-"
version ".tar.gz"))
(sha256
(base32
- "1wkmz6xn3fswpqhz29akiklcxclnlykhp96a8bqcz36rak3i64l5"))
+ "128nfdxcvxfn5kq55qcfrx2851ys8hv794dcdxbyny8rm7w7vnv6"))
(patches (search-patches
"perl-no-sys-dirs.patch"
"perl-autosplit-default-time.patch"
"perl-reproducible-build-date.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f
+ `(#:tests? #f
#:configure-flags
(let ((out (assoc-ref %outputs "out"))
(libc (assoc-ref %build-inputs "libc")))
(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")))
(("-std=c89")
"-std=gnu89"))
#t))
- (replace 'configure
- (lambda* (#:key configure-flags #:allow-other-keys)
- (format #t "Perl configure flags: ~s~%" configure-flags)
- (apply invoke "./Configure" configure-flags)))
- (add-before
- 'strip 'make-shared-objects-writable
- (lambda* (#:key outputs #:allow-other-keys)
- ;; The 'lib/perl5' directory contains ~50 MiB of .so. Make them
- ;; writable so that 'strip' actually strips them.
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib")))
- (for-each (lambda (dso)
- (chmod dso #o755))
- (find-files lib "\\.so$"))
- #t)))
-
+ ,@(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")))
+ (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")))
+ (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")))
+ (substitute* '("ext/Errno/Errno_pm.PL")
+ (("\\$cpp < errno.c") "$Config{cc} -E errno.c")))
+ #t))
+ (replace 'configure
+ (lambda* (#:key configure-flags outputs inputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (store-directory (%store-directory))
+ (configure-flags
+ (cons*
+ ;; `perl-cross' confuses target and host
+ (string-append "--target=" ,(%current-target-system))
+ (string-append "--prefix=" out)
+ (string-append "-Dcc=" ,(%current-target-system) "-gcc")
+ "-Dbyteorder=1234"
+ (filter (negate
+ (lambda (x) (or (string-prefix? "-d" x)
+ (string-prefix? "-Dcc=" x))))
+ configure-flags)))
+ (bash (assoc-ref inputs "bash"))
+ (coreutils (assoc-ref inputs "coreutils")))
+ (format (current-error-port)
+ "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)))
+ (add-after 'build 'touch-non-built-files-for-install
+ (lambda _
+ ;; `make install' wants to install these although they do
+ ;; not get built...
+ (with-directory-excursion "cpan"
+ (mkdir-p "Pod-Usage/blib/script")
+ (mkdir-p "Pod-Parser/blib/script")
+ (for-each (lambda (file)
+ (call-with-output-file file
+ (lambda (port) (display "" port))))
+ '("Pod-Usage/blib/script/pod2text"
+ "Pod-Usage/blib/script/pod2usage"
+ "Pod-Checker/blib/script/podchecker"
+ "Pod-Parser/blib/script/podselect")))
+ #t)))
+ `((replace 'configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (format #t "Perl configure flags: ~s~%" configure-flags)
+ (apply invoke "./Configure" configure-flags)))))
(add-after 'install 'remove-extra-references
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (libc (assoc-ref inputs "libc"))
+ (libc (assoc-ref inputs
+ ,(if (%current-target-system)
+ "cross-libc" "libc")))
(config1 (car (find-files (string-append out "/lib/perl5")
"^Config_heavy\\.pl$")))
(config2 (find-files (string-append out "/lib/perl5")
"/lib',\n"))))
config2)
#t))))))
+ (inputs
+ (if (%current-target-system)
+ `(("bash" ,bash-minimal)
+ ("coreutils" ,coreutils))
+ '()))
+ (native-inputs
+ (if (%current-target-system)
+ `(("perl-cross"
+ ,(origin
+ (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"))
+ (sha256
+ (base32 "065qbl1x44maykaj8p8za0b6qxj74bz7fi2zsrlydir1mqb1js3d"))))
+ ("perl-cross-patch" ,@(search-patches "perl-cross.patch")))
+ '()))
(native-search-paths (list (search-path-specification
(variable "PERL5LIB")
(files '("lib/perl5/site_perl")))))
sometimes even without using a single syscall.")
(license (package-license perl))))
+(define-public perl-attribute-util
+ (package
+ (name "perl-attribute-util")
+ (version "1.07")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://cpan.metacpan.org/authors/id/D/DA/DANKOGAI/"
+ "Attribute-Util-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1z79d845dy96lg0pxw0kr2za0gniwnpn963r7ccajfpj6k7jfw07"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/pod/Attribute::Util")
+ (synopsis "Assorted general utility attributes")
+ (description "This package provides various utility functions. When used
+without argument, this module provides four universally accessible attributes
+of general interest as follows:
+@itemize
+@item Abstract
+@item Alias
+@item Memoize
+@item Method
+@item SigHandler
+@end itemize")
+ (license (package-license perl))))
+
+(define-public perl-authen-dechpwd
+ (package
+ (name "perl-authen-dechpwd")
+ (version "2.007")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-DecHpwd-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0xzind7zr2prjq3zbs2j18snfpshd4xrd7igv4kp67xl0axr6fpl"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-data-integer" ,perl-data-integer)
+ ("perl-digest-crc" ,perl-digest-crc)
+ ("perl-scalar-string" ,perl-scalar-string)))
+ (home-page "https://metacpan.org/release/Authen-DecHpwd")
+ (synopsis "DEC VMS password hashing")
+ (description "@code{Authen::DecHpwd} implements the
+SYS$HASH_PASSWORD password hashing function from VMS (also known as
+LGI$HPWD) and some associated VMS username and password handling
+functions. The password hashing function is implemented in XS with a
+pure Perl backup version for systems that cannot handle XS.")
+ (license gpl2+)))
+
+(define-public perl-authen-passphrase
+ (package
+ (name "perl-authen-passphrase")
+ (version "0.008")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-Passphrase-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0qq4krap687rxf6xr31bg5nj5dqmm1frcm7fq249v1bxc4h4bnsm"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-authen-dechpwd" ,perl-authen-dechpwd)
+ ("perl-crypt-des" ,perl-crypt-des)
+ ("perl-crypt-eksblowfish" ,perl-crypt-eksblowfish)
+ ("perl-crypt-mysql" ,perl-crypt-mysql)
+ ("perl-crypt-passwdmd5" ,perl-crypt-passwdmd5)
+ ("perl-crypt-unixcrypt_xs" ,perl-crypt-unixcrypt_xs)
+ ("perl-data-entropy" ,perl-data-entropy)
+ ("perl-digest-md4" ,perl-digest-md4)
+ ("perl-module-runtime" ,perl-module-runtime)
+ ("perl-params-classify" ,perl-params-classify)))
+ (home-page "https://metacpan.org/release/Authen-Passphrase")
+ (synopsis "Hashed passwords/passphrases as objects")
+ (description "@code{Authen-Passphrase} is the base class for a
+system of objects that encapsulate passphrases. An object of this
+type is a passphrase recogniser; its job is to recognise whether an
+offered passphrase is the right one. For security such passphrase
+recognisers usually do not themselves know the passphrase they are
+looking for; they can merely recognise it when they see it. There are
+many schemes in use to achieve this effect and the intent of this
+class is to provide a consistent interface to them all. In addition
+to the base class, this module also contains implementations of
+several specific passphrase schemes.")
+ (license perl-license)))
+
(define-public perl-autovivification
(package
(name "perl-autovivification")
;; Either GPLv2 or the "Artistic" license.
(license (list gpl2 artistic2.0))))
+(define-public circos
+ (package
+ (name "circos")
+ (version "0.69-9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://circos.ca/distribution/circos-" version ".tgz"))
+ (sha256
+ (base32 "1ll9yxbk0v64813np0qz6h8bc53qlnhg9y1053b57xgkxgmxgn1l"))
+ (patches (list (search-patch "circos-remove-findbin.patch")))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There are no tests.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (datapath (string-append out "/share/Circos"))
+ (error (string-append out "/share/Circos/error"))
+ (fonts (string-append out "/share/Circos/fonts"))
+ (data (string-append out "/share/Circos/data"))
+ (tiles (string-append out "/share/Circos/tiles"))
+ (etc (string-append out "/share/Circos/etc"))
+ (lib (string-append out "/lib/perl5/site_perl/"
+ ,(package-version perl)))
+ (install-directory (lambda (source target)
+ (mkdir-p target)
+ (copy-recursively source target))))
+ ;; Circos looks into a relative path for its configuration
+ ;; files. We need to provide an absolute path towards the
+ ;; corresponding paths in the store.
+ (substitute* '("bin/circos" "etc/colors_fonts_patterns.conf"
+ "etc/gddiag.conf" "etc/brewer.conf" "README")
+ (("<<include etc") (string-append "<<include " etc)))
+ (substitute* '("etc/colors.conf" "etc/image.black.conf"
+ "etc/patterns.conf" "etc/image.conf")
+ (("<<include ") (string-append "<<include " etc "/")))
+ (substitute* '("etc/fonts.conf" "fonts/README.fonts")
+ (("= fonts") (string-append "= " fonts)))
+ (substitute* "etc/patterns.conf"
+ (("= tiles") (string-append "= " tiles)))
+ (substitute* "lib/Circos/Error.pm"
+ (("error/configuration.missing.txt")
+ (string-append error "/configuration.missing.txt")))
+ (substitute* "etc/housekeeping.conf"
+ (("# data_path = /home/martink/circos-tutorials ")
+ (string-append "data_path = " datapath)))
+ (substitute* "lib/Circos/Configuration.pm"
+ (("my @possibilities = \\(")
+ (string-append "my @possibilities = ("
+ "catfile( \"" datapath "\", $arg ), "
+ "catfile( \"" etc "\", $arg ), "
+ "catfile( \"" etc "/tracks\", $arg ), ")))
+ (for-each install-directory
+ (list "error" "fonts" "data" "tiles" "etc" "lib")
+ (list error fonts data tiles etc lib))
+ (install-file "bin/circos" bin)
+ #t))))))
+ (propagated-inputs
+ `(("perl" ,perl)
+ ("perl-carp" ,perl-carp)
+ ("perl-clone" ,perl-clone)
+ ("perl-config-general" ,perl-config-general)
+ ("perl-digest-md5" ,perl-digest-md5)
+ ("perl-file-temp" ,perl-file-temp)
+ ("perl-font-ttf" ,perl-font-ttf)
+ ("perl-gd" ,perl-gd)
+ ("perl-getopt-long" ,perl-getopt-long)
+ ("perl-list-allutils" ,perl-list-allutils)
+ ("perl-math-bezier" ,perl-math-bezier)
+ ("perl-math-round" ,perl-math-round)
+ ("perl-math-vecstat" ,perl-math-vecstat)
+ ("perl-memoize" ,perl-memoize)
+ ("perl-number-format" ,perl-number-format)
+ ("perl-params-validate" ,perl-params-validate)
+ ("perl-readonly" ,perl-readonly)
+ ("perl-regexp-common" ,perl-regexp-common)
+ ("perl-set-intspan" ,perl-set-intspan)
+ ("perl-statistics-basic" ,perl-statistics-basic)
+ ("perl-svg" ,perl-svg)
+ ("perl-text-balanced" ,perl-text-balanced)
+ ("perl-text-format" ,perl-text-format)
+ ("perl-time-hires" ,perl-time-hires)))
+ (home-page "http://circos.ca/")
+ (synopsis "Generation of circularly composited renditions")
+ (description
+ "Circos is a program for the generation of publication-quality, circularly
+composited renditions of genomic data and related annotations.")
+ (license gpl2+)))
+
(define-public perl-class-accessor
(package
(name "perl-class-accessor")
with a hook to easily call that original method.")
(license (package-license perl))))
+(define-public perl-class-mix
+ (package
+ (name "perl-class-mix")
+ (version "0.006")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Class-Mix-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "02vwzzqn1s24g525arbrjh9s9j0y1inp3wbr972gh51ri51zciw7"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-params-classify" ,perl-params-classify)))
+ (home-page "https://metacpan.org/release/Class-Mix")
+ (synopsis "Dynamic class mixing")
+ (description "The @code{mix_class} function provided by this
+module dynamically generates anonymous classes with specified
+inheritance. This is useful where an incomplete class requires use of
+a mixin in order to become instantiable.")
+ (license perl-license)))
+
(define-public perl-class-singleton
(package
(name "perl-class-singleton")
languages.")
(license bsd-3)))
+(define-public perl-config-grammar
+ (package
+ (name "perl-config-grammar")
+ (version "1.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/D/DS/DSCHWEI/"
+ "Config-Grammar-" version ".tar.gz"))
+ (sha256
+ (base32 "1qynf5bk6mnk90nggm3z8rdz2535kmqg46s0vj93pi68r6ia7cx8"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Config-Grammar")
+ (synopsis "Grammar-based config parser")
+ (description
+ "Config::Grammar is a module to parse configuration files. The
+configuration may consist of multiple-level sections with assignments and
+tabular data.")
+ (license (package-license perl))))
+
(define-public perl-config-any
(package
(name "perl-config-any")
supports XML, YAML, JSON, Apache-style configuration, and Perl code.")
(license (package-license perl))))
+(define-public perl-config-inifiles
+ (package
+ (name "perl-config-inifiles")
+ (version "3.000002")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/"
+ "Config-IniFiles-" version ".tar.gz"))
+ (sha256
+ (base32 "02dsz3inh5jwgaxmbcz8qxwgin8mkhm6vj9jyzfmm3dr5pnxcbnr"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-io-stringy",perl-io-stringy)))
+ (home-page "https://metacpan.org/pod/Config::IniFiles")
+ (synopsis "Package for configuration files outside your Perl script")
+ (description "This package provides a way to have readable configuration
+files outside your Perl script. Configurations can be imported, sections
+can be grouped, and settings can be accessed from a tied hash.")
+ (license (package-license perl))))
+
(define-public perl-config-autoconf
(package
(name "perl-config-autoconf")
(define-public perl-cpanel-json-xs
(package
(name "perl-cpanel-json-xs")
- (version "4.17")
+ (version "4.18")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/"
"Cpanel-JSON-XS-" version ".tar.gz"))
(sha256
- (base32 "1yq6hwd6hayqrhaa2h90svqqvsc28k0g4bdip5nyxgm9r93sx07s"))))
+ (base32 "1dnnf6bjz0fi9hk8gzmsklmh5y0z137vk62k3d7s88q30maf3rk3"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-common-sense" ,perl-common-sense)))
versa.")
(license (package-license perl))))
+(define-public perl-crypt-cbc
+ (package
+ (name "perl-crypt-cbc")
+ (version "2.33")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/L/LD/LDS/Crypt-CBC-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0ig698lmpjz7fslnznxm0609lvlnvf4f3s370082nzycnqhxww3a"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-crypt-rijndael" ,perl-crypt-rijndael)))
+ (home-page "https://metacpan.org/release/Crypt-CBC")
+ (synopsis "Encrypt Data with Cipher Block Chaining Mode")
+ (description "@code{Crypt::CBC} is a Perl-only implementation of
+the cryptographic Cipher Block Chaining (CBC) mode. In combination
+with a block cipher such as @code{Crypt::Rijndael} you can encrypt and
+decrypt messages of arbitrarily long length. The encrypted messages
+are compatible with the encryption format used by SSLeay.")
+ (license perl-license)))
+
+(define-public perl-crypt-des
+ (package
+ (name "perl-crypt-des")
+ (version "2.07")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-DES-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1rypxlhpd1jc0c327aghgl9y6ls47drmpvn0a40b4k3vhfsypc9d"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-crypt-cbc" ,perl-crypt-cbc)))
+ (home-page "https://metacpan.org/release/Crypt-DES")
+ (synopsis "DES encryption module")
+ (description "@code{Crypt::DES} is an XS-based implementation of
+the DES cryptography algorithm. The module implements the
+@code{Crypt::CBC} interface which has blocksize, keysize, encrypt and
+decrypt functions.")
+ (license bsd-3)))
+
+(define-public perl-crypt-eksblowfish
+ (package
+ (name "perl-crypt-eksblowfish")
+ (version "0.009")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Crypt-Eksblowfish-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0k01aw3qb2s4m1w4dqsc9cycyry1zg3wabdym4vp4421b1ni5irw"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-class-mix" ,perl-class-mix)))
+ (home-page "https://metacpan.org/release/Crypt-Eksblowfish")
+ (synopsis "The Eksblowfish block cipher")
+ (description "Eksblowfish is a variant of the Blowfish cipher,
+modified to make the key setup very expensive. This doesn't make it
+significantly cryptographically stronger but is intended to hinder
+brute-force attacks. Eksblowfish is a parameterised (family-keyed)
+cipher. It takes a cost parameter that controls how expensive the key
+scheduling is. It also takes a family key, known as the \"salt\".
+Cost and salt parameters together define a cipher family. Within each
+family, the key determines the encryption function. This distribution
+also includes an implementation of @code{bcrypt}, the Unix crypt()
+password hashing algorithm based on Eksblowfish.")
+ (license perl-license)))
+
+(define-public perl-crypt-mysql
+ (package
+ (name "perl-crypt-mysql")
+ (version "0.04")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/I/IK/IKEBE/Crypt-MySQL-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1qyx6ha13r0rh80ldv5wy2bq2pa74igwh8817xlapsfgxymdzswk"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-dbd-mysql" ,perl-dbd-mysql)))
+ (propagated-inputs
+ `(("perl-digest-sha1" ,perl-digest-sha1)))
+ (home-page "https://metacpan.org/release/Crypt-MySQL")
+ (synopsis "Emulate the MySQL PASSWORD() function")
+ (description "@code{Crypt::MySQL} emulates the MySQL PASSWORD()
+function. The module does not depend on an interface to the MySQL
+database server. This enables the comparison of encrypted passwords
+without the need for a real MySQL environment.")
+ (license perl-license)))
+
+(define-public perl-crypt-passwdmd5
+ (package
+ (name "perl-crypt-passwdmd5")
+ (version "1.40")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/R/RS/RSAVAGE/Crypt-PasswdMD5-"
+ version ".tgz"))
+ (sha256
+ (base32
+ "0j0r74f18nk63phddzqbf7wqma2ci4p4bxvrwrxsy0aklbp6lzdp"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)))
+ (home-page "https://metacpan.org/release/Crypt-PasswdMD5")
+ (synopsis "Interoperable MD5-based crypt() functions")
+ (description "@code{Crypt::PasswdMD5} provides various
+crypt()-compatible interfaces to the MD5-based crypt() function found
+in various *nixes. It is based on the implementation found on FreeBSD
+2.2.[56]-RELEASE.")
+ (license perl-license)))
+
(define-public perl-crypt-randpasswd
(package
(name "perl-crypt-randpasswd")
Password Generator\".")
(license (package-license perl))))
+(define-public perl-crypt-rijndael
+ (package
+ (name "perl-crypt-rijndael")
+ (version "1.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Rijndael-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "03l5nwq97a8q9na4dpd4m3r7vrwpranx225vw8xm40w7zvgw6lb4"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Crypt-Rijndael")
+ (synopsis "Crypt::CBC compliant Rijndael encryption module")
+ (description "This module implements the Rijndael cipher which has
+been selected as the Advanced Encryption Standard. The keysize for
+Rijndael is 32 bytes. The blocksize is 16 bytes (128 bits). The
+supported encryption modes are:
+
+@itemize
+@item @code{MODE_CBC}---Cipher Block Chaining
+@item @code{MODE_CFB}---Cipher feedback
+@item @code{MODE_CTR}---Counter mode
+@item @code{MODE_ECB}---Electronic cookbook mode
+@item @code{MODE_OFB}---Output feedback
+@end itemize")
+ (license gpl3)))
+
(define-public perl-crypt-rc4
(package
(name "perl-crypt-rc4")
(description "A pure Perl implementation of the RC4 algorithm.")
(license (package-license perl))))
+(define-public perl-crypt-unixcrypt_xs
+ (package
+ (name "perl-crypt-unixcrypt_xs")
+ (version "0.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/B/BO/BORISZ/Crypt-UnixCrypt_XS-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1ajg3x6kwxy4x9p3nw1j36qjxpjvdpi9wkca5gfd86y9q8939sv2"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Crypt-UnixCrypt_XS")
+ (synopsis "XS interface for a portable traditional crypt function")
+ (description "@code{Crypt::UnixCrypt_XS} implements the DES-based
+Unix @code{crypt} function. For those who need to construct
+non-standard variants of @code{crypt}, the various building blocks
+used in @code{crypt} are also supplied separately.")
+ ;; Files in the 'fcrypt' directory are covered by a BSD licence.
+ (license (list perl-license bsd-3))))
+
(define-public perl-cwd-guard
(package
(name "perl-cwd-guard")
they are copies of each other.")
(license (package-license perl))))
+(define-public perl-data-entropy
+ (package
+ (name "perl-data-entropy")
+ (version "0.007")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Entropy-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1r176jjzir2zg5kidx85f7vzi6jsw7ci9vd4kvbr9183lfhw8496"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-crypt-rijndael" ,perl-crypt-rijndael)
+ ("perl-data-float" ,perl-data-float)
+ ("perl-http-lite" ,perl-http-lite)
+ ("perl-params-classify" ,perl-params-classify)))
+ (home-page "https://metacpan.org/release/Data-Entropy")
+ (synopsis "Entropy (randomness) management")
+ (description "@code{Data::Entropy} provides modules relating to
+the generation and use of entropy. The Data::Entropy::Source class
+manages the entropy coming from a particular source. This class acts
+as a layer over a raw entropy source, which may be a normal I/O handle
+or a special-purpose class. The Data::Entropy::RawSource::* classes
+provide fundamental sources of entropy. The sources specially
+supported are an OS-supplied entropy collector, downloads from servers
+on the Internet, and cryptographic fake entropy. The
+Data::Entropy::Algorithms module contains a collection of fundamental
+algorithms that use entropy. There are random number generators and
+functions to shuffle arrays.")
+ (license perl-license)))
+
+(define-public perl-data-integer
+ (package
+ (name "perl-data-integer")
+ (version "0.006")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Integer-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0m53zxhx9sn49yqh7azlpyy9m65g54v8cd2ha98y77337gg7xdv3"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (home-page "https://metacpan.org/release/Data-Integer")
+ (synopsis "Details of the native integer data type")
+ (description "This module is about the native integer numerical
+data type. A native integer is one of the types of datum that can
+appear in the numeric part of a Perl scalar. This module supplies
+constants describing the native integer type. Both signed and
+unsigned representations are handled.")
+ (license perl-license)))
+
(define-public perl-data-uniqid
(package
(name "perl-data-uniqid")
indentation and newlines plus sub deparsing.")
(license (package-license perl))))
+(define-public perl-data-float
+ (package
+ (name "perl-data-float")
+ (version "0.013")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Float-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "12ji4yf3nc965rqqgfhr96w7irpm6n1g15nivfxvhc49hlym5cg2"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (home-page "https://metacpan.org/release/Data-Float")
+ (synopsis "Details of the floating point data type")
+ (description "@code{Data::Float} is about the native floating
+point numerical data type. A floating point number is one of the
+types of datum that can appear in the numeric part of a Perl scalar.
+This module supplies constants describing the native floating point
+type, classification functions and functions to manipulate floating
+point values at a low level.")
+ (license perl-license)))
+
(define-public perl-data-optlist
(package
(name "perl-data-optlist")
(define-public perl-datetime
(package
(name "perl-datetime")
- (version "1.51")
+ (version "1.52")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/"
"DateTime-" version ".tar.gz"))
(sha256
- (base32 "1ibfq6acz1ih28vl613yygbb3r2d8ykx6di669vajhvswl6xl8ny"))))
+ (base32 "1z1xpifh2kpyw7rlc8ivg9rl0qmabjq979gjp0s9agdjf9hqp0k7"))))
(build-system perl-build-system)
(native-inputs
`(("perl-cpan-meta-check" ,perl-cpan-meta-check)
(define-public perl-datetime-format-strptime
(package
(name "perl-datetime-format-strptime")
- (version "1.76")
+ (version "1.77")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/"
"DateTime-Format-Strptime-" version ".tar.gz"))
(sha256
- (base32
- "03dmzi9n6jmnfjmf0ld5sdmi3ib6jrhz25cjzv7d58ypdr32cg2r"))))
+ (base32 "0jiy2yc9h9932ykb8x2l1j3ff8ms3p4426m947r5clygis1kr91g"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-datetime" ,perl-datetime)
the appropriate objects.")
(license (package-license perl))))
+(define-public perl-devel-callchecker
+ (package
+ (name "perl-devel-callchecker")
+ (version "0.008")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Devel-CallChecker-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1p0ij2k2i81zhl7064h9ghld1w5xy2zsbghkpdzm2hjryl5lwn2x"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
+ ("perl-dynaloader-functions" ,perl-dynaloader-functions)))
+ (home-page "https://metacpan.org/release/Devel-CallChecker")
+ (synopsis "Custom op checking attached to subroutines")
+ (description "This module makes some new features of the Perl
+5.14.0 C API available to XS modules running on older versions of
+Perl. The features are centred around the function
+@code{cv_set_call_checker}, which allows XS code to attach a magical
+annotation to a Perl subroutine, resulting in resolvable calls to that
+subroutine being mutated at compile time by arbitrary C code. This
+module makes @code{cv_set_call_checker} and several supporting
+functions available.")
+ (license perl-license)))
+
(define-public perl-devel-caller
(package
(name "perl-devel-caller")
(description "Devel::Symdump provides access to the perl symbol table.")
(license (package-license perl))))
+(define-public perl-digest-crc
+ (package
+ (name "perl-digest-crc")
+ (version "0.22")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/O/OL/OLIMAUL/Digest-CRC-"
+ version ".2.tar.gz"))
+ (sha256
+ (base32
+ "1jvqcyrbi11cj3vlfc9sq2g6rv9caizyjkjqsksvmxn6zgvm0aqi"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Digest-CRC")
+ (synopsis "Generic CRC functions")
+ (description "The @code{Digest::CRC} module calculates CRC sums of
+all sorts. It contains wrapper functions with the correct parameters
+for CRC-CCITT, CRC-16 and CRC-32.")
+ (license public-domain)))
+
(define-public perl-digest-hmac
(package
(name "perl-digest-hmac")
interface for the RFC 2104 HMAC mechanism.")
(license (package-license perl))))
+(define-public perl-digest-md4
+ (package
+ (name "perl-digest-md4")
+ (version "1.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/M/MI/MIKEM/DigestMD4/Digest-MD4-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "19ma1hmvgiznq95ngzvm6v4dfxc9zmi69k8iyfcg6w14lfxi0lb6"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Digest-MD4")
+ (synopsis "Interface to the MD4 Algorithm")
+ (description "The @code{Digest::MD4} module allows you to use the
+RSA Data Security Inc.@: MD4 Message Digest algorithm from within Perl
+programs. The algorithm takes as input a message of arbitrary length
+and produces as output a 128-bit \"fingerprint\" or \"message digest\"
+of the input. MD4 is described in RFC 1320.")
+ (license perl-license)))
+
(define-public perl-digest-md5
(package
(name "perl-digest-md5")
modules separately and deal with them after the module is done installing.")
(license (package-license perl))))
+(define-public perl-dynaloader-functions
+ (package
+ (name "perl-dynaloader-functions")
+ (version "0.003")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/DynaLoader-Functions-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "10x13q920j9kid7vmbj6fiaz153042dy4mwdmpzrdrxw2ir39ciy"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (home-page "https://metacpan.org/release/DynaLoader-Functions")
+ (synopsis "Deconstructed dynamic C library loading")
+ (description "This module provides a function-based interface to
+dynamic loading as used by Perl. Some details of dynamic loading are
+very platform-dependent, so correct use of these functions requires
+the programmer to be mindfulof the space of platform variations.")
+ (license perl-license)))
+
(define-public perl-encode-detect
(package
(name "perl-encode-detect")
(define-public perl-ipc-system-simple
(package
(name "perl-ipc-system-simple")
- (version "1.25")
+ (version "1.26")
(source (origin
(method url-fetch)
(uri (string-append
- "mirror://cpan/authors/id/P/PJ/PJF/IPC-System-Simple-"
+ "mirror://cpan/authors/id/J/JK/JKEENAN/IPC-System-Simple-"
version ".tar.gz"))
(sha256
(base32
- "0fsdb81shjj4hifyyzvj7vpkhq5jrfhlcpw2xbjfi1mqz8fsmdpi"))))
+ "1zb5ni8ikaq6s60amwdsq69nz8gxl484yiga6ax5nqp8v0hpy5sp"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/IPC-System-Simple")
(synopsis "Run commands simply, with detailed diagnostics")
@end table")
(license perl-license)))
+(define-public perl-mail-sendmail
+ (package
+ (name "perl-mail-sendmail")
+ (version "0.80")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/N/NE/NEILB/Mail-Sendmail-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1r38qbkj7jwj8cqy1rnqzkk81psxi08b1aiq392817f3bk5ri2jv"))))
+ (build-system perl-build-system)
+ (arguments `(#:tests? #f)) ;socket not available during build
+ (home-page "https://metacpan.org/release/Mail-Sendmail")
+ (synopsis "Simple platform independent mailer")
+ (description "Mail::Sendmail is a pure perl module that provides a
+simple means to send email from a perl script. The module only
+requires Perl5 and a network connection.")
+ (license perl-license)))
+
(define-public perl-math-bezier
(package
(name "perl-math-bezier")
both positive and negative, in various ways.")
(license perl-license)))
+(define-public perl-math-vecstat
+ (package
+ (name "perl-math-vecstat")
+ (version "0.08")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/A/AS/ASPINELLI/Math-VecStat-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "03bdcl9pn2bc9b50c50nhnr7m9wafylnb3v21zlch98h9c78x6j0"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Math-VecStat")
+ (synopsis "Basic numeric stats on vectors")
+ (description "This package provides some basic statistics on numerical
+vectors. All the subroutines can take a reference to the vector to be
+operated on.")
+ (license (package-license perl))))
+
(define-public perl-memoize
(package
(name "perl-memoize")
processes to be forked off should be limited.")
(license (package-license perl))))
+(define-public perl-params-classify
+ (package
+ (name "perl-params-classify")
+ (version "0.015")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Params-Classify-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "052r198xyrsv8wz21gijdigz2cgnidsa37nvyfzdiz4rv1fc33ir"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (propagated-inputs
+ `(("perl-devel-callchecker" ,perl-devel-callchecker)))
+ (home-page "https://metacpan.org/release/Params-Classify")
+ (synopsis "Argument type classification")
+ (description "This module provides various type-testing functions.
+These are intended for functions that care what type of data they are
+operating on. There are two flavours of function. Functions of the
+first flavour provide type classification only. Functions of the
+second flavour also check that an argument is of an expected type.
+The type enforcement functions handle only the simplest requirements
+for arguments of the types handled by the classification functions.
+Enforcement of more complex types may be built using the
+classification functions, or it may be more convenient to use a module
+designed for the more complex job, such as @code{Params::Validate}")
+ (license perl-license)))
+
(define-public perl-params-util
(package
(name "perl-params-util")
(native-inputs
;; For tests.
`(("perl-test-without-module" ,perl-test-without-module)
- ("perl-test2-bundle-extended" ,perl-test2-bundle-extended)
("perl-test2-plugin-nowarnings" ,perl-test2-plugin-nowarnings)
+ ("perl-test2-suite" ,perl-test2-suite)
("perl-type-tiny" ,perl-type-tiny)))
(propagated-inputs
`(("perl-eval-closure" ,perl-eval-closure)
with file paths.")
(license asl2.0)))
+(define-public perl-pdf-api2
+ (package
+ (name "perl-pdf-api2")
+ (version "2.036")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0x0pa75wpb87pcshl92y5nh8pzikjp46ljlr2pqvdgpqzvll8107"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-test-exception" ,perl-test-exception)
+ ("perl-test-memory-cycle" ,perl-test-memory-cycle)))
+ (propagated-inputs
+ `(("perl-font-ttf" ,perl-font-ttf)))
+ (home-page "https://metacpan.org/release/PDF-API2")
+ (synopsis "Facilitates the creation and modification of PDF files")
+ (description "This Perl module facilitates the creation and modification
+of PDF files.")
+ (license lgpl2.1)))
+
(define-public perl-perlio-utf8_strict
(package
(name "perl-perlio-utf8-strict")
safely on things that may not be objects.")
(license (package-license perl))))
+(define-public perl-scalar-string
+ (package
+ (name "perl-scalar-string")
+ (version "0.003")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Scalar-String-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0llbsqk7rsg9p7l1f4yk6iv7wij91gvavprsqhnb04w7nz4ifjpm"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (home-page "https://metacpan.org/release/Scalar-String")
+ (synopsis "String aspects of scalars")
+ (description "@code{Scalar::String} is about the string part of
+plain Perl scalars. A scalar has a string value, which is notionally
+a sequence of Unicode codepoints but may be internally encoded in
+either ISO-8859-1 or UTF-8. In places, more so in older versions of
+Perl, the internal encoding shows through. To fully understand Perl
+strings it is necessary to understand these implementation details.
+This module provides functions to classify a string by encoding and to
+encode a string in a desired way. The module is implemented in XS,
+with a pure Perl backup version for systems that cannot handle XS.")
+ (license perl-license)))
+
(define-public perl-scope-guard
(package
(name "perl-scope-guard")
(define-public perl-term-readkey
(package
(name "perl-term-readkey")
- (version "2.37")
+ (version "2.38")
(source
(origin
(method url-fetch)
"TermReadKey-" version ".tar.gz"))
(sha256
(base32
- "0hdj5mldpj3pyprd4hbbalfx9yjgi5p59gg2ixk9808f5v7q74sa"))))
+ "143jlibah1g14bym7sj3gphvqkpj1w4vn7sqc4vc62jpviw5hr2s"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/TermReadKey")
(synopsis "Simple terminal control")
screen size, and retrieval/modification of the control characters.")
(license (package-license perl))))
+(define-public perl-term-readline-gnu
+ (package
+ (name "perl-term-readline-gnu")
+ (version "1.36")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/H/HA/HAYASHI/"
+ "Term-ReadLine-Gnu-" version ".tar.gz"))
+ (sha256
+ (base32
+ "09b9mcmp09kdfh5jaqdr528yny8746hvn3f185aqd6rw06jgf24s"))))
+ (build-system perl-build-system)
+ (inputs
+ `(("readline" ,readline)
+ ("ncurses" ,ncurses)))
+ (arguments
+ `(#:tests? #f ; Tests fail without other Term::ReadLine interfaces present
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'patch-search-lib
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Makefile.PL"
+ ;; The configuration provides no way easy was to pass
+ ;; additional directories to search for libraries, so
+ ;; just patch in the flags.
+ (("-lreadline" &)
+ (format #f "-L~a/lib ~a" (assoc-ref inputs "readline") &))
+ (("&search_lib\\('-lncurses'\\)")
+ (string-append "'-L" (assoc-ref inputs "ncurses") "/lib"
+ " -lncurses'"))))))))
+ (home-page "https://metacpan.org/release/Term-ReadLine-Gnu")
+ (synopsis "GNU Readline/History Library interface for Perl")
+ (description "This module implements an interface to the GNU Readline
+library. It gives you input line editing facilities, input history management
+facilities, completion facilities, etc. Term::ReadLine::Gnu is upwards
+compatible with Term::ReadLine.")
+ (license (package-license perl))))
+
(define-public perl-term-size-any
(package
(name "perl-term-size-any")
(define-public perl-time-local
(package
(name "perl-time-local")
- (version "1.2300")
+ (version "1.28")
(source
(origin
(method url-fetch)
"Time-Local-" version ".tar.gz"))
(sha256
(base32
- "0jgvd6v93hlrcmy56yxbm4yrhzi8yvrq8c3xffpgh28af01wmb5j"))))
+ "03p1mxk75vmmi4l0ibpd05b6hncbh8afjhvss87vpp4rrkjvjy4j"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Time-Local")
(synopsis "Efficiently compute time from local and GMT time")
(define-public perl-timedate
(package
(name "perl-timedate")
- (version "2.30")
+ (version "2.32")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://cpan/authors/id/G/GB/GBARR/"
+ (uri (string-append "mirror://cpan/authors/id/A/AT/ATOOMIC/"
"TimeDate-" version ".tar.gz"))
(sha256
- (base32
- "11lf54akr9nbivqkjrhvkmfdgkbhw85sq0q4mak56n6bf542bgbm"))))
+ (base32 "1mmk9dy4a26a4d4c5rswqqhxr0295j93bjbcx91d3qkmwfcs1v1l"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/TimeDate")
(synopsis "Date parsing/formatting subroutines")
(define-public perl-type-tiny
(package
(name "perl-type-tiny")
- (version "1.006000")
+ (version "1.008003")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/"
"Type-Tiny-" version ".tar.gz"))
(sha256
- (base32 "007xsx78cnjillbny7x9sjn1w6z8m22fmksmay710jhbvw9h19nm"))))
+ (base32 "1x80rlnh7kl4xgm4qvyfbgahcyla4wbyh3b759nm21czn8x6wkm4"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-warnings" ,perl-test-warnings)))
(define-public perl-xs-object-magic
(package
(name "perl-xs-object-magic")
- (version "0.04")
+ (version "0.05")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/"
+ (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"XS-Object-Magic-" version ".tar.gz"))
(sha256
(base32
- "03fghj7hq0fiicmfdxhmzfm4mzv7s097pgkd32ji7jnljvhm9six"))))
+ "0njyy4y0zax4zz55y82dlm9cly1pld1lcxb281s12bp9rrhf9j9x"))))
(build-system perl-build-system)
(native-inputs
`(("perl-extutils-depends" ,perl-extutils-depends)