Fix various Perl packages

Perl 5.20 removed some modules, in particular Module::Pluggable. So
now other modules need to get it from CPAN.

http://hydra.nixos.org/build/17450281

Changed files
+147 -68
maintainers
pkgs
top-level
+2 -2
maintainers/scripts/nix-generate-from-cpan.nix
···
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";
···
maintainers = [ stdenv.lib.maintainers.eelco ];
description = "Utility to generate a Nix expression for a Perl package from CPAN";
};
-
}
+
}
+1 -1
maintainers/scripts/nix-generate-from-cpan.pl
···
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";
+144 -65
pkgs/top-level/perl-packages.nix
···
};
};
+
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 {
···
};
};
-
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";
···
};
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";
};
};
···
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";
};
};
···
};
};
+
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 {
···
};
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";
};
};
···
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";
};
};
···
};
};
-
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 {
···
};
};
+
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 {
···
};
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";
};
};
···
};
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";
};
};
···
};
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";
};
};
···
};
};
+
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 {
···
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 {
···
};
};
-
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";
};
};
···
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";
};
};
···
};
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";
};
};
···
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";