summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2015-03-12 12:04:48 -0500
committerEric Bavier <bavier@member.fsf.org>2015-03-12 15:55:57 -0500
commitceb3b13830c472d63c6fecd60771c69af77e33bb (patch)
tree2857a8fcb8a8142bfd405694b2bdf026ec57a5c4 /gnu
parenteb81114cd2a23f5a7ef25905d904c6f0b0e2b67f (diff)
downloadguix-ceb3b13830c472d63c6fecd60771c69af77e33bb.tar.gz
gnu: Add namespace-autoclean.
* gnu/packages/perl.scm (perl-namespace-autoclean): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/perl.scm30
1 files changed, 30 insertions, 0 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 81c8a0d235..ec5f2cebde 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1535,6 +1535,36 @@ higher.  This module provides those interfaces for earlier versions of
 Perl (back to 5.6.0).")
     (license (package-license perl))))
 
+(define-public perl-namespace-autoclean
+  (package
+    (name "perl-namespace-autoclean")
+    (version "0.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
+                           "namespace-autoclean-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0msggbg2zbixxjq1fda19h0yygavxndfzc4j4pq11nfghmawjsb0"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-test-requires" ,perl-test-requires)))
+    (propagated-inputs
+     `(("perl-b-hooks-endofscope" ,perl-b-hooks-endofscope)
+       ("perl-namespace-clean" ,perl-namespace-clean)
+       ("perl-sub-identify" ,perl-sub-identify)))
+    (home-page "http://search.cpan.org/dist/namespace-autoclean")
+    (synopsis "Keep imports out of your namespace")
+    (description "The namespace::autoclean pragma will remove all imported
+symbols at the end of the current package's compile cycle.  Functions called
+in the package itself will still be bound by their name, but they won't show
+up as methods on your class or instances.  It is very similar to
+namespace::clean, except it will clean all imported functions, no matter if
+you imported them before or after you used the pragma.  It will also not touch
+anything that looks like a method.")
+    (license (package-license perl))))
+
 (define-public perl-namespace-clean
   (package
     (name "perl-namespace-clean")