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"; }; };