diff options
Diffstat (limited to 'gnu/packages/perl.scm')
-rw-r--r-- | gnu/packages/perl.scm | 308 |
1 files changed, 305 insertions, 3 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 211505a846..9f298ac960 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -8,6 +8,8 @@ ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is> +;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1002,6 +1004,29 @@ some enhancements such as here-documents, C-style comments, and multiline options.") (license (package-license perl)))) +(define-public perl-config-ini + (package + (name "perl-config-ini") + (version "0.025") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RJ/RJBS/Config-INI-" + version ".tar.gz")) + (sha256 + (base32 + "0clphq6a17chvb663fvjnxqvyvh26g03x0fl4bg9vy4ibdnzg2v2")))) + (build-system perl-build-system) + (inputs + `(("perl-mixin-linewise" ,perl-mixin-linewise) + ("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict) + ("perl-sub-exporter" ,perl-sub-exporter))) + (home-page "http://search.cpan.org/dist/Config-INI") + (synopsis "Simple .ini-file format reader and writer") + (description "@code{Config::INI} is a module that facilates the reading +and writing of @code{.ini}-style configuration files.") + (license (package-license perl)))) + (define-public perl-context-preserve (package (name "perl-context-preserve") @@ -2458,6 +2483,26 @@ shell.") "File-Which-" version)) (license (package-license perl)))) +(define-public perl-file-zglob + (package + (name "perl-file-zglob") + (version "0.11") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/T/TO/TOKUHIROM/File-Zglob-" + version ".tar.gz")) + (sha256 + (base32 + "16v61rn0yimpv5kp6b20z2f1c93n5kpsyjvr0gq4w2dc43gfvc8w")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/File-Zglob") + (synopsis "Extended Unix style glob functionality") + (description "@code{File::Zglob} provides a traditional Unix @code{glob} +functionality; it returns a list of file names that match the given pattern. +For instance, it supports the @code{**/*.pm} form.") + (license (package-license perl)))) + (define-public perl-getopt-long-descriptive (package (name "perl-getopt-long-descriptive") @@ -2505,6 +2550,29 @@ vaguely inspired by John Ousterhout's Tk_ParseArgv.") "Getopt-Tabular-" version)) (license (package-license perl)))) +(define-public perl-guard + (package + (name "perl-guard") + (version "1.023") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/Guard-" + version ".tar.gz")) + (sha256 + (base32 + "1p6i9mfmbs9cw40jqdv71ihv2xfi0vvlv8bdv2810gf93zwxvi1l")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Guard") + (synopsis "Safe cleanup blocks implemented as guards") + (description "@code{Guard} implements so-called @dfn{guards}. A guard is +something (usually an object) that \"guards\" a resource, ensuring that it is +cleaned up when expected. + +Specifically, this module supports two different types of guards: guard +objects, which execute a given code block when destroyed, and scoped guards, +which are tied to the scope exit.") + (license (package-license perl)))) + (define-public perl-hash-merge (package (name "perl-hash-merge") @@ -2592,6 +2660,31 @@ dependencies for CPAN distributions. These dependencies get bundled into the inc directory within a distribution and are used by Makefile.PL or Build.PL.") (license asl2.0))) +(define-public perl-io-captureoutput + (package + (name "perl-io-captureoutput") + (version "1.1104") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-" + version + ".tar.gz")) + (sha256 + (base32 + "0c437zvzpqi8f0h3nmblwdi2bvsb92b7g30fndr7my9qnky35izw")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/IO-CaptureOutput") + (synopsis "Capture STDOUT and STDERR from Perl code, subprocesses or XS") + (description "@code{IO::CaptureOutput} provides routines for capturing +@code{STDOUT} and @code{STDERR} from perl subroutines, forked system +calls (e.g. @code{system()}, @code{fork()}) and from XS or C modules. + +This module is no longer recommended by its maintainer. Users are advised to +try @code{Capture::Tiny} instead.") + (license (package-license perl)))) + (define-public perl-io-interactive (package (name "perl-io-interactive") @@ -2744,6 +2837,30 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") allowing data to be efficiently communicated between processes.") (license (package-license perl)))) +(define-public perl-ipc-system-simple + (package + (name "perl-ipc-system-simple") + (version "1.25") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/P/PJ/PJF/IPC-System-Simple-" + version ".tar.gz")) + (sha256 + (base32 + "0fsdb81shjj4hifyyzvj7vpkhq5jrfhlcpw2xbjfi1mqz8fsmdpi")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/IPC-System-Simple") + (synopsis "Run commands simply, with detailed diagnostics") + (description "Calling Perl's in-built @code{system} function is easy, +determining if it was successful is hard. Let's face it, @code{$?} isn't the +nicest variable in the world to play with, and even if you do check it, +producing a well-formatted error string takes a lot of work. + +@code{IPC::System::Simple} takes the hard work out of calling external +commands.") + (license (package-license perl)))) + (define-public perl-json (package (name "perl-json") @@ -2913,6 +3030,30 @@ one: logging, exceptions, and translations.") List::Util or List::MoreUtils defines, with preference to List::Util.") (license (package-license perl)))) +(define-public perl-list-compare + (package + (name "perl-list-compare") + (version "0.53") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JK/JKEENAN/List-Compare-" + version + ".tar.gz")) + (sha256 + (base32 + "0l451yqhx1hlm7f2c3bjsl3n8w6l1jngrxzyfm2d8d9iggv4zgzx")))) + (build-system perl-build-system) + (native-inputs + `(("perl-io-captureoutput" ,perl-io-captureoutput))) + (home-page "http://search.cpan.org/dist/List-Compare") + (synopsis "Compare elements of two or more lists") + (description "@code{List::Compare} provides a module to perform +comparative operations on two or more lists. Provided operations include +intersections, unions, unique elements, complements and many more.") + (license (package-license perl)))) + (define-public perl-list-moreutils (package (name "perl-list-moreutils") @@ -2938,6 +3079,39 @@ List::Util or List::MoreUtils defines, with preference to List::Util.") functionality on lists which is not going to go into List::Util.") (license (package-license perl)))) +(define-public perl-list-someutils + (package + (name "perl-list-someutils") + (version "0.52") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-" + version + ".tar.gz")) + (sha256 + (base32 + "1b450jyxaa6q2yl0cdhknr3c2a5s7b9b18ccnwac625c681r130y")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-leaktrace" ,perl-test-leaktrace))) + (inputs + `(("perl-exporter-tiny" ,perl-exporter-tiny) + ("perl-module-implementation" + ,perl-module-implementation))) + (home-page "http://search.cpan.org/dist/List-SomeUtils") + (synopsis "Provide the stuff missing in List::Util") + (description "@code{List::SomeUtils} provides some trivial but commonly +needed functionality on lists which is not going to go into @code{List::Util}. + +All of the below functions are implementable in only a couple of lines of Perl +code. Using the functions from this module however should give slightly +better performance as everything is implemented in C. The pure-Perl +implementation of these functions only serves as a fallback in case the C +portions of this module couldn't be compiled on this machine.") + (license (package-license perl)))) + (define-public perl-memoize-expirelru (package (name "perl-memoize-expirelru") @@ -2997,6 +3171,31 @@ from various sources. For instance, it contains all IANA types and the knowledge of Apache.") (license (package-license perl)))) +(define-public perl-mixin-linewise + (package + (name "perl-mixin-linewise") + (version "0.108") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RJ/RJBS/Mixin-Linewise-" + version ".tar.gz")) + (sha256 + (base32 + "1wmfr19w9y8qys7b32mnj1vmps7qwdahqas71a9p62ac8xw0dwkx")))) + (build-system perl-build-system) + (inputs + `(("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict) + ("perl-sub-exporter" ,perl-sub-exporter))) + (home-page "http://search.cpan.org/dist/Mixin-Linewise") + (synopsis "Write your linewise code for handles; this does the rest") + (description "It's boring to deal with opening files for IO, converting +strings to handle-like objects, and all that. With +@code{Mixin::Linewise::Readers} and @code{Mixin::Linewise::Writers}, you can +just write a method to handle handles, and methods for handling strings and +file names are added for you.") + (license (package-license perl)))) + (define-public perl-module-build-tiny (package (name "perl-module-build-tiny") @@ -4154,6 +4353,29 @@ up inheritance from those modules at the same time.") directory specifications in a cross-platform manner.") (license (package-license perl)))) +(define-public perl-perlio-utf8_strict + (package + (name "perl-perlio-utf8-strict") + (version "0.006") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/L/LE/LEONT/PerlIO-utf8_strict-" + version ".tar.gz")) + (sha256 + (base32 + "0qnmiflirfq10jkmrxyy81ch6hzyndfzxqf8maif0fy44kk1004q")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (home-page + "http://search.cpan.org/dist/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-pod-coverage (package (name "perl-pod-coverage") @@ -4939,6 +5161,66 @@ framework base class. It concentrates on offering reusable data driven patterns, so that you can write tests with a minimum of code.") (license (package-license perl)))) +(define-public perl-test-class + (package + (name "perl-test-class") + (version "0.50") + (source + (origin + (method url-fetch) + (uri (string-append + "https://cpan.metacpan.org/authors/id/E/ET/ETHER/Test-Class-" + version + ".tar.gz")) + (sha256 + (base32 + "0l0kk5jvxjkic2jkf1r7v41irb344aasnzr3f5ygjgxgiknm9489")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (inputs + `(("perl-module-runtime" ,perl-module-runtime) + ("perl-mro-compat" ,perl-mro-compat) + ("perl-try-tiny" ,perl-try-tiny))) + (home-page "http://search.cpan.org/dist/Test-Class") + (synopsis "Easily create test classes in an xUnit/JUnit style") + (description "@code{Test::Class} provides a simple way of creating classes +and objects to test your code in an xUnit style. + +Built using @code{Test::Builder}, it was designed to work with other +@code{Test::Builder} based modules (@code{Test::More}, +@code{Test::Differences}, @code{Test::Exception}, etc.).") + (license (package-license perl)))) + +(define-public perl-test-class-most + (package + (name "perl-test-class-most") + (version "0.08") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/O/OV/OVID/Test-Class-Most-" + version + ".tar.gz")) + (sha256 + (base32 + "1zvx9hil0mg0pnb8xfa4m0xgjpvh8s5gnbyprq3xwpdsdgcdwk33")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (inputs + `(("perl-test-class" ,perl-test-class) + ("perl-test-most" ,perl-test-most) + ("perl-module-runtime" ,perl-module-runtime) + ("perl-try-tiny" ,perl-try-tiny) + ("perl-mro-compat" ,perl-mro-compat))) + (home-page "http://search.cpan.org/dist/Test-Class-Most") + (synopsis "Test classes the easy way") + (description "@code{Test::Class::Most} provides some more convenience when +using @code{Test::Class}.") + (license (package-license perl)))) + (define-public perl-test-cleannamespaces (package (name "perl-test-cleannamespaces") @@ -5651,15 +5933,15 @@ can combine fields into a CSV string and parse a CSV string into fields.") (define-public perl-text-diff (package (name "perl-text-diff") - (version "1.41") + (version "1.44") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/O/OV/OVID/" + (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" "Text-Diff-" version ".tar.gz")) (sha256 (base32 - "1ynjsa4sr1yvyh65sdfvahaafglibz70j8b6rj01cg1iisj50zx6")))) + "041v92zla2acdc433f47giridf6p820sdczs7x5d71fhsyza1xsp")))) (build-system perl-build-system) (propagated-inputs `(("perl-algorithm-diff" ,perl-algorithm-diff))) @@ -5806,6 +6088,26 @@ system.") as exceptions to standard program flow.") (license (package-license perl)))) +(define-public perltidy + (package + (name "perltidy") + (version "20160302") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/perltidy/Perl-Tidy-" + version ".tar.gz")) + (sha256 + (base32 + "19yw63yh5s3pq7k3nkw6nsamg5b8vvwyhgbizslgxg0mqgc4xl3d")))) + (build-system perl-build-system) + (home-page "http://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 gpl2+))) + (define-public perl-tie-ixhash (package (name "perl-tie-ixhash") |