summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2018-01-01 16:44:38 +0000
committerTobias Geerinckx-Rice <me@tobias.gr>2018-01-02 00:09:16 +0100
commite84f22257f1069588c115c85e93d98d056bafb69 (patch)
tree4b685bb7d463c387e8c476466cb43b6a2457061e /gnu
parent49ab09e6999b725a492796b87abe18535fafd1ba (diff)
downloadguix-e84f22257f1069588c115c85e93d98d056bafb69.tar.gz
gnu: Add perl-super.
* gnu/packages/perl.scm (perl-super): New public variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/perl.scm28
1 files changed, 27 insertions, 1 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 0fc6808537..9978cfa869 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -15,7 +15,7 @@
 ;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
 ;;;
@@ -7106,6 +7106,32 @@ The idea is just to fool caller().  All the really naughty bits of Tcl's
 uplevel() are avoided.")
     (license (package-license perl))))
 
+(define-public perl-super
+  (package
+    (name "perl-super")
+    (version "1.20141117")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/C/CH/CHROMATIC/"
+                           "SUPER-" version ".tar.gz"))
+       (sha256
+        (base32 "1cn05kacg0xfbm1zzksm2yx2pnrzqja4d9163cxv3sdfc1yhwqhs"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-module-build" ,perl-module-build)))
+    (propagated-inputs
+     `(("perl-sub-identify" ,perl-sub-identify)))
+    (home-page "http://search.cpan.org/dist/SUPER/")
+    (synopsis "Control superclass method dispatching")
+    (description
+     "When subclassing a class, you may occasionally want to dispatch control to
+the superclass---at least conditionally and temporarily.  This module provides
+nicer equivalents to the native Perl syntax for calling superclasses, along with
+a universal @code{super} method to determine a class' own superclass, and better
+support for run-time mix-ins and roles.")
+    (license perl-license)))
+
 (define-public perl-svg
   (package
     (name "perl-svg")