From: Rafael Garcia-Suarez Date: Sun, 30 Aug 2009 20:18:08 +0000 (+0200) Subject: Move Module::CoreList to ext/ X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=3a02dfe7d9fa37ca3c82d050a5966c7e69f8b9f5;p=p5sagit%2Fp5-mst-13.2.git Move Module::CoreList to ext/ and add missing files from the CPAN distribution. Also adjust utils/corelist.PL to look for the corelist utility in the new directory. --- diff --git a/MANIFEST b/MANIFEST index 655fcd1..5a28462 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1054,6 +1054,17 @@ ext/MIME-Base64/t/base64.t See whether MIME::Base64 works ext/MIME-Base64/t/quoted-print.t See whether MIME::QuotedPrint works ext/MIME-Base64/t/unicode.t See whether MIME::Base64 works ext/MIME-Base64/t/warn.t See whether MIME::Base64 works +ext/Module-CoreList/Changes Module::CoreList Changes +ext/Module-CoreList/corelist The corelist command-line utility +ext/Module-CoreList/identify-dependencies A usage example for Module::CoreList +ext/Module-CoreList/lib/Module/CoreList.pm Module::CoreList +ext/Module-CoreList/Makefile.PL Module::CoreList +ext/Module-CoreList/MANIFEST Module::CoreList +ext/Module-CoreList/META.yml Module::CoreList +ext/Module-CoreList/README Module::CoreList +ext/Module-CoreList/t/corelist.t Module::CoreList tests +ext/Module-CoreList/t/find_modules.t Module::CoreList tests +ext/Module-CoreList/t/pod.t Module::CoreList tests ext/Module-Pluggable/lib/Devel/InnerPackage.pm Find inner packages ext/Module-Pluggable/lib/Module/Pluggable/Object.pm Module::Pluggable ext/Module-Pluggable/lib/Module/Pluggable.pm Module::Pluggable @@ -2746,10 +2757,6 @@ lib/Module/Build/t/write_default_maniskip.t Module::Build tests lib/Module/Build/t/xs.t Module::Build lib/Module/Build/Version.pm Module::Build lib/Module/Build/YAML.pm Module::Build -lib/Module/CoreList/bin/corelist Module::CoreList -lib/Module/CoreList.pm Module::CoreList -lib/Module/CoreList/t/corelist.t Module::CoreList -lib/Module/CoreList/t/find_modules.t Module::CoreList lib/Module/Load/Conditional.pm Module::Conditional lib/Module/Load/Conditional/t/01_Module_Load_Conditional.t Module::Conditional tests lib/Module/Load/Conditional/t/02_Parse_Version.t Module::Load::Conditional tests diff --git a/ext/Module-CoreList/Changes b/ext/Module-CoreList/Changes new file mode 100644 index 0000000..8826240 --- /dev/null +++ b/ext/Module-CoreList/Changes @@ -0,0 +1,153 @@ +2.18 Mon Aug 24 2009 + - Update for perl 5.10.1 + - Remove %patchlevel hash (now that perl uses git and not perforce) + - Add %upstream and %bug_tracker data (Nicholas Clark) + +2.17 Sun Jan 18 2009 + - Make $] work to select perl version for 5.1 and 5.10 (John Peacock) + - Add ExtUtils::Miniperl to the list of core modules for all versions + >= 5.00504 + - Add 5.8.9 + - Fix release date for 5.002 (Grant McLean) + +2.15 Tue Apr 1 2008 + - Add missing entries for Config.pm in recent perls + - Install in core location for perl >= 5.8.9 (Jerry D. Hedden) + +2.14 Mon Mar 17 2008 + corelist changes: + - Add a new -d option to find first perl version by date + and not by version number + - Better handling of perl versions that end with a 0 + - use version.pm only for version numbers that have multiple dots + + - Fix tag for 5.00405 (Sam Vilain) + +2.13 Tue Dec 18 2007 + - Add data for perl 5.10.0 + +2.12 Mon Jul 9 2007 + - Add data for perl 5.9.5 + +2.11 Thu May 10 2007 + - first_release() now returns the first release in the order of + perl version numbers. Add a new method first_release_by_date() + to keep the old behaviour available. Suggested by Michael G Schwern. + - Update data about UCD versions + +2.10 Wed May 9 2007 + - Add versioning for the Unicode Character Database bundled + with Perl (H. Merijn Brand) + +2.09 Thu Oct 5 2006 + - Make the dependency on version.pm optional + - Improve doc of corelist(1) + +2.08 Thu Sep 7 2006 + - Add data for 5.9.4 + +2.07 Wed Aug 9 2006 + - Regenerate data correctly for 5.8.7, 5.8.8, 5.9.2 and 5.9.3 + - Add OS-specific modules for those versions + +2.06 Tue Aug 1 2006 + Patches by Marius Feraru : + - handle dotted perl versions (e.g. 5.8.6) + - add an easy way to determine what was some module's version bundled + with a specified Perl release + +2.05 Tue Jun 6 2006 + Patches by Adriano Ferreira : + - corelist utility accepts regexes as arguments, eg. /IPC::Open/ + - Errors when building regexes are trapped and warning is generated + +2.04 Thursday 2nd February, 2006 + Fix patchlevel for 5.8.8 (Gisle Aas) + Silence warnings in corelist utility + +2.03 Wednesday 1st February, 2006 + Include data for perl 5.9.3 and 5.8.8 + +2.02 Tuesday 31th May, 2005 + Include data for perl 5.8.7 + +2.01 Sunday 24th April, 2005 + Allow to specify several modules on the corelist command-line + (Yves Orton) + Add a %patchlevel hash to get perforce patchlevels corresponding to + released versions + +2.00 Sunday 10th April, 2005 + Data from Sebastien Aperghis-Tramoni for perl 5.00{0,1,2}. + +1.99 Tuesday 5th April, 2005 + Backport to CPAN the version of Module::CoreList shipped with + perl 5.9.2 (containing info for this latest distribution). + Install in coreperl instead of sitelib for perls >= 5.9.2. + +1.98 Saturday 1st January, 2005 + Data from José Pedro Oliveira for 5.8.6 + +1.97 Wednesday 8th September, 2004 + Ship with a traditional Makefile.PL + +1.96 Monday 26th July, 2004 + Lars Thegler supplied many many fixes as #6922, #7085, #7086, + #7089, #7090, #7091, #7092, #7093, #7094, #7095, #7096, #7098, + #7099, #7100, and #7101 + Added the %families hash. + Small changes to the tests to ensure that things look consistent. + +1.95 Wednesday 21st July, 2004 + Data from José Pedro Oliveira for 5.8.4 and 5.8.5 + +1.94 Monday 12th July, 2004 + Applied fixes from Lars Thegler (rt.cpan.org tickets #6919, + #6920, #6922, and #6923) + Data from Jose Pedro Oliveira for 5.005_04, 5.8.3, and 5.9.1. + +1.93 Friday 14th November, 2003 + Data for 5.9.0 and 5.6.2 + +1.92 Friday 14th November, 2003 + Incorporated two patches submitted from anonymous reporters + via rt.cpan.org (#4358 and #4359, corelist enhancement and + information for 5.8.2) + Added 5.8.1 information. + +1.91 18th May 2003 + - Fix from Mark Fowler - XSLoader is autogenerated too + +1.9 22nd April 2003 + - incorported PodMaster's corelist script + +1.8 13th February 2003 + - reformatted Changes file to use makereadme + - fixed version of Exporter::Heavy for 5.8 (as caught by Leon Brocard) + +1.7 30th July 2002 + - HISTORY contents moved to this Changes file + - identify-dependencies script given some loving. + +1.6 July 2002 + - Included Config as a shipped module for all releases of perl + (caught by Mark Fowler) + - Added data for the 5.8 release. + +1.5 2nd April 2002 + - Fixed a glaring bug caught by the testsuite but sadly + released. perl5.004_05 was released post 5.005_03 and so + isn't the first release to contain File::Spec. + - Added data for 5.003_07, 5.004, and 5.005 releases. + - Added the %released hash. + +1.4 2nd April 2002 + - Bugfixes from Roland Bauer to allow the code to work under + 5.004_04. + - Using a cgi developed by Roland caught and fixed a number of + bugs in the previous extraction of module names. + - Rewrote the name extractor to be simpler. + - Added data for the 5.004_05 and 5.6.0 releases of perl. + +1.3 25th March 2002 + - Initial CPAN release, covers 5.00503, 5.6.1 and 5.7.3 diff --git a/ext/Module-CoreList/MANIFEST b/ext/Module-CoreList/MANIFEST new file mode 100644 index 0000000..0afea85 --- /dev/null +++ b/ext/Module-CoreList/MANIFEST @@ -0,0 +1,11 @@ +Changes +corelist +identify-dependencies +lib/Module/CoreList.pm +README +MANIFEST +Makefile.PL +META.yml +t/corelist.t +t/find_modules.t +t/pod.t diff --git a/ext/Module-CoreList/META.yml b/ext/Module-CoreList/META.yml new file mode 100644 index 0000000..a4a8d09 --- /dev/null +++ b/ext/Module-CoreList/META.yml @@ -0,0 +1,13 @@ +--- #YAML:1.0 +name: Module-CoreList +version: 2.18 +abstract: ~ +license: perl +author: ~ +generated_by: ExtUtils::MakeMaker version 6.42 +distribution_type: module +requires: + Test::More: 0 +meta-spec: + url: http://module-build.sourceforge.net/META-spec-v1.3.html + version: 1.3 diff --git a/ext/Module-CoreList/Makefile.PL b/ext/Module-CoreList/Makefile.PL new file mode 100644 index 0000000..cea2448 --- /dev/null +++ b/ext/Module-CoreList/Makefile.PL @@ -0,0 +1,17 @@ +use ExtUtils::MakeMaker; + +push @extra, 'INSTALLDIRS' => 'perl' if $] >= 5.008009; + +WriteMakefile +( + 'NAME' => 'Module::CoreList', + 'VERSION_FROM' => 'lib/Module/CoreList.pm', + 'PREREQ_PM' => { + 'Test::More' => '0', + }, + 'EXE_FILES' => [ 'corelist' ], + 'PL_FILES' => {}, + LICENSE => 'perl', + @extra, +) +; diff --git a/ext/Module-CoreList/README b/ext/Module-CoreList/README new file mode 100644 index 0000000..3e143b0 --- /dev/null +++ b/ext/Module-CoreList/README @@ -0,0 +1,56 @@ +README for Module::CoreList 2.18 + +=head1 NAME + +Module::CoreList - what modules shipped with versions of perl + +=head1 SYNOPSIS + + use Module::CoreList; + + print $Module::CoreList::version{5.00503}{CPAN}; # prints 1.48 + + print Module::CoreList->first_release('File::Spec'); # prints 5.00503 + print Module::CoreList->first_release('File::Spec', 0.82); # prints 5.006001 + + print join ", ", @{ $Module::CoreList::families{5.005} }; + # prints "5.005, 5.00503, 5.00504" + + +=head1 DEPENDENCIES + +This module has external dependencies on the following modules: + + Test::More + +=head1 INSTALLATION + + perl Makefile.PL + make + make test + +and if all goes well + + make install + +=head1 HISTORY + +See the F file. + +=head1 AUTHOR + +Richard Clamp Erichardc@unixbeard.netE + +Currently maintained by the perl 5 porters Eperl5-porters@perl.orgE. + +=head1 COPYRIGHT + +Copyright (C) 2002-2009 Richard Clamp. All Rights Reserved. + +This module is free software; you can redistribute it and/or modify it +under the same terms as Perl itself. + +=head1 SEE ALSO + +L, L + diff --git a/lib/Module/CoreList/bin/corelist b/ext/Module-CoreList/corelist similarity index 100% rename from lib/Module/CoreList/bin/corelist rename to ext/Module-CoreList/corelist diff --git a/ext/Module-CoreList/identify-dependencies b/ext/Module-CoreList/identify-dependencies new file mode 100644 index 0000000..1e33f2d --- /dev/null +++ b/ext/Module-CoreList/identify-dependencies @@ -0,0 +1,28 @@ +#!/usr/local/perl5.6.1/bin/perl -w +use strict; +use warnings; +use Module::CoreList; + +use vars qw/%modules/; + +my @files = @ARGV; +unless (@files) { + print "$0: using test scripts\n"; + @files = grep { -e $_ } 'test.pl', glob 't/*.t'; +} + +print "$0: checking ", join(', ', @files), "\n"; + +my @used; +for (@files) { + open my $fh, "$^X -Mblib -MModule::CoreList=dumpinc $_|" + or die "couldn't fork $!"; + while (<$fh>) { last if /^---INC---/ } + push @used, map { chomp; s{/}{::}g; s{\.pm$}{}; $_ } <$fh>; +} + +*modules = \%Module::CoreList::version; +my %uniq = map { $_ => 0 } grep { !exists $modules{$]}{$_} } @used; + +use Data::Dumper; +print Dumper \%uniq; diff --git a/lib/Module/CoreList.pm b/ext/Module-CoreList/lib/Module/CoreList.pm similarity index 100% rename from lib/Module/CoreList.pm rename to ext/Module-CoreList/lib/Module/CoreList.pm diff --git a/lib/Module/CoreList/t/corelist.t b/ext/Module-CoreList/t/corelist.t similarity index 100% rename from lib/Module/CoreList/t/corelist.t rename to ext/Module-CoreList/t/corelist.t diff --git a/lib/Module/CoreList/t/find_modules.t b/ext/Module-CoreList/t/find_modules.t similarity index 100% rename from lib/Module/CoreList/t/find_modules.t rename to ext/Module-CoreList/t/find_modules.t diff --git a/ext/Module-CoreList/t/pod.t b/ext/Module-CoreList/t/pod.t new file mode 100644 index 0000000..fabf93f --- /dev/null +++ b/ext/Module-CoreList/t/pod.t @@ -0,0 +1,10 @@ +#!perl + +use Test::More; +eval "use Test::Pod 1.00"; +plan skip_all => "Test::Pod 1.00 required for testing POD" if $@; + +plan tests => 2; + +pod_file_ok( 'lib/Module/CoreList.pm', 'module pod ok' ); +pod_file_ok( 'corelist', 'script pod ok' ); diff --git a/lib/.gitignore b/lib/.gitignore index 3309b9b..3e7e8fe 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -48,6 +48,7 @@ /List /MIME /Math/BigInt/FastCalc.pm +/Module/CoreList.pm /Module/Pluggable.pm /Module/Pluggable /Net/Ping.pm diff --git a/utils/corelist.PL b/utils/corelist.PL index fd1afbb..1d82250 100644 --- a/utils/corelist.PL +++ b/utils/corelist.PL @@ -35,7 +35,7 @@ use File::Spec; my $script = File::Spec->catfile( File::Spec->catdir( - File::Spec->updir, qw[lib Module CoreList bin] + File::Spec->updir, qw[ext Module-CoreList] ), "corelist"); if (open(IN, $script)) {