;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2013, 2019, 2020, 2021 Andreas Enge ;;; Copyright © 2015, 2016, 2017, 2019, 2021, 2022, 2023 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017, 2019, 2020 Eric Bavier ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016, 2018 Mark H Weaver ;;; Copyright © 2016 Jochem Raat ;;; Copyright © 2016-2022 Efraim Flashner ;;; Copyright © 2016 Nikita ;;; Copyright © 2016 Alex Sassmannshausen ;;; Copyright © 2016, 2018, 2020, 2021 Roel Janssen ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2017 Raoul J.P. Bonnal ;;; Copyright © 2017, 2018, 2020-2022 Marius Bakke ;;; Copyright © 2017 Adriano Peluso ;;; Copyright © 2017, 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Christine Lemmer-Webber ;;; Copyright © 2018, 2019 Oleg Pykhalov ;;; Copyright © 2018, 2019 Pierre Neidhardt ;;; Copyright © 2018 Kei Kebreau ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2019 Stephen J. Scheck ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020 Paul Garlick ;;; Copyright © 2020 Nicolas Goaziou ;;; Copyright © 2020 Malte Frank Gerdes ;;; Copyright © 2021, 2023 Maxim Cournoyer ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2021 Raghav Gururajan ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2022 Evgeny Pisemsky ;;; Copyright © 2022 gemmaro ;;; Copyright © 2023 Mădălin Ionel Patrașcu ;;; Copyright © 2023 Andreas Enge ;;; Copyright © 2023 Jake Leporte ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages perl) #:use-module (srfi srfi-1) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (guix gexp) #: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 (guix memoization) #:use-module (guix search-paths) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages file) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) #:use-module (gnu packages gl) #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) #:use-module (gnu packages hurd) #:use-module (gnu packages image) #:use-module (gnu packages language) #: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-maths) #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages sdl) #:use-module (gnu packages security-token) #:use-module (gnu packages textutils) #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:export (perl-extutils-pkgconfig)) ;;; ;;; Please: Try to add new module packages in alphabetic order. ;;; (define-public perl ;; Yeah, Perl... It is required early in the bootstrap process by Linux. (package (name "perl") (version "5.36.0") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/src/5.0/perl-" version ".tar.gz")) (sha256 (base32 "02p0ljvxgay5g8s8j1kghdylkj581qx3qlwavlmgd5n3iapqaq72")) (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 #:configure-flags (let ((out (assoc-ref %outputs "out")) (libc (assoc-ref %build-inputs "libc"))) (list (string-append "-Dprefix=" out) (string-append "-Dman1dir=" out "/share/man/man1") (string-append "-Dman3dir=" out "/share/man/man3") "-de" "-Dcc=gcc" "-Uinstallusrbinperl" "-Dinstallstyle=lib/perl5" "-Duseshrplib" (string-append "-Dlocincpth=" libc "/include") (string-append "-Dloclibpth=" libc "/lib") "-Dusethreads")) #:phases (modify-phases %standard-phases (add-before 'configure 'setup-configure (lambda* (#:key inputs #:allow-other-keys) ;; Use the right path for `pwd'. (substitute* "dist/PathTools/Cwd.pm" (("'/bin/pwd'") (string-append "'" (search-input-file inputs "bin/pwd") "'"))) ;; Build in GNU89 mode to tolerate C++-style comment in libc's ;; . (substitute* "cflags.SH" (("-std=c89") "-std=gnu89")))) ,@(if (%current-target-system) `((add-after 'unpack 'unpack-cross (lambda* (#:key native-inputs inputs #:allow-other-keys) (let ((cross-checkout (assoc-ref native-inputs "perl-cross"))) (rename-file "Artistic" "Artistic.perl") (rename-file "Copying" "Copying.perl") (copy-recursively cross-checkout ".")) (let ((bash (search-input-file inputs "bin/bash"))) (substitute* '("Makefile.config.SH" "cnf/config.guess" "cnf/config.sub" "cnf/configure" "cnf/configure_misc.sh" "miniperl_top") (("! */bin/sh") (string-append "! " bash)) ((" /bin/sh") bash)) (substitute* '("ext/Errno/Errno_pm.PL") (("\\$cpp < errno.c") "$Config{cc} -E errno.c"))))) (replace 'configure (lambda* (#:key configure-flags outputs inputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (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-minimal"))) (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")))))) (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")))))) `((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 ,(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") "^Config\\.pm$"))) ;; Force the library search path to contain only libc because ;; it is recorded in Config.pm and Config_heavy.pl; we don't ;; want to keep a reference to everything that's in ;; $LIBRARY_PATH at build time (GCC, Binutils, bzip2, file, ;; etc.) (substitute* config1 (("^incpth=.*$") (string-append "incpth='" libc "/include'\n")) (("^(libpth|plibpth|libspath)=.*$" _ variable) (string-append variable "='" libc "/lib'\n"))) (for-each (lambda (file) (substitute* config2 (("libpth => .*$") (string-append "libpth => '" libc "/lib',\n")))) config2))))))) (inputs (if (%current-target-system) (list bash-minimal coreutils-minimal) '())) (native-inputs (if (%current-target-system) `(("perl-cross" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/arsv/perl-cross") (commit "1.4"))) (file-name (git-file-name "perl-cross" "1.4")) (sha256 (base32 "1ydjvlhrk06ccyj4bm8by7xk90krsll2k380mc3x1mhfrc7r9gzy"))))) '())) (native-search-paths (list (search-path-specification (variable "PERL5LIB") (files '("lib/perl5/site_perl"))))) (synopsis "Implementation of the Perl programming language") (description "Perl is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.") (home-page "https://www.perl.org/") (license license:gpl1+))) ; or "Artistic" (define-public perl-5.14 (package (name "perl") (version "5.14.4") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/src/5.0/perl-" version ".tar.gz")) (sha256 (base32 "1js47zzna3v38fjnirf2vq6y0rjp8m86ysj5vagzgkig956d8gw0")) (patches (search-patches "perl-5.14-no-sys-dirs.patch" "perl-5.14-autosplit-default-time.patch" "perl-5.14-module-pluggable-search.patch")))) (properties `((release-date . "2013-03-10"))) (build-system gnu-build-system) (arguments '(#:tests? #f #:phases (modify-phases %standard-phases (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (libc (assoc-ref inputs "libc"))) ;; Use the right path for `pwd'. (substitute* "dist/Cwd/Cwd.pm" (("/bin/pwd") (which "pwd"))) (invoke "./Configure" (string-append "-Dprefix=" out) (string-append "-Dman1dir=" out "/share/man/man1") (string-append "-Dman3dir=" out "/share/man/man3") "-de" "-Dcc=gcc" "-Uinstallusrbinperl" "-Dinstallstyle=lib/perl5" "-Duseshrplib" (string-append "-Dlocincpth=" libc "/include") (string-append "-Dloclibpth=" libc "/lib") ;; Force the library search path to contain only libc ;; because it is recorded in Config.pm and ;; Config_heavy.pl; we don't want to keep a reference ;; to everything that's in $LIBRARY_PATH at build ;; time (Binutils, bzip2, file, etc.) (string-append "-Dlibpth=" libc "/lib") (string-append "-Dplibpth=" libc "/lib"))))) (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$")))))))) (native-inputs (list gcc-7)) (native-search-paths (list (search-path-specification (variable "PERL5LIB") (files '("lib/perl5/site_perl"))))) (home-page "https://www.perl.org/") (synopsis "Implementation of the Perl programming language") (description "Perl is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.") (license license:gpl1+))) (define-public perl-5.6 (package (inherit perl-5.14) (name "perl") (version "5.6.2") (source (origin (method url-fetch) (uri (string-append "https://www.cpan.org/src/5.0/perl-" version ".tar.gz")) (sha256 (base32 "0khk94gvc8qkwxdb98khmxbwxxdbhap7rxb9ymkha6vhpxp6zrm5")))) (properties `((release-date . "2003-11-15") (hidden? . #t))) ;only for GHC 4. (build-system gnu-build-system) (arguments '(#:tests? #f #:phases (modify-phases %standard-phases (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (libc (assoc-ref inputs "libc"))) ;; Use the right path for `pwd'. (substitute* "lib/Cwd.pm" (("/bin/pwd") (which "pwd"))) (invoke "./Configure" (string-append "-Dprefix=" out) (string-append "-Dman1dir=" out "/share/man/man1") (string-append "-Dman3dir=" out "/share/man/man3") "-de" "-Dcc=gcc" "-Uinstallusrbinperl" "-Dinstallstyle=lib/perl5" "-Duseshrplib" (string-append "-Dlocincpth=" libc "/include") (string-append "-Dloclibpth=" libc "/lib") ;; Force the library search path to contain only libc ;; because it is recorded in Config.pm and ;; Config_heavy.pl; we don't want to keep a reference ;; to everything that's in $LIBRARY_PATH at build ;; time (Binutils, bzip2, file, etc.) (string-append "-Dlibpth=" libc "/lib") (string-append "-Dplibpth=" libc "/lib"))))) (add-after 'configure 'bleh (lambda _ (substitute* '("makefile" "x2p/makefile") ((".*\\.*") "")) ;; Don't look for /usr/include/errno.h. (substitute* "ext/Errno/Errno_pm.PL" (("O eq 'linux'") "O eq 'loonix'")) (substitute* "ext/IPC/SysV/SysV.xs" ((".*asm/page.h.*") "")))) (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$")))))))) (native-inputs (list gcc-5)))) (define-public perl-algorithm-c3 (package (name "perl-algorithm-c3") (version "0.11") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Algorithm-C3-" version ".tar.gz")) (sha256 (base32 "02ck52cf0yyk57354rd1rp5l0kbfwi1pvg2lh3jadvjxfrkq9x5a")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Algorithm-C3") (synopsis "Module for merging hierarchies using the C3 algorithm") (description "This module implements the C3 algorithm, which aims to provide a sane method resolution order under multiple inheritance.") (license (package-license perl)))) (define-public perl-algorithm-diff (package (name "perl-algorithm-diff") (version "1.1903") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TY/TYEMQ/" "Algorithm-Diff-" version ".tar.gz")) (sha256 (base32 "0l8pk7ziz72d022hsn4xldhhb9f5649j5cgpjdibch0xng24ms1h")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Algorithm-Diff") (synopsis "Compute differences between two files or lists") (description "This is a module for computing the difference between two files, two strings, or any other two lists of things. It uses an intelligent algorithm similar to (or identical to) the one used by the Unix \"diff\" program. It is guaranteed to find the *smallest possible* set of differences.") (license (package-license perl)))) (define-public perl-aliased (package (name "perl-aliased") (version "0.34") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "aliased-" version ".tar.gz")) (sha256 (base32 "1syyqzy462501kn5ma9gl6xbmcahqcn4qpafhsmpz0nd0x2m4l63")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/aliased") (synopsis "Use shorter versions of class names") (description "The alias module loads the class you specify and exports into your namespace a subroutine that returns the class name. You can explicitly alias the class to another name or, if you prefer, you can do so implicitly.") (license (package-license perl)))) (define-public perl-alien-sdl (package (name "perl-alien-sdl") (version "1.446") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FR/FROGGS/" "Alien-SDL-" version ".tar.gz")) (sha256 (base32 "0ajipk43syhlmw0zinbj1i6r46vdlkr06wkx7ivqjgf6qffjran9")))) (build-system perl-build-system) (arguments `(#:module-build-flags ;; XXX: For some reason, `sdl-config' reports stand-alone SDL ;; directory, not SDL-union provided as an input to the ;; package. We force the latter with "--prefix=" option. (list (let ((sdl (assoc-ref %build-inputs "sdl"))) (string-append "--with-sdl-config=" sdl "/bin/sdl-config" " --prefix=" sdl))) #:phases (modify-phases %standard-phases ;; Fix "unrecognized option: --with-sdl-config" during build. ;; Reported upstream as ;; . See also ;; . (add-after 'unpack 'fix-build.pl (lambda _ (substitute* "Build.PL" (("use Getopt::Long;") "") (("GetOptions\\( \"travis\" => \\\\\\$travis \\);") "")) #t))))) (native-inputs (list perl-archive-extract perl-archive-zip perl-capture-tiny perl-file-sharedir perl-file-which perl-module-build perl-text-patch)) (inputs `(("freetype" ,freetype) ("fontconfig" ,fontconfig) ("pango" ,pango) ("sdl" ,(sdl-union (list sdl sdl-gfx sdl-image sdl-mixer sdl-net sdl-ttf sdl-pango))) ("zlib" ,zlib))) (home-page "https://metacpan.org/release/Alien-SDL") (synopsis "Get, build and use SDL libraries") (description "Alien::SDL can be used to detect and get configuration settings from an installed SDL and related libraries. Based on your platform it offers the possibility to download and install prebuilt binaries or to build SDL & co.@: from source codes.") (license license:perl-license))) (define-public perl-any-moose (package (name "perl-any-moose") (version "0.27") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Any-Moose-" version ".tar.gz")) (sha256 (base32 "0dc55mpayrixwx8dwql0vj0jalg4rlb3k64rprc84bl0z8vkx9m8")))) (build-system perl-build-system) (native-inputs (list perl-mouse perl-moose)) (home-page "https://metacpan.org/release/Any-Moose") (synopsis "Transparently use Moose or Mouse modules") (description "This module facilitates using @code{Moose} or @code{Mouse} modules without changing the code. By default, Mouse will be provided to libraries, unless Moose is already loaded, or explicitly requested by the end-user. End users can force the decision of which backend to use by setting the environment variable ANY_MOOSE to be Moose or Mouse.") (license (package-license perl)))) (define-public perl-app-cpanminus (package (name "perl-app-cpanminus") (version "1.7046") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-" version ".tar.gz")) (sha256 (base32 "0qpq1x24dcrm7bm2qj814nkmxg8mzkdn6wcirjd8yd578jdrv31y")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/App-cpanminus") (synopsis "CPAN package manager") (description "App::cpanminus is a script to get, unpack, build and install modules from CPAN and does nothing else. It's dependency free (can bootstrap itself), requires zero configuration, and stands alone. When running, it requires only 10MB of RAM.") (license (package-license perl)))) (define-public perl-app-xml-docbook-builder (package (name "perl-app-xml-docbook-builder") (version "0.1003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/" "App-XML-DocBook-Builder-" version ".tar.gz")) (sha256 (base32 "12423lk4r7m5pkm1dvk1ci6s1d6rsnnl4chnavckpmja18jyay3j")))) (build-system perl-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'unpack 'refer-to-xsltproc (lambda* (#:key inputs #:allow-other-keys) (substitute* (list "lib/App/XML/DocBook/Docmake.pm" "t/01-use.t") (("\"xsltproc\"") (format #f "\"~a\"" (search-input-file inputs "bin/xsltproc"))))))))) (native-inputs (list perl-module-build python)) (inputs (list libxslt)) (propagated-inputs (list perl-class-xsaccessor perl-test-trap)) (native-search-paths ;; xsltproc's search paths, to avoid propagating libxslt. (list (search-path-specification (variable "XML_CATALOG_FILES") (separator " ") (files '("xml")) (file-pattern "^catalog\\.xml$") (file-type 'regular)))) (home-page "https://www.shlomifish.org/open-source/projects/docmake/") (synopsis "Translate DocBook/XML documentation into other file formats") (description "This package provides the @command{docmake} command-line tool, and the @code{App::XML::DocBook::Docmake} and @code{App::XML::DocBook::Builder} Perl modules. It translates DocBook/XML mark-up into various other documentation formats such as XHTML, RTF, PDF, and XSL-FO, using the more low-level tools. It aims to be a replacement for @command{xmlto}.") (license license:expat))) (define-public perl-appconfig (package (name "perl-appconfig") (version "1.71") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "AppConfig-" version ".tar.gz")) (sha256 (base32 "03vvi3mk4833mx2c6dkm9zhvakf02mb2b7wz9pk9xc7c4mq04xqi")))) (build-system perl-build-system) (native-inputs (list perl-test-pod)) (home-page "https://metacpan.org/release/AppConfig") (synopsis "Configuration files and command line parsing") (description "AppConfig is a bundle of Perl5 modules for reading configuration files and parsing command line arguments.") (license (package-license perl)))) (define-public perl-array-utils (package (name "perl-array-utils") (version "0.5") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/Z/ZM/ZMIJ/Array/Array-Utils-" version ".tar.gz")) (sha256 (base32 "0w1pwvnjdpb0n6k07zbknxwx6v7y75p4jxrs594pjhwvrmzippc9")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Array-Utils") (synopsis "Small utils for array manipulation") (description "@code{Array::Utils} is a small pure-perl module containing list manipulation routines.") (license (package-license perl)))) (define-public perl-async-interrupt (package (name "perl-async-interrupt") (version "1.26") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" "Async-Interrupt-" version ".tar.gz")) (sha256 (base32 "0nq8wqy0gsnwhiw23wsp1dmgzzbf2q1asi85yd0d7cmg4haxsmib")))) (build-system perl-build-system) (native-inputs (list perl-canary-stability)) (propagated-inputs (list perl-common-sense)) (home-page "https://metacpan.org/release/Async-Interrupt") (synopsis "Allow C/XS libraries to interrupt perl asynchronously") (description "@code{Async::Interrupt} implements a single feature only of interest to advanced perl modules, namely asynchronous interruptions (think \"UNIX signals\", which are very similar). Sometimes, modules wish to run code asynchronously (in another thread, or from a signal handler), and then signal the perl interpreter on certain events. One common way is to write some data to a pipe and use an event handling toolkit to watch for I/O events. Another way is to send a signal. Those methods are slow, and in the case of a pipe, also not asynchronous - it won't interrupt a running perl interpreter. This module implements asynchronous notifications that enable you to signal running perl code from another thread, asynchronously, and 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 (list perl-module-build perl-test-pod perl-test-pod-coverage)) (propagated-inputs (list perl-data-integer perl-digest-crc 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 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 (list perl-module-build perl-test-pod perl-test-pod-coverage)) (propagated-inputs (list perl-authen-dechpwd perl-crypt-des perl-crypt-eksblowfish perl-crypt-mysql perl-crypt-passwdmd5 perl-crypt-unixcrypt_xs perl-data-entropy perl-digest-md4 perl-module-runtime 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 license:perl-license))) (define-public perl-autovivification (package (name "perl-autovivification") (version "0.18") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/V/VP/VPIT/" "autovivification-" version ".tar.gz")) (sha256 (base32 "01giacr2sx6b9bgfz6aqw7ndcnf08j8n6kwhm7880a94hmb9g69d")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/autovivification") (synopsis "Lexically disable autovivification") (description "When an undefined variable is dereferenced, it gets silently upgraded to an array or hash reference (depending of the type of the dereferencing). This behaviour is called autovivification and usually does what you mean but it may be unnatural or surprising because your variables get populated behind your back. This is especially true when several levels of dereferencing are involved, in which case all levels are vivified up to the last, or when it happens in intuitively read-only constructs like @code{exists}. The pragma provided by this package lets you disable autovivification for some constructs and optionally throws a warning or an error when it would have happened.") (license (package-license perl)))) (define-public perl-bareword-filehandles (package (name "perl-bareword-filehandles") (version "0.007") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/bareword-filehandles-" version ".tar.gz")) (sha256 (base32 "0zy1v746pzv3vvvpr3plpykz0vfhi940q9bfypzzhynq2qvm6d21")))) (build-system perl-build-system) (native-inputs (list perl-b-hooks-op-check perl-extutils-depends)) (propagated-inputs (list perl-b-hooks-op-check perl-lexical-sealrequirehints)) (home-page "https://metacpan.org/release/bareword-filehandles") (synopsis "Disables bareword filehandles") (description "This module disables bareword filehandles.") (license (package-license perl)))) (define-public perl-browser-open (package (name "perl-browser-open") (version "0.04") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CF/CFRANKS/Browser-Open-" version ".tar.gz")) (sha256 (base32 "0rv80n5ihy9vnrzsc3l7wlk8880cwabiljrydrdnxq1gg0lk3sxc")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Browser-Open") (synopsis "Open a browser in a given URL") (description "The functions exported by this module allow you to open URLs in the user's browser. A set of known commands per OS-name is tested for presence, and the first one found is executed. With an optional parameter, all known commands are checked.") (license (package-license perl)))) (define-public perl-bsd-resource (package (name "perl-bsd-resource") (version "1.2911") (source (origin (method url-fetch) (uri (string-append "https://cpan.metacpan.org/authors/id/J/JH/JHI/BSD-Resource-" version ".tar.gz")) (sha256 (base32 "0g8c7825ng2m0yz5sy6838rvfdl8j3vm29524wjgf66ccfhgn74x")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/BSD-Resource") (synopsis "BSD process resource limit and priority functions") (description "This package provides procedures to get and set resource limits like @code{getrlimit} and @code{setpriority}.") (license license:artistic2.0))) (define-public perl-b-hooks-endofscope (package (name "perl-b-hooks-endofscope") (version "0.24") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "B-Hooks-EndOfScope-" version ".tar.gz")) (sha256 (base32 "1imcqxp23yc80a7p0h56sja9glbrh4qyhgzljqd4g9habpz3vah3")))) (build-system perl-build-system) (propagated-inputs (list perl-module-runtime perl-module-implementation perl-sub-exporter-progressive perl-variable-magic)) (home-page "https://metacpan.org/release/B-Hooks-EndOfScope") (synopsis "Execute code after a scope finished compilation") (description "This module allows you to execute code when perl finished compiling the surrounding scope.") (license (package-license perl)))) (define-public perl-b-hooks-op-check (package (name "perl-b-hooks-op-check") (version "0.22") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-OP-Check-" version ".tar.gz")) (sha256 (base32 "1kfdv25gn6yik8jrwik4ajp99gi44s6idcvyyrzhiycyynzd3df7")))) (build-system perl-build-system) (native-inputs (list perl-extutils-depends)) (home-page "https://metacpan.org/release/B-Hooks-OP-Check") (synopsis "Wrap OP check callbacks") (description "This module allows you to wrap OP check callbacks.") (license (package-license perl)))) (define-public perl-b-keywords (package (name "perl-b-keywords") (version "1.24") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-" version ".tar.gz")) (sha256 (base32 "0vk0d48hw90x67p5sfhmshzj2x5j7dr3ny17wb71fvfhhnr6pkx5")))) (build-system perl-build-system) (native-inputs (list perl-test-most)) (home-page "https://metacpan.org/release/B-Keywords") (synopsis "Lists of reserved barewords and symbol names") (description "@code{B::Keywords} supplies several arrays of exportable keywords: @code{@@Scalars, @@Arrays, @@Hashes, @@Filehandles, @@Symbols, @@Functions, @@Barewords, @@TieIOMethods, @@UNIVERSALMethods and @@ExporterSymbols}.") ;; GPLv2 only (license license:gpl2))) (define-public perl-benchmark-timer (package (name "perl-benchmark-timer") (version "0.7102") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DC/DCOPPIT/" "Benchmark-Timer-" version ".tar.gz")) (sha256 (base32 "1gl9ybm9hgia3ld5s11b7bv2p2hmx5rss5hxcfy6rmbzrjcnci01")))) (build-system perl-build-system) (native-inputs (list perl-module-install)) ;; The optional input module Statistics::PointEstimation (from ;; Statistics-TTest) lists no license. (synopsis "Benchmarking with statistical confidence") (description "The Benchmark::Timer class allows you to time portions of code conveniently, as well as benchmark code by allowing timings of repeated trials. It is perfect for when you need more precise information about the running time of portions of your code than the Benchmark module will give you, but don't want to go all out and profile your code.") (home-page "https://metacpan.org/release/Benchmark-Timer") (license license:gpl2))) (define-public perl-bit-vector (package (name "perl-bit-vector") (version "7.4") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/ST/STBEY/" "Bit-Vector-" version ".tar.gz")) (sha256 (base32 "09m96p8c0ipgz42li2ywdgy0vxb57mb5nf59j9gw7yzc3xkslv9w")))) (build-system perl-build-system) (propagated-inputs (list perl-carp-clan)) (home-page "https://metacpan.org/release/Bit-Vector") (synopsis "Bit vector library") (description "Bit::Vector is an efficient C library which allows you to handle bit vectors, sets (of integers), \"big integer arithmetic\" and boolean matrices, all of arbitrary sizes. The package also includes an object-oriented Perl module for accessing the C library from Perl, and optionally features overloaded operators for maximum ease of use. The C library can nevertheless be used stand-alone, without Perl.") (license (list (package-license perl) license:lgpl2.0+)))) (define-public perl-boolean (package (name "perl-boolean") (version "0.46") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/" "boolean-" version ".tar.gz")) (sha256 (base32 "0shmiw8pmshnwj01cz8g94867hjf4vc1dkp61xlbz0rybh48ih4m")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/boolean") (synopsis "Boolean support for Perl") (description "This module provides basic Boolean support, by defining two special objects: true and false.") (license (package-license perl)))) (define-public perl-business-isbn-data (package (name "perl-business-isbn-data") (version "20140910.003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" "Business-ISBN-Data-" version ".tar.gz")) (sha256 (base32 "1jc5jrjwkr6pqga7998zkgw0yrxgb5n1y7lzgddawxibkf608mn7")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Business-ISBN-Data") (synopsis "Data files for Business::ISBN") (description "This package provides a data pack for @code{Business::ISBN}. These data are generated from the RangeMessage.xml file provided by the ISBN Agency.") (license (package-license perl)))) (define-public perl-business-isbn (package (name "perl-business-isbn") (version "3.004") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" "Business-ISBN-" version ".tar.gz")) (sha256 (base32 "07l3zfv8hagv37i3clvj5a1zc2jarr5phg80c93ks35zaz6llx9i")))) (build-system perl-build-system) (propagated-inputs (list perl-business-isbn-data perl-mojolicious)) (home-page "https://metacpan.org/release/Business-ISBN") (synopsis "Work with International Standard Book Numbers") (description "This module provides tools to deal with International Standard Book Numbers, including ISBN-10 and ISBN-13.") (license license:artistic2.0))) (define-public perl-business-issn (package (name "perl-business-issn") (version "1.003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" "Business-ISSN-" version ".tar.gz")) (sha256 (base32 "1lcr9dabwqssjpff97ki6w8mjhvh8kfbj3csbyy28ylk35n4awhj")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Business-ISSN") (synopsis "Work with International Standard Serial Numbers") (description "This module provides tools to deal with International Standard Serial Numbers.") (license (package-license perl)))) (define-public perl-business-ismn (package (name "perl-business-ismn") (version "1.201") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" "Business-ISMN-" version ".tar.gz")) (sha256 (base32 "1cpcfyaz1fl6fnm076jx2jsphw147wj6aszj2yzqrgsncjhk2cja")))) (build-system perl-build-system) (native-inputs (list perl-tie-cycle)) (home-page "https://metacpan.org/release/Business-ISMN") (synopsis "Work with International Standard Music Numbers") (description "This module provides tools to deal with International Standard Music Numbers.") (license (package-license perl)))) (define-public perl-cache-cache (package (name "perl-cache-cache") (version "1.08") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" "Cache-Cache-" version ".tar.gz")) (sha256 (base32 "1s6i670dc3yb6ngvdk48y6szdk5n1f4icdcjv2vi1l2xp9fzviyj")))) (build-system perl-build-system) (propagated-inputs (list perl-digest-sha1 perl-error perl-ipc-sharelite)) (home-page "https://metacpan.org/release/Cache-Cache") (synopsis "Cache interface for Perl") (description "The Cache modules are designed to assist a developer in persisting data for a specified period of time. Often these modules are used in web applications to store data locally to save repeated and redundant expensive calls to remote machines or databases. People have also been known to use Cache::Cache for its straightforward interface in sharing data between runs of an application or invocations of a CGI-style script or simply as an easy to use abstraction of the file system or shared memory.") (license (package-license perl)))) (define-public perl-cache-fastmmap (package (name "perl-cache-fastmmap") (version "1.48") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RO/ROBM/" "Cache-FastMmap-" version ".tar.gz")) (sha256 (base32 "118y5lxwa092zrii7mcwnqypff7424w1dpgfkg8zlnz7h2mmnd9c")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Cache-FastMmap") (synopsis "Shared memory interprocess cache via mmap") (description "A shared memory cache through an mmap'ed file. It's core is written in C for performance. It uses fcntl locking to ensure multiple processes can safely access the cache at the same time. It uses a basic LRU algorithm to keep the most used entries in the cache.") (license (package-license perl)))) (define-public perl-capture-tiny (package (name "perl-capture-tiny") (version "0.48") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-" version ".tar.gz")) (sha256 (base32 "069yrikrrb4vqzc3hrkkfj96apsh7q0hg8lhihq97lxshwz128vc")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Capture-Tiny") (synopsis "Capture STDOUT and STDERR from Perl, XS or external programs") (description "Capture::Tiny provides a simple, portable way to capture almost anything sent to STDOUT or STDERR, regardless of whether it comes from Perl, from XS code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original file handles.") (license license:asl2.0))) (define-public perl-canary-stability (package (name "perl-canary-stability") (version "2013") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" "Canary-Stability-" version ".tar.gz")) (sha256 (base32 "1smnsx371x9zrqmylgq145991xh8561mraqfyrlbiz4mrxi1rjd5")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Canary-Stability") (synopsis "Check compatibility with the installed perl version") (description "This module is used by Schmorp's modules during configuration stage to test the installed perl for compatibility with his modules.") (license (package-license perl)))) (define-public perl-carp (package (name "perl-carp") (version "1.50") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/X/XS/XSAWYERX/Carp-" version ".tar.gz")) (sha256 (base32 "1ngbpjyd9qi7n4h5r3q3qibd8by7rfiv7364jqlv4lbd3973n9zm")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Carp") (synopsis "Alternative warn and die for modules") (description "The @code{Carp} routines are useful in your own modules because they act like @code{die()} or @code{warn()}, but with a message which is more likely to be useful to a user of your module. In the case of @code{cluck}, @code{confess}, and @code{longmess} that context is a summary of every call in the call-stack. For a shorter message you can use @code{carp} or @code{croak} which report the error as being from where your module was called. There is no guarantee that that is where the error was, but it is a good educated guess.") (license (package-license perl)))) (define-public perl-carp-always (package (name "perl-carp-always") (version "0.16") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FE/FERREIRA/Carp-Always-" version ".tar.gz")) (sha256 (base32 "1wb6b0qjga7kvn4p8df6k4g1pl2yzaqiln1713xidh3i454i3alq")))) (build-system perl-build-system) (native-inputs (list perl-test-base)) (home-page "https://metacpan.org/release/Carp-Always") (synopsis "Warns and dies noisily with stack backtraces/") (description "This module is meant as a debugging aid. It can be used to make a script complain loudly with stack backtraces when @code{warn()}-ing or @code{die()}ing.") (license (package-license perl)))) (define-public perl-carp-assert (package (name "perl-carp-assert") (version "0.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "Carp-Assert-" version ".tar.gz")) (sha256 (base32 "0km5fc6r6whxh6h5yd7g1j0bi96sgk0gkda6cardicrw9qmqwkwj")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Carp-Assert") (synopsis "Executable comments for Perl") (description "Carp::Assert is intended for a purpose like the ANSI C library assert.h.") (license (package-license perl)))) (define-public perl-carp-assert-more (package (name "perl-carp-assert-more") (version "1.26") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PE/PETDANCE/" "Carp-Assert-More-" version ".tar.gz")) (sha256 (base32 "14x4m4dlj7pwq2r2fsmww3q3xb61cdgnrlmjh5mms3ikaln6rmmk")))) (build-system perl-build-system) (native-inputs (list perl-test-exception)) (propagated-inputs (list perl-carp-assert)) (home-page "https://metacpan.org/release/Carp-Assert-More") (synopsis "Convenience wrappers around Carp::Assert") (description "Carp::Assert::More is a set of handy assertion functions for Perl.") (license license:artistic2.0))) (define-public perl-carp-clan (package (name "perl-carp-clan") (version "6.08") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Carp-Clan-" version ".tar.gz")) (sha256 (base32 "0237xx3rqa72sr4vdvws9r1m453h5f25bl85mdjmmk128kir4py7")))) (build-system perl-build-system) (native-inputs (list perl-test-exception)) (home-page "https://metacpan.org/release/Carp-Clan") (synopsis "Report errors from a \"clan\" of modules") (description "This module allows errors from a clan (or family) of modules to appear to originate from the caller of the clan. This is necessary in cases where the clan modules are not classes derived from each other, and thus the Carp.pm module doesn't help.") (license (package-license perl)))) (define-public perl-cddb-get (package (name "perl-cddb-get") (version "2.28") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FO/FONKIE/CDDB_get-" version ".tar.gz")) (sha256 (base32 "1jfrwvfasylcafbvb0jjm94ad4v6k99a7rf5i4qwzhg4m0gvmk5x")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/CDDB_get") (synopsis "Read the CDDB entry for an audio CD in your drive") (description "This module can retrieve information from the CDDB.") ;; Either GPLv2 or the "Artistic" license. (license (list license:gpl2 license: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") (("<= 0.99, another fails with unicode ;; character handling. (arguments `(#:tests? #f)) (home-page "https://metacpan.org/release/Module-Install") (synopsis "Standalone, extensible Perl module installer") (description "Module::Install is a package for writing installers for CPAN (or CPAN-like) distributions that are clean, simple, minimalist, act in a strictly correct manner with ExtUtils::MakeMaker, and will run on any Perl installation version 5.005 or newer.") (license (package-license perl)))) (define-public perl-module-manifest (package (name "perl-module-manifest") (version "1.09") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/Module-Manifest-" version ".tar.gz")) (sha256 (base32 "16skpm804a19gsgxzn1wba3lmvc7cx5q8ly4srpyd82yy47zi5d3")))) (build-system perl-build-system) (native-inputs (list perl-test-exception perl-test-warn)) (propagated-inputs (list perl-params-util)) (home-page "https://metacpan.org/release/Module-Manifest") (synopsis "Parse and examine a Perl distribution @file{MANIFEST} file") (description "@code{Module::Manifest} is a simple utility module created originally for use in @code{Module::Inspector}. It can load a @file{MANIFEST} file that comes in a Perl distribution tarball, examine the contents, and perform some simple tasks. It can also load the @file{MANIFEST.SKIP} file and check that.") (license license:perl-license))) (define-public perl-module-pluggable (package (name "perl-module-pluggable") (version "5.2") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SI/SIMONW/" "Module-Pluggable-" version ".tar.gz")) (sha256 (base32 "1px6qmszmfc69v36vd8d92av4nkrif6xf4nrj3xv647xwi2svwmk")) (patches (search-patches "perl-module-pluggable-search.patch")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Module-Pluggable") (synopsis "Give your Perl module the ability to have plugins") (description "This module provides a simple but extensible way of having @code{plugins} for your Perl module.") (license (package-license perl)))) (define-public perl-module-runtime (package (name "perl-module-runtime") (version "0.016") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/Z/ZE/ZEFRAM/" "Module-Runtime-" version ".tar.gz")) (sha256 (base32 "097hy2czwkxlppri32m599ph0xfvfsbf0a5y23a4fdc38v32wc38")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/Module-Runtime") (synopsis "Perl runtime module handling") (description "The functions exported by this module deal with runtime handling of Perl modules, which are normally handled at compile time.") (license (package-license perl)))) (define-public perl-module-runtime-conflicts (package (name "perl-module-runtime-conflicts") (version "0.003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Module-Runtime-Conflicts-" version ".tar.gz")) (sha256 (base32 "0x9qfg4pq70v1rl9dfk775fmca7ia308m24vfy8zww4c0dsxqz3h")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (propagated-inputs (list perl-module-runtime perl-dist-checkconflicts)) (home-page "https://metacpan.org/release/Module-Runtime-Conflicts") (synopsis "Provide information on conflicts for Module::Runtime") (description "This module provides conflicts checking for Module::Runtime, which had a recent release that broke some versions of Moose. It is called from Moose::Conflicts and moose-outdated.") (license (package-license perl)))) (define-public perl-module-scandeps (package (name "perl-module-scandeps") (version "1.27") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RS/RSCHUPP/" "Module-ScanDeps-" version ".tar.gz")) (sha256 (base32 "0j6r9r99x5p0i6fv06i44wpsvjxj32amjkiqf6pmqpj80jff2k7f")))) (build-system perl-build-system) (native-inputs (list perl-test-requires)) (home-page "https://metacpan.org/release/Module-ScanDeps") (synopsis "Recursively scan Perl code for dependencies") (description "Module::ScanDeps is a module to recursively scan Perl programs for dependencies.") (license (package-license perl)))) (define-public perl-module-util (package (name "perl-module-util") (version "1.09") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MATTLAW/" "Module-Util-" version ".tar.gz")) (sha256 (base32 "1ip2yg3x517gg8c48crhd52ba864vmyimvm0ibn4ci068mmcpyvc")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) ; >= 0.40 (home-page "https://metacpan.org/release/Module-Util") (synopsis "Module name tools and transformations") (description "This module provides a few useful functions for manipulating module names. Its main aim is to centralise some of the functions commonly used by modules that manipulate other modules in some way, like converting module names to relative paths.") (license (package-license perl)))) (define-public perl-moo (package (name "perl-moo") (version "1.007000") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Moo-" version ".tar.gz")) (sha256 (base32 "0y9s6s9jjd519wgal6lwc9id4sadrvfn8gjb51dl602d0kk0l7n5")))) (build-system perl-build-system) (native-inputs (list perl-test-fatal)) (propagated-inputs (list perl-class-method-modifiers perl-class-xsaccessor perl-devel-globaldestruction perl-import-into perl-module-runtime perl-role-tiny perl-strictures)) (home-page "https://metacpan.org/release/Moo") (synopsis "Minimalist Object Orientation (with Moose compatibility)") (description "Moo is an extremely light-weight Object Orientation system. It allows one to concisely define objects and roles with a convenient syntax that avoids the details of Perl's object system. Moo contains a subset of Moose and is optimised for rapid startup.") (license (package-license perl)))) ;; Some packages don't yet work with this newer version of ‘Moo’. (define-public perl-moo-2 (package (inherit perl-moo) (name "perl-moo-2") (version "2.003006") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Moo-" version ".tar.gz")) (sha256 (base32 "0wi4gyp5kn4lbags0hrax3c9jj9spxg4d11fbrdh0ican4m0kcmw")))) (propagated-inputs `(("perl-role-tiny" ,perl-role-tiny-2) ("perl-sub-name" ,perl-sub-name) ("perl-sub-quote" ,perl-sub-quote) ("perl-strictures" ,perl-strictures-2) ,@(alist-delete "perl-strictures" (alist-delete "perl-role-tiny" (package-propagated-inputs perl-moo))))) (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'set-perl-search-path (lambda _ ;; Use perl-strictures for testing. (setenv "MOO_FATAL_WARNINGS" "=1") #t))))))) (define-public perl-moose (package (name "perl-moose") (version "2.2015") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Moose-" version ".tar.gz")) (sha256 (base32 "05gma3q3l15igqrqi8ax8v5cmmvy7s939q3xzs45l1rc7sfx6yd6")))) (build-system perl-build-system) (native-inputs (list perl-cpan-meta-check perl-dist-checkconflicts perl-test-cleannamespaces perl-test-fatal perl-test-requires perl-test-warnings)) ;; XXX:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ;; # === Other Modules === ;; # ;; # Module Want Have ;; # ---------------------------- ---- ------- ;; # Algorithm::C3 any missing ;; # DBM::Deep any missing ;; # DateTime any missing ;; # DateTime::Calendar::Mayan any missing ;; # DateTime::Format::MySQL any missing ;; # Declare::Constraints::Simple any missing ;; # Dist::CheckConflicts any 0.11 ;; # HTTP::Headers any missing ;; # IO::File any 1.16 ;; # IO::String any missing ;; # Locale::US any missing ;; # Module::Refresh any missing ;; # MooseX::NonMoose any missing ;; # Params::Coerce any missing ;; # Regexp::Common any missing ;; # SUPER any missing ;; # Test::Deep any missing ;; # Test::DependentModules any missing ;; # Test::LeakTrace any missing ;; # Test::Output any missing ;; # URI any missing (propagated-inputs (list perl-class-load perl-class-load-xs perl-data-optlist perl-devel-globaldestruction perl-devel-overloadinfo perl-devel-partialdump perl-devel-stacktrace perl-dist-checkconflicts perl-eval-closure perl-list-moreutils perl-module-runtime perl-module-runtime-conflicts perl-mro-compat perl-package-deprecationmanager perl-package-stash perl-package-stash-xs perl-params-util perl-scalar-list-utils perl-sub-exporter perl-sub-name perl-task-weaken perl-try-tiny)) (home-page "https://metacpan.org/release/Moose") (synopsis "Postmodern object system for Perl 5") (description "Moose is a complete object system for Perl 5. It provides keywords for attribute declaration, object construction, inheritance, and maybe more. With Moose, you define your class declaratively, without needing to know about blessed hashrefs, accessor methods, and so on. You can concentrate on the logical structure of your classes, focusing on \"what\" rather than \"how\". A class definition with Moose reads like a list of very concise English sentences.") (license (package-license perl)))) (define-public perl-moosex-emulate-class-accessor-fast (package (name "perl-moosex-emulate-class-accessor-fast") (version "0.009032") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "MooseX-Emulate-Class-Accessor-Fast-" version ".tar.gz")) (sha256 (base32 "153r30nggcyyx7ai15dbnba2h5145f8jdsh6wj54298d3zpvgvl2")))) (build-system perl-build-system) (native-inputs (list perl-module-install perl-test-exception)) (propagated-inputs (list perl-moose)) (home-page "https://metacpan.org/release/MooseX-Emulate-Class-Accessor-Fast") (synopsis "Emulate Class::Accessor::Fast behavior using Moose attributes") (description "This module attempts to emulate the behavior of Class::Accessor::Fast as accurately as possible using the Moose attribute system. The public API of Class::Accessor::Fast is wholly supported, but the private methods are not.") (license (package-license perl)))) (define-public perl-moosex-getopt (package (name "perl-moosex-getopt") (version "0.75") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Getopt-" version ".tar.gz")) (sha256 (base32 "1j7b2jnf0blxr4czp3vfcnv1h5zj601mrfdm92g1wf5wn9dvxwv3")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-module-build-tiny perl-path-tiny perl-test-deep perl-test-fatal perl-test-needs perl-test-requires perl-test-trap perl-test-warnings)) (propagated-inputs (list perl-getopt-long-descriptive perl-moose perl-moosex-role-parameterized perl-namespace-autoclean)) (home-page "https://metacpan.org/release/MooseX-Getopt") (synopsis "Moose role for processing command line options") (description "This is a Moose role which provides an alternate constructor for creating objects using parameters passed in from the command line.") (license (package-license perl)))) (define-public perl-moosex-markasmethods (package (name "perl-moosex-markasmethods") (version "0.15") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RS/RSRCHBOY/" "MooseX-MarkAsMethods-" version ".tar.gz")) (sha256 (base32 "1y3yxwcjjajm66pvca54cv9fax7a6dy36xqr92x7vzyhfqrw3v69")))) (build-system perl-build-system) (inputs (list perl-moose perl-namespace-autoclean)) (home-page "https://metacpan.org/release/MooseX-MarkAsMethods") (synopsis "Mark overload code symbols as methods") (description "MooseX::MarkAsMethods allows one to easily mark certain functions as Moose methods. This will allow other packages such as namespace::autoclean to operate without blowing away your overloads. After using MooseX::MarkAsMethods your overloads will be recognized by Class::MOP as being methods, and class extension as well as composition from roles with overloads will \"just work\".") (license license:lgpl2.1))) (define-public perl-moosex-methodattributes (package (name "perl-moosex-methodattributes") (version "0.31") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-MethodAttributes-" version ".tar.gz")) (sha256 (base32 "1whd10w7bm3dwaj7gpgw40bci9vvb2zmxs4349ifji91hvinwqck")))) (build-system perl-build-system) (native-inputs (list perl-module-build-tiny perl-test-fatal perl-test-requires)) (propagated-inputs (list perl-moose perl-moosex-types perl-namespace-autoclean)) (home-page "https://metacpan.org/release/MooseX-MethodAttributes") (synopsis "Code attribute introspection") (description "This module allows code attributes of methods to be introspected using Moose meta method objects.") (license (package-license perl)))) (define-public perl-moosex-nonmoose (package (name "perl-moosex-nonmoose") (version "0.26") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" "MooseX-NonMoose-" version ".tar.gz")) (sha256 (base32 "0zdaiphc45s5xj0ax5mkijf5d8v6w6yccb3zplgj6f30y7n55gnb")))) (build-system perl-build-system) (native-inputs (list perl-moose perl-test-fatal)) (propagated-inputs (list perl-list-moreutils perl-module-runtime perl-moose perl-try-tiny)) (home-page "https://metacpan.org/release/MooseX-NonMoose") (synopsis "Subclassing of non-Moose classes") (description "MooseX::NonMoose allows for easily subclassing non-Moose classes with Moose, taking care of the details connected with doing this, such as setting up proper inheritance from Moose::Object and installing (and inlining, at make_immutable time) a constructor that makes sure things like BUILD methods are called. It tries to be as non-intrusive as possible.") (license (package-license perl)))) (define-public perl-moosex-params-validate (package (name "perl-moosex-params-validate") (version "0.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "MooseX-Params-Validate-" version ".tar.gz")) (sha256 (base32 "1n9ry6gnskkp9ir6s7d5jirn3mh14ydgpmwqz6wcp6d9md358ac8")))) (build-system perl-build-system) (native-inputs (list perl-moose perl-test-fatal)) (propagated-inputs (list perl-devel-caller perl-moose perl-params-validate perl-sub-exporter)) (home-page "https://metacpan.org/release/MooseX-Params-Validate") (synopsis "Extension of Params::Validate using Moose's types") (description "This module fills a gap in Moose by adding method parameter validation to Moose.") (license (package-license perl)))) (define-public perl-moosex-relatedclassroles (package (name "perl-moosex-relatedclassroles") (version "0.004") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HD/HDP/" "MooseX-RelatedClassRoles-" version ".tar.gz")) (sha256 (base32 "17vynkf6m5d039qkr4in1c9lflr8hnwp1fgzdwhj4q6jglipmnrh")))) (build-system perl-build-system) (propagated-inputs (list perl-moose perl-moosex-role-parameterized)) (home-page "https://metacpan.org/release/MooseX-RelatedClassRoles") (synopsis "Apply roles to a related Perl class") (description "This module applies roles to make a subclass instead of manually setting up a subclass.") (license (package-license perl)))) (define-public perl-moosex-role-parameterized (package (name "perl-moosex-role-parameterized") (version "1.10") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Role-Parameterized-" version ".tar.gz")) (sha256 (base32 "0plx25n80mv9qwhix52z79md0qil616nbcryk2f4216kghpw2ij8")))) (build-system perl-build-system) (native-inputs (list perl-cpan-meta-check perl-module-build perl-moosex-role-withoverloading perl-test-fatal perl-test-requires)) (propagated-inputs (list perl-moose perl-namespace-autoclean)) (home-page "https://metacpan.org/release/MooseX-Role-Parameterized") (synopsis "Moose roles with composition parameters") (description "Because Moose roles serve many different masters, they usually provide only the least common denominator of functionality. To empower roles further, more configurability than -alias and -excludes is required. Perhaps your role needs to know which method to call when it is done processing, or what default value to use for its url attribute. Parameterized roles offer a solution to these (and other) kinds of problems.") (license (package-license perl)))) (define-public perl-moosex-role-withoverloading (package (name "perl-moosex-role-withoverloading") (version "0.17") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Role-WithOverloading-" version ".tar.gz")) (sha256 (base32 "0rb8k0dp1a55bm2pr6r0vsi5msvjl1dslfidxp1gj80j7zbrbc4j")))) (build-system perl-build-system) (propagated-inputs (list perl-aliased perl-moose perl-namespace-autoclean)) (home-page "https://metacpan.org/release/MooseX-Role-WithOverloading") (synopsis "Roles which support overloading") (description "MooseX::Role::WithOverloading allows you to write a Moose::Role which defines overloaded operators and allows those overload methods to be composed into the classes/roles/instances it's compiled to, where plain Moose::Roles would lose the overloading.") (license (package-license perl)))) (define-public perl-moosex-semiaffordanceaccessor (package (name "perl-moosex-semiaffordanceaccessor") (version "0.10") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "MooseX-SemiAffordanceAccessor-" version ".tar.gz")) (sha256 (base32 "1mdil9ckgmgr78z59p8wfa35ixn5855ndzx14y01dvfxpiv5gf55")))) (build-system perl-build-system) (propagated-inputs (list perl-moose)) (home-page "https://metacpan.org/release/MooseX-SemiAffordanceAccessor") (synopsis "Name your accessors foo() and set_foo()") (description "This module does not provide any methods. Simply loading it changes the default naming policy for the loading class so that accessors are separated into get and set methods. The get methods have the same name as the accessor, while set methods are prefixed with \"_set_\".") (license license:artistic2.0))) (define-public perl-moosex-strictconstructor (package (name "perl-moosex-strictconstructor") (version "0.19") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "MooseX-StrictConstructor-" version ".tar.gz")) (sha256 (base32 "0ccawja1kabgglrkdw5v82m1pbw189a0mnd33l43rs01d70p6ra8")))) (build-system perl-build-system) (native-inputs (list perl-moose perl-test-fatal)) (propagated-inputs (list perl-moose perl-namespace-autoclean)) (home-page "https://metacpan.org/release/MooseX-StrictConstructor") (synopsis "Strict object constructors for Moose") (description "Simply loading this module makes your constructors \"strict\". If your constructor is called with an attribute init argument that your class does not declare, then it calls Moose->throw_error().") (license license:artistic2.0))) (define-public perl-moosex-traits-pluggable (package (name "perl-moosex-traits-pluggable") (version "0.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/" "MooseX-Traits-Pluggable-" version ".tar.gz")) (sha256 (base32 "1jjqmcidy4kdgp5yffqqwxrsab62mbhbpvnzdy1rpwnb1savg5mb")))) (build-system perl-build-system) (native-inputs (list perl-moose perl-test-exception)) (propagated-inputs (list perl-class-load perl-list-moreutils perl-moose perl-namespace-autoclean)) (home-page "https://metacpan.org/release/MooseX-Traits-Pluggable") (synopsis "Trait loading and resolution for Moose") (description "Adds support on top of MooseX::Traits for class precedence search for traits and some extra attributes.") (license (package-license perl)))) (define-public perl-moosex-types (package (name "perl-moosex-types") (version "0.45") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Types-" version ".tar.gz")) (sha256 (base32 "1iq90s1f0xbmr194q0mhnp9wxqxwwilkbdml040ibqbqvfiz87yh")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-test-fatal perl-test-requires)) (propagated-inputs (list perl-carp-clan perl-moose perl-namespace-autoclean)) (home-page "https://metacpan.org/release/MooseX-Types") (synopsis "Organise your Moose types in libraries") (description "This package lets you declare types using short names, but behind the scenes it namespaces all your type declarations, effectively prevent name clashes between packages.") (license (package-license perl)))) (define-public perl-moosex-types-datetime (package (name "perl-moosex-types-datetime") (version "0.13") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Types-DateTime-" version ".tar.gz")) (sha256 (base32 "1iir3mdvz892kbbs2q91vjxnhas7811m3d3872m7x8gn6rka57xq")))) (build-system perl-build-system) (native-inputs (list perl-module-build-tiny perl-moose perl-test-fatal perl-test-simple)) (propagated-inputs (list perl-datetime perl-datetime-locale perl-datetime-timezone perl-moose perl-moosex-types perl-namespace-clean)) (home-page "https://metacpan.org/release/MooseX-Types-DateTime") (synopsis "DateTime related constraints and coercions for Moose") (description "This module packages several Moose::Util::TypeConstraints with coercions, designed to work with the DateTime suite of objects.") (license (package-license perl)))) (define-public perl-moosex-types-datetime-morecoercions (package (name "perl-moosex-types-datetime-morecoercions") (version "0.15") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Types-DateTime-MoreCoercions-" version ".tar.gz")) (sha256 (base32 "15ip1rgaana2p4vww355jb5jxyawim0k58gadkdqx20rfxckmfr1")))) (build-system perl-build-system) (native-inputs (list perl-module-build-tiny perl-test-fatal perl-test-simple)) (propagated-inputs (list perl-datetime perl-datetimex-easy perl-moose perl-moosex-types perl-moosex-types-datetime perl-namespace-clean perl-time-duration-parse)) (home-page "https://metacpan.org/release/MooseX-Types-DateTime-MoreCoercions") (synopsis "Extensions to MooseX::Types::DateTime") (description "This module builds on MooseX::Types::DateTime to add additional custom types and coercions. Since it builds on an existing type, all coercions and constraints are inherited.") (license (package-license perl)))) (define-public perl-moosex-types-loadableclass (package (name "perl-moosex-types-loadableclass") (version "0.015") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "MooseX-Types-LoadableClass-" version ".tar.gz")) (sha256 (base32 "1x1vb96hcrd96bzs73w0lb04jr0fvax1ams38qlzkp2kh9vx6dz0")))) (build-system perl-build-system) (native-inputs (list perl-module-build-tiny perl-namespace-clean perl-moose perl-test-fatal perl-class-load)) (propagated-inputs (list perl-module-runtime perl-moosex-types perl-namespace-autoclean)) (home-page "https://metacpan.org/release/MooseX-Types-LoadableClass") (synopsis "ClassName type constraints for Moose") (description "MooseX::Types::LoadableClass provides a ClassName type constraint with coercion to load the class.") (license (package-license perl)))) (define-public perl-moox (package (name "perl-moox") (version "0.101") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/G/GE/GETTY/MooX-" version ".tar.gz")) (sha256 (base32 "1m9jvrqcidiabdih211byadwnnkygafq54r2ljnf1akqdrjimy9g")))) (build-system perl-build-system) (inputs (list perl-data-optlist perl-import-into perl-module-runtime perl-moo)) (home-page "https://metacpan.org/release/MooX") (synopsis "Using Moo and MooX:: packages the most lazy way") (description "Contains the MooX and MooX::Role packages.") (license license:perl-license))) (define-public perl-moox-cmd (package (name "perl-moox-cmd") (version "0.017") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Cmd-" version ".tar.gz")) (sha256 (base32 "1xbhmq07v9z371ygkyghva9aryhc22kwbzn5qwkp72c0ma6z4gwl")))) (build-system perl-build-system) (native-inputs (list perl-capture-tiny perl-list-moreutils)) (propagated-inputs (list perl-module-pluggable perl-module-runtime perl-moo perl-package-stash perl-params-util perl-regexp-common)) (home-page "https://metacpan.org/release/MooX-Cmd") (synopsis "Giving an easy Moo style way to make command organized CLI apps") (description "This package eases the writing of command line utilities, accepting commands and subcommands and so on. These commands can form a tree, which is mirrored in the package structure. On invocation, each command along the path through the tree (starting from the top-level command through to the most specific one) is instantiated.") (license (package-license perl)))) (define-public perl-moox-configfromfile (package (name "perl-moox-configfromfile") (version "0.008") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" "MooX-ConfigFromFile-" version ".tar.gz")) (sha256 (base32 "1zrpz4mzngnhaap6988is0w0aarilfj4kb1yc8hvfqna69lywac0")))) (build-system perl-build-system) (native-inputs (list perl-hash-merge perl-json perl-moox-cmd)) (propagated-inputs (list perl-config-any perl-file-configdir perl-file-find-rule perl-hash-merge perl-moo perl-moox-file-configdir perl-namespace-clean)) (home-page "https://metacpan.org/release/MooX-ConfigFromFile") (synopsis "Moo eXtension for initializing objects from config file") (description "This module is intended to easily load initialization values for attributes on object construction from an appropriate config file. The building is done in @code{MooX::ConfigFromFile::Role}---using @code{MooX::ConfigFromFile} ensures that the role is applied.") (license (package-license perl)))) (define-public perl-moox-file-configdir (package (name "perl-moox-file-configdir") (version "0.008") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" "MooX-File-ConfigDir-" version ".tar.gz")) (sha256 (base32 "1b033injzk9d8clgip67ps5j5bpkrnag28q89ddwhrgqx12i3m7q")))) (build-system perl-build-system) (propagated-inputs (list perl-file-configdir perl-moo perl-namespace-clean)) (home-page "https://metacpan.org/release/MooX-File-ConfigDir") (synopsis "Moo eXtension for @code{File::ConfigDir}") (description "This module is a helper for easily finding configuration file locations. This information can be used to find a suitable place for installing configuration files or for finding any piece of settings.") (license (package-license perl)))) (define-public perl-moox-handlesvia (package (name "perl-moox-handlesvia") (version "0.001009") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-HandlesVia-" version ".tar.gz")) (sha256 (base32 "04kcyflg49rclxa1nm035c05jpyvhdacjyy1wklbgv4li3im6qvi")))) (build-system perl-build-system) (native-inputs (list perl-moox-types-mooselike perl-test-exception perl-test-fatal)) (inputs (list perl-class-method-modifiers perl-module-runtime perl-moo perl-role-tiny)) (propagated-inputs (list perl-data-perl)) (home-page "https://metacpan.org/release/MooX-HandlesVia") (synopsis "NativeTrait-like behavior for Moo") (description "@code{MooX::HandlesVia} is an extension of Moo's @code{handles} attribute functionality. It provides a means of proxying functionality from an external class to the given attribute.") (license license:perl-license))) (define-public perl-moox-late (package (name "perl-moox-late") (version "0.016") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-" version ".tar.gz")) (sha256 (base32 "0kjy86rrpzfy6w5r9ykjq7njwdnvp7swd6r2k4gfrh3picz3kdhz")))) (build-system perl-build-system) (native-inputs (list perl-test-fatal perl-test-requires)) (inputs (list perl-moo perl-moox perl-moox-handlesvia)) (propagated-inputs (list perl-type-tiny)) (home-page "https://metacpan.org/release/MooX-late") (synopsis "Easily translate Moose code to Moo") (description "MooX::late does the following: @enumerate @item Supports isa => $stringytype @item Supports does => $rolename @item Supports lazy_build => 1 @item Exports blessed and confess functions to your namespace. @item Handles certain attribute traits Currently Hash, Array and Code are supported. This feature requires MooX::HandlesVia. @end enumerate") (license license:perl-license))) (define-public perl-moox-options (package (name "perl-moox-options") (version "4.023") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CE/CELOGEEK/" "MooX-Options-" version ".tar.gz")) (sha256 (base32 "14kz51hybxx8vcm4wg36f0qa64aainw7i2sqmqxg20c3qvczyvj2")))) (build-system perl-build-system) (native-inputs (list perl-capture-tiny perl-import-into perl-module-build perl-moo perl-moose perl-moox-cmd perl-namespace-clean perl-role-tiny perl-test-requires perl-test-trap perl-test-pod perl-try-tiny)) (propagated-inputs (list perl-config-any perl-moox-configfromfile perl-data-record perl-file-configdir perl-file-find-rule perl-file-sharedir perl-getopt-long-descriptive perl-json-maybexs perl-libintl-perl perl-moox-configfromfile perl-moox-file-configdir perl-path-class perl-regexp-common perl-term-size-any perl-unicode-linebreak)) (home-page "https://metacpan.org/release/MooX-Options") (synopsis "Explicit Options eXtension for Object Class") (description "Create a command line tool with your Mo, Moo, Moose objects. You have an @code{option} keyword to replace the usual @code{has} to explicitly use your attribute on the command line. The @code{option} keyword takes additional parameters and uses @code{Getopt::Long::Descriptive} to generate a command line tool.") (license (package-license perl)))) (define-public perl-moox-strictconstructor (package (name "perl-moox-strictconstructor") (version "0.010") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HARTZELL/MooX-StrictConstructor-" version ".tar.gz")) (sha256 (base32 "0vvjgz7xbfmf69yav7sxsxmvklqv835xvh7h47w0apxmlkm9fjgr")))) (build-system perl-build-system) (native-inputs (list perl-test-fatal)) (propagated-inputs (list perl-class-method-modifiers perl-moo perl-strictures)) (home-page "https://metacpan.org/release/MooX-StrictConstructor") (synopsis "Make Moo-based object constructors blow up on unknown attributes") (description "Loading @code{MooX::StrictConstructor} makes your constructors \"strict\". If your constructor is called with an attribute init argument that your class does not declare, then it dies.") (license license:perl-license))) (define-public perl-moox-types-mooselike (package (name "perl-moox-types-mooselike") (version "0.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MATEU/" "MooX-Types-MooseLike-" version ".tar.gz")) (sha256 (base32 "1d6jg9x3p7gm2r0xmbcag374a44gf5pcga2swvxhlhzakfm80dqx")))) (build-system perl-build-system) (native-inputs (list perl-moo perl-test-fatal)) (propagated-inputs (list perl-module-runtime perl-strictures)) (home-page "https://metacpan.org/release/MooX-Types-MooseLike") (synopsis "Moosish types and type builder") (description "MooX::Types::MooseLike provides a possibility to build your own set of Moose-like types. These custom types can then be used to describe fields in Moo-based classes.") (license (package-license perl)))) (define-public perl-mouse (package (name "perl-mouse") (version "2.5.10") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v" version ".tar.gz")) (sha256 (base32 "1vijm8wkyws1jhnqmx104585q3srw9z1crcpy1zlcfhm8qww53ff")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-module-build-xsutil perl-test-exception perl-test-fatal perl-test-leaktrace perl-test-output perl-test-requires perl-try-tiny)) (home-page "https://github.com/gfx/p5-Mouse") (synopsis "Fast Moose-compatible object system for perl5") (description "Mouse is a @code{Moose} compatible object system that implements a subset of the functionality for reduced startup time.") (license (package-license perl)))) (define-public perl-mousex-nativetraits (package (name "perl-mousex-nativetraits") (version "1.09") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/G/GF/GFUJI/" "MouseX-NativeTraits-" version ".tar.gz")) (sha256 (base32 "0pnbchkxfz9fwa8sniyjqp0mz75b3k2fafq9r09znbbh51dbz9gq")))) (build-system perl-build-system) (native-inputs (list perl-any-moose perl-module-install perl-test-fatal)) (propagated-inputs (list perl-mouse)) (home-page "https://metacpan.org/release/MouseX-NativeTraits") (synopsis "Extend attribute interfaces for Mouse") (description "While @code{Mouse} attributes provide a way to name your accessors, readers, writers, clearers and predicates, @code{MouseX::NativeTraits} provides commonly used attribute helper methods for more specific types of data.") (license (package-license perl)))) (define-public perl-mozilla-ca (package (name "perl-mozilla-ca") (version "20200520") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AB/ABH/Mozilla-CA-" version ".tar.gz")) (sha256 (base32 "09n7hwrh63c5gqvygqvvgvklcbvsm7g0p4nmq0b4mwhb64101jmk")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Mozilla-CA") (synopsis "Mozilla's CA cert bundle in PEM format") (description "@code{Mozilla::CA} provides a copy of Mozilla's bundle of Certificate Authority certificates in a form that can be consumed by modules and libraries based on OpenSSL.") (license license:mpl2.0))) (define-public perl-multidimensional (package (name "perl-multidimensional") (version "0.014") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/multidimensional-" version ".tar.gz")) (sha256 (base32 "0prchsg547ziysjl8ghiid6ph3m2xnwpsrwrjymibga7fhqi9sqj")))) (build-system perl-build-system) (native-inputs (list perl-b-hooks-op-check perl-extutils-depends)) (propagated-inputs (list perl-b-hooks-op-check perl-lexical-sealrequirehints)) (home-page "https://metacpan.org/release/multidimensional") (synopsis "Disable multidimensional array emulation") (description "Multidimensional disables multidimensional array emulation.") (license (package-license perl)))) (define-public perl-mro-compat (package (name "perl-mro-compat") (version "0.13") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "MRO-Compat-" version ".tar.gz")) (sha256 (base32 "1y547lr6zccf7919vx01v22zsajy528psanhg5aqschrrin3nb4a")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/MRO-Compat") (synopsis "MRO interface compatibility for Perls < 5.9.5") (description "The \"mro\" namespace provides several utilities for dealing with method resolution order and method caching in general in Perl 5.9.5 and higher. This module provides those interfaces for earlier versions of Perl (back to 5.6.0).") (license (package-license perl)))) (define-public perl-namespace-autoclean (package (name "perl-namespace-autoclean") (version "0.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "namespace-autoclean-" version ".tar.gz")) (sha256 (base32 "012qqs561xyyhm082znmzsl8lz4n299fa6p0v246za2l9bkdiss5")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-test-needs)) (propagated-inputs (list perl-b-hooks-endofscope perl-namespace-clean perl-sub-identify)) (home-page "https://metacpan.org/release/namespace-autoclean") (synopsis "Keep imports out of your namespace") (description "The namespace::autoclean pragma will remove all imported symbols at the end of the current package's compile cycle. Functions called in the package itself will still be bound by their name, but they won't show up as methods on your class or instances. It is very similar to namespace::clean, except it will clean all imported functions, no matter if you imported them before or after you used the pragma. It will also not touch anything that looks like a method.") (license (package-license perl)))) (define-public perl-namespace-clean (package (name "perl-namespace-clean") (version "0.27") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/" "namespace-clean-" version ".tar.gz")) (sha256 (base32 "17dg64pd4bwi2ad3p8ykwys1zha7kg8a8ykvks7wfg8q7qyah44a")))) (build-system perl-build-system) (propagated-inputs (list perl-package-stash perl-b-hooks-endofscope)) (home-page "https://metacpan.org/release/namespace-clean") (synopsis "Keep imports and functions out of your namespace") (description "The namespace::clean pragma will remove all previously declared or imported symbols at the end of the current package's compile cycle. Functions called in the package itself will still be bound by their name, but they won't show up as methods on your class or instances.") (license (package-license perl)))) (define-public perl-net-bgp (package (name "perl-net-bgp") (version "0.17") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SS/SSCHECK/Net-BGP-" version ".tar.gz")) (sha256 (base32 "0za8x9cn5n2hasb14p7dr537lggvrcsl23pgldxf5y03wmk6h35y")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Net-BGP") (synopsis "Object-oriented API to the BGP protocol") (description "This module is an implementation of the BGP-4 inter-domain routing protocol. It encapsulates all of the functionality needed to establish and maintain a BGP peering session and exchange routing update information with the peer. It aims to provide a simple API to the BGP protocol for the purposes of automation, logging, monitoring, testing, and similar tasks using the power and flexibility of perl. The module does not implement the functionality of a RIB (Routing Information Base) nor does it modify the kernel routing table of the host system. However, such operations could be implemented using the API provided by the module.") (license license:perl-license))) (define-public perl-net-dns-native (package (name "perl-net-dns-native") (version "0.22") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/O/OL/OLEG/Net-DNS-Native-" version ".tar.gz")) (sha256 (base32 "1m9hbj83ikg52wvq7z8bjm78i50qvqk5alh11mmazzxrpbnrv38h")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Net-DNS-Native") (synopsis "Non-blocking system DNS resolver") (description "This class provides several methods for host name resolution. It is designed to be used with event loops. Names are resolved by your system's native @code{getaddrinfo(3)} implementation, called in a separate thread to avoid blocking the entire application. Threading overhead is limited by using system threads instead of Perl threads.") (license license:perl-license))) (define-public perl-net-idn-encode (package (name "perl-net-idn-encode") (version "2.500") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CF/CFAERBER/" "Net-IDN-Encode-" version ".tar.gz")) (sha256 (base32 "1aiy7adirk3wpwlczd8sldi9k1dray0jrg1lbcrcw97zwcrkciam")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-test-nowarnings)) (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 represented using only the ASCII characters already allowed in so-called host names today (letter-digit-hyphen, /[A-Z0-9-]/i). Use this module if you just want to convert domain names (or email addresses), using whatever IDNA standard is the best choice at the moment.") (license license:perl-license))) (define-public perl-net-statsd (package (name "perl-net-statsd") (version "0.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CO/COSIMO/Net-Statsd-" version ".tar.gz")) (sha256 (base32 "0p2nhrwamic2fyj094y583q088ixv9gbb82c3invqrd17mh57r33")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Net-Statsd") (synopsis "Perl client for Etsy's statsd daemon") (description "This module implement a UDP client for the statsd statistics collector daemon in use at Etsy.com.") (license (package-license perl)))) (define-public perl-number-compare (package (name "perl-number-compare") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" "Number-Compare-" version ".tar.gz")) (sha256 (base32 "09q8i0mxvr7q9vajwlgawsi0hlpc119gnhq4hc933d03x0vkfac3")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Number-Compare") (synopsis "Numeric comparisons") (description "Number::Compare compiles a simple comparison to an anonymous subroutine, which you can call with a value to be tested against.") (license (package-license perl)))) (define-public perl-number-format (package (name "perl-number-format") (version "1.75") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/W/WR/WRW/Number-Format-" version ".tar.gz")) (sha256 (base32 "1wspw9fybik76jq9w1n1gmvfixd4wvlrq6ni8kyn85s62v5mkml2")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Number-Format") (synopsis "Convert numbers to strings with pretty formatting") (description "@code{Number::Format} is a library for formatting numbers. Functions are provided for converting numbers to strings in a variety of ways, and to convert strings that contain numbers back into numeric form. The output formats may include thousands separators - characters inserted between each group of three characters counting right to left from the decimal point. The characters used for the decimal point and the thousands separator come from the locale information or can be specified by the user.") (license license:perl-license))) (define-public perl-number-range (package (name "perl-number-range") (version "0.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/L/LA/LARRYSH/Number-Range-" version ".tar.gz")) (sha256 (base32 "0999xvs3w2xprs14q4shqndjf2m6mzvhzdljgr61ddjaqhd84gj3")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Number-Range") (synopsis "Perl extension defining ranges of numbers") (description "Number::Range is an object-oriented interface to test if a number exists in a given range, and to be able to manipulate the range.") (license (package-license perl)))) (define-public perl-object-signature (package (name "perl-object-signature") (version "1.08") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Object-Signature-" version ".tar.gz")) (sha256 (base32 "12k90c19ly93ib1p6sm3k7sbnr2h5dbywkdmnff2ngm99p4m68c4")))) (build-system perl-build-system) (native-inputs (list perl-module-install)) (home-page "https://metacpan.org/release/Object-Signature") (synopsis "Generate cryptographic signatures for objects") (description "Object::Signature is an abstract base class that you can inherit from in order to allow your objects to generate unique cryptographic signatures.") (license (package-license perl)))) (define-public perl-ole-storage-lite (package (name "perl-ole-storage-lite") (version "0.20") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JM/JMCNAMARA/OLE-Storage_Lite-" version ".tar.gz")) (sha256 (base32 "1fpqhhgb8blj4hhs97fsbnbhk29s9yms057a9s9yl20f3hbsc65b")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/OLE-Storage_Lite") (synopsis "Read and write OLE storage files") (description "This module allows you to read and write an OLE-Structured file. @dfn{OLE} (Object Linking and Embedding) is a technology to store hierarchical information such as links to other documents within a single file.") (license (package-license perl)))) (define-public perl-opengl (package (name "perl-opengl") (version "0.70") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHM/OpenGL-" version ".tar.gz")) (sha256 (base32 "1q3lz168q081iwl9jg21fbzhp9la79gav9mv6nmh2jab83s2l3mj")))) (build-system perl-build-system) (inputs (list freeglut libxi libxmu)) (arguments '(#:tests? #f ; test.pl fails with our empty glversion.txt, while ; the package still seems to work on the examples #:phases (modify-phases %standard-phases (add-before 'configure 'glversion ;; Building utils/glversion.txt fails, and is probably ;; dependent on the graphics card in the build system. ;; Replace it by a content-free file; while this breaks ;; the tests, the examples in the examples/ subdirectory ;; can be run. (lambda _ (substitute* "Makefile.PL" (("unlink") "# unlink") ; prevent utils/glversion.txt ; from being deleted once... (("\\.\"\\$make_ver clean\"") "")) ; ...and twice... (substitute* "utils/Makefile" (("all: glversion.txt") "all: ")) ; ...and thrice. (call-with-output-file "utils/glversion.txt" (lambda (port) (display (string-append "FREEGLUT=\nGLUT=\nVERSION=\n" "VENDOR=\nRENDERER=\n" "EXTENSIONS=\n") port))) #t)) (add-before 'configure 'fix-library-flags (lambda* (#:key inputs #:allow-other-keys) (substitute* "Makefile.PL" (("-L/usr/local/freeglut/lib") (string-append "-L" (assoc-ref inputs "freeglut") "/lib\n" "-L" (assoc-ref inputs "glu") "/lib\n" "-L" (assoc-ref inputs "mesa") "/lib\n"))) #t))))) (home-page "https://metacpan.org/release/OpenGL") (synopsis "Perl bindings to the OpenGL API, GLU, and GLUT/FreeGLUT") (description "The package provides Perl bindings to OpenGL, GLU and FreeGLUT.") (license (package-license perl)))) (define-public perl-package-anon (package (name "perl-package-anon") (version "0.05") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AU/AUGGY/" "Package-Anon-" version ".tar.gz")) (sha256 (base32 "1fj1fakkfklf2iwzsl64vfgshya3jgm6vhxiphw12wlac9g2il0m")))) (build-system perl-build-system) (propagated-inputs (list perl-sub-exporter perl-params-util)) (home-page "https://metacpan.org/release/Package-Anon") (synopsis "Anonymous packages") (description "This module allows for anonymous packages that are independent of the main namespace and only available through an object instance, not by name.") (license (package-license perl)))) (define-public perl-package-deprecationmanager (package (name "perl-package-deprecationmanager") (version "0.17") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "Package-DeprecationManager-" version ".tar.gz")) (sha256 (base32 "0jv8svfh1c1q4vxlkf8vjfbdq3n2sj3nx5llv1qrhp1b93d3lx0x")))) (build-system perl-build-system) (native-inputs (list perl-test-fatal perl-test-requires perl-test-output)) (propagated-inputs (list perl-list-moreutils perl-params-util perl-sub-install)) (arguments `(#:tests? #f)) ;XXX: Failing for some reason... (home-page "https://metacpan.org/release/Package-DeprecationManager") (synopsis "Manage deprecation warnings for your distribution") (description "This module allows you to manage a set of deprecations for one or more modules.") (license license:artistic2.0))) (define-public perl-package-stash (package (name "perl-package-stash") (version "0.38") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Package-Stash-" version ".tar.gz")) (sha256 (base32 "0zrs4byhlpq5ybnl0fd3y6pfzair6i2dyvzn7f7a7pgj9n2fi3n5")))) (build-system perl-build-system) (native-inputs (list perl-dist-checkconflicts perl-test-fatal perl-test-requires perl-package-anon)) (propagated-inputs (list perl-module-implementation perl-dist-checkconflicts perl-package-stash-xs)) (home-page "https://metacpan.org/release/Package-Stash") (synopsis "Routines for manipulating stashes") (description "Manipulating stashes (Perl's symbol tables) is occasionally necessary, but incredibly messy, and easy to get wrong. This module hides all of that behind a simple API.") (license (package-license perl)))) (define-public perl-package-stash-xs (package (name "perl-package-stash-xs") (version "0.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Package-Stash-XS-" version ".tar.gz")) (sha256 (base32 "1akqk10qxwk798qppajqbczwmhy4cs9g0lg961m3vq218slnnryk")))) (build-system perl-build-system) (native-inputs (list perl-test-fatal perl-test-requires perl-package-anon)) (home-page "https://metacpan.org/release/Package-Stash-XS") (synopsis "Faster implementation of the Package::Stash API") (description "This is a backend for Package::Stash, which provides the functionality in a way that's less buggy and much faster. It will be used by default if it's installed, and should be preferred in all environments with a compiler.") (license (package-license perl)))) (define-public perl-package-variant (package (name "perl-package-variant") (version "1.003002") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MS/MSTROUT/Package-Variant-" version ".tar.gz")) (sha256 (base32 "1p1n2ny5fb15bcbykyn523w6sv968gqs7nhjfm36dpac5yfq9vdj")))) (build-system perl-build-system) (native-inputs (list perl-moo perl-test-fatal perl-test-most)) (propagated-inputs (list perl-carp perl-import-into perl-module-runtime perl-strictures-2)) (home-page "https://metacpan.org/release/Package-Variant") (synopsis "Parameterizable packages") (description "This module allows you to build a variable package that contains a package template and can use it to build variant packages at runtime. Your variable package will export a subroutine which will build a variant package, combining its arguments with the template, and return the name of the new variant package. The implementation does not care about what kind of packages it builds, be they simple function exporters, classes, singletons or something else.") (license license:perl-license))) (define-public perl-padwalker (package (name "perl-padwalker") (version "2.3") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RO/ROBIN/" "PadWalker-" version ".tar.gz")) (sha256 (base32 "1kw8cnfyh6jbngm9q1kn003g08gis6l82h77d12yaq88c3xl8v1a")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/PadWalker") (synopsis "Play with other peoples' lexical variables") (description "PadWalker is a module which allows you to inspect (and even change) lexical variables in any subroutine which called you. It will only show those variables which are in scope at the point of the call. PadWalker is particularly useful for debugging.") (license (package-license perl)))) (define-public perl-parallel-forkmanager (package (name "perl-parallel-forkmanager") (version "1.19") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/Y/YA/YANICK/Parallel-ForkManager-" version ".tar.gz")) (sha256 (base32 "0wm4wp6p3ah5z212jl12728z68nmxmfr0f03z1jpvdzffnc2xppi")))) (build-system perl-build-system) (native-inputs (list perl-test-warn)) (home-page "https://metacpan.org/release/Parallel-ForkManager") (synopsis "Simple parallel processing fork manager") (description "@code{Parallel::ForkManager} is intended for use in 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 (list perl-module-build perl-test-pod perl-test-pod-coverage)) (propagated-inputs (list 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 license:perl-license))) (define-public perl-params-util (package (name "perl-params-util") (version "1.102") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/Params-Util-" version ".tar.gz")) (sha256 (base32 "00kl154zisf2zsl8yl6xa6yw54nhd9cja5d5fyigs96vhasb36s9")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Params-Util") (synopsis "Simple, compact and correct param-checking functions") (description "Params::Util provides a basic set of importable functions that makes checking parameters easier.") (license (package-license perl)))) (define-public perl-params-validate (package (name "perl-params-validate") (version "1.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "Params-Validate-" version ".tar.gz")) (sha256 (base32 "0cwpf8yxwyxbnwhf6rx4wnaq1q38j38i34a78a005shb8gxqv9j9")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-test-fatal perl-test-requires)) (propagated-inputs (list perl-module-implementation)) (home-page "https://metacpan.org/release/Params-Validate") (synopsis "Validate method/function parameters") (description "The Params::Validate module allows you to validate method or function call parameters to an arbitrary level of specificity.") (license license:artistic2.0))) (define-public perl-params-validationcompiler (package (name "perl-params-validationcompiler") (version "0.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "Params-ValidationCompiler-" version ".tar.gz")) (sha256 (base32 "1jqn1l4m4i341g14kmjsf3a1kn7vv6z89cix0xjjgr1v70iywnyw")))) (build-system perl-build-system) (native-inputs ;; For tests. (list perl-test-without-module perl-test2-plugin-nowarnings perl-test2-suite perl-type-tiny)) (propagated-inputs (list perl-eval-closure perl-exception-class perl-specio)) (home-page "https://github.com/houseabsolute/Params-ValidationCompiler") (synopsis "Build an optimized subroutine parameter validator") (description "This module creates a customized, highly efficient parameter checking subroutine. It can handle named or positional parameters, and can return the parameters as key/value pairs or a list of values. In addition to type checks, it also supports parameter defaults, optional parameters, and extra \"slurpy\" parameters.") (license license:artistic2.0))) (define-public perl-par-dist (package (name "perl-par-dist") (version "0.49") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RS/RSCHUPP/" "PAR-Dist-" version ".tar.gz")) (sha256 (base32 "078ycyn8pw3rba4k3qwcqrqfcym5c1pivymwa0bvs9sab45j4iwy")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/PAR-Dist") (synopsis "Create and manipulate PAR distributions") (description "PAR::Dist is a toolkit to create and manipulate PAR distributions.") (license (package-license perl)))) (define-public perl-par (package (name "perl-par") (version "1.018") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-" version ".tar.gz")) (sha256 (base32 "0ifyjd1pxbfp8wxa9l8b1irjwln4gwh4nz256mjacjv194mh99bc")))) (build-system perl-build-system) (propagated-inputs (list perl-archive-zip perl-par-dist)) (home-page "https://metacpan.org/release/PAR") (synopsis "Perl Archive Toolkit") (description "Perl module for using special zip files (called Perl ARchives) as libraries from which Perl modules can be loaded.") (license license:perl-license))) (define-public perl-path-class (package (name "perl-path-class") (version "0.37") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KW/KWILLIAMS/" "Path-Class-" version ".tar.gz")) (sha256 (base32 "1kj8q8dmd8jci94w5arav59nkp0pkxrkliz4n8n6yf02hsa82iv5")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/Path-Class") (synopsis "Path specification manipulation") (description "Path::Class is a module for manipulation of file and directory specifications in a cross-platform manner.") (license (package-license perl)))) (define-public perl-pathtools (package (name "perl-pathtools") (version "3.75") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-" version ".tar.gz")) (sha256 (base32 "18j5z71xin9dsqddl6khm838d23p3843jcq7q0kwgy5ilqx50n55")))) (build-system perl-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'patch-pwd-path (lambda* (#:key inputs #:allow-other-keys) (substitute* "Cwd.pm" (("'/bin/pwd'") (string-append "'" (assoc-ref inputs "coreutils") "/bin/pwd'"))) #t))))) (inputs (list coreutils)) (home-page "https://metacpan.org/release/PathTools") (synopsis "Tools for working with directory and file names") (description "This package provides functions to work with directory and file names.") (license license:perl-license))) (define-public perl-path-tiny (package (name "perl-path-tiny") (version "0.118") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "Path-Tiny-" version ".tar.gz")) (sha256 (base32 "1zdhc3azw6wn21db3yyygs57vlqkx72ipyd8sa21m72c1y6qs4rj")))) (build-system perl-build-system) (arguments `(#:tests? #f)) ; Tests require additional test modules to be packaged ;; (native-inputs ;; `(("perl-test-failwarnings" ,perl-test-failwarnings) ;; ("perl-test-mockrandom" ,perl-test-mockrandom))) (inputs (list perl-unicode-utf8)) (home-page "https://metacpan.org/release/Path-Tiny") (synopsis "File path utility") (description "This module provides a small, fast utility for working with file paths.") (license license:asl2.0))) (define-public perl-pdf-api2 (package (name "perl-pdf-api2") (version "2.040") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-" version ".tar.gz")) (sha256 (base32 "0nlks4p33d08h0fiv6aivinalf9f9zdkgkxqvvbbvdkvyh4z29a9")))) (build-system perl-build-system) (native-inputs (list perl-test-exception perl-test-memory-cycle)) (propagated-inputs (list 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 license:lgpl2.1))) (define-public perl-perlio-utf8_strict (package (name "perl-perlio-utf8-strict") (version "0.007") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/PerlIO-utf8_strict-" version ".tar.gz")) (sha256 (base32 "1jw1ri8nkm4ck73arbsld1y2qgj2b9ir01y8mzb3mjs6w0pkz8w3")))) (build-system perl-build-system) (native-inputs (list perl-test-exception)) (home-page "https://metacpan.org/release/PerlIO-utf8_strict") (synopsis "Fast and correct UTF-8 IO") (description "@code{PerlIO::utf8_strict} provides a fast and correct UTF-8 PerlIO layer. Unlike Perl's default @code{:utf8} layer it checks the input for correctness.") (license (package-license perl)))) (define-public perl-pegex (package (name "perl-pegex") (version "0.70") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/Pegex-" version ".tar.gz")) (sha256 (base32 "1zd0zm6vxapw6bds3ipymkbzam70p3j3rm48794qy11620r22dgx")))) (build-system perl-build-system) (native-inputs (list perl-file-sharedir-install perl-yaml-libyaml)) (home-page "https://metacpan.org/release/Pegex") (synopsis "Acmeist PEG Parser Framework") (description "Pegex is an Acmeist parser framework. It allows you to easily create parsers that will work equivalently in lots of programming languages. The inspiration for Pegex comes from the parsing engine upon which the postmodern programming language Perl 6 is based on. Pegex brings this beauty to the other justmodern languages that have a normal regular expression engine available.") (license (package-license perl)))) (define-public perl-pod-coverage (package (name "perl-pod-coverage") (version "0.23") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" "Pod-Coverage-" version ".tar.gz")) (sha256 (base32 "01xifj83dv492lxixijmg6va02rf3ydlxly0a9slmx22r6qa1drh")))) (build-system perl-build-system) (propagated-inputs (list perl-devel-symdump perl-pod-parser)) (home-page "https://metacpan.org/release/Pod-Coverage") (synopsis "Check for comprehensive documentation of a module") (description "This module provides a mechanism for determining if the pod for a given module is comprehensive.") (license (package-license perl)))) (define-public perl-pod-parser (package (name "perl-pod-parser") (version "1.65") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MAREKR/Pod-Parser-" version ".tar.gz")) (sha256 (base32 "12mj07a34shx5h203l693fra7ip9hc49zrd7w8gsa5llcpnbv9rv")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Pod-Parser") (synopsis "Modules for parsing/translating POD format documents") (description "@code{Pod::Parser} is a base class for creating POD filters and translators. It handles most of the effort involved with parsing the POD sections from an input stream, leaving subclasses free to be concerned only with performing the actual translation of text. @emph{NOTE}: This module is considered legacy. New projects should prefer @code{Pod::Simple} instead.") (license license:perl-license))) (define-public perl-pod-simple (package (name "perl-pod-simple") (version "3.42") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KH/KHW/" "Pod-Simple-" version ".tar.gz")) (sha256 (base32 "1icagrjqw1azmff82h17cbrhqgql7rg21gz64mjpiqqq0cpfpz59")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Pod-Simple") (synopsis "Parsing library for text in Pod format") (description "@code{Pod::Simple} is a Perl library for parsing text in the @dfn{Pod} (plain old documentation) markup language that is typically used for writing documentation for Perl and for Perl modules.") (license (package-license perl)))) (define-public perl-pod-spell (package (name "perl-pod-spell") (version "1.25") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/Pod-Spell-" version ".tar.gz")) (sha256 (base32 "18wzpfn39hpw6n8g9pwh964nid8skks79i5jdcm33gf9kf5qx3r0")))) (build-system perl-build-system) (native-inputs (list perl-file-sharedir-install)) (propagated-inputs (list perl-class-tiny perl-file-sharedir perl-lingua-en-inflect)) (home-page "https://metacpan.org/release/Pod-Spell") (synopsis "Formatter for spellchecking Pod") (description "@code{Pod::Spell} is a Pod formatter whose output is good for spellchecking. @code{Pod::Spell} is rather like @code{Pod::Text}, except that it doesn't put much effort into actual formatting, and it suppresses things that look like Perl symbols or Perl jargon (so that your spellchecking program won't complain about mystery words like \"@code{$thing}\" or \"@code{Foo::Bar}\" or \"@code{hashref}\").") (license license:artistic2.0))) (define-public perl-posix-strftime-compiler (package (name "perl-posix-strftime-compiler") (version "0.42") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KA/KAZEBURO/" "POSIX-strftime-Compiler-" version ".tar.gz")) (sha256 (base32 "04dcn2n4rfkj8p24vj2p17vvis40l87pf2vdqp0vqm5jg3fjnn16")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (arguments `(#:tests? #f)) ; TODO: Timezone test failures (home-page "https://metacpan.org/release/POSIX-strftime-Compiler") (synopsis "GNU C library compatible strftime for loggers and servers") (description "POSIX::strftime::Compiler provides GNU C library compatible strftime(3). But this module is not affected by the system locale. This feature is useful when you want to write loggers, servers, and portable applications.") (license (package-license perl)))) (define-public perl-ppi (package (name "perl-ppi") (version "1.270") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MI/MITHALDU/" "PPI-" version ".tar.gz")) (sha256 (base32 "0mzlz9rxqx93rqgy16jcfxwkplvhzr0f1gvvvwmmvf0vg266jak2")))) (build-system perl-build-system) (arguments `(#:tests? #f)) ;FIXME: some tests fail (native-inputs (list perl-class-inspector perl-test-deep perl-test-nowarnings perl-test-object perl-test-subcalls)) (propagated-inputs (list perl-clone perl-io-string perl-params-util perl-task-weaken)) (home-page "https://metacpan.org/release/PPI") (synopsis "Parse, analyze and manipulate Perl (without Perl)") (description "The PPI module parses, analyzes and manipulates Perl code.") (license license:perl-license))) (define-public perl-ppix-regexp (package (name "perl-ppix-regexp") (version "0.085") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-" version ".tar.gz")) (sha256 (base32 "07fg63ql3f7hv1ys10l8j0p562ndraq9lk66iw9y0f444j4vpw1f")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (propagated-inputs (list perl-ppi)) (home-page "https://metacpan.org/release/PPIx-Regexp") (synopsis "Parse Perl string literals and string-literal-like things") (description "The purpose of the @code{PPIx-Regexp} package is to parse regular expressions in a manner similar to the way the @code{PPI} package parses Perl. This class forms the root of the parse tree, playing a role similar to @code{PPI::Document}.") (license license:perl-license))) (define-public perl-ppix-quotelike (package (name "perl-ppix-quotelike") (version "0.023") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/W/WY/WYANT/PPIx-QuoteLike-" version ".tar.gz")) (sha256 (base32 "08ad4d20afvi1c4xzwbfk94lmf6gwlmqkdrpjxzf0lrcklaa6xim")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (propagated-inputs (list perl-ppi perl-ppix-regexp perl-readonly)) (home-page "https://metacpan.org/release/PPIx-QuoteLike") (synopsis "Parse Perl string literals and string-literal-like things") (description "@code{PPIX::QuoteLike} parses Perl string literals and things that are reasonably like string literals. Its real reason for being is to find interpolated variables for @code{Perl::Critic} policies and similar code.") (license license:perl-license))) (define-public perl-ppix-utilities (package (name "perl-ppix-utilities") (version "1.001000") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EL/ELLIOTJS/PPIx-Utilities-" version ".tar.gz")) (sha256 (base32 "16yb7dnz8lgq2azs8jxj1wac60kbn16x8y4py04ci8nndww87903")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-test-deep)) (propagated-inputs (list perl-exception-class perl-ppi perl-readonly-xs perl-task-weaken)) (home-page "https://metacpan.org/release/PPIx-Utilities") (synopsis "Extensions to PPI") (description "@code{PPIx::Utilities} is a collection of functions for dealing with @code{PPI} objects, many of which originated in @code{Perl::Critic}. They are organized into modules by the kind of @code{PPI} class they relate to, by replacing the \"@code{PPI}\" at the front of the module name with \"@code{PPIx::Utilities}\", e.g. functionality related to @code{PPI::Nodes} is in @code{PPIx::Utilities::Node}.") (license license:perl-license))) (define-public perl-probe-perl (package (name "perl-probe-perl") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KW/KWILLIAMS/" "Probe-Perl-" version ".tar.gz")) (sha256 (base32 "0c9wiaz0mqqknafr4jdr0g2gdzxnn539182z0icqaqvp5qgd5r6r")))) (build-system perl-build-system) (synopsis "Information about the currently running perl") (description "Probe::Perl provides methods for obtaining information about the currently running perl interpreter. It originally began life as code in the Module::Build project, but has been externalized here for general use.") (home-page "https://metacpan.org/release/Probe-Perl") (license (package-license perl)))) (define-public perl-proc-invokeeditor (package (name "perl-proc-invokeeditor") (version "1.13") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MS/MSTEVENS/Proc-InvokeEditor-" version ".tar.gz")) (sha256 (base32 "0xc1416kvhq904ribpwh2lbxryh41dzl2glzpgr32b68s4fbwbaa")))) (build-system perl-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'set-EDITOR (lambda _ (setenv "EDITOR" "echo") #t))))) (propagated-inputs (list perl-carp-assert)) (home-page "https://metacpan.org/release/Proc-InvokeEditor") (synopsis "Interface to external editor from Perl") (description "This module provides the ability to supply some text to an external text editor, have it edited by the user, and retrieve the results.") (license (package-license perl)))) (define-public perl-readonly (package (name "perl-readonly") (version "2.00") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SA/SANKO/" "Readonly-" version ".tar.gz")) (sha256 (base32 "165zcf9lpijdpkx82za0g9rx8ckjnhipmcivdkyzshl8jmp1bl4v")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/Readonly") (synopsis "Create read-only scalars, arrays, hashes") (description "This module provides a facility for creating non-modifiable variables in Perl. This is useful for configuration files, headers, etc. It can also be useful as a development and debugging tool for catching updates to variables that should not be changed.") (license (package-license perl)))) (define-public perl-readonly-xs (package (name "perl-readonly-xs") (version "1.05") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RO/ROODE/Readonly-XS-" version ".tar.gz")) (sha256 (base32 "03gz7yp194fwah2bc36ww04hgw1qx8p6y68vvnywircrablc9rca")))) (build-system perl-build-system) (propagated-inputs (list perl-readonly)) (home-page "https://metacpan.org/release/Readonly-XS") (synopsis "Companion module for @code{Readonly.pm}, to speed up read-only scalar variables") (description "The @code{Readonly} module is an effective way to create non-modifiable variables. However, it's relatively slow. The reason it's slow is that is implements the read-only-ness of variables via tied objects. This mechanism is inherently slow. Perl simply has to do a lot of work under the hood to make tied variables work. This module corrects the speed problem, at least with respect to scalar variables. When @code{Readonly::XS} is installed, @code{Readonly} uses it to access the internals of scalar variables. Instead of creating a scalar variable object and tying it, @code{Readonly} simply flips the @code{SvREADONLY} bit in the scalar's @code{FLAGS} structure.") (license license:perl-license))) (define-public perl-ref-util-xs (package (name "perl-ref-util-xs") (version "0.117") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/X/XS/XSAWYERX/" "Ref-Util-XS-" version ".tar.gz")) (sha256 (base32 "0g33cndhj353h5xjihvgjc2h6vxwkyyzw63r4l06czvq4flcar7v")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Ref-Util-XS") (synopsis "XS implementation for Ref::Util") (description "@code{Ref::Util::XS} is the XS implementation of @code{Ref::Util}, which provides several functions to help identify references in a more convenient way than the usual approach of examining the return value of @code{ref}.") (license license:x11))) (define-public perl-regexp-common (package (name "perl-regexp-common") (version "2017060201") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AB/ABIGAIL/" "Regexp-Common-" version ".tar.gz")) (sha256 (base32 "16q8d7mx0c4nbjrvj69jdn4q33d1k40imgxn83h11wq6xqx8a1zf")))) (build-system perl-build-system) (synopsis "Provide commonly requested regular expressions") (description "This module exports a single hash (@code{%RE}) that stores or generates commonly needed regular expressions. Patterns currently provided include: balanced parentheses and brackets, delimited text (with escapes), integers and floating-point numbers in any base (up to 36), comments in 44 languages, offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip codes.") (home-page "https://metacpan.org/release/Regexp-Common") ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD. (license (list (package-license perl) license:x11 license:bsd-3)))) (define-public perl-regexp-grammars (package (name "perl-regexp-grammars") (version "1.058") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DC/DCONWAY/Regexp-Grammars-" version ".tar.gz")) (sha256 (base32 "14hwskrmy6ma0k9nr1amrf7wpb1f6jsx7x29kgizlx0n4n7db27a")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-test-pod perl-moose)) (home-page "https://metacpan.org/release/Regexp-Grammars") (synopsis "Complete recursive descent parser on Perl's regex engine") (description "The @code{Regexp::Grammars} module adds a small number of new regex constructs that can be used within Perl 5.10 patterns to implement complete recursive-descent parsing. It allows you to go beyond matching complex, nested and recursive structures, and allows you to parse and extract hierarchical data from it.") (license license:perl-license))) (define-public perl-regexp-util (package (name "perl-regexp-util") (version "0.003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/" "Regexp-Util-" version ".tar.gz")) (sha256 (base32 "01n1cggiflsnp9f6adkcxzkc0qpgssz60cwnyyd8mzavh2ximr5a")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Regexp-Util") (synopsis "Selection of general-utility regexp subroutines") (description "This package provides a selection of regular expression subroutines including @code{is_regexp}, @code{regexp_seen_evals}, @code{regexp_is_foreign}, @code{regexp_is_anchored}, @code{serialize_regexp}, and @code{deserialize_regexp}.") (license (package-license perl)))) (define-public perl-role-tiny (package (name "perl-role-tiny") (version "1.003004") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Role-Tiny-" version ".tar.gz")) (sha256 (base32 "0ak60hakn0ixmsiw403si0lf5pagq5r6wjgl7p0pr979nlcikfmd")))) (build-system perl-build-system) (native-inputs (list perl-namespace-autoclean perl-test-fatal)) (propagated-inputs (list perl-class-method-modifiers)) (home-page "https://metacpan.org/release/Role-Tiny") (synopsis "Roles, as a slice of Moose") (description "Role::Tiny is a minimalist role composition tool.") (license (package-license perl)))) ;; Some packages don't yet work with this newer version of ‘Role::Tiny’. (define-public perl-role-tiny-2 (package (inherit perl-role-tiny) (version "2.001004") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Role-Tiny-" version ".tar.gz")) (sha256 (base32 "11qn516352yhi794www3ykwa9xv2gxpfnhn9jcn10x0ahl95gflj")))))) (define-public perl-safe-hole (package (name "perl-safe-hole") (version "0.14") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TODDR/Safe-Hole-" version ".tar.gz")) (sha256 (base32 "01gc2lfli282dj6a2pkpxb0vmpyavs323cbdw15gxi06pn5nxxgl")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/Safe-Hole") (synopsis "Use main compartment subroutines from the Safe compartment") (description "@code{Safe::Hole} can execute outside defined subroutines in the original main compartment from the Safe compartment.") (license license:perl-license))) (define-public perl-safe-isa (package (name "perl-safe-isa") (version "1.000010") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Safe-Isa-" version ".tar.gz")) (sha256 (base32 "0sm6p1kw98s7j6n92vvxjqf818xggnmjwci34xjmw7gzl2519x47")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Safe-Isa") (synopsis "Call isa, can, does, and DOES safely") (description "This module allows you to call isa, can, does, and DOES 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 (list perl-module-build perl-test-pod 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 license:perl-license))) (define-public perl-scope-guard (package (name "perl-scope-guard") (version "0.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHOCOLATE/" "Scope-Guard-" version ".tar.gz")) (sha256 (base32 "0y6jfzvxiz8h5yfz701shair0ilypq2mvimd7wn8wi2nbkm1p6wc")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Scope-Guard") (synopsis "Lexically-scoped resource management") (description "This module provides a convenient way to perform cleanup or other forms of resource management at the end of a scope. It is particularly useful when dealing with exceptions: the Scope::Guard constructor takes a reference to a subroutine that is guaranteed to be called even if the thread of execution is aborted prematurely. This effectively allows lexically-scoped \"promises\" to be made that are automatically honoured by perl's garbage collector.") (license (package-license perl)))) (define-public perl-set-infinite (package (name "perl-set-infinite") (version "0.65") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FG/FGLOCK/" "Set-Infinite-" version ".tar.gz")) (sha256 (base32 "07vyp0jpndcxkbyjk432nillxxk22wrmm2rs985y8ba96h3qig07")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Set-Infinite") (synopsis "Infinite sets") (description "Set::Infinite is a set theory module for infinite sets.") (license (package-license perl)))) (define-public perl-set-intervaltree (package (name "perl-set-intervaltree") (version "0.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SL/SLOYD/Set-IntervalTree-" version ".tar.gz")) (sha256 (base32 "0jf3vdmdgxx6a9xrfwnbbs9g37i1i6qhfg5qwln8x5i280701m3g")))) (build-system perl-build-system) (native-inputs (list perl-extutils-cppguess)) (home-page "https://metacpan.org/release/Set-IntervalTree") (synopsis "Perform range-based lookups on sets of ranges") (description "This package provides an efficient mechanism to look up ranges in Interval Trees.") (license (package-license perl)))) (define-public perl-set-intspan (package (name "perl-set-intspan") (version "1.19") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SW/SWMCD/Set-IntSpan-" version ".tar.gz")) (sha256 (base32 "1l6znd40ylzvfwl02rlqzvakv602rmvwgm2xd768fpgc2fdm9dqi")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Set-IntSpan") (synopsis "Manage sets of integers") (description "@code{Set::IntSpan} manages sets of integers. It is optimized for sets that have long runs of consecutive integers.") (license license:perl-license))) (define-public perl-set-object (package (name "perl-set-object") (version "1.39") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/" "Set-Object-" version ".tar.gz")) (sha256 (base32 "040q819l9x55j0hjhfvc153451syvjffw3d22gs398sd23mwzzsy")))) (build-system perl-build-system) (propagated-inputs (list perl-moose perl-test-leaktrace)) (home-page "https://metacpan.org/release/Set-Object") (synopsis "Unordered collections of Perl Objects") (description "Set::Object provides efficient sets, unordered collections of Perl objects without duplicates for scalars and references.") (license license:artistic2.0))) (define-public perl-set-scalar (package (name "perl-set-scalar") (version "1.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAVIDO/" "Set-Scalar-" version ".tar.gz")) (sha256 (base32 "07aiqkyi1p22drpcyrrmv7f8qq6fhrxh007achy2vryxyck1bp53")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Set-Scalar") (synopsis "Set operations for Perl") (description "The first priority of Set::Scalar is to be a convenient interface to sets (as in: unordered collections of Perl scalars). While not designed to be slow or big, neither has it been designed to be fast or compact.") (license (package-license perl)))) (define-public perl-sort-key (package (name "perl-sort-key") (version "1.33") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SA/SALVA/Sort-Key-" version ".tar.gz")) (sha256 (base32 "1kqs10s2plj6c96srk0j8d7xj8dxk1704r7mck8rqk09mg7lqspd")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sort-Key") (synopsis "Sort arrays by one or multiple calculated keys") (description "This Perl module provides various functions to quickly sort arrays by one or multiple calculated keys.") (license (package-license perl)))) (define-public perl-sort-naturally (package (name "perl-sort-naturally") (version "1.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BI/BINGOS/Sort-Naturally-" version ".tar.gz")) (sha256 (base32 "0ip7q5g8d3lr7ri3ffcbrpk1hzzsiwgsn14k10k7hnjphxf1raza")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sort-Naturally") (synopsis "Sort lexically, but sort numeral parts numerically") (description "This module exports two functions, @code{nsort} and @code{ncmp}; they are used in implementing a \"natural sorting\" algorithm. Under natural sorting, numeric substrings are compared numerically, and other word-characters are compared lexically.") (license (package-license perl)))) (define-public perl-specio (package (name "perl-specio") (version "0.38") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "Specio-" version ".tar.gz")) (sha256 (base32 "1s5xd9awwrzc94ymimjkxqs6jq513wwlmwwarxaklvg2hk4lps0l")))) (build-system perl-build-system) (propagated-inputs (list perl-devel-stacktrace perl-eval-closure perl-module-runtime perl-mro-compat perl-role-tiny perl-test-fatal perl-test-needs)) (home-page "https://metacpan.org/release/Specio") (synopsis "Classes for representing type constraints and coercion") (description "The Specio distribution provides classes for representing type constraints and coercion, along with syntax sugar for declaring them. Note that this is not a proper type system for Perl. Nothing in this distribution will magically make the Perl interpreter start checking a value's type on assignment to a variable. In fact, there's no built-in way to apply a type to a variable at all. Instead, you can explicitly check a value against a type, and optionally coerce values to that type.") (license license:artistic2.0))) (define-public perl-spiffy (package (name "perl-spiffy") (version "0.46") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IN/INGY/" "Spiffy-" version ".tar.gz")) (sha256 (base32 "18qxshrjh0ibpzjm2314157mxlibh3smyg64nr4mq990hh564n4g")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Spiffy") (synopsis "Spiffy Perl Interface Framework For You") (description "Spiffy is a framework and methodology for doing object oriented (OO) programming in Perl. Spiffy combines the best parts of Exporter.pm, base.pm, mixin.pm and SUPER.pm into one magic foundation class. It attempts to fix all the nits and warts of traditional Perl OO, in a clean, straightforward and (perhaps someday) standard way. Spiffy borrows ideas from other OO languages like Python, Ruby, Java and Perl 6.") (license (package-license perl)))) (define-public perl-spreadsheet-parseexcel (package (name "perl-spreadsheet-parseexcel") (version "0.65") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DO/DOUGW/Spreadsheet-ParseExcel-" version ".tar.gz")) (sha256 (base32 "1v2vcz0q2xlbrh4qzij023zm2vy46ps1c8g11xj833fmkd1cpi3f")))) (build-system perl-build-system) (arguments (list #:tests? #f ;2/32 fail (tests 10 and 11) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-md5 (lambda _ (substitute* (find-files "." "\\.pm$") (("Digest::Perl::MD5") "Digest::MD5")) ;; avoid decoding-error when parsing ;; 03_regression.t (substitute* (find-files "." "\\.[1-9]\\.t$") (("Digest::Perl::MD5") "Digest::MD5"))))))) (native-inputs (list perl-test-most)) (propagated-inputs (list perl-crypt-rc4 perl-digest-md5 perl-io-stringy perl-ole-storage-lite)) (home-page "https://metacpan.org/release/Spreadsheet-ParseExcel") (synopsis "Reads information from an Excel file") (description "The @code{Spreadsheet::ParseExcel} module can be used to read information from Excel 95-2003 binary files. The module cannot read files in the Excel 2007 Open XML XLSX format.") (license license:perl-license))) (define-public perl-want (package (name "perl-want") (version "0.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RO/ROBIN/Want-" version ".tar.gz")) (sha256 (base32 "1xsjylbxxcbkjazqms49ipi94j1hd2ykdikk29cq7dscil5p9r5l")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Want") (synopsis "Generalization of wantarray") (description "This module generalises the mechanism of the @code{wantarray} function, allowing a function to determine in some detail how its return value is going to be immediately used.") (license license:perl-license))) (define-public perl-contextual-return (package (name "perl-contextual-return") (version "0.004014") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DC/DCONWAY/Contextual-Return-" version ".tar.gz")) (sha256 (base32 "0y4zf5qkpayp4kkg7lw9ydbbin1z99m6xvy02fgacjbfw4ai9zh9")))) (build-system perl-build-system) (propagated-inputs (list perl-want)) (home-page "https://metacpan.org/release/Contextual-Return") (synopsis "Create context-sensitive return values") (description "This module provides a collection of named blocks that allow a return statement to return different values depending on the context in which it is called.") (license license:perl-license))) (define-public perl-statistics-basic (package (name "perl-statistics-basic") (version "1.6611") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-" version ".tar.gz")) (sha256 (base32 "1ywl398z42hz9w1k0waf1caa6agz8jzsjlf4rzs1lgpx2mbcwmb8")))) (build-system perl-build-system) (inputs (list perl-number-format)) (home-page "https://metacpan.org/release/Statistics-Basic") (synopsis "Collection of very basic statistics modules") (description "This package provides basic statistics functions like @code{median()}, @code{mean()}, @code{variance()} and @code{stddev()}.") (license license:lgpl2.0))) (define-public perl-statistics-pca (package (name "perl-statistics-pca") (version "0.0.1") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DS/DSTH/Statistics-PCA-" version ".tar.gz")) (sha256 (base32 "1i3bskwibp54c9a2wx8gzr3hyds6mmhr3d550g8j6893005v3bgq")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (propagated-inputs (list perl-contextual-return perl-math-cephes perl-math-matrixreal perl-text-simpletable)) (home-page "https://metacpan.org/release/Statistics-PCA") (synopsis "Perl implementation of Principal Component Analysis") (description "This package provides the Statistics::PCA module, an implementation of @dfn{Principal Component Analysis} (PCA).") (license license:perl-license))) (define-public perl-storable (package (name "perl-storable") (version "3.15") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/X/XS/XSAWYERX/" "Storable-" version ".tar.gz")) (sha256 (base32 "1nkln4fm4962b5jk1dp6lf635nnrj5a5pg1a5xmchvrfrc3asggw")))) (build-system perl-build-system) (propagated-inputs (list perl-xsloader)) (home-page "https://metacpan.org/dist/Storable") (synopsis "Persistence for Perl data structures") (description "Storable brings persistence to your Perl data structures containing SCALAR, ARRAY, HASH or REF objects, i.e. anything that can be conveniently stored to disk and retrieved at a later time.") (license (package-license perl)))) (define-public perl-stream-buffered (package (name "perl-stream-buffered") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DO/DOY/" "Stream-Buffered-" version ".tar.gz")) (sha256 (base32 "0fs2n9zw6isfkha2kbqrvl9mwg572x1x0jlfaps0qsyynn846bcv")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Stream-Buffered") (synopsis "Temporary buffer to save bytes") (description "Stream::Buffered is a buffer class to store arbitrary length of byte strings and then get a seekable filehandle once everything is buffered. It uses PerlIO and/or temporary file to save the buffer depending on the length of the size.") (license (package-license perl)))) (define-public perl-strictures (package (name "perl-strictures") (version "1.005005") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "strictures-" version ".tar.gz")) (sha256 (base32 "1bmpv8wr9jbc1lfj634xhq3y42nm28hh01jfsyzxhqhqf6dkdz59")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/strictures") (synopsis "Turn on strict and make all warnings fatal") (description "Strictures turns on strict and make all warnings fatal when run from within a source-controlled directory.") (license (package-license perl)))) ;; Some packages don't yet work with this newer version of ‘strictures’. (define-public perl-strictures-2 (package (inherit perl-strictures) (version "2.000006") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "strictures-" version ".tar.gz")) (sha256 (base32 "0mwd9xqz4n8qfpi5h5581lbm33qhf7agww18h063icnilrs7km89")))))) (define-public perl-string-camelcase (package (name "perl-string-camelcase") (version "0.04") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HI/HIO/" "String-CamelCase-" version ".tar.gz")) (sha256 (base32 "1a8i4yzv586svd0pbxls7642vvmyiwzh4x2xyij8gbnfxsydxhw9")))) (build-system perl-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'set-perl-search-path (lambda _ ;; Work around "dotless @INC" build failure. (setenv "PERL5LIB" (string-append (getcwd) ":" (getenv "PERL5LIB"))) #t))))) (home-page "https://metacpan.org/release/String-CamelCase") (synopsis "Camelcase and de-camelcase") (description "This module may be used to convert from under_score text to CamelCase and back again.") (license (package-license perl)))) (define-public perl-string-escape (package (name "perl-string-escape") (version "2010.002") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EV/EVO/String-Escape-" version ".tar.gz")) (sha256 (base32 "12ls7f7847i4qcikkp3skwraqvjphjiv2zxfhl5d49326f5myr7x")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/String-Escape") (synopsis "Backslash escapes, quoted phrase, word elision, etc.") (description "This module provides a flexible calling interface to some frequently-performed string conversion functions, including applying and expanding standard C/Unix-style backslash escapes like \n and \t, wrapping and removing double-quotes, and truncating to fit within a desired length.") (license (package-license perl)))) (define-public perl-string-format (package (name "perl-string-format") (version "1.18") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SR/SREZIC/String-Format-" version ".tar.gz")) (sha256 (base32 "0y77frxzjifd4sw0j19cc346ysas1mya84rdxaz279lyin7plhcy")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/String-Format") (synopsis "Format sprintf-like strings with arbitrary format definitions") (description "@code{String::Format} lets you define arbitrary printf-like format sequences to be expanded. This module would be most useful in configuration files and reporting tools, where the results of a query need to be formatted in a particular way. It was inspired by @url{http://www.mutt.org/doc/manual/manual.html#index-format,mutt's @code{index_format} and related directives}.") (license license:gpl2))) (define-public perl-string-formatter (package (name "perl-string-formatter") (version "0.102084") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-" version ".tar.gz")) (sha256 (base32 "0mlwm0rirv46gj4h072q8gdync5zxxsxy8p028gdyrhczl942dc3")))) (build-system perl-build-system) (propagated-inputs (list perl-params-util perl-sub-exporter)) (home-page "https://metacpan.org/release/String-Formatter") (synopsis "Build your own sprintf-like functions") (description "@code{String::Formatter} is a tool for building sprintf-like formatting routines. It supports named or positional formatting, custom conversions, fixed string interpolation, and simple width-matching.") (license license:gpl2))) (define-public perl-string-rewriteprefix (package (name "perl-string-rewriteprefix") (version "0.007") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" "String-RewritePrefix-" version ".tar.gz")) (sha256 (base32 "18nxl1vgkcx0r7ifkmbl9fp73f8ihiqhqqf3vq6sj5b3cgawrfsw")))) (build-system perl-build-system) (propagated-inputs (list perl-sub-exporter)) (home-page "https://metacpan.org/release/String-RewritePrefix") (synopsis "Rewrite strings based on a set of known prefixes") (description "This module allows you to rewrite strings based on a set of known prefixes.") (license (package-license perl)))) (define-public perl-string-shellquote (package (name "perl-string-shellquote") (version "1.04") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RO/ROSCH/String-ShellQuote-" version ".tar.gz")) (sha256 (base32 "0dfxhr6hxc2majkkrm0qbx3qcbykzpphbj2ms93dc86f7183c1p6")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/String-ShellQuote") (synopsis "Quote strings for passing through a shell") (description "@code{shell-quote} lets you pass arbitrary strings through the shell so that they won't be changed.") (license (package-license perl)))) (define-public perl-string-print (package (name "perl-string-print") (version "0.15") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/" "String-Print-" version ".tar.gz")) (sha256 (base32 "1n9lc5dr66sg89hym47764fyfms7vrxrhwvdps2x8x8gxly7rsdl")))) (build-system perl-build-system) (propagated-inputs (list perl-unicode-linebreak)) (home-page "https://metacpan.org/release/String-Print") (synopsis "String printing alternatives to printf") (description "This module inserts values into (translated) strings. It provides @code{printf} and @code{sprintf} alternatives via both an object-oriented and a functional interface.") (license (package-license perl)))) (define-public perl-sub-exporter (package (name "perl-sub-exporter") (version "0.988") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-" version ".tar.gz")) (sha256 (base32 "03040vk227icdkb0hvxplck2y6rglj67s1rgf12z3465ss3lhci3")))) (build-system perl-build-system) (propagated-inputs (list perl-data-optlist perl-params-util)) (home-page "https://metacpan.org/release/Sub-Exporter") (synopsis "Sophisticated exporter for custom-built routines") (description "Sub::Exporter provides a sophisticated alternative to Exporter.pm for custom-built routines.") (license (package-license perl)))) (define-public perl-sub-exporter-progressive (package (name "perl-sub-exporter-progressive") (version "0.001013") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FR/FREW/" "Sub-Exporter-Progressive-" version ".tar.gz")) (sha256 (base32 "0mn0x8mkh36rrsr58s1pk4srwxh2hbwss7sv630imnk49navfdfm")))) (build-system perl-build-system) (native-inputs (list perl-sub-exporter)) (home-page "https://metacpan.org/release/Sub-Exporter-Progressive") (synopsis "Only use Sub::Exporter if you need it") (description "Sub::Exporter is an incredibly powerful module, but with that power comes great responsibility, as well as some runtime penalties. This module is a \"Sub::Exporter\" wrapper that will let your users just use Exporter if all they are doing is picking exports, but use \"Sub::Exporter\" if your users try to use \"Sub::Exporter\"'s more advanced features, like renaming exports, if they try to use them.") (license (package-license perl)))) (define-public perl-sub-identify (package (name "perl-sub-identify") (version "0.14") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RG/RGARCIA/" "Sub-Identify-" version ".tar.gz")) (sha256 (base32 "0vxdxyfh6037xy88ic7500wydzmsxldhp95n8bld2kaihqh2g386")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sub-Identify") (synopsis "Retrieve names of code references") (description "Sub::Identify allows you to retrieve the real name of code references.") (license (package-license perl)))) (define-public perl-sub-info (package (name "perl-sub-info") (version "0.002") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/Sub-Info-" version ".tar.gz")) (sha256 (base32 "1snhrmc6gpw2zjnj7zvvqj69mlw711bxah6kk4dg5vxxjvb5cc7a")))) (build-system perl-build-system) (propagated-inputs (list perl-importer)) (home-page "https://metacpan.org/release/Sub-Info") (synopsis "Tool to inspect subroutines") (description "This package provides tools for inspecting subroutines in Perl.") (license (package-license perl)))) (define-public perl-sub-install (package (name "perl-sub-install") (version "0.928") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-" version ".tar.gz")) (sha256 (base32 "03zgk1yh128gciyx3q77zxzxg9kf8yy2gm46gdxqi24mcykngrb1")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sub-Install") (synopsis "Install subroutines into packages easily") (description "Sub::Install makes it easy to install subroutines into packages without the unsightly mess of C or typeglobs lying about where just anyone can see them.") (license (package-license perl)))) (define-public perl-sub-name (package (name "perl-sub-name") (version "0.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Sub-Name-" version ".tar.gz")) (sha256 (base32 "05viq8scqk29g964fsfvls2rhvlb8myz3jblwh5c2ivhw3gfjcmx")))) (build-system perl-build-system) (native-inputs (list perl-devel-checkbin)) (home-page "https://metacpan.org/release/Sub-Name") (synopsis "(Re)name a sub") (description "Assigns a new name to referenced sub. If package specification is omitted in the name, then the current package is used. The return value is the sub.") (license (package-license perl)))) (define-public perl-sub-quote (package (name "perl-sub-quote") (version "2.006008") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-" version ".tar.gz")) (sha256 (base32 "1chm1n08l8qcqq87231pfa085bw79mcvrwm27vl64mzm198bvgll")))) (build-system perl-build-system) (native-inputs (list perl-test-fatal)) (propagated-inputs (list perl-sub-name)) (home-page "https://metacpan.org/release/Sub-Quote") (synopsis "Efficient generation of subroutines via string eval") (description "Sub::Quote provides an efficient generation of subroutines via string eval.") (license (package-license perl)))) (define-public perl-sub-uplevel (package (name "perl-sub-uplevel") (version "0.24") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "Sub-Uplevel-" version ".tar.gz")) (sha256 (base32 "1yzxqsim8vpavzqm2wfksh8dpmy6qbr9s3hdqqicp38br3lzd4qg")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sub-Uplevel") (synopsis "Apparently run a function in a higher stack frame") (description "Like Tcl's uplevel() function, but not quite so dangerous. The idea is just to fool caller(). All the really naughty bits of Tcl's uplevel() are avoided.") (license (package-license perl)))) (define-public perl-super (package (name "perl-super") (version "1.20190531") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHROMATIC/" "SUPER-" version ".tar.gz")) (sha256 (base32 "16nk2za9fwyg7mcifacr69qi075iz1yvy8r9jh3903kzdvkiwpb8")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (propagated-inputs (list perl-sub-identify)) (home-page "https://metacpan.org/release/SUPER") (synopsis "Control superclass method dispatching") (description "When subclassing a class, you may occasionally want to dispatch control to the superclass---at least conditionally and temporarily. This module provides nicer equivalents to the native Perl syntax for calling superclasses, along with a universal @code{super} method to determine a class' own superclass, and better support for run-time mix-ins and roles.") (license license:perl-license))) (define-public perl-svg (package (name "perl-svg") (version "2.86") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/SVG-" version ".tar.gz")) (sha256 (base32 "0yx661fznk70lgxl87rdl9fsswr6pd1d7wzrh0136b5vhrpypikj")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/SVG") (synopsis "Perl extension for generating SVG documents") (description "SVG is a Perl module which generates a nested data structure containing the DOM representation of an SVG (Scalable Vector Graphics) image. Using SVG, you can generate SVG objects, embed other SVG instances into it, access the DOM object, create and access Javascript, and generate SMIL animation content.") (license (package-license perl)))) (define-public perl-switch (package (name "perl-switch") (version "2.17") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/Switch-" version ".tar.gz")) (sha256 (base32 "0xbdjdgzfj9zwa4j3ipr8bfk7bcici4hk89hq5d27rhg2isljd9i")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Switch") (synopsis "Switch statement for Perl") (description "Switch is a Perl module which implements a generalized case mechanism. The module augments the standard Perl syntax with two new statements: @code{switch} and @code{case}.") (license (package-license perl)))) (define-public perl-syntax-keyword-try (package (name "perl-syntax-keyword-try") (version "0.28") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PE/PEVANS/Syntax-Keyword-Try-" version ".tar.gz")) (sha256 (base32 "1j02z9w0p9a77maf62cy5324vmc01hks0bfm5qjidc50hafmzbfc")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (inputs (list perl-xs-parse-keyword)) (home-page "https://metacpan.org/pod/Syntax::Keyword::Try") (synopsis "Try/catch/finally syntax for perl") (description "This module provides a syntax plugin that implements exception-handling semantics in a form familiar to users of other languages, being built on a block labeled with the @code{try} keyword, followed by at least one of a @code{catch} or @code{finally} block.") (license (package-license perl)))) (define-public perl-sys-cpu (package (name "perl-sys-cpu") (version "0.61") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MZ/MZSANFORD/" "Sys-CPU-" version ".tar.gz")) (sha256 (base32 "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5")) (modules '((guix build utils))) (snippet '(begin ;; The contents of /proc/cpuinfo can differ and confuse the ;; cpu_clock and cpu_type methods, so we replace the test ;; with one that marks cpu_clock and cpu_type as TODO. ;; Borrowed from Debian. (call-with-output-file "t/Sys-CPU.t" (lambda (port) (format port "#!/usr/bin/perl use Test::More tests => 4; BEGIN { use_ok('Sys::CPU'); } $number = &Sys::CPU::cpu_count(); ok( defined($number), \"CPU Count: $number\" ); TODO: { local $TODO = \"/proc/cpuinfo doesn't always report 'cpu MHz' or 'clock' or 'bogomips' ...\"; $speed = &Sys::CPU::cpu_clock(); ok( defined($speed), \"CPU Speed: $speed\" ); } TODO: { local $TODO = \"/proc/cpuinfo doesn't always report 'model name' or 'machine' ...\"; $type = &Sys::CPU::cpu_type(); ok( defined($type), \"CPU Type: $type\" ); }~%"))) #t)))) (build-system perl-build-system) (synopsis "Perl extension for getting CPU information") (description "Sys::CPU is a module for counting the number of CPUs on a system, and determining their type and clock speed.") (home-page "https://metacpan.org/release/MZSANFORD/Sys-CPU-0.61") (license (package-license perl)))) (define-public perl-sys-hostname-long (package (name "perl-sys-hostname-long") (version "1.5") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SC/SCOTT/" "Sys-Hostname-Long-" version ".tar.gz")) (sha256 (base32 "1jv5n8jv48c1p8svjsigyxndv1ygsq8wgwj9c7ypx1vaf3rns679")))) (build-system perl-build-system) (arguments `(#:tests? #f)) ;no `hostname' during build (home-page "https://metacpan.org/release/Sys-Hostname-Long") (synopsis "Get full hostname in Perl") (description "Sys::Hostname::Long tries very hard to get the full hostname of a system.") (license (package-license perl)))) (define-public perl-sys-syscall (package (name "perl-sys-syscall") (version "0.25") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BR/BRADFITZ/" "Sys-Syscall-" version ".tar.gz")) (sha256 (base32 "1r8k4q04dhs191zgdfgiagvbra770hx0bm6x24jsykxn0c6ghi8y")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Sys-Syscall") (synopsis "Access system calls that Perl doesn't normally provide access to") (description "Sys::Syscall allows one to use epoll and sendfile system calls from Perl. Support is mostly Linux-only for now, but other syscalls/OSes are planned for the future.") (license license:perl-license))) (define-public perl-task-weaken (package (name "perl-task-weaken") (version "1.06") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Task-Weaken-" version ".tar.gz")) (sha256 (base32 "1gk6rmnp4x50lzr0vfng41khf0f8yzxlm0pad1j69vxskpdzx0r3")))) (build-system perl-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-before 'configure 'set-search-path (lambda _ ;; Work around "dotless @INC" build failure. (setenv "PERL5LIB" (string-append (getcwd) ":" (getenv "PERL5LIB"))) #t))))) (home-page "https://metacpan.org/release/Task-Weaken") (synopsis "Ensure that a platform has weaken support") (description "One recurring problem in modules that use Scalar::Util's weaken function is that it is not present in the pure-perl variant. If Scalar::Util is not available at all, it will issue a normal dependency on the module. However, if Scalar::Util is relatively new ( it is >= 1.19 ) and the module does not have weaken, the install will bail out altogether with a long error encouraging the user to seek support.") (license (package-license perl)))) (define-public perl-template-toolkit (package (name "perl-template-toolkit") (version "2.28") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AT/ATOOMIC/" "Template-Toolkit-" version ".tar.gz")) (sha256 (base32 "1msxg3j1hx5wsc7vr81x5gs9gdbn4y0x6cvyj3pq4dgi1603dbvi")))) (build-system perl-build-system) (propagated-inputs (list perl-appconfig perl-test-leaktrace)) (home-page "https://metacpan.org/release/Template-Toolkit") (synopsis "Template processing system for Perl") (description "The Template Toolkit is a collection of modules which implement an extensible template processing system. It was originally designed and remains primarily useful for generating dynamic web content, but it can be used equally well for processing any other kind of text based documents: HTML, XML, POD, PostScript, LaTeX, and so on.") (license (package-license perl)))) (define-public perl-template-timer (package (name "perl-template-timer") (version "1.00") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PE/PETDANCE/" "Template-Timer-" version ".tar.gz")) (sha256 (base32 "1d3pbcx1kz73ncg8s8lx3ifwphz838qy0m40gdar7790cnrlqcdp")))) (build-system perl-build-system) (propagated-inputs (list perl-template-toolkit)) (home-page "https://metacpan.org/release/Template-Timer") (synopsis "Profiling for Template Toolkit") (description "Template::Timer provides inline profiling of the template processing in Perl code.") (license (list license:gpl3 license:artistic2.0)))) (define-public perl-template-tiny (package (name "perl-template-tiny") (version "1.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/Template-Tiny-" version ".tar.gz")) (sha256 (base32 "0jhadxbc8rzbk2v8qvjrbhnvfp0m56iqar6d4nvxyl8bccn0cgh7")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Template-Tiny") (synopsis "Template Toolkit reimplemented in as little code as possible") (description "@code{Template::Tiny} is a reimplementation of a subset of the functionality from Template Toolkit in as few lines of code as possible. It is intended for use in light-usage, low-memory, or low-cpu templating situations, where you may need to upgrade to the full feature set in the future, or if you want the retain the familiarity of TT-style templates.") (license license:perl-license))) (define-public perl-term-ansicolor (package (name "perl-term-ansicolor") (version "5.01") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RR/RRA/" "Term-ANSIColor-" version ".tar.gz")) (sha256 (base32 "0zgj329kfrwcyqn491v04x65yjydwfc4845a71f8hypdrj3vv0b2")))) (build-system perl-build-system) (native-inputs (list perl-test-warn)) (home-page "https://metacpan.org/dist/Term-ANSIColor") (synopsis "Interface to the ANSI terminal escape sequences for color") (description "Term::ANSIColor provides constants and simple functions for setting ANSI text attributes, most notably colors. It can be used to set the current text attributes or to apply a set of attributes to a string and reset the current text attributes at the end of that string. Eight-color, sixteen-color, 256-color, and true color (24-bit color) escape sequences are all supported.") (license (package-license perl)))) (define-public perl-term-encoding (package (name "perl-term-encoding") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/" "Term-Encoding-" version ".tar.gz")) (sha256 (base32 "02qx4ni1vqp9hvkw69hp5bxcf2ghjiw8sl34pqy5mlimsy3rdflm")))) (build-system perl-build-system) (native-inputs (list perl-module-install)) (home-page "https://metacpan.org/release/Term-Encoding") (synopsis "Detect encoding of the current terminal") (description "Term::Encoding is a simple module to detect the encoding of the current terminal expects in various ways.") (license (package-license perl)))) (define-public perl-term-progressbar (package (name "perl-term-progressbar") (version "2.17") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SZ/SZABGAB/" "Term-ProgressBar-" version ".tar.gz")) (sha256 (base32 "15pn42zf793dplpfnmawh7v7xc4qm38s1jhvn1agx4cafcn61q61")))) (build-system perl-build-system) (native-inputs (list perl-capture-tiny perl-test-exception)) (propagated-inputs (list perl-class-methodmaker perl-term-readkey)) (home-page "https://metacpan.org/release/Term-ProgressBar") (synopsis "Progress meter on a standard terminal") (description "Term::ProgressBar provides a simple progress bar on the terminal, to let the user know that something is happening, roughly how much stuff has been done, and maybe an estimate at how long remains.") (license (package-license perl)))) (define-public perl-term-progressbar-quiet (package (name "perl-term-progressbar-quiet") (version "0.31") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/L/LB/LBROCARD/" "Term-ProgressBar-Quiet-" version ".tar.gz")) (sha256 (base32 "19l4476iinwz19vh360k3rss38m9gmkg633i5v9jkg48yn954rr5")))) (build-system perl-build-system) (propagated-inputs (list perl-io-interactive perl-term-progressbar perl-test-mockobject)) (home-page "https://metacpan.org/release/Term-ProgressBar-Quiet") (synopsis "Progress meter if run interactively") (description "Term::ProgressBar is a wonderful module for showing progress bars on the terminal. This module acts very much like that module when it is run interactively. However, when it is not run interactively (for example, as a cron job) then it does not show the progress bar.") (license (package-license perl)))) (define-public perl-term-progressbar-simple (package (name "perl-term-progressbar-simple") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EV/EVDB/" "Term-ProgressBar-Simple-" version ".tar.gz")) (sha256 (base32 "19kr6l2aflwv9yph5xishkpag038qb8wd4mkzb0x1psvgp3b63d2")))) (build-system perl-build-system) (propagated-inputs (list perl-term-progressbar-quiet)) (home-page "https://metacpan.org/release/Term-ProgressBar-Simple") (synopsis "Simple progress bars") (description "Term::ProgressBar::Simple tells you how much work has been done, how much is left to do, and estimate how long it will take.") (license (package-license perl)))) (define-public perl-term-readkey (package (name "perl-term-readkey") (version "2.38") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JS/JSTOWE/" "TermReadKey-" version ".tar.gz")) (sha256 (base32 "143jlibah1g14bym7sj3gphvqkpj1w4vn7sqc4vc62jpviw5hr2s")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/TermReadKey") (synopsis "Simple terminal control") (description "This module, ReadKey, provides ioctl control for terminals so the input modes can be changed (thus allowing reads of a single character at a time), and also provides non-blocking reads of stdin, as well as several other terminal related features, including retrieval/modification of the 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 (list readline 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") (version "0.002") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FE/FERREIRA/" "Term-Size-Any-" version ".tar.gz")) (sha256 (base32 "1lnynd8pwjp3g85bl4nav6yigg2lag3sx5da989j7a733bdmzyk4")))) (build-system perl-build-system) (native-inputs (list perl-devel-hide)) (propagated-inputs (list perl-term-size-perl)) (home-page "https://metacpan.org/release/Term-Size-Any") (synopsis "Retrieve terminal size") (description "This is a unified interface to retrieve terminal size. It loads one module of a list of known alternatives, each implementing some way to get the desired terminal information. This loaded module will actually do the job on behalf of @code{Term::Size::Any}.") (license (package-license perl)))) (define-public perl-term-size-perl (package (name "perl-term-size-perl") (version "0.031") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FE/FERREIRA/" "Term-Size-Perl-" version ".tar.gz")) (sha256 (base32 "17i05y186l977bhp32b24c8rqasmg1la934dizf5sc0vrd36g6mf")))) (arguments '(#:phases (modify-phases %standard-phases (add-after 'unpack 'remove-timestamps ;; Remove timestamp in comment for reproducible builds (lambda _ (substitute* "inc/Probe.pm" ((". created ...scalar localtime..") ""))))))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Term-Size-Perl") (synopsis "Perl extension for retrieving terminal size (Perl version)") (description "This is yet another implementation of @code{Term::Size}. Now in pure Perl, with the exception of a C probe run at build time.") (license (package-license perl)))) (define-public perl-term-table (package (name "perl-term-table") (version "0.008") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-" version ".tar.gz")) (sha256 (base32 "0gi4lyvs6n8y6hjwmflfpamfl65y7mb1g39zi0rx35nclj8xb370")))) (build-system perl-build-system) (propagated-inputs (list perl-importer)) (home-page "https://metacpan.org/release/Term-Table") (synopsis "Format a header and rows into a table") (description "This module is able to generically format rows of data into tables.") (license (package-license perl)))) (define-public perl-text-aligner (package (name "perl-text-aligner") (version "0.13") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/" "Text-Aligner-" version ".tar.gz")) (sha256 (base32 "1vry21jrh91l2pkajnrps83bnr1fn6zshbzi80mcrnggrn9iq776")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/Text-Aligner") (synopsis "Align text") (description "Text::Aligner exports a single function, align(), which is used to justify strings to various alignment styles.") (license license:x11))) (define-public perl-text-autoformat (package (name "perl-text-autoformat") (version "1.75") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/Text-Autoformat-" version ".tar.gz")) (sha256 (base32 "0wdpqq1cds68i1clx2y22bnnm558d12sr7dmypdv9i5f7p7g9m4x")))) (build-system perl-build-system) (propagated-inputs (list perl-text-reform)) (home-page "https://metacpan.org/release/Text-Autoformat") (synopsis "Automatic text wrapping and reformatting") (description "The fundamental task of the autoformat subroutine is to identify and rearrange independent paragraphs in a text. Paragraphs typically consist of a series of lines containing at least one non-whitespace character, followed by one or more lines containing only optional whitespace. This is a more liberal definition than many other formatters use: most require an empty line to terminate a paragraph. Paragraphs may also be denoted by bulleting, numbering, or quoting (see the following sections).") (license license:perl-license))) (define-public perl-text-balanced (package (name "perl-text-balanced") (version "2.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHAY/" "Text-Balanced-" version ".tar.gz")) (sha256 (base32 "1j4jjw6bg6ik8cn1mimw54rvg4h0qf4hm9k63y9572sny3w56xq5")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-Balanced") (synopsis "Extract delimited text sequences from strings") (description "The Text::Balanced module can be used to extract delimited text sequences from strings.") (license (package-license perl)))) (define-public perl-text-brew (package (name "perl-text-brew") (version "0.02") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KC/KCIVEY/Text-Brew-" version ".tar.gz")) (sha256 (base32 "0k7nxglbx5pxl693zrj1fsi094sf1a3vqsrn73inzz7r3j28a6xa")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-Brew") (synopsis "An implementation of the Brew edit distance") (description "This module implements the Brew edit distance that is very close to the dynamic programming technique used for the Wagner-Fischer (and so for the Levenshtein) edit distance.") (license (package-license perl)))) (define-public perl-text-charwidth (package (name "perl-text-charwidth") (version "0.04") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KU/KUBOTA/Text-CharWidth-" version ".tar.gz")) (sha256 (base32 "1y040wiqx78pnr0wxbjhpzjxm2a9qiqq479gzn4qwcyrzpsdbpmb")))) (build-system perl-build-system) (home-page "https://metacpan.org/dist/Text-CharWidth") (synopsis "Get number of occupied columns of a string on terminal") (description "With this module, you can calculate terminal character widths that vary by locale. This module supplies features similar to wcwidth(3) and wcswidth(3) in C language.") (license (package-license perl)))) (define-public perl-text-csv (package (name "perl-text-csv") (version "2.00") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IS/ISHIGAKI/" "Text-CSV-" version ".tar.gz")) (sha256 (base32 "1hmjrc8h622nybdq8lpqi3hlrcjvb474s4a4b2cjs8h5b0cxkjwc")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-CSV") (synopsis "Manipulate comma-separated values") (description "Text::CSV provides facilities for the composition and decomposition of comma-separated values. An instance of the Text::CSV class can combine fields into a CSV string and parse a CSV string into fields.") (license (package-license perl)))) (define-public perl-text-csv-xs (package (name "perl-text-csv-xs") (version "1.44") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HM/HMBRAND/" "Text-CSV_XS-" version ".tgz")) (sha256 (base32 "1i4viyf61lzss474ndnmqhdqlhksn9hcxhjbqhv4frg2m3f2v0f4")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-CSV_XS") (synopsis "Routines for manipulating CSV files") (description "@code{Text::CSV_XS} provides facilities for the composition and decomposition of comma-separated values. An instance of the @code{Text::CSV_XS} class will combine fields into a CSV string and parse a CSV string into fields. The module accepts either strings or files as input and support the use of user-specified characters for delimiters, separators, and escapes.") (license (package-license perl)))) (define-public perl-text-diff (package (name "perl-text-diff") (version "1.45") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "Text-Diff-" version ".tar.gz")) (sha256 (base32 "013g13prdghxvrp5754gyc7rmv1syyxrhs33yc5f0lrz3dxs1fp8")))) (build-system perl-build-system) (propagated-inputs (list perl-algorithm-diff)) (home-page "https://metacpan.org/release/Text-Diff") (synopsis "Perform diffs on files and record sets") (description "Text::Diff provides a basic set of services akin to the GNU diff utility. It is not anywhere near as feature complete as GNU diff, but it is better integrated with Perl and available on all platforms. It is often faster than shelling out to a system's diff executable for small files, and generally slower on larger files.") (license (package-license perl)))) (define-public perl-text-format (package (name "perl-text-format") (version "0.62") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Format-" version ".tar.gz")) (sha256 (base32 "0104z7jjv46kqh77rnx8kvmsbr5dy0s56xm01dckq4ly65br0hkx")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-test-pod perl-test-pod-coverage)) (home-page "https://metacpan.org/release/Text-Format") (synopsis "Various subroutines to format text") (description "This package provides functions to format text in various ways like centering, paragraphing, and converting tabs to spaces and spaces to tabs.") (license license:perl-license))) (define-public perl-text-glob (package (name "perl-text-glob") (version "0.11") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RC/RCLAMP/" "Text-Glob-" version ".tar.gz")) (sha256 (base32 "11sj62fynfgwrlgkv5a051cq6yn0pagxqjsz27dxx8phsd4wv706")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/Text-Glob") (synopsis "Match globbing patterns against text") (description "Text::Glob implements glob(3) style matching that can be used to match against text, rather than fetching names from a file system. If you want to do full file globbing use the File::Glob module instead.") (license (package-license perl)))) (define-public perl-text-haml (package (name "perl-text-haml") (version "0.990118") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/V/VT/VTI/" "Text-Haml-" version ".tar.gz")) (sha256 (base32 "1siq8hgj7s8gwpf3n3h1is5v50rwi6av8lfb19khiyyqz0rp7a57")))) (build-system perl-build-system) (native-inputs (list perl-module-build-tiny)) (propagated-inputs (list perl-data-section-simple perl-uri)) (home-page "https://metacpan.org/release/Text-Haml") (synopsis "Haml Perl implementation") (description "Text::Haml implements Haml @url{http://haml.info/docs/yardoc/file.REFERENCE.html} specification.") (license license:artistic2.0))) (define-public perl-text-iconv (package (name "perl-text-iconv") (version "1.7") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MP/MPIOTR/Text-Iconv-" version ".tar.gz")) (sha256 (base32 "1hymsbkjkl43wg74p7hgpyjl8yx1chc9g25spj9l7lq9wzavg02v")))) (build-system perl-build-system) (inputs (list libiconv)) (home-page "https://metacpan.org/release/Text-Iconv") (synopsis "Perl interface to iconv() codeset conversion function") (description "This module provides a Perl interface to the @code{iconv()} codeset conversion function, as defined by the Single UNIX Specification. For more details see the POD documentation embedded in the file @file{Iconv.pm}, which will also be installed as @code{Text::Iconv(3)} man page.") (license license:perl-license))) (define-public perl-text-neattemplate (package (name "perl-text-neattemplate") (version "0.1101") (source (origin (method url-fetch) (uri (string-append "https://cpan.metacpan.org/authors/id/R/RU/RUBYKAT/" "Text-NeatTemplate-" version ".tar.gz")) (sha256 (base32 "129msa57jzxxi2x7z9hgzi48r48y65w77ycfk1w733zz2m8nr8y3")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/Text-NeatTemplate") (synopsis "Fast, middleweight template engine") (description "Text::NeatTemplate provides a simple, middleweight but fast template engine, for when you need speed rather than complex features, yet need more features than simple variable substitution.") (license (package-license perl)))) (define-public perl-text-parsewords (package (name "perl-text-parsewords") (version "3.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/" "Text-ParseWords-" version ".tar.gz")) (sha256 (base32 "1s7mmznk4chdvfi2jl2h6gawfaqq24bdasy6b1z9jhyxg60j7q45")))) (build-system perl-build-system) (home-page "https://metacpan.org/dist/Text-ParseWords") (synopsis "Parse text into an array of tokens or array of arrays") (description "Text::ParseWords module is used to parse text into an array of tokens or array of arrays.") (license (package-license perl)))) (define-public perl-text-patch (package (name "perl-text-patch") (version "1.8") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CA/CADE/" "Text-Patch-" version ".tar.gz")) (sha256 (base32 "1k1xbhxwn9fymqqwnam9pm7hr2p5ikq6dk578qw18gkap9hqxwga")))) (build-system perl-build-system) (propagated-inputs (list perl-text-diff)) (home-page "https://metacpan.org/release/Text-Patch") (synopsis "Patches text with given patch") (description "Text::Patch combines source text with given diff (difference) data. Diff data is produced by Text::Diff module or by the standard @code{diff} utility.") (license license:gpl2+))) (define-public perl-text-recordparser (package (name "perl-text-recordparser") (version "1.6.5") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KC/KCLARK/" "Text-RecordParser-" version ".tar.gz")) (sha256 (base32 "0nn33c058bl957v38xhqig4ld34lifl4arqiilhxky339i0q2fys")))) (build-system perl-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-before 'check 'set-home (lambda _ (setenv "HOME" "/tmp")))))) (native-inputs (list graphviz perl-module-install perl-test-exception)) (propagated-inputs (list perl-class-accessor perl-graphviz perl-io-stringy perl-list-moreutils perl-readonly perl-text-autoformat perl-text-tabulardisplay)) (home-page "https://metacpan.org/release/Text-RecordParser") (synopsis "Parse record-oriented data in a text file") (description "This module is for reading record-oriented data in a delimited text file. The most common example have records separated by newlines and fields separated by commas or tabs, but this module aims to provide a consistent interface for handling sequential records in a file however they may be delimited.") (license license:gpl2))) (define-public perl-text-reform (package (name "perl-text-reform") (version "1.20") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/Text-Reform-" version ".tar.gz")) (sha256 (base32 "0qdfnhfn8frnkbpkkw64fhnnxsbb6mmb6dr30c0p1jdaq7c2syd8")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/Text-Reform") (synopsis "Manual text wrapping and reformatting") (description "The @code{form()} subroutine may be exported from the module. It takes a series of format (or \"picture\") strings followed by replacement values, interpolates those values into each picture string, and returns the result. The effect is similar to the inbuilt perl format mechanism, although the field specification syntax is simpler and some of the formatting behaviour is more sophisticated.") (license license:perl-license))) (define-public perl-text-roman (package (name "perl-text-roman") (version "3.5") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SY/SYP/Text-Roman-" version ".tar.gz")) (sha256 (base32 "0sh47svzz0wm993ywfgpn0fvhajl2sj5hcnf5zxjz02in6ihhjnb")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-Roman") (synopsis "Convert between Roman and Arabic algorisms") (description "This package provides functions to convert between Roman and Arabic algorisms. It supports both conventional Roman algorisms (which range from 1 to 3999) and Milhar Romans, a variation which uses a bar across the algorism to indicate multiplication by 1000.") (license (package-license perl)))) (define-public perl-text-simpletable (package (name "perl-text-simpletable") (version "2.07") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MR/MRAMBERG/" "Text-SimpleTable-" version ".tar.gz")) (sha256 (base32 "1v8r8qpzg283p2pqqr8dqrak2bxray1b2jmib0qk75jffqw3yv95")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-SimpleTable") (synopsis "Simple ASCII tables") (description "Text::SimpleTable draws simple ASCII tables.") (license license:artistic2.0))) (define-public perl-text-table (package (name "perl-text-table") (version "1.133") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/" "Text-Table-" version ".tar.gz")) (sha256 (base32 "04kh5x5inq183rdg221wlqaaqi1ipyj588mxsslik6nhc14f17nd")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (propagated-inputs (list perl-text-aligner)) (home-page "https://metacpan.org/release/Text-Table") (synopsis "Organize Data in Tables") (description "Text::Table renders plaintext tables.") (license license:x11))) (define-public perl-text-tabs+wrap (package (name "perl-text-tabs+wrap") (version "2013.0523") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MU/MUIR/modules/" "Text-Tabs+Wrap-" version ".tar.gz")) (sha256 (base32 "0pv5dympvrba6lslklwzb4glpazl5farn2b2530vjdxpzxphbjxr")))) (build-system perl-build-system) (home-page "https://metacpan.org/dist/Text-Tabs+Wrap") (synopsis "Text::Tabs and Text::Wrap Modules") (description "Text::Tabs will add or remove tabs from a document. Text::Wrap will reformat lines into paragraphs.") (license (package-license perl)))) (define-public perl-text-tabulardisplay (package (name "perl-text-tabulardisplay") (version "1.38") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DARREN/Text-TabularDisplay-" version ".tar.gz")) (sha256 (base32 "1s46s4pg5mpfllx3icf4vnqz9iadbbdbsr5p7pr6gdjnzbx902gb")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-TabularDisplay") (synopsis "Display text in formatted table output") (description "@code{Text::TabularDisplay} simplifies displaying textual data in a table. The output is identical to the columnar display of query results in the mysql text monitor.") (license license:gpl2))) (define-public perl-text-template (package (name "perl-text-template") (version "1.55") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MS/MSCHOUT/Text-Template-" version ".tar.gz")) (sha256 (base32 "12zi08mwmlbfbnsialmppk75s6dkg765dvmay3wif3158plqp554")))) (build-system perl-build-system) (native-inputs (list perl-test-more-utf8 perl-test-warnings)) (home-page "https://metacpan.org/release/Text-Template") (synopsis "Expand template text with embedded Perl") (description "This is a library for generating letters, building HTML pages, or filling in templates generally. A template is a piece of text that has little Perl programs embedded in it here and there. When you fill in a template, you evaluate the little programs and replace them with their values.") (license license:perl-license))) (define-public perl-text-unidecode (package (name "perl-text-unidecode") (version "1.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SB/SBURKE/" "Text-Unidecode-" version ".tar.gz")) (sha256 (base32 "1imii0p6wvhrxsr5z2zhazpx5vl4l4ybf1y2c5hy480xvi6z293c")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-Unidecode") (synopsis "Provide plain ASCII transliterations of Unicode text") (description "Text::Unidecode provides a function, unidecode(...) that takes Unicode data and tries to represent it in US-ASCII characters (i.e., the universally displayable characters between 0x00 and 0x7F). The representation is almost always an attempt at transliteration-- i.e., conveying, in Roman letters, the pronunciation expressed by the text in some other writing system.") (license (package-license perl)))) (define-public perl-threads (package (name "perl-threads") (version "2.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JD/JDHEDDEN/threads-" version ".tar.gz")) (sha256 (base32 "047i22mdnf7fa0h9w5jhqrjbg561l5jxk8xqzwh6zbmwlac4qf98")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/threads") (synopsis "Perl interpreter-based threads") (description "This module exposes interpreter threads to the Perl level.") (license license:perl-license))) (define-public perl-throwable (package (name "perl-throwable") (version "0.200013") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" "Throwable-" version ".tar.gz")) (sha256 (base32 "184gdcwxqwnkrx5md968v1ny70pq6blzpkihccm3bpdxnpgd11wr")))) (build-system perl-build-system) (native-inputs (list perl-devel-stacktrace)) (propagated-inputs (list perl-devel-stacktrace perl-module-runtime perl-moo)) (home-page "https://metacpan.org/release/Throwable") (synopsis "Role for classes that can be thrown") (description "Throwable is a role for classes that are meant to be thrown as exceptions to standard program flow.") (license (package-license perl)))) (define-public perltidy (package (name "perltidy") (version "20180220") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/perltidy/" version "/Perl-Tidy-" version ".tar.gz")) (sha256 (base32 "0w1k5ffcrpx0fm9jgprrwy0290k6cmy7dyk83s61063migi3r5z9")))) (build-system perl-build-system) (home-page "https://perltidy.sourceforge.net/") (synopsis "Perl script tidier") (description "This package contains a Perl script which indents and reformats Perl scripts to make them easier to read. The formatting can be controlled with command line parameters. The default parameter settings approximately follow the suggestions in the Perl Style Guide.") (license license:gpl2+))) (define-public perl-tie-cycle (package (name "perl-tie-cycle") (version "1.226") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/Tie-Cycle-" version ".tar.gz")) (sha256 (base32 "0cvnykkr5z57xwl6i9qdws2gpdhsm0rrf3kia8q0q25vag0f31q9")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Tie-Cycle") (synopsis "Cycle through a list of values") (description "You use @code{Tie::Cycle} to go through a list over and over again. Once you get to the end of the list, you go back to the beginning.") (license (package-license perl)))) (define-public perl-tie-ixhash (package (name "perl-tie-ixhash") (version "1.23") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/" "Tie-IxHash-" version ".tar.gz")) (sha256 (base32 "0mmg9iyh42syal3z1p2pn9airq65yrkfs66cnqs9nz76jy60pfzs")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/Tie-IxHash") (synopsis "Ordered associative arrays for Perl") (description "This Perl module implements Perl hashes that preserve the order in which the hash elements were added. The order is not affected when values corresponding to existing keys in the IxHash are changed. The elements can also be set to any arbitrary supplied order. The familiar perl array operations can also be performed on the IxHash.") (license (package-license perl)))) (define-public perl-tie-handle-offset (package (name "perl-tie-handle-offset") (version "0.004") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/Tie-Handle-Offset-" version ".tar.gz")) (sha256 (base32 "17m8s8314wi4g0wasdxk15rf12vzsgzmcbr598jam5f6bl2kk7zf")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Tie-Handle-Offset") (synopsis "Special file handle that hides the beginning of a file") (description "This module provides a file handle that hides the beginning of a file, by modifying the @code{seek()} and @code{tell()} calls.") (license license:asl2.0))) (define-public perl-tie-hash-method (package (name "perl-tie-hash-method") (version "0.02") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/Y/YV/YVES/Tie-Hash-Method-" version ".tar.gz")) (sha256 (base32 "1a9jxhg1jl5rcxnhcmgadl3wcznzjihwxgd1chgcmxqk2jszn4ym")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Tie-Hash-Method") (synopsis "Tied hash with specific methods overriden by callbacks") (description "@code{Tie::Hash::Method} provides a way to create a tied hash with specific overriden behaviour without having to create a new class to do it. A tied hash with no methods overriden is functionally equivalent to a normal hash.") (license (package-license perl)))) (define-public perl-tie-simple (package (name "perl-tie-simple") (version "1.04") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HANENKAMP/" "Tie-Simple-" version ".tar.gz")) (sha256 (base32 "04lbh07nlxhpp03gl20f9w8hxjb2vzlb7w85y9w6q12i749y5s99")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Tie-Simple") (synopsis "Variable ties made much easier") (description "This module adds the ability to quickly create new types of tie objects without creating a complete class. It does so in such a way as to try and make the programmers life easier when it comes to single-use ties that I find myself wanting to use from time-to-time. The Tie::Simple package is actually a front-end to other classes which really do all the work once tied, but this package does the dwimming to automatically figure out what you're trying to do.") (license license:perl-license))) (define-public perl-tie-toobject (package (name "perl-tie-toobject") (version "0.03") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NU/NUFFIN/" "Tie-ToObject-" version ".tar.gz")) (sha256 (base32 "1x1smn1kw383xc5h9wajxk9dlx92bgrbf7gk4abga57y6120s6m3")))) (build-system perl-build-system) (propagated-inputs (list perl-test-simple)) (home-page "https://metacpan.org/release/Tie-ToObject") (synopsis "Tie to an existing Perl object") (description "This class provides a tie constructor that returns the object it was given as it's first argument. This way side effects of calling $object->TIEHASH are avoided.") (license (package-license perl)))) (define-public perl-time-duration (package (name "perl-time-duration") (version "1.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "Time-Duration-" version ".tar.gz")) (sha256 (base32 "1f59z2svfydxgd1gzrb5k3hl6d432kzmskk7jhv2dyb5hyx0wd7y")))) (build-system perl-build-system) (native-inputs (list perl-module-install perl-test-pod perl-test-pod-coverage)) (home-page "https://metacpan.org/release/Time-Duration") (synopsis "English expression of durations") (description "This module provides functions for expressing durations in rounded or exact terms.") (license (package-license perl)))) (define-public perl-time-duration-parse (package (name "perl-time-duration-parse") (version "0.15") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "Time-Duration-Parse-" version ".tar.gz")) (sha256 (base32 "10g39bbrxkabbsfq4rv7f5b5x7h3jba08j4pg8gwr0b9iqx19n31")))) (build-system perl-build-system) (native-inputs (list perl-time-duration)) (propagated-inputs (list perl-exporter-lite)) (home-page "https://metacpan.org/release/Time-Duration-Parse") (synopsis "Parse time duration strings") (description "Time::Duration::Parse is a module to parse human readable duration strings like \"2 minutes\" and \"3 seconds\" to seconds.") (license (package-license perl)))) (define-public perl-time-hires (package (name "perl-time-hires") (version "1.9764") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AT/ATOOMIC/Time-HiRes-" version ".tar.gz")) (sha256 (base32 "1cfp078spid9z5g7xiswkpkjbkh4mkjvarz25wgwvdxzhxavwhcq")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Time-HiRes") (synopsis "High-resolution alarm, sleep, gettimeofday, and interval timers") (description "This package implements @code{usleep}, @code{ualarm}, and @code{gettimeofday} for Perl, as well as wrappers to implement @code{time}, @code{sleep}, and @code{alarm} that know about non-integral seconds.") (license license:perl-license))) (define-public perl-time-local (package (name "perl-time-local") (version "1.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/" "Time-Local-" version ".tar.gz")) (sha256 (base32 "1jr0i57jqm0spdd98gp5mzdnrqdyf7rls0ygwb9ldfc655mlyx67")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Time-Local") (synopsis "Efficiently compute time from local and GMT time") (description "This module provides functions that are the inverse of built-in perl functions localtime() and gmtime(). They accept a date as a six-element array, and return the corresponding time(2) value in seconds since the system epoch.") (license (package-license perl)))) (define-public perl-time-piece (package (name "perl-time-piece") (version "1.3401") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ES/ESAYM/Time-Piece-" version ".tar.gz")) (sha256 (base32 "09scn3yyqfl5w3yb6qrylhhn386zfz9fmpslk8iwyidb1sxvfmab")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Time-Piece") (synopsis "Object-Oriented time objects") (description "This module replaces the standard @code{localtime} and @code{gmtime} functions with implementations that return objects. It does so in a backwards-compatible manner, so that using these functions as documented will still work as expected.") (license license:perl-license))) (define-public perl-timedate (package (name "perl-timedate") (version "2.33") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AT/ATOOMIC/" "TimeDate-" version ".tar.gz")) (sha256 (base32 "1cjyc0yi873597r7xcp9yz0l1c46ik2kxwfrn00zbrlx0d5rrdn0")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/TimeDate") (synopsis "Date parsing/formatting subroutines") (description "This module provides routines for parsing date string into time values and formatting dates into ASCII strings.") (license (package-license perl)))) (define-public perl-time-mock (package (name "perl-time-mock") (version "0.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EW/EWILHELM/" "Time-Mock-v" version ".tar.gz")) (sha256 (base32 "0bwqyg8z98m8cjw1qcm4wg502n225k33j2fp8ywxkgfjdd1zgllv")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (propagated-inputs (list perl-timedate)) ;For Date::Parse (home-page "https://metacpan.org/release/Time-Mock") (synopsis "Shift and scale time") (description "This module allows you to speed up your sleep(), alarm(), and time() calls.") (license (package-license perl)))) (define-public perl-time-warp (package (name "perl-time-warp") (version "0.55") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/Time-Warp-" version ".tar.gz")) (sha256 (base32 "1a7g3i9nad7m2qvwl7bssnq083s2nsdnzxq42k2x6j8bimfgm8sc")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Time-Warp") (synopsis "Control over the measurement of time") (description "The @code{Time::Warp} module offers developers control over the measurement of time.") (license license:perl-license))) (define-public perl-tree-simple (package (name "perl-tree-simple") (version "1.34") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RS/RSAVAGE/" "Tree-Simple-" version ".tgz")) (sha256 (base32 "176j8zgsndfnxb5mxaiarnva3ghck1jxgxwkz77r9fr2sadpksdp")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-test-exception)) (propagated-inputs (list perl-scalar-list-utils)) (home-page "https://metacpan.org/release/Tree-Simple") (synopsis "Simple tree object") (description "This module in a fully object-oriented implementation of a simple n-ary tree.") (license (package-license perl)))) (define-public perl-tree-simple-visitorfactory (package (name "perl-tree-simple-visitorfactory") (version "0.16") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RS/RSAVAGE/" "Tree-Simple-VisitorFactory-" version ".tgz")) (sha256 (base32 "19hdi00rw492m5r51b495gv5c64g91g98f8lm6sgym1cl7x3ixcw")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-test-exception)) (propagated-inputs (list perl-tree-simple)) (home-page "https://metacpan.org/release/Tree-Simple-VisitorFactory") (synopsis "Factory object for dispensing Visitor objects") (description "This module is a factory for dispensing Tree::Simple::Visitor::* objects.") (license (package-license perl)))) (define-public perl-try-tiny (package (name "perl-try-tiny") (version "0.31") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "Try-Tiny-" version ".tar.gz")) (sha256 (base32 "1ghidhh2wasxbmjsdsyfcy20wgli3m58dkj6ixnv4xa0i8fx601k")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Try-Tiny") (synopsis "Minimal try/catch with proper preservation of $@@") (description "This module provides bare bones try/catch/finally statements that are designed to minimize common mistakes with eval blocks, and nothing else.") (license license:x11))) (define-public perl-type-tie (package (name "perl-type-tie") (version "0.015") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/" "Type-Tie-" version ".tar.gz")) (sha256 (base32 "0d2ldn6pi8dj7shk4gkjm9bzqr7509fzkwjs7579pmgg6xkkynjf")))) (build-system perl-build-system) (native-inputs (list perl-test-fatal perl-test-requires)) (propagated-inputs (list perl-exporter-tiny perl-hash-fieldhash)) (home-page "https://metacpan.org/release/Type-Tie") (synopsis "Tie a variable to a type constraint") (description "This module exports a single function: @code{ttie}. It ties a variable to a type constraint, ensuring that whatever values stored in the variable will conform to the type constraint. If the type constraint has coercions, these will be used if necessary to ensure values assigned to the variable conform.") (license (package-license perl)))) (define-public perl-type-tiny (package (name "perl-type-tiny") (version "1.012003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/" "Type-Tiny-" version ".tar.gz")) (sha256 (base32 "0s11rlkkjjys8x6ihm5mrhzbbf341g5ckqbalph4g7l98kcy26yl")))) (build-system perl-build-system) (native-inputs (list perl-test-warnings)) (propagated-inputs (list perl-devel-lexalias perl-devel-stacktrace perl-exporter-tiny perl-moo perl-moose perl-mouse perl-ref-util-xs perl-regexp-util perl-type-tie)) (home-page "https://metacpan.org/release/Type-Tiny") (synopsis "Tiny, yet Moo(se)-compatible type constraint") (description "@code{Type::Tiny} is a small class for writing type constraints, inspired by Moose's type constraint API. It has only one non-core dependency (and even that is simply a module that was previously distributed as part of @code{Type::Tiny} but has since been spun off), and can be used with Moose, Mouse and Moo (or none of the above).") (license (package-license perl)))) (define-public perl-type-tiny-xs (package (name "perl-type-tiny-xs") (version "0.022") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-XS-" version ".tar.gz")) (sha256 (base32 "007z49zbwnhghsrvvv2v7fvp6iqfz74bb29qh36307fwywqlmhxw")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Type-Tiny-XS") (synopsis "Provides an XS boost for some of Type::Tiny's built-in type constraints") (description "This module is optionally used by @code{Type::Tiny} to provide faster, C-based implementations of some type constraints. This package has only core dependencies, and does not depend on @code{Type::Tiny}, so other data validation frameworks might also consider using it.") (license license:perl-license))) (define-public perl-types-path-tiny (package (name "perl-types-path-tiny") (version "0.006") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "Types-Path-Tiny-" version ".tar.gz")) (sha256 (base32 "1072vwcbx2bldfg8xpxc9iqs3rzqd18yik60b432hsdwxpxcjgsr")))) (build-system perl-build-system) (propagated-inputs (list perl-file-pushd perl-path-tiny perl-type-tiny perl-exporter-tiny)) (home-page "https://metacpan.org/release/Types-Path-Tiny") (synopsis "Types and coercions for Moose and Moo") (description "This module provides @code{Path::Tiny} types for Moose, Moo, etc. It handles two important types of coercion: coercing objects with overloaded stringification, and coercing to absolute paths. It also can check to ensure that files or directories exist.") (license license:artistic2.0))) (define-public perl-types-serialiser (package (name "perl-types-serialiser") (version "1.0") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" "Types-Serialiser-" version ".tar.gz")) (sha256 (base32 "03bk0hm5ys8k7265dkap825ybn2zmzb1hl0kf1jdm8yq95w39lvs")))) (build-system perl-build-system) (propagated-inputs (list perl-common-sense)) (home-page "https://metacpan.org/release/Types-Serialiser") (synopsis "Data types for common serialisation formats") (description "This module provides some extra datatypes that are used by common serialisation formats such as JSON or CBOR.") (license (package-license perl)))) (define-public perl-unicode-normalize (package (name "perl-unicode-normalize") (version "1.26") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KH/KHW/" "Unicode-Normalize-" version ".tar.gz")) (sha256 (base32 "0gvpmrfrvb3sxqq4pnqfmbpf9q0q2an6a2ba4ara95cvx1s6zpms")))) (build-system perl-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-before 'configure 'set-search-path (lambda _ ;; Work around "dotless @INC" build failure. (setenv "PERL5LIB" (string-append (getcwd) ":" (getenv "PERL5LIB"))) #t))))) (home-page "https://metacpan.org/release/Unicode-Normalize") (synopsis "Unicode normalization forms") (description "This Perl module provides Unicode normalization forms.") (license (package-license perl)))) (define-public perl-unicode-collate (package (name "perl-unicode-collate") (version "1.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SA/SADAHIRO/" "Unicode-Collate-" version ".tar.gz")) (sha256 (base32 "0dr4k10fgbsczh4sz7w8d0nnba38r6jrg87cm3gw4xxgn55fzj7l")))) (build-system perl-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'set-perl-search-path (lambda _ ;; Work around "dotless @INC" build failure. (setenv "PERL5LIB" (string-append (getcwd) ":" (getenv "PERL5LIB"))) #t))))) (propagated-inputs (list perl-unicode-normalize)) (home-page "https://metacpan.org/release/Unicode-Collate") (synopsis "Unicode collation algorithm") (description "This package provides tools for sorting and comparing Unicode data.") ;; The file Unicode/Collate/allkeys.txt is released under the Expat ;; license. (license (list (package-license perl) license:expat)))) (define-public perl-unicode-linebreak (package (name "perl-unicode-linebreak") (version "2019.001") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEZUMI/" "Unicode-LineBreak-" version ".tar.gz")) (sha256 (base32 "12iinva5gqc9g7qzxrvmh45n714z0ad9g7wq2dxwgp6drbj64rs8")))) (build-system perl-build-system) (propagated-inputs (list perl-mime-charset)) (home-page "https://metacpan.org/release/Unicode-LineBreak") (synopsis "Unicode line breaking algorithm") (description "@code{Unicode::LineBreak} implements the line breaking algorithm described in Unicode Standard Annex #14. The @code{East_Asian_Width} property defined by Annex #11 is used to determine breaking positions.") (license (package-license perl)))) (define-public perl-unicode-utf8 (package (name "perl-unicode-utf8") (version "0.62") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHANSEN/" "Unicode-UTF8-" version ".tar.gz")) (sha256 (base32 "1xnhazbdvpyfpnxd90krzhxkvabf8fa2ji6xzlrf75j6nz8251zs")))) (build-system perl-build-system) ;; FIXME: Tests fail on 32-bit architectures: ;; . (arguments `(#:tests? ,(and (not (%current-target-system)) (target-64bit?)))) (native-inputs (list perl-test-fatal perl-test-leaktrace perl-variable-magic perl-test-pod)) (home-page "https://metacpan.org/release/Unicode-UTF8") (synopsis "Encoding and decoding of UTF-8 encoding form") (description "This module provides functions to encode and decode UTF-8 encoding form as specified by Unicode and ISO/IEC 10646:2011.") (license (package-license perl)))) (define-public perl-universal-can (package (name "perl-universal-can") (version "1.20140328") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHROMATIC/" "UNIVERSAL-can-" version ".tar.gz")) (sha256 (base32 "03wr25zznbfn1g8zmmq3g6a6288xr30priwvm75y4vvqfkrajbaj")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/UNIVERSAL-can") (synopsis "UNIVERSAL::can() reimplementation") (description "This module attempts to work around people calling UNIVERSAL::can() as a function, which it is not.") (license (package-license perl)))) (define-public perl-universal-isa (package (name "perl-universal-isa") (version "1.20171012") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "UNIVERSAL-isa-" version ".tar.gz")) (sha256 (base32 "0avzv9j32aab6l0rd63n92v0pgliz1p4yabxxjfq275hdh1mcsfi")))) (build-system perl-build-system) (native-inputs (list perl-module-build-tiny)) (home-page "https://metacpan.org/release/UNIVERSAL-isa") (synopsis "UNIVERSAL::isa() reimplementation") (description "This module attempts to recover from people calling UNIVERSAL::isa as a function.") (license (package-license perl)))) (define-public perl-universal-require (package (name "perl-universal-require") (version "0.19") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-" version ".tar.gz")) (sha256 (base32 "00qs1y2xzxbz4s13q28hwg2pm0vcmsb0gg6k7wh3p33cw0kcsryl")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/UNIVERSAL-require") (synopsis "Require modules from a variable") (description "This module lets you require other modules where the module name is in a variable, something you can't do with the @code{require} built-in.") (license (package-license perl)))) (define-public perl-user ;; This is a trivial Perl module that appears to be maintained by Debian ;; internally for use in debbugs. (package (name "perl-user") (version "1.9") (source (origin (method url-fetch) (uri (string-append "http://deb.debian.org/debian/pool/main/libu/libuser-perl/" "libuser-perl_" version ".orig.tar.gz")) (sha256 (base32 "1ncgr0sxkmqr33ias3yv6cnr3l6mcyxcsbr9n6y0g6mx9h1iiasv")))) (build-system perl-build-system) (home-page "https://tracker.debian.org/pkg/libuser-perl") (synopsis "Provides user data in an OS independent manner") (description "This module is allows applications to retrieve per-user characteristics.") (license (package-license perl)))) (define-public perl-variable-magic (package (name "perl-variable-magic") (version "0.62") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/V/VP/VPIT/" "Variable-Magic-" version ".tar.gz")) (sha256 (base32 "0p31dclnj47k4hj35rzay9pzxasl3gq46kzwqalhdw1kgr8ii6iz")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Variable-Magic") (synopsis "Associate user-defined magic to variables from Perl") (description "Magic is Perl's way of enhancing variables. This mechanism lets the user add extra data to any variable and hook syntactical operations (such as access, assignment or destruction) that can be applied to it. With this module, you can add your own magic to any variable without having to write a single line of XS.") (license (package-license perl)))) (define-public perl-xml-writer (package (name "perl-xml-writer") (version "0.900") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JO/JOSEPHW/XML-Writer-" version ".tar.gz")) (sha256 (base32 "07qd806kcs7si7qakx3x5p68xq2jdmkxdrns987kaayg7syzbj3k")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/XML-Writer") (synopsis "Easily generate well-formed, namespace-aware XML") (description "@code{XML::Writer} is a simple Perl module for writing XML documents: it takes care of constructing markup and escaping data correctly. By default, it also performs a significant amount of well-formedness checking on the output to make certain (for example) that start and end tags match, that there is exactly one document element, and that there are not duplicate attribute names.") ;; Redistribution and use in source and compiled forms, with or without ;; modification, are permitted under any circumstances. No warranty. (license license:public-domain))) (define-public perl-xsloader (package (name "perl-xsloader") (version "0.24") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SA/SAPER/" "XSLoader-" version ".tar.gz")) (sha256 (base32 "0pyqr12jsqagna75fm2gijfzw06wy1hrh5chn9hwnmcfddda66g8")))) (build-system perl-build-system) (native-inputs (list perl-test-distribution perl-test-pod perl-test-pod-coverage perl-test-portability-files)) (home-page "https://metacpan.org/dist/XSLoader") (synopsis "Dynamically load C libraries into Perl code") (description "XSLoader module defines a standard simplified interface to the dynamic linking mechanisms available on many platforms. Its primary purpose is to implement cheap automatic dynamic loading of Perl modules.") (license (package-license perl)))) (define-public perl-xs-object-magic (package (name "perl-xs-object-magic") (version "0.05") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "XS-Object-Magic-" version ".tar.gz")) (sha256 (base32 "0njyy4y0zax4zz55y82dlm9cly1pld1lcxb281s12bp9rrhf9j9x")))) (build-system perl-build-system) (native-inputs (list perl-extutils-depends perl-module-install perl-test-fatal)) (home-page "https://metacpan.org/release/XS-Object-Magic") (synopsis "Opaque, extensible XS pointer backed objects using sv_magic") (description "This way of associating structs with Perl space objects is designed to supersede Perl's builtin @code{T_PTROBJ} with something that is extensible (structs can be associated with any data type) and opaque (the C pointer is neither visible nor modifiable from Perl space).") (license (package-license perl)))) (define-public perl-xs-parse-keyword (package (name "perl-xs-parse-keyword") (version "0.06") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Keyword-" version ".tar.gz")) (sha256 (base32 "0nnr8akkxb2h2y3d5r51pr84vvxkq89ynmi9azkbnn79jmbcbgvq")))) (build-system perl-build-system) (native-inputs (list perl-module-build perl-test-simple)) (home-page "https://metacpan.org/dist/XS-Parse-Keyword") (synopsis "XS functions to assist in parsing keyword syntax") (description "This module provides some XS functions to assist in writing syntax modules that provide new perl-visible syntax, primarily for authors of keyword plugins using the @code{PL_keyword_plugin} hook mechanism.") (license (package-license perl)))) (define-public perl-yaml (package (name "perl-yaml") (version "1.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/" "YAML-" version ".tar.gz")) (sha256 (base32 "1kbrfksjg4k4vmx1i337m5n69m00m0m5bgsh61c15bzzrgbacc2h")))) (build-system perl-build-system) (native-inputs (list perl-test-yaml)) (home-page "https://metacpan.org/release/YAML") (synopsis "YAML for Perl") (description "The YAML.pm module implements a YAML Loader and Dumper based on the YAML 1.0 specification.") (license (package-license perl)))) (define-public perl-yaml-libyaml (package (name "perl-yaml-libyaml") (version "0.83") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/YAML-LibYAML-" version ".tar.gz")) (sha256 (base32 "1464pradi2dkydm35bhbzyk7sqq87kcd70bp9xddfyirzys7awdl")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/YAML-LibYAML") (synopsis "Perl YAML Serialization using XS and libyaml") (description "@code{YAML::XS} is a Perl XS binding to libyaml which offers Perl the best YAML support to date.") (license license:perl-license))) (define-public perl-yaml-tiny (package (name "perl-yaml-tiny") (version "1.73") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "YAML-Tiny-" version ".tar.gz")) (sha256 (base32 "0i3p4nz8ysrsrs6vlzc6gkjcfpcaf05xjc7lwbjkw7lg5shmycdw")))) (build-system perl-build-system) (native-inputs (list perl-json-maybexs perl-module-build-tiny)) (arguments `(#:tests? #f)) ;requires Test::More >= 0.99 (home-page "https://metacpan.org/release/YAML-Tiny") (synopsis "Read/Write YAML files") (description "YAML::Tiny is a perl class for reading and writing YAML-style files, written with as little code as possible, reducing load time and memory overhead.") (license (package-license perl)))) (define-public perl-parse-recdescent (package (name "perl-parse-recdescent") (version "1.967015") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JT/JTBRAUN/Parse-RecDescent-" version ".tar.gz")) (sha256 (base32 "0dvfcn2xvj9r4ra5xqgasl847nsm1iy85w1kly41fkxm9im36hqr")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/Parse-RecDescent") (synopsis "Generate recursive-descent parsers") (description "@code{Parse::RecDescent} can incrementally generate top-down recursive-descent text parsers from simple yacc-like grammar specifications.") (license license:perl-license))) (define-public perl-parse-yapp (package (name "perl-parse-yapp") (version "1.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/W/WB/WBRASWELL/Parse-Yapp-" version ".tar.gz")) (sha256 (base32 "1r8kbyk0qd4ficmabj753kjpq0ib0csk01169w7jxflg62cfj41q")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Parse-Yapp") (synopsis "Generate and use LALR parsers") (description "This package compiles yacc-like @dfn{Look Ahead LR} (LALR) grammars to generate Perl object oriented parser modules.") (license (package-license perl)))) ;;; Some packaged modules need versions of core modules that are newer than ;;; those in our perl 5.16.1. (define-public perl-cpan-meta (package (name "perl-cpan-meta") (version "2.150010") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "CPAN-Meta-" version ".tar.gz")) (sha256 (base32 "1mm3dfw3ffyzb2ikpqn9l6zyqrxijb4vyywmbx2l21ryqwp0zy74")))) (build-system perl-build-system) (propagated-inputs (list perl-cpan-meta-requirements perl-cpan-meta-yaml perl-parse-cpan-meta)) (home-page "https://metacpan.org/release/CPAN-Meta") (synopsis "Distribution metadata for a CPAN dist") (description "Software distributions released to the CPAN include a META.json or, for older distributions, META.yml, which describes the distribution, its contents, and the requirements for building and installing the distribution. The data structure stored in the META.json file is described in CPAN::Meta::Spec. CPAN::Meta provides a simple class to represent this distribution metadata (or distmeta), along with some helpful methods for interrogating that data.") (license (package-license perl)))) (define-public perl-cpan-meta-requirements (package (name "perl-cpan-meta-requirements") (version "2.140") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "CPAN-Meta-Requirements-" version ".tar.gz")) (sha256 (base32 "1a8zflgaayycmn3zvd3n64yypa4jyl1va0h51wpr5w46irg69608")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/CPAN-Meta-Requirements") (synopsis "Set of version requirements for a CPAN dist") (description "A CPAN::Meta::Requirements object models a set of version constraints like those specified in the META.yml or META.json files in CPAN distributions, and as defined by CPAN::Meta::Spec. It can be built up by adding more and more constraints, and will reduce them to the simplest representation.") (license (package-license perl)))) (define-public perl-cpan-meta-yaml (package (name "perl-cpan-meta-yaml") (version "0.018") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "CPAN-Meta-YAML-" version ".tar.gz")) (sha256 (base32 "150jh9l7baddl2587m23qs2l0pb395qsx9bhsgdsnn6y9k4zgjik")))) (build-system perl-build-system) (arguments `(#:tests? #f)) ;Tests require Test::More >= 0.99 (home-page "https://metacpan.org/release/CPAN-Meta-YAML") (synopsis "Read and write a subset of YAML for CPAN Meta files") (description "This module implements a subset of the YAML specification for use in reading and writing CPAN metadata files like META.yml and MYMETA.yml.") (license (package-license perl)))) (define-public perl-module-build (package (name "perl-module-build") (version "0.4231") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/L/LE/LEONT/" "Module-Build-" version ".tar.gz")) (sha256 (base32 "05xpn8qg814y49vrih16zfr9iiwb7pmdf57ahjnc2h0p5illq3vy")))) (build-system perl-build-system) (propagated-inputs (list perl-cpan-meta)) (home-page "https://metacpan.org/release/Module-Build") (synopsis "Build and install Perl modules") (description "@code{Module::Build} is a system for building, testing, and installing Perl modules; it used to be part of Perl itself until version 5.22, which dropped it. It is meant to be an alternative to @code{ExtUtils::MakeMaker}. Developers may alter the behavior of the module through subclassing in a much more straightforward way than with @code{MakeMaker}. It also does not require a @command{make} on your system---most of the @code{Module::Build} code is pure-Perl.") (license (package-license perl)))) (define-public perl-parse-cpan-meta (package (name "perl-parse-cpan-meta") (version "2.150010") (source (origin (method url-fetch) ;; This module is now known as CPAN::Meta on CPAN. (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "CPAN-Meta-" version ".tar.gz")) (sha256 (base32 "1mm3dfw3ffyzb2ikpqn9l6zyqrxijb4vyywmbx2l21ryqwp0zy74")))) (build-system perl-build-system) (propagated-inputs (list perl-cpan-meta-yaml)) (home-page "https://metacpan.org/release/DAGOLDEN/Parse-CPAN-Meta-1.4422") (synopsis "Parse META.yml and META.json CPAN metadata files") (description "Parse::CPAN::Meta is a parser for META.json and META.yml files, using JSON::PP and/or CPAN::Meta::YAML.") (license (package-license perl)))) (define-public perl-scalar-list-utils (package (name "perl-scalar-list-utils") (version "1.62") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PE/PEVANS/" "Scalar-List-Utils-" version ".tar.gz")) (sha256 (base32 "17rk9n5fvyzdavdp8ja1s8l50vwmhvzbsjl7rc52rkzhgpnc8ybj")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Scalar-List-Utils") (synopsis "Common Scalar and List utility subroutines") (description "This package contains a selection of subroutines that people have expressed would be nice to have in the perl core, but the usage would not really be high enough to warrant the use of a keyword, and the size so small such that being individual extensions would be wasteful.") (license (package-license perl)))) (define-public perl-sdl (package (name "perl-sdl") (version "2.548") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FR/FROGGS/" "SDL-" version ".tar.gz")) (sha256 (base32 "1dagpmcpjnwvd4g6mmnc312rqpd4qcwx21rpi2j7084wz8mijai5")))) (build-system perl-build-system) (native-inputs (list perl-alien-sdl perl-capture-tiny perl-file-sharedir perl-module-build perl-test-most perl-tie-simple)) (inputs (list freeglut libjpeg-turbo libpng libsmpeg libtiff mesa (sdl-union (list sdl sdl-gfx sdl-image sdl-mixer sdl-pango sdl-ttf)))) (propagated-inputs (list perl-file-sharedir perl-tie-simple)) (home-page "https://metacpan.org/release/SDL") (synopsis "SDL bindings to Perl") (description "SDL Perl is a package of Perl modules that provide both functional and object oriented interfaces to the Simple DirectMedia Layer for Perl5. This package takes some liberties with the SDL API, and attempts to adhere to the spirit of both the SDL and Perl.") (license license:lgpl2.1))) (define-public perl-sgmls (package (name "perl-sgmls") (version "1.1") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RA/RAAB/SGMLSpm-" version ".tar.gz")) (sha256 (base32 "1gdjf3mcz2bxir0l9iljxiz6qqqg3a9gg23y5wjg538w552r432m")))) (build-system perl-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'install 'wrap-script (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (site (string-append out "/lib/perl5/site_perl"))) (with-directory-excursion out (rename-file "bin/sgmlspl.pl" "bin/sgmlspl") (wrap-program "bin/sgmlspl" `("PERL5LIB" suffix (,site)))) #t)))))) (native-inputs (list perl-module-build)) (home-page "https://metacpan.org/release/RAAB/SGMLSpm-1.1") (synopsis "Perl module for processing SGML parser output") (description "This package contains @code{SGMLS.pm}, a perl5 class library for parsing the output from an SGML parser such as OpenSP. It also includes the @command{sgmlspl} command, an Perl script showcasing how the library can be used.") (license license:gpl2+))) (define-public perl-shell-command (package (name "perl-shell-command") (version "0.06") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/Shell-Command-" version ".tar.gz")) (sha256 (base32 "1lgc2rb3b5a4lxvbq0cbg08qk0n2i88srxbsz93bwi3razpxxr7k")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Shell-Command") (synopsis "Cross-platform functions emulating common shell commands") (description "Shell::Command is a thin wrapper around ExtUtils::Command.") (license (package-license perl)))) ;;; END: Core module overrides (define-public perl-file-find-object (package (name "perl-file-find-object") (version "0.2.13") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-v" version ".tar.gz")) (sha256 (base32 "0gf13b76b824s73r5rp00v8xrd6dnb5yi5jjavfc394scqv6ldh4")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (inputs (list perl-class-xsaccessor)) (home-page "https://metacpan.org/release/File-Find-Object") (synopsis "Object-oriented File::Find replacement in Perl") (description "File::Find::Object is an object-oriented File::Find replacement in Perl.") (license license:artistic2.0))) (define-public perl-file-find-object-rule (package (name "perl-file-find-object-rule") (version "0.0311") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-Rule-" version ".tar.gz")) (sha256 (base32 "0gjzfd5fz7mhr5abafxr7qic7nwhk7y9iv17as6l880973j952h3")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) (inputs (list perl-class-xsaccessor perl-file-find-object perl-number-compare perl-text-glob)) (home-page "https://metacpan.org/release/File-Find-Object-Rule") (synopsis "Alternative interface to File::Find::Object") (description "File::Find::Object::Rule is an alternative Perl interface to File::Find::Object.") (license (package-license perl)))) (define-public perl-file-finder (package (name "perl-file-finder") (version "0.53") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/ME/MERLYN/File-Finder-" version ".tar.gz")) (sha256 (base32 "0x3a2xgzrka73lcmmwalq2mmpzxa7s6pm01ahxf677ksqsdc3jrf")))) (build-system perl-build-system) (propagated-inputs (list perl-text-glob)) (home-page "https://metacpan.org/release/File-Finder") (synopsis "Wrapper for @code{File::Find} ala @code{find(1)}") (description "@code{File::Find} is great, but constructing the wanted routine can sometimes be a pain. @code{File::Finder} provides a wanted-writer, using syntax that is directly mappable to the @code{find(1)} command's syntax. A @code{File::Finder} object contains a hash of @code{File::Find} options, and a series of steps that mimic find's predicates. Initially, a @code{File::Finder} object has no steps. Each step method clones the previous object's options and steps, and then adds the new step, returning the new object. In this manner, an object can be grown, step by step, by chaining method calls. Furthermore, a partial sequence can be created and held, and used as the head of many different sequences.") (license license:perl-license))) (define-public perl-file-fcntllock (package (name "perl-file-fcntllock") (version "0.22") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JT/JTT/File-FcntlLock-" version ".tar.gz")) (sha256 (base32 "1pxwknq4lw0wqpkh8pf18qsjf9g503vx6a5184vvffprzwpbp6ls")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/File-FcntlLock") (synopsis "File locking with fcntl(2)") (description "File locking in Perl is usually done using the @code{flock} function. Unfortunately, this only allows locks on whole files and is often implemented in terms of the @code{flock(2)} system function which has some shortcomings (especially concerning locks on remotely mounted file systems) and slightly different behaviour than @code{fcntl(2)}.") (license license:perl-license))) (define-public perl-font-ttf (package (name "perl-font-ttf") (version "1.06") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/B/BH/BHALLISSY/Font-TTF-" version ".tar.gz")) (sha256 (base32 "14y29ja3lsa3yw0ll20lj96f3zz5zydjqi1c5nh9wxar8927ssab")))) (build-system perl-build-system) (propagated-inputs (list perl-io-string)) (home-page "https://metacpan.org/release/Font-TTF") (synopsis "TTF font support for Perl") (description "This package provides a Perl module for TrueType/OpenType font hacking. It supports reading, processing and writing of the following tables: GDEF, GPOS, GSUB, LTSH, OS/2, PCLT, bsln, cmap, cvt, fdsc, feat, fpgm, glyf, hdmx, head, hhea, hmtx, kern, loca, maxp, mort, name, post, prep, prop, vhea, vmtx and the reading and writing of all other table types.") (license license:artistic2.0))) (define-public perl-libtime-parsedate (package (name "perl-libtime-parsedate") (version "2015.103") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MU/MUIR/modules/Time-ParseDate-" version ".tar.gz")) (sha256 (base32 "1lgfr87j4qwqnln0hyyzgik5ixqslzdaksn9m8y824gqbcihc6ic")))) (build-system perl-build-system) (arguments `(;; XXX: We'd like to use #:disallowed-references 'perl-build-system' ;; doesn't support it yet. ;; ;; #:disallowed-references (,tzdata-for-tests) #:phases (modify-phases %standard-phases ;; This is needed for tests (add-after 'unpack 'set-TZDIR (lambda* (#:key inputs #:allow-other-keys) (setenv "TZDIR" (search-input-directory inputs "share/zoneinfo"))))))) (native-inputs (list perl-module-build tzdata-for-tests)) (home-page "https://metacpan.org/release/Time-ParseDate") (synopsis "Collection of Perl modules for time/date manipulation") (description "Provides several perl modules for date/time manipulation: @code{Time::CTime.pm}, @code{Time::JulianDay.pm}, @code{Time::ParseDate.pm}, @code{Time::Timezone.pm}, and @code{Time::DaysInMonth.pm}.") ;; License text: ;; "License hereby granted for anyone to use, modify or redistribute this ;; module at their own risk. Please feed useful changes back to ;; cpan@dave.sharnoff.org." (license (license:non-copyleft "http://metadata.ftp-master.debian.org/\ changelogs/main/libt/libtime-parsedate-perl/\ libtime-parsedate-perl_2015.103-2_copyright")))) (define-public perl-libtime-period (package (name "perl-libtime-period") (version "1.20") (source (origin (method url-fetch) (uri (string-append "http://http.debian.net/debian/pool/main/libt/" "libtime-period-perl/libtime-period-perl_" version ".orig.tar.gz")) (sha256 (base32 "0c0yd999h0ikj88c9j95wa087m87i0qh7vja3715y2kd7vixkci2")))) (build-system perl-build-system) (native-inputs (list perl-module-build)) ;; Unless some other homepage is out there... (home-page "https://packages.debian.org/stretch/libtime-period-perl") (synopsis "Perl library for testing if a time() is in a specific period") (description "This Perl library provides a function which tells whether a specific time falls within a specified time period. Its syntax for specifying time periods allows you to test for conditions like \"Monday to Friday, 9am till 5pm\" and \"on the second Tuesday of the month\" and \"between 4pm and 4:15pm\" and \"in the first half of each minute\" and \"in January of 1998\".") (license license:perl-license))) (define-public perl-path-iterator-rule (package (name "perl-path-iterator-rule") (version "1.014") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-" version ".tar.gz")) (sha256 (base32 "19mik0r5v1cmxfxm0h4lwqyj0nmq6jgnvvq96hqcjgylpvc02x1z")))) (build-system perl-build-system) (native-inputs (list perl-file-pushd perl-path-tiny perl-test-deep perl-test-filename)) (propagated-inputs (list perl-number-compare perl-text-glob perl-try-tiny)) (home-page "https://metacpan.org/release/Path-Iterator-Rule") (synopsis "Iterative, recursive file finder") (description "Path::Iterator::Rule iterates over files and directories to identify ones matching a user-defined set of rules. The API is based heavily on File::Find::Rule, but with more explicit distinction between matching rules and options that influence how directories are searched. A Path::Iterator::Rule object is a collection of rules (match criteria) with methods to add additional criteria. Options that control directory traversal are given as arguments to the method that generates an iterator. A summary of features for comparison to other file finding modules: @itemize @item provides many helper methods for specifying rules @item offers (lazy) iterator and flattened list interfaces @item custom rules implemented with callbacks @item breadth-first (default) or pre- or post-order depth-first searching @item follows symlinks (by default, but can be disabled) @item directories visited only once (no infinite loop; can be disabled) @item doesn't chdir during operation @item provides an API for extensions @end itemize As a convenience, the PIR module is an empty subclass of this one that is less arduous to type for one-liners.") (license license:asl2.0))) (define-public perl-pcsc (package (name "perl-pcsc") (version "1.4.14") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/W/WH/WHOM/pcsc-perl-" version ".tar.bz2")) (sha256 (base32 "17f6i16jv6ci6459vh6y3sz94vgcvykjjszcl4xsykryakjvf8i7")))) (build-system perl-build-system) (arguments (list ;; The test suite is disabled because it requires access to a card ;; reader with a card inserted. #:tests? #f #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-dlopen (lambda* (#:key inputs #:allow-other-keys) (substitute* "PCSCperl.h" (("libpcsclite.so.1") (search-input-file inputs "/lib/libpcsclite.so.1")))))))) (native-inputs (list pkg-config)) (inputs (list pcsc-lite)) (synopsis "Perl library for PC/SC") (description "This library allows communication with a smart card using PC/SC from a Perl script.") (home-page "https://pcsc-perl.apdu.fr/") (license license:gpl2+))) (define-public perl-pod-constants (package (name "perl-pod-constants") (version "0.19") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MG/MGV/Pod-Constants-" version ".tar.gz")) (sha256 (base32 "1njgr2zly9nrwvfrjhgk9dqq48as1pmbb2rs4bh3irvla75v7azg")))) (build-system perl-build-system) (propagated-inputs (list perl-pod-parser)) (home-page "https://metacpan.org/release/Pod-Constants") (synopsis "Include constants from POD") (description "This module allows you to specify those constants that should be documented in your POD, and pull them out a run time in a fairly arbitrary fashion. Pod::Constants uses Pod::Parser to do the parsing of the source file. It has to open the source file it is called from, and does so directly either by lookup in %INC or by assuming it is $0 if the caller is @code{main} (or it can't find %INC{caller()}).") (license license:artistic2.0))) (define-public perl-text-soundex (package (name "perl-text-soundex") (version "3.05") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/Text-Soundex-" version ".tar.gz")) (sha256 (base32 "1vb0vg1109gfzaak74ynw5s00ml28f33j612g2lxw98b52s5bpgn")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-Soundex") (synopsis "Implementation of the soundex algorithm") (description "Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English. The goal is for names with the same pronunciation to be encoded to the same representation so that they can be matched despite minor differences in spelling. This module implements the original soundex algorithm developed by Robert Russell and Margaret Odell, patented in 1918 and 1922, as well as a variation called \"American Soundex\" used for US census data, and current maintained by the National Archives and Records Administration (NARA).") (license license:perl-license))) (define-public perl-text-wrapi18n (package (name "perl-text-wrapi18n") (version "0.06") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/K/KU/KUBOTA/Text-WrapI18N-" version ".tar.gz")) (sha256 (base32 "12548qc99ms12yp5j26076p0zazjfv1b618h5k8r5iy2y0brmljb")))) (build-system perl-build-system) (inputs (list perl-text-charwidth)) (home-page "https://metacpan.org/pod/Text::WrapI18N") (synopsis "Line wrapping for multibyte, fullwidth, combining characters and so on") (description "This module intends to be a better Text::Wrap module. This module is needed to support multibyte character encodings such as UTF-8, EUC-JP, EUC-KR, GB2312, and Big5. This module also supports characters with irregular widths, such as combining characters (which occupy zero columns on terminal, like diacritical marks in UTF-8) and fullwidth characters (which occupy two columns on terminal, like most of east Asian characters). Also, minimal handling of languages which doesn't use whitespaces between words (like Chinese and Japanese) is supported.") (license (package-license perl)))) (define-public perl-text-xslate (package (name "perl-text-xslate") (version "3.5.9") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SK/SKAJI/Text-Xslate-v" version ".tar.gz")) (sha256 (base32 "103lhyqqv53x9rqsnxcba3pc4qkbwnjsw3gpyd7rjm0aw65mrj20")))) (build-system perl-build-system) (native-inputs (list perl-file-copy-recursive perl-module-build perl-module-build-xsutil perl-test-requires)) (propagated-inputs (list perl-data-messagepack perl-mouse)) (home-page "https://metacpan.org/release/Text-Xslate") (synopsis "Scalable template engine for Perl5") (description "Xslate is a template engine, tuned for persistent applications, safe as an HTML generator, and with rich features. The core design principle is that template logic does not have access outside the template without permission.") (license (package-license perl)))) (define-public perl-regexp-pattern (package (name "perl-regexp-pattern") (version "0.2.8") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PE/PERLANCAR/Regexp-Pattern-" version ".tar.gz")) (sha256 (base32 "064igp2wxgsz4yb33v1r90i8clwjzs2xnpvw9niqlqrbzzrd4q1l")))) (build-system perl-build-system) (native-inputs (list perl-test-exception)) (home-page "https://metacpan.org/release/Regexp-Pattern") (synopsis "Collection of regexp patterns") (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 (list perl-module-install perl-test-deep)) (propagated-inputs (list 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 license:perl-license))) (define-public perl-growl-gntp (package (name "perl-growl-gntp") (version "0.21") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MATTN/Growl-GNTP-" version ".tar.gz")) (sha256 (base32 "0gq8ypam6ifp8f3s2mf5d6sw53m7h3ki1zfahh2p41kl8a77yy98")))) (build-system perl-build-system) (native-inputs (list perl-module-build-tiny)) (propagated-inputs (list perl-crypt-cbc perl-data-uuid)) (home-page "https://metacpan.org/release/Growl-GNTP") (synopsis "Perl implementation of the GNTP Protocol (client part)") (description "Growl::GNTP is a Perl implementation of the client part of the Growl Notification Transport Protocol (GNTP).") (license license:perl-license))) (define-public perl-socket-msghdr (package (name "perl-socket-msghdr") (version "0.05") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/F/FE/FELIPE/Socket-MsgHdr-" version ".tar.gz")) (sha256 (base32 "0g3qa7xn0aqn417jfvnc0i3ksyqa7bnvws0wihldir6ywcaiql4n")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Socket-MsgHdr") (synopsis "Perform advanced operations via sendmsg and recvmsg") (description "Socket::MsgHdr provides advanced socket messaging operations via sendmsg and recvmsg. It also allows manipulating ancillary data or so-called control information (cmsghdr). This ancillary data may be used for file descriptor passing, IPv6 operations, and a host of implemenation-specific extensions.") (license license:perl-license))) ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar ;;; functionality or similar names. ;;;