summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/scripts/nix-generate-from-cpan.nix4
-rwxr-xr-xmaintainers/scripts/nix-generate-from-cpan.pl2
-rw-r--r--pkgs/top-level/perl-packages.nix209
3 files changed, 147 insertions, 68 deletions
diff --git a/maintainers/scripts/nix-generate-from-cpan.nix b/maintainers/scripts/nix-generate-from-cpan.nix
index fffe11f1a5fc..056cd994ba22 100644
--- a/maintainers/scripts/nix-generate-from-cpan.nix
+++ b/maintainers/scripts/nix-generate-from-cpan.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "nix-generate-from-cpan-1";
 
-  buildInputs = [ makeWrapper perl perlPackages.YAMLLibYAML perlPackages.JSON ];
+  buildInputs = [ makeWrapper perl perlPackages.YAMLLibYAML perlPackages.JSON perlPackages.CPANPLUS ];
 
   unpackPhase = "true";
   buildPhase = "true";
@@ -19,4 +19,4 @@ stdenv.mkDerivation {
     maintainers = [ stdenv.lib.maintainers.eelco ];
     description = "Utility to generate a Nix expression for a Perl package from CPAN";
   };
-}
\ No newline at end of file
+}
diff --git a/maintainers/scripts/nix-generate-from-cpan.pl b/maintainers/scripts/nix-generate-from-cpan.pl
index 1d9f926ec556..56709ca8000b 100755
--- a/maintainers/scripts/nix-generate-from-cpan.pl
+++ b/maintainers/scripts/nix-generate-from-cpan.pl
@@ -100,7 +100,7 @@ sub get_deps {
     foreach my $n (keys %{$deps}) {
         next if $n eq "perl";
         # Hacky way to figure out if this module is part of Perl.
-        if ($n !~ /^JSON/ && $n !~ /^YAML/) {
+        if ($n !~ /^JSON/ && $n !~ /^YAML/ && $n !~ /^Module::Pluggable/) {
             eval "use $n;";
             if (!$@) {
                 print STDERR "skipping Perl-builtin module $n\n";
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index d02a4f69a167..e1dd33e92815 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -239,6 +239,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ArchiveExtract = buildPerlPackage {
+    name = "Archive-Extract-0.74";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Archive-Extract-0.74.tar.gz;
+      sha256 = "b297d230fe91720a423a01482db7e037b2acf589f9c8f58cef39f3148374e216";
+    };
+    propagatedBuildInputs = [ if_ ];
+    meta = {
+      description = "Generic archive extracting mechanism";
+      license = "perl";
+    };
+  };
+
   ArchiveZip = buildPerlPackage {
     name = "Archive-Zip-1.16";
     src = fetchurl {
@@ -329,19 +342,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  autodie = buildPerlPackage {
-    name = "autodie-2.20";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/P/PJ/PJF/autodie-2.20.tar.gz;
-      sha256 = "346763c582cd8066b4e5d07e4013202f9f9296d32b42343e117dbfb13ea6e4f0";
-    };
-    meta = {
-      description = "Replace functions with ones that succeed or die with lexical scope";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = with maintainers; [ ocharles ];
-      platforms   = stdenv.lib.platforms.unix;
-    };
-  };
+  autodie = null; # part of Perl
 
   autovivification = buildPerlPackage {
     name = "autovivification-0.12";
@@ -643,16 +644,16 @@ let self = _self // overrides; _self = with self; {
   };
 
   CatalystActionREST = buildPerlPackage {
-    name = "Catalyst-Action-REST-1.07";
+    name = "Catalyst-Action-REST-1.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Action-REST-1.07.tar.gz;
-      sha256 = "0c893iia1bmqlrknylaqhc9ln1xqz7yw9z639rxmyjyidx5b4q0d";
+      url = mirror://cpan/authors/id/F/FR/FREW/Catalyst-Action-REST-1.17.tar.gz;
+      sha256 = "c833c6ba2150b035b0486ff568c1e5928c14bb53d6a70758271feb969aaedde6";
     };
-    propagatedBuildInputs = [ CatalystRuntime ClassInspector ConfigGeneral DataSerializer DataTaxi FreezeThaw HTMLParser JSONXS LWPUserAgent Moose MROCompat namespaceautoclean ParamsValidate PHPSerialization URIFind XMLSimple YAMLSyck ];
+    buildInputs = [ TestRequires ];
+    propagatedBuildInputs = [ CatalystRuntime ClassInspector LWP MROCompat ModulePluggable Moose ParamsValidate URIFind namespaceautoclean ];
     meta = {
       description = "Automated REST Method Dispatching";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      platforms = stdenv.lib.platforms.linux;
+      license = "perl";
     };
   };
 
@@ -1498,11 +1499,16 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ IOCompress ];
   };
 
-  ConfigAny = buildPerlPackage rec {
+  ConfigAny = buildPerlPackage {
     name = "Config-Any-0.24";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Config/${name}.tar.gz";
-      sha256 = "06n6jn3q3xhk57icwip0ihzqixxav6sgp6rrb35hahj1z748y3vi";
+      url = mirror://cpan/authors/id/B/BR/BRICAS/Config-Any-0.24.tar.gz;
+      sha256 = "710f8fc8f9414205cb58399bfbb4d9aaf7883f8ce046cee22913f6818795c61a";
+    };
+    propagatedBuildInputs = [ ModulePluggable ];
+    meta = {
+      description = "Load configuration from different file formats, transparently";
+      license = "perl";
     };
   };
 
@@ -1733,6 +1739,21 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  CPANPLUS = buildPerlPackage {
+    name = "CPANPLUS-0.9152";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/CPANPLUS-0.9152.tar.gz;
+      sha256 = "732d9978ca6e8cde9b16431e1d1bafa543a66d8bce3fbfca4e5ac297a348ad17";
+    };
+    propagatedBuildInputs = [ ArchiveExtract LogMessage ModulePluggable ObjectAccessor PackageConstants ];
+    doCheck = false;
+    meta = {
+      homepage = http://github.com/jib/cpanplus-devel;
+      description = "Ameliorated interface to the CPAN";
+      license = "perl";
+    };
+  };
+
   CPANUploader = buildPerlPackage {
     name = "CPAN-Uploader-0.103006";
     src = fetchurl {
@@ -2200,15 +2221,15 @@ let self = _self // overrides; _self = with self; {
   };
 
   DateTimeFormatFlexible = buildPerlPackage {
-    name = "DateTime-Format-Flexible-0.25";
+    name = "DateTime-Format-Flexible-0.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.25.tar.gz;
-      sha256 = "cd3267e68736ece386d677289b334d4ef1f33ff2524b17b9c9deb53d20420090";
+      url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.26.tar.gz;
+      sha256 = "436efbc5e87cc385112e1c44336427fea32df670caf2b7d6dbb7a113ac6e693d";
     };
-    propagatedBuildInputs = [ DateTime DateTimeFormatBuilder DateTimeTimeZone ListMoreUtils TestMockTime ];
+    propagatedBuildInputs = [ DateTime DateTimeFormatBuilder DateTimeTimeZone ListMoreUtils ModulePluggable TestMockTime ];
     meta = {
       description = "DateTime::Format::Flexible - Flexibly parse strings and turn them into DateTime objects";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      license = "perl";
     };
   };
 
@@ -3094,11 +3115,13 @@ let self = _self // overrides; _self = with self; {
     name = "Email-Abstract-3.007";
     src = fetchurl {
       url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.007.tar.gz;
-      sha256 = "1a7aynf5jd5lr77x4k51hphnbmxf6p0s2gm1a6fbmxjqlnimm48h";
+      sha256 = "10915aa3a558f6ba9c51a13ea1c135aed765e185a14cd2cfc9b434599cf5eaa8";
     };
-    propagatedBuildInputs = [ EmailSimple MROCompat ];
+    propagatedBuildInputs = [ EmailSimple MROCompat ModulePluggable ];
     meta = {
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = https://github.com/rjbs/Email-Abstract;
+      description = "Unified interface to mail representations";
+      license = "perl";
     };
   };
 
@@ -3597,17 +3620,20 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  FileChangeNotify = buildPerlModule rec {
+  FileChangeNotify = buildPerlModule {
     name = "File-ChangeNotify-0.24";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "090i265f73jlcl5rv250791vw32j9vvl4nd5abc7myg0klb8109w";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/File-ChangeNotify-0.24.tar.gz;
+      sha256 = "3c8180169de0f97ad852a55942f74e520cbe433aa0889d0b65548ee38a111124";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs =
-      [ ClassMOP Moose MooseXParamsValidate MooseXSemiAffordanceAccessor
-        namespaceautoclean
-      ] ++ stdenv.lib.optional stdenv.isLinux LinuxInotify2;
+      [ ClassLoad ListMoreUtils ModulePluggable Moose MooseXParamsValidate MooseXSemiAffordanceAccessor namespaceautoclean ]
+      ++ stdenv.lib.optional stdenv.isLinux LinuxInotify2;
+    meta = {
+      description = "Watch for changes to files, cross-platform style";
+      license = "artistic_2";
+    };
   };
 
   Filechdir = buildPerlPackage rec {
@@ -5101,6 +5127,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  LogMessage = buildPerlPackage {
+    name = "Log-Message-0.08";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-0.08.tar.gz;
+      sha256 = "bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46";
+    };
+    propagatedBuildInputs = [ if_ ];
+    meta = {
+      description = "Powerful and flexible message logging mechanism";
+      license = "perl";
+    };
+  };
+
   LogTrace = buildPerlPackage rec {
     name = "Log-Trace-1.070";
     src = fetchurl {
@@ -5615,16 +5654,16 @@ let self = _self // overrides; _self = with self; {
   };
 
   ModuleInstall = buildPerlPackage {
-    name = "Module-Install-1.06";
+    name = "Module-Install-1.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/Module-Install-1.06.tar.gz;
-      sha256 = "06a5375q1cr21rzcr07z3n8w6hv611a9p199jrnpsj9vbcwwi7ny";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Module-Install-1.14.tar.gz;
+      sha256 = "3f02f0a33603aff2f5cf06d15f74d1a9be65e844ada99e1a9c2102330ffa0d49";
     };
     buildInputs = [ YAMLTiny ];
-    propagatedBuildInputs = [ FileRemove LWPUserAgent ModuleScanDeps PARDist YAMLTiny ];
+    propagatedBuildInputs = [ FileRemove ModuleScanDeps YAMLTiny ];
     meta = {
       description = "Standalone, extensible Perl module installer";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      license = "perl";
     };
   };
 
@@ -5748,14 +5787,15 @@ let self = _self // overrides; _self = with self; {
   };
 
   ModuleScanDeps = buildPerlPackage {
-    name = "Module-ScanDeps-1.10";
+    name = "Module-ScanDeps-1.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.10.tar.gz;
-      sha256 = "0z85zqvqpj2ck80sw91hmzn94q8m3s40anybw324xh3pcrm9cg5s";
+      url = mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.17.tar.gz;
+      sha256 = "1b2999344919826476c59e08e65e4877121b4da1e847c9f354841df688927dd2";
     };
+    buildInputs = [ TestRequires ];
     meta = {
       description = "Recursively scan Perl code for dependencies";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      license = "perl";
     };
   };
 
@@ -6235,17 +6275,17 @@ let self = _self // overrides; _self = with self; {
   };
 
   MooseXTypes = buildPerlPackage {
-    name = "MooseX-Types-0.35";
+    name = "MooseX-Types-0.45";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Types-0.35.tar.gz;
-      sha256 = "11namg9pjw328ybvj70cgn15aac093jwdm4jv0b173gb7vkflx8a";
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-0.45.tar.gz;
+      sha256 = "d01ff4a3db78e1150101b4b63569e4bce3ced3b5b0024c52c87575e0820609c7";
     };
-    buildInputs = [ TestFatal TestMoose TestRequires ];
-    propagatedBuildInputs = [ CarpClan Moose namespaceclean SubInstall SubName ];
+    buildInputs = [ ModuleBuildTiny Moose TestFatal TestRequires if_ ];
+    propagatedBuildInputs = [ CarpClan ModuleRuntime Moose SubExporter SubName namespaceautoclean ];
     meta = {
-      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
+      homepage = https://github.com/moose/MooseX-Types;
       description = "Organise your Moose types in libraries";
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      license = "perl";
     };
   };
 
@@ -6815,6 +6855,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ObjectAccessor = buildPerlPackage {
+    name = "Object-Accessor-0.48";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Object-Accessor-0.48.tar.gz;
+      sha256 = "76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade";
+    };
+    meta = {
+      description = "Per object accessors";
+      license = "perl";
+    };
+  };
+
   ObjectInsideOut = buildPerlPackage {
     name = "Object-InsideOut-3.98";
     src = fetchurl {
@@ -6887,6 +6939,18 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ NetOpenIDCommon JSON LWP ];
   };
 
+  PackageConstants = buildPerlPackage {
+    name = "Package-Constants-0.04";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Package-Constants-0.04.tar.gz;
+      sha256 = "7e09a88da2c0df24f498eb3a133f7d979404a7bc853f21afa2ba68dfd859a880";
+    };
+    meta = {
+      description = "List constants defined in a package";
+      license = "perl";
+    };
+  };
+
   PackageDeprecationManager = buildPerlPackage {
     name = "Package-DeprecationManager-0.13";
     src = fetchurl {
@@ -7541,11 +7605,15 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  RegexpCommon = buildPerlPackage rec {
-    name = "Regexp-Common-2.122";
+  RegexpCommon = buildPerlPackage {
+    name = "Regexp-Common-2013031301";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AB/ABIGAIL/${name}.tar.gz";
-      sha256 = "1mi411nfsx58nfsgjsbyck50x9d0yfvwqpw63iavajlpx1z38n8r";
+      url = mirror://cpan/authors/id/A/AB/ABIGAIL/Regexp-Common-2013031301.tar.gz;
+      sha256 = "729a8198d264aa64ecbb233ff990507f97fbb66bda746b95f3286f50f5f25c84";
+    };
+    meta = {
+      description = "Provide commonly requested regular expressions";
+      license = "mit";
     };
   };
 
@@ -9080,11 +9148,17 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ProbePerl IPCRun3];
   };
 
-  TestSharedFork = buildPerlPackage rec {
-    name = "Test-SharedFork-0.18";
+  TestSharedFork = buildPerlPackage {
+    name = "Test-SharedFork-0.29";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/${name}.tar.gz";
-      sha256 = "1wc41jzi780w75m2ry1038mzxyz7386r8rmhbnmj3krcdxy676cc";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-SharedFork-0.29.tar.gz;
+      sha256 = "63af7788cc35b9b7e6fa37c61220ca66abd6364d8bb90c20038e3d8241988a6e";
+    };
+    buildInputs = [ TestRequires ];
+    meta = {
+      homepage = https://github.com/tokuhirom/Test-SharedFork;
+      description = "Fork test";
+      license = "perl";
     };
   };
 
@@ -9725,10 +9799,15 @@ let self = _self // overrides; _self = with self; {
   };
 
   UNIVERSALcan = buildPerlPackage {
-    name = "UNIVERSAL-can-1.12";
+    name = "UNIVERSAL-can-1.20140328";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.12.tar.gz;
-      sha256 = "1abadbgcy11cmlmj9qf1v73ycic1qhysxv5xx81h8s4p81alialr";
+      url = mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.20140328.tar.gz;
+      sha256 = "522da9f274786fe2cba99bc77cc1c81d2161947903d7fad10bd62dfb7f11990f";
+    };
+    meta = {
+      homepage = https://github.com/chromatic/UNIVERSAL-can;
+      description = "Work around buggy code calling UNIVERSAL::can() as a function";
+      license = "perl";
     };
   };
 
@@ -10256,10 +10335,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   YAMLLibYAML = buildPerlPackage rec {
-    name = "YAML-LibYAML-0.41";
+    name = "YAML-LibYAML-0.52";
     src = fetchurl {
       url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz";
-      sha256 = "1kj506lpg3fhqq0726p6y2h7pk24l6xihfyhqqsf8gd6lckl8rcs";
+      sha256 = "14qajsfbi2syjz38iynj8c6qf0rv1zmy71kydzvvg9kcq1ib3h86";
     };
   };