aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/perl.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gn/packages/perl.scm')
-rw-r--r--gn/packages/perl.scm196
1 files changed, 192 insertions, 4 deletions
diff --git a/gn/packages/perl.scm b/gn/packages/perl.scm
index 7945b15..65f3d30 100644
--- a/gn/packages/perl.scm
+++ b/gn/packages/perl.scm
@@ -19,24 +19,26 @@
(define-module (gn packages perl)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
- #:use-module (gnu packages readline)
- #:use-module (gnu packages autotools)
#:use-module (gnu packages java)
#:use-module (gnu packages libffi)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages perl-check)
#:use-module (gnu packages python)
#:use-module (gnu packages ragel)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages web)
#:use-module (gnu packages version-control)
#: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 (gnu packages xml)
- #:use-module (gnu packages web)
#:use-module (guix build-system perl))
(define-public perl-time-parsedate ; guix: old lib and tests failing - works though
@@ -96,3 +98,189 @@
(synopsis "Pjotr's time logger")
(description "None")
(license license:gpl2+))))
+
+(define-public perl-mce
+ (package
+ (name "perl-mce")
+ (version "1.874")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/M/MA/MARIOROY/MCE-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1l6khsmwzfr88xb81kdvmdskxgz3pm4yz2ybxkbml4bmhh0y62fq"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-sereal-decoder" ,perl-sereal-decoder)
+ ("perl-sereal-encoder" ,perl-sereal-encoder)))
+ (home-page "https://metacpan.org/release/MCE")
+ (synopsis
+ "Many-Core Engine for Perl providing parallel processing capabilities")
+ (description "MCE spawns a pool of workers and therefore does not fork a
+new process per each element of data. Instead, MCE follows a bank queuine
+model. MCE enhances that model by adding the ability to chunk the next n
+elements from the input stream to the next available worker.")
+ (license license:perl-license)))
+
+(define-public perl-sereal-decoder
+ (package
+ (name "perl-sereal-decoder")
+ (version "4.018")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Y/YV/YVES/Sereal-Decoder-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0wfdixpm3p94mnng474l0nh9mjiy8q8hbrbh2af4vwn2hmazr91f"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "zstd")))))
+ (build-system perl-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "inc/Sereal/BuildTools.pm"
+ (("-lzstd")
+ (string-append "-L" (assoc-ref inputs "zstd:lib")
+ "/lib -lzstd"))))))))
+ (native-inputs
+ `(("perl-test-deep" ,perl-test-deep)
+ ("perl-test-differences" ,perl-test-differences)
+ ("perl-test-longstring" ,perl-test-longstring)
+ ("perl-test-warn" ,perl-test-warn)))
+ (inputs
+ `(("zstd:lib" ,zstd "lib")))
+ (home-page "https://metacpan.org/release/Sereal-Decoder")
+ (synopsis "Fast, compact, powerful binary deserialization")
+ (description
+ "Sereal::Decoder implements a deserializer for an efficient,
+compact-output, and feature-rich binary protocol called Sereal.")
+ (license license:perl-license)))
+
+(define-public perl-sereal-encoder
+ (package
+ (name "perl-sereal-encoder")
+ (version "4.018")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/Y/YV/YVES/Sereal-Encoder-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0z9dbkr8ggjqb5g1sikxhy1a359bg08gs3vfg9icqm6xx4gjsv6p"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "zstd")))))
+ (build-system perl-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "inc/Sereal/BuildTools.pm"
+ (("-lzstd")
+ (string-append "-L" (assoc-ref inputs "zstd:lib")
+ "/lib -lzstd"))))))))
+ (native-inputs
+ `(("perl-sereal-decoder" ,perl-sereal-decoder)
+ ("perl-test-deep" ,perl-test-deep)
+ ("perl-test-differences" ,perl-test-differences)
+ ("perl-test-longstring" ,perl-test-longstring)
+ ("perl-test-warn" ,perl-test-warn)))
+ (inputs
+ `(("zstd:lib" ,zstd "lib")))
+ (home-page "https://metacpan.org/release/Sereal-Encoder")
+ (synopsis "Fast, compact, powerful binary serialization")
+ (description
+ "Sereal::Encoder implements an efficient, compact-output, and feature-rich
+serializer using a binary protocol called Sereal.")
+ (license license:perl-license)))
+
+(define-public perl-module-load-conditional
+ (package
+ (name "perl-module-load-conditional")
+ (version "0.74")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/B/BI/BINGOS/Module-Load-Conditional-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0c57c3632657hyhkijxhrk5jsfd09q4dm5d0qbmz281q76lm9hsl"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Module-Load-Conditional")
+ (synopsis "Looking up module information / loading at runtime")
+ (description
+ "Module::Load::Conditional provides simple ways to query and possibly load
+any of the modules you have installed on your system during runtime. It is able
+to load multiple modules at once or none at all if one of them was not able to
+load. It also takes care of any error checking and so forth.")
+ (license license:perl-license)))
+
+(define-public perl-scalar-util-numeric
+ (package
+ (name "perl-scalar-util-numeric")
+ (version "0.40")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/C/CH/CHOCOLATE/Scalar-Util-Numeric-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0h24rji5rkwa0mkggmr5anin92dg87ygnhhr3idxn0q785ninl6p"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Scalar-Util-Numeric")
+ (synopsis "numeric tests for perl scalars")
+ (description
+ "Scalar::Util::Numeric exports a number of wrappers around perl's builtin
+@code{looks_like_number} function, which returns the numeric type of its
+argument, or 0 if it isn't numeric.")
+ (license license:perl-license)))
+
+(define-public perl-math-utils
+ (package
+ (name "perl-math-utils")
+ (version "1.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/J/JG/JGAMBLE/Math-Utils-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1596bwij103w4w5m7102c7bj9x4sjr8a7cibp5qjcqkafgh0m8l8"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)))
+ (home-page "https://metacpan.org/release/Math-Utils")
+ (synopsis "Useful mathematical functions not in Perl")
+ (description
+ "Math::Utils is a broad collection of useful mathematical functions not
+available in core perl. In addition to general-purpose functions such as
+log10(), log2(), floor() or fsum(), there are generators to create comparison
+functions for floating point (non-integer) numbers as well as some polynomial
+operations on plain lists of coefficients.")
+ (license license:perl-license)))