From 3fa4c22abe5e07c1bbd109c48584fc74fabaa152 Mon Sep 17 00:00:00 2001
From: Eric Bavier <bavier@member.fsf.org>
Date: Thu, 5 Mar 2015 15:38:03 -0600
Subject: [PATCH] gnu: Add Module-Implementation.

* gnu/packages/perl.scm (perl-module-implementation): New variable.
---
 gnu/packages/perl.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index dadc66acec..2431622ac0 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -390,6 +390,34 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.")
     ;; licenses, any version."
     (license (list bsd-3 gpl3+))))
 
+(define-public perl-module-implementation
+  (package
+    (name "perl-module-implementation")
+    (version "0.09")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/"
+                           "Module-Implementation-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0vfngw4dbryihqhi7g9ks360hyw8wnpy3hpkzyg0q4y2y091lpy1"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-test-fatal" ,perl-test-fatal)
+       ("perl-test-requires" ,perl-test-requires)))
+    (propagated-inputs
+     `(("perl-module-runtime" ,perl-module-runtime)
+       ("perl-try-tiny" ,perl-try-tiny)))
+    (home-page "http://search.cpan.org/dist/Module-Implementation")
+    (synopsis "Loads alternate underlying implementations for a module")
+    (description "This module abstracts out the process of choosing one of
+several underlying implementations for a module.  This can be used to provide
+XS and pure Perl implementations of a module, or it could be used to load an
+implementation for a given OS or any other case of needing to provide multiple
+implementations.")
+    (license artistic2.0)))
+
 (define-public perl-module-runtime
   (package
     (name "perl-module-runtime")