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.scm556
1 files changed, 554 insertions, 2 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index eb02d5e05e..7c9a1d37ca 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -52,6 +52,7 @@
#:use-module (guix build-system perl)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gd)
#:use-module (gnu packages less)
@@ -61,7 +62,8 @@
#:use-module (gnu packages perl-web)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
- #:use-module (gnu packages textutils))
+ #:use-module (gnu packages textutils)
+ #:use-module (gnu packages web))
;;;
;;; Please: Try to add new module packages in alphabetic order.
@@ -351,7 +353,7 @@ sometimes even without using a single syscall.")
(build-system perl-build-system)
(home-page "https://metacpan.org/pod/Attribute::Util")
(synopsis "Assorted general utility attributes")
- (description "This packages provides various utility functions. When used
+ (description "This package provides various utility functions. When used
without argument, this module provides four universally accessible attributes
of general interest as follows:
@itemize
@@ -363,6 +365,80 @@ of general interest as follows:
@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")
@@ -1306,6 +1382,34 @@ that original method. @code{around} is run in place of the original method,
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")
@@ -1798,6 +1902,140 @@ CPAN::Meta object are present.")
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")
@@ -1822,6 +2060,36 @@ contained in Appendix A of FIPS Publication 181, \"Standard for Automated
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")
@@ -1842,6 +2110,29 @@ Password Generator\".")
(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")
@@ -1956,6 +2247,71 @@ input.")
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")
@@ -2036,6 +2392,34 @@ statement. It handles self-referential structures correctly.")
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")
@@ -2824,6 +3208,39 @@ format of RSS 1.0. It can be used to parse these formats in order to create
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")
@@ -3132,6 +3549,27 @@ each stack frame.")
(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")
@@ -3151,6 +3589,29 @@ each stack frame.")
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")
@@ -3221,6 +3682,32 @@ SHA-1 message digest algorithm for use by Perl programs.")
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")
@@ -7260,6 +7747,40 @@ operations that can be done in parallel where the number of
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")
@@ -7761,6 +8282,37 @@ and @code{deserialize_regexp}.")
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")