summary refs log tree commit diff
path: root/gnu/packages/perl.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/perl.scm')
-rw-r--r--gnu/packages/perl.scm415
1 files changed, 407 insertions, 8 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 438ccdf3f9..044f93e818 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -382,6 +382,27 @@ fields pragma, consider this module discouraged in favor of the lighter-weight
 parent.")
     (license (package-license perl))))  ;See README
 
+(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 "http://search.cpan.org/dist/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-b-hooks-endofscope
   (package
     (name "perl-b-hooks-endofscope")
@@ -406,6 +427,28 @@ parent.")
 compiling the surrounding scope.")
     (license (package-license perl))))
 
+(define-public perl-b-keywords
+  (package
+    (name "perl-b-keywords")
+    (version "1.15")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "1nhdplmd0y69lnwyajg3anhk6pm13nm6qzm05nzpz8zl7j7fzlk5"))))
+    (build-system perl-build-system)
+    (home-page "http://search.cpan.org/dist/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 gpl2)))
+
 (define-public perl-benchmark-timer
   (package
     (name "perl-benchmark-timer")
@@ -649,6 +692,28 @@ is captured while being passed through to the original file handles.")
 to test the installed perl for compatibility with his modules.")
     (license (package-license perl))))
 
+(define-public perl-carp-always
+  (package
+    (name "perl-carp-always")
+    (version "0.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/F/FE/FERREIRA/Carp-Always-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "0i2rifkr7ybfcdsqana52487z7vxp2l5qdra0f6ik0ddhn6rzii1"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-test-base" ,perl-test-base)))
+    (home-page "http://search.cpan.org/dist/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")
@@ -1181,6 +1246,27 @@ objects.")
                               "Clone-" version "/"))
     (license (package-license perl))))
 
+(define-public perl-clone-pp
+  (package
+    (name "perl-clone-pp")
+    (version "1.07")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/Clone-PP-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "15dkhqvih6rx9dnngfwwljcm9s8afb0nbyl2vdvhd8frnw4y31dz"))))
+    (build-system perl-build-system)
+    (home-page "http://search.cpan.org/dist/Clone-PP/")
+    (synopsis "Recursively copy Perl datatypes")
+    (description "This module provides a general-purpose @code{clone} function
+to make deep copies of Perl data structures.  It calls itself recursively to
+copy nested hash, array, scalar and reference types, including tied variables
+and objects.")
+    (license (package-license perl))))
+
 (define-public perl-common-sense
   (package
     (name "perl-common-sense")
@@ -1489,6 +1575,38 @@ functions and data structures for processing and analysing genomic and
 bioinformatics data.")
     (license gpl3+)))
 
+(define-public perl-data
+  (package
+    (name "perl-data")
+    (version "0.002009")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/M/MA/MATTP/"
+                           "Data-Perl-" version ".tar.gz"))
+       (sha256
+        (base32
+         "12vgqdjbfqf2qfg21x22wg88xnwxfbw2ki3qzcb3nb0chwjj4axn"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-test-deep" ,perl-test-deep)
+       ("perl-test-output" ,perl-test-output)
+       ("perl-test-fatal" ,perl-test-fatal)))
+    (inputs
+     `(("perl-class-method-modifiers" ,perl-class-method-modifiers)
+       ("perl-list-moreutils" ,perl-list-moreutils)
+       ("perl-module-runtime" ,perl-module-runtime)
+       ("perl-role-tiny" ,perl-role-tiny)
+       ("perl-strictures" ,perl-strictures)))
+    (home-page "http://search.cpan.org/dist/Data-Perl/")
+    (synopsis "Base classes wrapping fundamental Perl data types")
+    (description "Collection of classes that wrap fundamental data types that
+exist in Perl.  These classes and methods as they exist today are an attempt
+to mirror functionality provided by Moose's Native Traits.  One important
+thing to note is all classes currently do no validation on constructor
+input.")
+    (license (package-license perl))))
+
 (define-public perl-data-compare
   (package
     (name "perl-data-compare")
@@ -1661,6 +1779,57 @@ The maths behind this is unfortunately fiddly, hence this module.")
 @end itemize")
     (license perl-license)))
 
+(define-public perl-data-printer
+  (package
+    (name "perl-data-printer")
+    (version "0.40")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/G/GA/GARU/Data-Printer-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "0njjh8zp5afc4602jrnmg89icj7gfsil6i955ypcqxc2gl830sb0"))))
+    (build-system perl-build-system)
+    (propagated-inputs
+     `(("perl-clone-pp" ,perl-clone-pp)
+       ("perl-file-homedir" ,perl-file-homedir)
+       ("perl-package-stash" ,perl-package-stash)
+       ("perl-sort-naturally" ,perl-sort-naturally)))
+    (home-page "http://search.cpan.org/dist/Data-Printer/")
+    (synopsis "Colored pretty-print of Perl data structures and objects")
+    (description "Display Perl variables and objects on screen, properly
+formatted (to be inspected by a human).")
+    (license (package-license perl))))
+
+(define-public perl-data-record
+  (package
+    (name "perl-data-record")
+    (version "0.02")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/O/OV/OVID/"
+                           "Data-Record-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1gwyhjwg4lrnfsn8wb6r8msb4yh0y4wca4mz3z120xbnl9nycshx"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-test-exception" ,perl-test-exception)
+       ("perl-module-build" ,perl-module-build)))
+    (propagated-inputs
+     `(("perl-sub-uplevel" ,perl-sub-uplevel)))
+    (home-page "http://search.cpan.org/dist/Data-Record/")
+    (synopsis "Conditionally split data into records")
+    (description "This Perl module allows you to split data into records by
+not only specifying what you wish to split the data on, but also by specifying
+an \"unless\" regular expression.  If the text in question matches the
+\"unless\" regex, it will not be split there.  This allows us to do things
+like split on newlines unless newlines are embedded in quotes.")
+    (license (package-license perl))))
+
 (define-public perl-data-stag
   (package
     (name "perl-data-stag")
@@ -3012,6 +3181,30 @@ It is really just boilerplate code that you would have written yourself.")
 changes made to any file.")
     (license artistic2.0)))
 
+(define-public perl-file-configdir
+  (package
+    (name "perl-file-configdir")
+    (version "0.018")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/"
+                           "File-ConfigDir-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1xpzrlya0gskk7lm6gppyfwbk0swv0n6ssgp629575dk5l49z2rf"))))
+    (build-system perl-build-system)
+    (propagated-inputs
+     `(("perl-file-homedir" ,perl-file-homedir)
+       ("perl-list-moreutils" ,perl-list-moreutils)))
+    (home-page "http://search.cpan.org/dist/File-ConfigDir/")
+    (synopsis "Get directories of configuration files")
+    (description "This module is a helper for installing, reading and finding
+configuration file locations.  @code{File::ConfigDir} is a module to help out
+when Perl modules (especially applications) need to read and store
+configuration files from more than one location.")
+    (license (package-license perl))))
+
 (define-public perl-file-copy-recursive
   (package
     (name "perl-file-copy-recursive")
@@ -3449,7 +3642,7 @@ single-letter approach, is provided but not enabled by default.")
 (define-public perl-getopt-long-descriptive
   (package
     (name "perl-getopt-long-descriptive")
-    (version "0.098")
+    (version "0.100")
     (source
      (origin
        (method url-fetch)
@@ -3457,10 +3650,11 @@ single-letter approach, is provided but not enabled by default.")
                            "Getopt-Long-Descriptive-" version ".tar.gz"))
        (sha256
         (base32
-         "08lphvqshcajvvd6z4rvcda6rx5kz8pysrsip4nfv2mbks95p9ma"))))
+         "1dpz5nhg5glmrpq46nkc90dg19cfqfjspqwhfvihsqyi229yfl8l"))))
     (build-system perl-build-system)
     (native-inputs
-     `(("perl-test-fatal" ,perl-test-fatal)
+     `(("perl-cpan-meta-check" ,perl-cpan-meta-check)
+       ("perl-test-fatal" ,perl-test-fatal)
        ("perl-test-warnings" ,perl-test-warnings)))
     (propagated-inputs
      `(("perl-params-validate" ,perl-params-validate)
@@ -4126,6 +4320,37 @@ version.")
 one: logging, exceptions, and translations.")
     (license (package-license perl))))
 
+(define-public perl-libintl-perl
+  (package
+    (name "perl-libintl-perl")
+    (version "1.28")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/G/GU/GUIDO/"
+                           "libintl-perl-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1gafrfvicjclqlz6i62jx2iqbq878yn3ws86waz2sqbd3gxz5svv"))))
+    (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
+     `(("perl-file-sharedir" ,perl-file-sharedir)))
+    (home-page "http://search.cpan.org/dist/libintl-perl/")
+    (synopsis "High-level interface to Uniforum message translation")
+    (description "This package is an internationalization library for Perl
+that aims to be compatible with the Uniforum message translations system as
+implemented for example in GNU gettext.")
+    (license gpl3+)))
+
 (define-public perl-lingua-translit
   (package
     (name "perl-lingua-translit")
@@ -4197,7 +4422,7 @@ intersections, unions, unique elements, complements and many more.")
 (define-public perl-list-moreutils
   (package
     (name "perl-list-moreutils")
-    (version "0.402")
+    (version "0.426")
     (source
      (origin
        (method url-fetch)
@@ -4205,20 +4430,54 @@ intersections, unions, unique elements, complements and many more.")
                            "List-MoreUtils-" version ".tar.gz"))
        (sha256
         (base32
-         "1i0k7kqg1m9nf2xvq9l4lyf38fxvi9952vmmvhcdaf3qa95pxb24"))))
+         "1dj77b42cp5ziq9y38fff458avjwzm88kn076svcvl660h6n21cf"))))
     (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)))))
     (native-inputs
      `(("perl-config-autoconf" ,perl-config-autoconf)
-       ("perl-inc-latest" ,perl-inc-latest)
-       ("perl-test-writevariants" ,perl-test-writevariants)))
+       ("perl-test-leaktrace" ,perl-test-leaktrace)))
     (propagated-inputs
-     `(("perl-exporter-tiny" ,perl-exporter-tiny)))
+     `(("perl-exporter-tiny" ,perl-exporter-tiny)
+       ("perl-list-moreutils-xs" ,perl-list-moreutils-xs)))
     (home-page "http://search.cpan.org/dist/List-MoreUtils/")
     (synopsis "Provide the stuff missing in List::Util")
     (description "List::MoreUtils provides some trivial but commonly needed
 functionality on lists which is not going to go into List::Util.")
     (license (package-license perl))))
 
+(define-public perl-list-moreutils-xs
+  (package
+    (name "perl-list-moreutils-xs")
+    (version "0.426")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-XS-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "0ss0a0f9yqs7gd9qamhaxq27mvn573ljg28ry1gy2pxbz56byzbc"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-config-autoconf" ,perl-config-autoconf)
+       ("perl-inc-latest" ,perl-inc-latest)
+       ("perl-test-leaktrace" ,perl-test-leaktrace)))
+    (home-page "http://search.cpan.org/dist/List-MoreUtils-XS")
+    (synopsis "Provide the stuff missing in List::Util in XS")
+    (description "@code{List::MoreUtils::XS} provides some trivial but
+commonly needed functionality on lists which is not going to go into
+@code{List::Util}.")
+    (license asl2.0)))
+
 (define-public perl-list-someutils
   (package
     (name "perl-list-someutils")
@@ -5292,6 +5551,95 @@ constraint with coercion to load the class.")
     (description "Contains the MooX and MooX::Role packages.")
     (license perl-license)))
 
+(define-public perl-moox-cmd
+  (package
+    (name "perl-moox-cmd")
+    (version "0.015")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Cmd-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "0145ha8vnc6sbg82ps96wj716bznq2qamm657bia9ji2yxhbnsam"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-capture-tiny" ,perl-capture-tiny)
+       ("perl-list-moreutils" ,perl-list-moreutils)))
+    (propagated-inputs
+     `(("perl-module-pluggable" ,perl-module-pluggable)
+       ("perl-module-runtime" ,perl-module-runtime)
+       ("perl-moo" ,perl-moo)
+       ("perl-package-stash" ,perl-package-stash)
+       ("perl-params-util" ,perl-params-util)
+       ("perl-regexp-common" ,perl-regexp-common)))
+    (home-page "http://search.cpan.org/dist/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
+     `(("perl-hash-merge" ,perl-hash-merge)
+       ("perl-json" ,perl-json)
+       ("perl-moox-cmd" ,perl-moox-cmd)))
+    (propagated-inputs
+     `(("perl-config-any" ,perl-config-any)
+       ("perl-file-configdir" ,perl-file-configdir)
+       ("perl-file-find-rule" ,perl-file-find-rule)
+       ("perl-hash-merge" ,perl-hash-merge)
+       ("perl-moo", perl-moo)
+       ("perl-moox-file-configdir" ,perl-moox-file-configdir)
+       ("perl-namespace-clean" ,perl-namespace-clean)))
+    (home-page "http://search.cpan.org/dist/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.006")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/"
+                           "MooX-File-ConfigDir-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0f808sq3627ymgf63zwgh705vv0nhwclxp89clhx8yl6hybcv7kx"))))
+    (build-system perl-build-system)
+    (propagated-inputs
+     `(("perl-file-configdir" ,perl-file-configdir)
+       ("perl-moo" ,perl-moo)
+       ("perl-namespace-clean" ,perl-namespace-clean)))
+    (home-page "http://search.cpan.org/dist/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")
@@ -5369,6 +5717,57 @@ MooX::HandlesVia.
 @end enumerate")
     (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
+     `(("perl-capture-tiny" ,perl-capture-tiny)
+       ("perl-import-into" ,perl-import-into)
+       ("perl-module-build" ,perl-module-build)
+       ("perl-moo" ,perl-moo)
+       ("perl-moose" ,perl-moose)
+       ("perl-moox-cmd" ,perl-moox-cmd)
+       ("perl-namespace-clean" ,perl-namespace-clean)
+       ("perl-role-tiny" ,perl-role-tiny)
+       ("perl-test-requires" ,perl-test-requires)
+       ("perl-test-trap" ,perl-test-trap)
+       ("perl-test-pod" ,perl-test-pod)
+       ("perl-try-tiny" ,perl-try-tiny)))
+    (propagated-inputs
+     `(("perl-config-any" ,perl-config-any)
+       ("perl-moox-configfromfile" ,perl-moox-configfromfile)
+       ("perl-data-record" ,perl-data-record)
+       ("perl-file-configdir" ,perl-file-configdir)
+       ("perl-file-find-rule" ,perl-file-find-rule)
+       ("perl-file-sharedir" ,perl-file-sharedir)
+       ("perl-getopt-long-descriptive" ,perl-getopt-long-descriptive)
+       ("perl-json-maybexs" ,perl-json-maybexs)
+       ("perl-libintl-perl" ,perl-libintl-perl)
+       ("perl-moox-configfromfile" ,perl-moox-configfromfile)
+       ("perl-moox-file-configdir" ,perl-moox-file-configdir)
+       ("perl-path-class" ,perl-path-class)
+       ("perl-regexp-common" ,perl-regexp-common)
+       ("perl-term-size-any" ,perl-term-size-any)
+       ("perl-unicode-linebreak" ,perl-unicode-linebreak)))
+    (home-page "http://search.cpan.org/dist/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-types-mooselike
   (package
     (name "perl-moox-types-mooselike")