about summary refs log tree commit diff
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)))