summary refs log tree commit diff
path: root/gnu/packages/perl.scm
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-07-27 17:44:08 -0400
committerLeo Famulari <leo@famulari.name>2017-07-30 20:10:39 -0400
commitb51f02a94939e7f8a3d85b24f45fc0ea75d7c979 (patch)
treeb73bf622bfcc6c61a2eb3550486a93d9a1837941 /gnu/packages/perl.scm
parentdf4fc5217fb6d1f2bd18e20f237393f08c6e9e4a (diff)
downloadguix-b51f02a94939e7f8a3d85b24f45fc0ea75d7c979.tar.gz
gnu: Add perl-specio.
* gnu/packages/perl.scm (perl-specio): New variable.
Diffstat (limited to 'gnu/packages/perl.scm')
-rw-r--r--gnu/packages/perl.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d24eec3260..c8ea0fd5a5 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -5868,6 +5868,38 @@ compact.")
 arrays by one or multiple calculated keys.")
     (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
+     `(("perl-devel-stacktrace" ,perl-devel-stacktrace)
+       ("perl-eval-closure" ,perl-eval-closure)
+       ("perl-module-runtime" ,perl-module-runtime)
+       ("perl-mro-compat" ,perl-mro-compat)
+       ("perl-role-tiny" ,perl-role-tiny)
+       ("perl-test-fatal" ,perl-test-fatal)
+       ("perl-test-needs" ,perl-test-needs)))
+    (home-page "http://search.cpan.org/dist/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 artistic2.0)))
+
 (define-public perl-spiffy
   (package
     (name "perl-spiffy")