In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/b6e9e118a4133eb96eb5e5de209ea6a37fd15bfe?hp=4690a2e02d47daf03446be6bc0143d8aa16bdb9f>
- Log ----------------------------------------------------------------- commit b6e9e118a4133eb96eb5e5de209ea6a37fd15bfe Author: Karen Etheridge <et...@cpan.org> Date: Thu Aug 18 12:47:41 2016 -0700 always use the core serializers in EUMM for core tests M cpan/ExtUtils-MakeMaker/t/min_perl_version.t M cpan/ExtUtils-MakeMaker/t/several_authors.t commit 20dbe1c7dfa1982373fd6506d893439d0de91db0 Author: Karen Etheridge <et...@cpan.org> Date: Thu Aug 18 11:35:11 2016 -0700 regenerate META.* using new CPAN::Meta, and always use the core serializers M META.json M META.yml M Porting/makemeta commit c4159eb1857da384b4da75beaa2bf70d846837dd Author: Karen Etheridge <et...@cpan.org> Date: Fri Aug 19 19:24:49 2016 -0400 Changes manually performed for one file. cpan/CPAN-Meta/Lib/CPAN/Meta.pm was being very naughty when it came to being the target of 'git am'. As committer, I extracted the diff for that file from the patch supplied by the author and attempted to apply it via 'git apply'. Still no luck. Hence, I manually edited the source file. For: RT #128987 M cpan/CPAN-Meta/lib/CPAN/Meta.pm commit 72447efac72ce7c46e621d5b1f802364ecd575a8 Author: James E Keenan <jkee...@cpan.org> Date: Fri Aug 19 19:45:33 2016 -0400 Manually remove file recalcitrant to 'git am'. D cpan/Parse-CPAN-Meta/corpus/BadMETA.yml commit f33f0562d25702270132a7cd9a85866f61c34473 Author: Karen Etheridge <et...@cpan.org> Date: Thu Aug 18 10:14:00 2016 -0700 Upgrade CPAN-Meta from 2.150005 -> 2.150010 (Parse-CPAN-Meta now combined into this distribution) 2.150010 2016-08-18 12:10:08-04:00 America/New_York [FIXED] - the YAML and JSON backend variables are ignored when building/testing the perl core itself, where non-core backends are not yet installed. [CHANGED] - Added "use warnings" to Parse::CPAN::Meta 2.150009 2016-07-02 21:07:49-04:00 America/New_York (TRIAL RELEASE) [FIXED] - Fixed used of Encode in Parse::CPAN::Meta::load_json_string (Cherry picked from Parse::CPAN::Meta 1.4422) 2.150008 2016-06-28 17:01:03-04:00 America/New_York (TRIAL RELEASE) [ADDED] - Merged Parse::CPAN::Meta 1.4420 into this distribution 2.150007 2016-06-28 03:48:16-04:00 America/New_York (TRIAL RELEASE) [FIXED] - The cloning routine would raise an error on expected types when it previously would stringify. The old behavior is restored. 2.150006 2016-06-23 20:05:46-04:00 America/New_York (TRIAL RELEASE) [FIXED] - CPAN::Meta::Prereqs now fully accepts phases and types starting with 'x_'. New 'phases' and 'types_in' interfaces have been added. - No longer relies on JSON backend for data structure cloning. This is much faster than using JSON::PP. [TESTS] - The 'extra_mappings' feature for meta merging is now tested and documented. - During tests, delete new environment variables added by Parse::CPAN::Meta 1.4418 [SPEC] - Clarifies acceptable values for booleans - Cleaned up text and links of historical specs. M MANIFEST M Porting/Maintainers.pl A cpan/CPAN-Meta/corpus/BadMETA.yml R100 cpan/Parse-CPAN-Meta/corpus/CL018_yaml.meta cpan/CPAN-Meta/corpus/CL018_yaml.meta R100 cpan/Parse-CPAN-Meta/corpus/META-VR.json cpan/CPAN-Meta/corpus/META-VR.json R100 cpan/Parse-CPAN-Meta/corpus/META-VR.yml cpan/CPAN-Meta/corpus/META-VR.yml R100 cpan/Parse-CPAN-Meta/corpus/bareyaml.meta cpan/CPAN-Meta/corpus/bareyaml.meta R100 cpan/Parse-CPAN-Meta/corpus/json.meta cpan/CPAN-Meta/corpus/json.meta R100 cpan/Parse-CPAN-Meta/corpus/yaml.meta cpan/CPAN-Meta/corpus/yaml.meta M cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm M cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm M cpan/CPAN-Meta/lib/CPAN/Meta/History.pm M cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod M cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod M cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod M cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod M cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod M cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm M cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm M cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm M cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm R088 cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm cpan/CPAN-Meta/lib/Parse/CPAN/Meta.pm A cpan/CPAN-Meta/t/README-data.txt M cpan/CPAN-Meta/t/converter-bad.t M cpan/CPAN-Meta/t/converter-fail.t M cpan/CPAN-Meta/t/converter-fragments.t M cpan/CPAN-Meta/t/converter.t A cpan/CPAN-Meta/t/data-test/x_deprecated-META.json A cpan/CPAN-Meta/t/data-valid/META-1_4.yml A cpan/CPAN-Meta/t/data-valid/META-2.json A cpan/CPAN-Meta/t/data-valid/x_deprecated-META.yml R100 cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm cpan/CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm M cpan/CPAN-Meta/t/load-bad.t M cpan/CPAN-Meta/t/merge.t M cpan/CPAN-Meta/t/meta-obj.t M cpan/CPAN-Meta/t/no-index.t M cpan/CPAN-Meta/t/optional_feature-merge.t R084 cpan/Parse-CPAN-Meta/t/02_api.t cpan/CPAN-Meta/t/parse-cpan-meta/02_api.t R100 cpan/Parse-CPAN-Meta/t/03_functions.t cpan/CPAN-Meta/t/parse-cpan-meta/03_functions.t R100 cpan/Parse-CPAN-Meta/t/04_export.t cpan/CPAN-Meta/t/parse-cpan-meta/04_export.t R100 cpan/Parse-CPAN-Meta/t/05_errors.t cpan/CPAN-Meta/t/parse-cpan-meta/05_errors.t M cpan/CPAN-Meta/t/prereqs-finalize.t M cpan/CPAN-Meta/t/prereqs-merge.t M cpan/CPAN-Meta/t/prereqs.t M cpan/CPAN-Meta/t/repository.t M cpan/CPAN-Meta/t/save-load.t M cpan/CPAN-Meta/t/validator.t M t/TEST ----------------------------------------------------------------------- Summary of changes: MANIFEST | 31 +++-- META.json | 2 +- META.yml | 2 +- Porting/Maintainers.pl | 16 +-- Porting/makemeta | 4 + .../corpus/BadMETA.yml | 48 +++---- .../corpus/CL018_yaml.meta | 0 .../corpus/META-VR.json | 0 .../corpus/META-VR.yml | 0 .../corpus/bareyaml.meta | 0 .../corpus/json.meta | 0 .../corpus/yaml.meta | 0 cpan/CPAN-Meta/lib/CPAN/Meta.pm | 28 +++- cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm | 58 +++++--- cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm | 10 +- cpan/CPAN-Meta/lib/CPAN/Meta/History.pm | 10 +- cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod | 50 ++++--- cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod | 50 ++++--- cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod | 104 +++++++------- cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod | 122 +++++++++-------- cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod | 149 +++++++++------------ cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm | 68 +++++++++- cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm | 73 +++++++++- cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm | 17 ++- cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm | 20 +-- .../lib/Parse/CPAN/Meta.pm | 96 ++++--------- cpan/CPAN-Meta/t/README-data.txt | 15 +++ cpan/CPAN-Meta/t/converter-bad.t | 7 +- cpan/CPAN-Meta/t/converter-fail.t | 7 +- cpan/CPAN-Meta/t/converter-fragments.t | 5 +- cpan/CPAN-Meta/t/converter.t | 7 +- cpan/CPAN-Meta/t/data-test/x_deprecated-META.json | 148 ++++++++++++++++++++ cpan/CPAN-Meta/t/data-valid/META-1_4.yml | 49 +++++++ .../t/{data-fail => data-valid}/META-2.json | 98 +++++++------- cpan/CPAN-Meta/t/data-valid/x_deprecated-META.yml | 91 +++++++++++++ .../t/lib/Parse/CPAN/Meta/Test.pm | 0 cpan/CPAN-Meta/t/load-bad.t | 5 +- cpan/CPAN-Meta/t/merge.t | 56 +++++++- cpan/CPAN-Meta/t/meta-obj.t | 44 +++++- cpan/CPAN-Meta/t/no-index.t | 5 +- cpan/CPAN-Meta/t/optional_feature-merge.t | 5 + .../t => CPAN-Meta/t/parse-cpan-meta}/02_api.t | 31 +++-- .../t/parse-cpan-meta}/03_functions.t | 0 .../t => CPAN-Meta/t/parse-cpan-meta}/04_export.t | 0 .../t => CPAN-Meta/t/parse-cpan-meta}/05_errors.t | 0 cpan/CPAN-Meta/t/prereqs-finalize.t | 5 +- cpan/CPAN-Meta/t/prereqs-merge.t | 33 ++++- cpan/CPAN-Meta/t/prereqs.t | 18 ++- cpan/CPAN-Meta/t/repository.t | 5 +- cpan/CPAN-Meta/t/save-load.t | 7 +- cpan/CPAN-Meta/t/validator.t | 7 +- cpan/ExtUtils-MakeMaker/t/min_perl_version.t | 1 + cpan/ExtUtils-MakeMaker/t/several_authors.t | 1 + t/TEST | 2 - 54 files changed, 1106 insertions(+), 504 deletions(-) rename cpan/{Parse-CPAN-Meta => CPAN-Meta}/corpus/BadMETA.yml (95%) rename cpan/{Parse-CPAN-Meta => CPAN-Meta}/corpus/CL018_yaml.meta (100%) rename cpan/{Parse-CPAN-Meta => CPAN-Meta}/corpus/META-VR.json (100%) rename cpan/{Parse-CPAN-Meta => CPAN-Meta}/corpus/META-VR.yml (100%) rename cpan/{Parse-CPAN-Meta => CPAN-Meta}/corpus/bareyaml.meta (100%) rename cpan/{Parse-CPAN-Meta => CPAN-Meta}/corpus/json.meta (100%) rename cpan/{Parse-CPAN-Meta => CPAN-Meta}/corpus/yaml.meta (100%) rename cpan/{Parse-CPAN-Meta => CPAN-Meta}/lib/Parse/CPAN/Meta.pm (88%) create mode 100644 cpan/CPAN-Meta/t/README-data.txt create mode 100644 cpan/CPAN-Meta/t/data-test/x_deprecated-META.json create mode 100644 cpan/CPAN-Meta/t/data-valid/META-1_4.yml copy cpan/CPAN-Meta/t/{data-fail => data-valid}/META-2.json (77%) create mode 100644 cpan/CPAN-Meta/t/data-valid/x_deprecated-META.yml rename cpan/{Parse-CPAN-Meta => CPAN-Meta}/t/lib/Parse/CPAN/Meta/Test.pm (100%) rename cpan/{Parse-CPAN-Meta/t => CPAN-Meta/t/parse-cpan-meta}/02_api.t (84%) rename cpan/{Parse-CPAN-Meta/t => CPAN-Meta/t/parse-cpan-meta}/03_functions.t (100%) rename cpan/{Parse-CPAN-Meta/t => CPAN-Meta/t/parse-cpan-meta}/04_export.t (100%) rename cpan/{Parse-CPAN-Meta/t => CPAN-Meta/t/parse-cpan-meta}/05_errors.t (100%) diff --git a/MANIFEST b/MANIFEST index 34b34e6..7834a2c 100644 --- a/MANIFEST +++ b/MANIFEST @@ -292,6 +292,13 @@ cpan/CPAN/t/02nox.t See if CPAN::Nox works cpan/CPAN/t/03pkgs.t See if CPAN::Version works cpan/CPAN/t/10version.t See if CPAN the module works cpan/CPAN/t/11mirroredby.t See if CPAN::Mirrored::By works +cpan/CPAN-Meta/corpus/BadMETA.yml +cpan/CPAN-Meta/corpus/bareyaml.meta +cpan/CPAN-Meta/corpus/CL018_yaml.meta +cpan/CPAN-Meta/corpus/json.meta +cpan/CPAN-Meta/corpus/META-VR.json +cpan/CPAN-Meta/corpus/META-VR.yml +cpan/CPAN-Meta/corpus/yaml.meta cpan/CPAN-Meta/lib/CPAN/Meta.pm cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm @@ -305,6 +312,7 @@ cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm +cpan/CPAN-Meta/lib/Parse/CPAN/Meta.pm cpan/CPAN-Meta/t/converter.t cpan/CPAN-Meta/t/converter-bad.t cpan/CPAN-Meta/t/converter-fail.t @@ -351,21 +359,31 @@ cpan/CPAN-Meta/t/data-test/unicode.yml cpan/CPAN-Meta/t/data-test/version-not-normal.json cpan/CPAN-Meta/t/data-test/version-ranges-1_4.yml cpan/CPAN-Meta/t/data-test/version-ranges-2.json +cpan/CPAN-Meta/t/data-test/x_deprecated-META.json cpan/CPAN-Meta/t/data-valid/1122575719-META.yml cpan/CPAN-Meta/t/data-valid/1206545041-META.yml cpan/CPAN-Meta/t/data-valid/1985684504-META.yml cpan/CPAN-Meta/t/data-valid/476602558-META.yml cpan/CPAN-Meta/t/data-valid/META-1_0.yml cpan/CPAN-Meta/t/data-valid/META-1_1.yml +cpan/CPAN-Meta/t/data-valid/META-1_4.yml +cpan/CPAN-Meta/t/data-valid/META-2.json cpan/CPAN-Meta/t/data-valid/scalar-meta-spec.yml +cpan/CPAN-Meta/t/data-valid/x_deprecated-META.yml +cpan/CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm cpan/CPAN-Meta/t/load-bad.t cpan/CPAN-Meta/t/merge.t cpan/CPAN-Meta/t/meta-obj.t cpan/CPAN-Meta/t/no-index.t cpan/CPAN-Meta/t/optional_feature-merge.t +cpan/CPAN-Meta/t/parse-cpan-meta/02_api.t +cpan/CPAN-Meta/t/parse-cpan-meta/03_functions.t +cpan/CPAN-Meta/t/parse-cpan-meta/04_export.t +cpan/CPAN-Meta/t/parse-cpan-meta/05_errors.t cpan/CPAN-Meta/t/prereqs.t cpan/CPAN-Meta/t/prereqs-finalize.t cpan/CPAN-Meta/t/prereqs-merge.t +cpan/CPAN-Meta/t/README-data.txt cpan/CPAN-Meta/t/repository.t cpan/CPAN-Meta/t/save-load.t cpan/CPAN-Meta/t/validator.t @@ -1872,19 +1890,6 @@ cpan/parent/t/parent-classfromclassfile.t tests for parent.pm cpan/parent/t/parent-classfromfile.t tests for parent.pm cpan/parent/t/parent-pmc.t tests for parent.pm cpan/parent/t/parent-returns-false.t tests for parent.pm -cpan/Parse-CPAN-Meta/corpus/BadMETA.yml -cpan/Parse-CPAN-Meta/corpus/bareyaml.meta -cpan/Parse-CPAN-Meta/corpus/CL018_yaml.meta -cpan/Parse-CPAN-Meta/corpus/json.meta -cpan/Parse-CPAN-Meta/corpus/META-VR.json -cpan/Parse-CPAN-Meta/corpus/META-VR.yml -cpan/Parse-CPAN-Meta/corpus/yaml.meta -cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm -cpan/Parse-CPAN-Meta/t/02_api.t -cpan/Parse-CPAN-Meta/t/03_functions.t -cpan/Parse-CPAN-Meta/t/04_export.t -cpan/Parse-CPAN-Meta/t/05_errors.t -cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm cpan/Perl-OSType/lib/Perl/OSType.pm Perl::OSType cpan/Perl-OSType/t/OSType.t Perl::OSType cpan/perlfaq/lib/perlfaq.pm Perl frequently asked questions diff --git a/META.json b/META.json index 5458851..aa68709 100644 --- a/META.json +++ b/META.json @@ -4,7 +4,7 @@ "perl5-port...@perl.org" ], "dynamic_config" : 1, - "generated_by" : "CPAN::Meta version 2.150005", + "generated_by" : "CPAN::Meta version 2.150010", "license" : [ "perl_5" ], diff --git a/META.yml b/META.yml index 1253e9d..25a0777 100644 --- a/META.yml +++ b/META.yml @@ -4,7 +4,7 @@ author: - perl5-port...@perl.org build_requires: {} dynamic_config: 1 -generated_by: 'CPAN::Meta version 2.150005, CPAN::Meta::Converter version 2.150005' +generated_by: 'CPAN::Meta version 2.150010, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl index 1a59e09..07d45c1 100755 --- a/Porting/Maintainers.pl +++ b/Porting/Maintainers.pl @@ -305,14 +305,12 @@ use File::Glob qw(:case); # Note: When updating CPAN-Meta the META.* files will need to be regenerated # perl -Icpan/CPAN-Meta/lib Porting/makemeta 'CPAN::Meta' => { - 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150005.tar.gz', + 'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.150010.tar.gz', 'FILES' => q[cpan/CPAN-Meta], 'EXCLUDED' => [ qw[t/00-report-prereqs.t t/00-report-prereqs.dd - t/data-test/x_deprecated-META.json - t/data-valid/x_deprecated-META.yml - t/README-data.txt], + ], qr{^xt}, qr{^history}, ], @@ -898,16 +896,6 @@ use File::Glob qw(:case); 'FILES' => q[cpan/parent], }, - 'Parse::CPAN::Meta' => { - 'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4422.tar.gz', - 'FILES' => q[cpan/Parse-CPAN-Meta], - 'EXCLUDED' => [ - qw[t/00-report-prereqs.dd], - qw[t/00-report-prereqs.t], - qr{^xt}, - ], - }, - 'PathTools' => { 'DISTRIBUTION' => 'RJBS/PathTools-3.62.tar.gz', 'FILES' => q[dist/PathTools], diff --git a/Porting/makemeta b/Porting/makemeta index cb6944e..9259b20 100644 --- a/Porting/makemeta +++ b/Porting/makemeta @@ -8,6 +8,10 @@ use strict; use warnings; use Getopt::Std; +# avoid unnecessary churn in x_serialization_backend in META.* +$ENV{PERL_JSON_BACKEND} = $ENV{CPAN_META_JSON_BACKEND} = 'JSON::PP'; +$ENV{PERL_YAML_BACKEND} = 'CPAN::Meta::YAML'; + my $opts = { 'META.yml' => { version => '1.4' }, 'META.json' => { version => '2' }, diff --git a/cpan/Parse-CPAN-Meta/corpus/BadMETA.yml b/cpan/CPAN-Meta/corpus/BadMETA.yml similarity index 95% rename from cpan/Parse-CPAN-Meta/corpus/BadMETA.yml rename to cpan/CPAN-Meta/corpus/BadMETA.yml index 79fece3..ef0b0f8 100644 --- a/cpan/Parse-CPAN-Meta/corpus/BadMETA.yml +++ b/cpan/CPAN-Meta/corpus/BadMETA.yml @@ -1,24 +1,24 @@ ---- -abstract: ~ -author: - - 'Olivier Mengué' -build_requires: - ExtUtils::MakeMaker: 6.36 -configure_requires: - ExtUtils::MakeMaker: 6.36 -distribution_type: module -dynamic_config: 1 -generated_by: 'Module::Install version 1.06' -license: perl -meta-spec: - url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 -name: Foo -no_index: - directory: - - inc -requires: - perl: 5.005 -resources: - license: http://dev.perl.org/licenses/ -version: 0.01 +--- +abstract: ~ +author: + - 'Olivier Mengué' +build_requires: + ExtUtils::MakeMaker: 6.36 +configure_requires: + ExtUtils::MakeMaker: 6.36 +distribution_type: module +dynamic_config: 1 +generated_by: 'Module::Install version 1.06' +license: perl +meta-spec: + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: 1.4 +name: Foo +no_index: + directory: + - inc +requires: + perl: 5.005 +resources: + license: http://dev.perl.org/licenses/ +version: 0.01 diff --git a/cpan/Parse-CPAN-Meta/corpus/CL018_yaml.meta b/cpan/CPAN-Meta/corpus/CL018_yaml.meta similarity index 100% rename from cpan/Parse-CPAN-Meta/corpus/CL018_yaml.meta rename to cpan/CPAN-Meta/corpus/CL018_yaml.meta diff --git a/cpan/Parse-CPAN-Meta/corpus/META-VR.json b/cpan/CPAN-Meta/corpus/META-VR.json similarity index 100% rename from cpan/Parse-CPAN-Meta/corpus/META-VR.json rename to cpan/CPAN-Meta/corpus/META-VR.json diff --git a/cpan/Parse-CPAN-Meta/corpus/META-VR.yml b/cpan/CPAN-Meta/corpus/META-VR.yml similarity index 100% rename from cpan/Parse-CPAN-Meta/corpus/META-VR.yml rename to cpan/CPAN-Meta/corpus/META-VR.yml diff --git a/cpan/Parse-CPAN-Meta/corpus/bareyaml.meta b/cpan/CPAN-Meta/corpus/bareyaml.meta similarity index 100% rename from cpan/Parse-CPAN-Meta/corpus/bareyaml.meta rename to cpan/CPAN-Meta/corpus/bareyaml.meta diff --git a/cpan/Parse-CPAN-Meta/corpus/json.meta b/cpan/CPAN-Meta/corpus/json.meta similarity index 100% rename from cpan/Parse-CPAN-Meta/corpus/json.meta rename to cpan/CPAN-Meta/corpus/json.meta diff --git a/cpan/Parse-CPAN-Meta/corpus/yaml.meta b/cpan/CPAN-Meta/corpus/yaml.meta similarity index 100% rename from cpan/Parse-CPAN-Meta/corpus/yaml.meta rename to cpan/CPAN-Meta/corpus/yaml.meta diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta.pm b/cpan/CPAN-Meta/lib/CPAN/Meta.pm index afbb221..4a8e65c 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta.pm @@ -3,7 +3,7 @@ use strict; use warnings; package CPAN::Meta; -our $VERSION = '2.150005'; +our $VERSION = '2.150010'; #pod =head1 SYNOPSIS #pod @@ -650,7 +650,7 @@ CPAN::Meta - the distribution metadata for a CPAN dist =head1 VERSION -version 2.150005 +version 2.150010 =head1 SYNOPSIS @@ -1031,11 +1031,15 @@ David Golden <dagol...@cpan.org> Ricardo Signes <r...@cpan.org> +=item * + +Adam Kennedy <ad...@cpan.org> + =back =head1 CONTRIBUTORS -=for stopwords Ansgar Burchardt Avar Arnfjord Bjarmason Christopher J. Madsen Chuck Adams Cory G Watson Damyan Ivanov Eric Wilhelm Graham Knop Gregor Hermann Karen Etheridge Kenichi Ishigaki Ken Will ... [167 chars truncated] +=for stopwords Ansgar Burchardt Avar Arnfjord Bjarmason Benjamin Noggle Christopher J. Madsen Chuck Adams Cory G Watson Damyan Ivanov David Golden Eric Wilhelm Graham Knop Gregor Hermann Karen Etheri ... [224 chars truncated] =over 4 @@ -1049,6 +1053,10 @@ Avar Arnfjord Bjarmason <a...@cpan.org> =item * +Benjamin Noggle <agw...@users.noreply.github.com> + +=item * + Christopher J. Madsen <c...@cpan.org> =item * @@ -1065,6 +1073,10 @@ Damyan Ivanov <d...@cpan.org> =item * +David Golden <x...@xdg.me> + +=item * + Eric Wilhelm <ewilh...@cpan.org> =item * @@ -1085,6 +1097,10 @@ Kenichi Ishigaki <ishig...@cpan.org> =item * +Kent Fredric <kentfred...@gmail.com> + +=item * + Ken Williams <kwilli...@cpan.org> =item * @@ -1113,6 +1129,10 @@ Michael G. Schwern <mschw...@cpan.org> =item * +Mohammad S Anwar <mohammad.an...@yahoo.com> + +=item * + mohawk2 <moha...@users.noreply.github.com> =item * @@ -1143,7 +1163,7 @@ Tomohiro Hosaka <boku...@bokut.in> =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2010 by David Golden and Ricardo Signes. +This software is copyright (c) 2010 by David Golden, Ricardo Signes, Adam Kennedy and Contributors. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm index 03806bc..0a52dcc 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm @@ -3,7 +3,7 @@ use strict; use warnings; package CPAN::Meta::Converter; -our $VERSION = '2.150005'; +our $VERSION = '2.150010'; #pod =head1 SYNOPSIS #pod @@ -43,22 +43,36 @@ BEGIN { # Perl 5.10.0 didn't have "is_qv" in version.pm *_is_qv = version->can('is_qv') ? sub { $_[0]->is_qv } : sub { exists $_[0]->{qv} }; +# We limit cloning to a maximum depth to bail out on circular data +# structures. While actual cycle detection might be technically better, +# we expect circularity in META data structures to be rare and generally +# the result of user error. Therefore, a depth counter is lower overhead. +our $DCLONE_MAXDEPTH = 1024; +our $_CLONE_DEPTH; + sub _dclone { - my $ref = shift; - - # if an object is in the data structure and doesn't specify how to - # turn itself into JSON, we just stringify the object. That does the - # right thing for typical things that might be there, like version objects, - # Path::Class objects, etc. - no warnings 'once'; - no warnings 'redefine'; - local *UNIVERSAL::TO_JSON = sub { "$_[0]" }; - - my $json = Parse::CPAN::Meta->json_backend()->new - ->utf8 - ->allow_blessed - ->convert_blessed; - $json->decode($json->encode($ref)) + my ( $ref ) = @_; + return $ref unless my $reftype = ref $ref; + + local $_CLONE_DEPTH = defined $_CLONE_DEPTH ? $_CLONE_DEPTH - 1 : $DCLONE_MAXDEPTH; + die "Depth Limit $DCLONE_MAXDEPTH Exceeded" if $_CLONE_DEPTH == 0; + + return [ map { _dclone( $_ ) } @{$ref} ] if 'ARRAY' eq $reftype; + return { map { $_ => _dclone( $ref->{$_} ) } keys %{$ref} } if 'HASH' eq $reftype; + + if ( 'SCALAR' eq $reftype ) { + my $new = _dclone(${$ref}); + return \$new; + } + + # We can't know if TO_JSON gives us cloned data, so refs must recurse + if ( eval { $ref->can('TO_JSON') } ) { + my $data = $ref->TO_JSON; + return ref $data ? _dclone( $data ) : $data; + } + + # Just stringify everything else + return "$ref"; } my %known_specs = ( @@ -333,7 +347,7 @@ sub _no_index_directory { my ($element, $key, $meta, $version) = @_; return unless $element; - # cleanup wrong format + # clean up wrong format if ( ! ref $element ) { my $item = $element; $element = { directory => [ $item ], file => [ $item ] }; @@ -421,7 +435,7 @@ sub _version_map { } elsif ( ref $element eq 'ARRAY' ) { my $hashref = { map { $_ => 0 } @$element }; - return _version_map($hashref); # cleanup any weird stuff + return _version_map($hashref); # clean up any weird stuff } elsif ( ref $element eq '' && length $element ) { return { $element => 0 } @@ -1499,7 +1513,7 @@ CPAN::Meta::Converter - Convert CPAN distribution metadata structures =head1 VERSION -version 2.150005 +version 2.150010 =head1 SYNOPSIS @@ -1622,11 +1636,15 @@ David Golden <dagol...@cpan.org> Ricardo Signes <r...@cpan.org> +=item * + +Adam Kennedy <ad...@cpan.org> + =back =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2010 by David Golden and Ricardo Signes. +This software is copyright (c) 2010 by David Golden, Ricardo Signes, Adam Kennedy and Contributors. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm index 9dac4f4..f610349 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm @@ -3,7 +3,7 @@ use strict; use warnings; package CPAN::Meta::Feature; -our $VERSION = '2.150005'; +our $VERSION = '2.150010'; use CPAN::Meta::Prereqs; @@ -77,7 +77,7 @@ CPAN::Meta::Feature - an optional feature provided by a CPAN distribution =head1 VERSION -version 2.150005 +version 2.150010 =head1 DESCRIPTION @@ -132,11 +132,15 @@ David Golden <dagol...@cpan.org> Ricardo Signes <r...@cpan.org> +=item * + +Adam Kennedy <ad...@cpan.org> + =back =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2010 by David Golden and Ricardo Signes. +This software is copyright (c) 2010 by David Golden, Ricardo Signes, Adam Kennedy and Contributors. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm index f4cac5e..aeeade9 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm @@ -4,7 +4,7 @@ use strict; use warnings; package CPAN::Meta::History; -our $VERSION = '2.150005'; +our $VERSION = '2.150010'; 1; @@ -22,7 +22,7 @@ CPAN::Meta::History - history of CPAN Meta Spec changes =head1 VERSION -version 2.150005 +version 2.150010 =head1 DESCRIPTION @@ -304,11 +304,15 @@ David Golden <dagol...@cpan.org> Ricardo Signes <r...@cpan.org> +=item * + +Adam Kennedy <ad...@cpan.org> + =back =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2010 by David Golden and Ricardo Signes. +This software is copyright (c) 2010 by David Golden, Ricardo Signes, Adam Kennedy and Contributors. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod index cd3bb9c..5932f5a 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_0.pod @@ -21,7 +21,12 @@ Conversion from the original HTML to POD format =item * Include list of valid licenses from L<Module::Build> 0.17 rather than -linking to the module. +linking to the module, with minor updates to text and links to reflect +versions at the time of publication. + +=item * + +Fixed some dead links to point to active resources. =back @@ -43,16 +48,17 @@ install it. F<META.yml> files are written in the L<YAML|http://www.yaml.org/> format. The reasons we chose YAML instead of, say, XML or Data::Dumper are discussed in -L<this thread|http://archive.develooper.com/makema...@perl.org/msg00405.html> +L<this thread|http://www.nntp.perl.org/group/perl.makemaker/2002/04/msg406.html> on the MakeMaker mailing list. -The first line of a F<META.yml> file should be a valid L<YAML document header|http://www.yaml.org/spec/#.Document> +The first line of a F<META.yml> file should be a valid +L<YAML document header|http://yaml.org/spec/history/2002-10-31.html#syntax-document> like C<"--- #YAML:1.0"> =head1 Fields The rest of the META.yml file is one big YAML -L<mapping|http://www.yaml.org/spec/#.-syntax-mapping-Mapping->, +L<mapping|http://yaml.org/spec/history/2002-10-31.html#syntax-mapping>, whose keys are described here. =over 4 @@ -87,28 +93,29 @@ Must be one of the following licenses: The distribution may be copied and redistributed under the same terms as perl itself (this is by far the most common licensing option for modules on CPAN). -This is a dual license, in which the user may choose between either the GPL or -the Artistic license. +This is a dual license, in which the user may choose between either the GPL +version 1 or the Artistic version 1 license. =item gpl -The distribution is distributed under the terms of the Gnu General Public -License (L<http://www.opensource.org/licenses/gpl-license.php>). +The distribution is distributed under the terms of the GNU General Public +License version 2 (L<http://opensource.org/licenses/GPL-2.0>). =item lgpl -The distribution is distributed under the terms of the Gnu Lesser General -Public License (L<http://www.opensource.org/licenses/lgpl-license.php>). +The distribution is distributed under the terms of the GNU Lesser General +Public License version 2 (L<http://opensource.org/licenses/LGPL-2.1>). =item artistic -The distribution is licensed under the Artistic License, as specified by the -Artistic file in the standard perl distribution. +The distribution is licensed under the Artistic License version 1, as specified +by the Artistic file in the standard perl distribution +(L<http://opensource.org/licenses/Artistic-Perl-1.0>). =item bsd -The distribution is licensed under the BSD License -(L<http://www.opensource.org/licenses/bsd-license.php>). +The distribution is licensed under the BSD 3-Clause License +(L<http://opensource.org/licenses/BSD-3-Clause>). =item open_source @@ -118,7 +125,7 @@ license listed at L<http://www.opensource.org/licenses/>. =item unrestricted The distribution is licensed under a license that is B<not> approved by -L<www.opensource.org|http://www.opensource.org> but that allows distribution +L<www.opensource.org|http://www.opensource.org/> but that allows distribution without restrictions. =item restrictive @@ -143,10 +150,11 @@ Example: Data::Dumper: 0 File::Find: 1.03 -A YAML L<mapping|http://www.yaml.org/spec/#.-syntax-mapping-Mapping-> +A YAML L<mapping|http://yaml.org/spec/history/2002-10-31.html#syntax-mapping> indicating the Perl modules this distribution requires for proper operation. The keys are the module names, and the values are version -specifications as described in the L<Module::Build|documentation for Module::Build's "requires" parameter>. +specifications as described in the +L<documentation for Module::Build's "requires" parameter|Module::Build::API/requires>. I<Note: the exact nature of the fancy specifications like C<< ">= 1.2, != 1.5, < 2.0" >> is subject to @@ -160,7 +168,7 @@ Example: Data::Dumper: 0 File::Find: 1.03 -A YAML L<mapping|http://www.yaml.org/spec/#.-syntax-mapping-Mapping-> +A YAML L<mapping|http://yaml.org/spec/history/2002-10-31.html#syntax-mapping> indicating the Perl modules this distribution recommends for enhanced operation. @@ -171,7 +179,7 @@ Example: Data::Dumper: 0 File::Find: 1.03 -A YAML L<mapping|http://www.yaml.org/spec/#.-syntax-mapping-Mapping-> +A YAML L<mapping|http://yaml.org/spec/history/2002-10-31.html#syntax-mapping> indicating the Perl modules required for building and/or testing of this distribution. These dependencies are not required after the module is installed. @@ -183,7 +191,7 @@ Example: Data::Dumper: 0 File::Find: 1.03 -A YAML L<mapping|http://www.yaml.org/spec/#.-syntax-mapping-Mapping-> +A YAML L<mapping|http://yaml.org/spec/history/2002-10-31.html#syntax-mapping> indicating the Perl modules that cannot be installed while this distribution is installed. This is a pretty uncommon situation. @@ -200,7 +208,7 @@ sensing the environment, etc.) as part of its build/install process. Currently L<Module::Build> doesn't actually do anything with this flag - it's probably going to be up to higher-level tools like -L<CPAN|CPAN.pm> to do something useful with it. It can potentially +L<CPAN.pm|CPAN> to do something useful with it. It can potentially bring lots of security, packaging, and convenience improvements. =item generated_by diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod index 7b4b2f4..e0428a5 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_1.pod @@ -21,7 +21,12 @@ Conversion from the original HTML to POD format =item * Include list of valid licenses from L<Module::Build> 0.18 rather than -linking to the module. +linking to the module, with minor updates to text and links to reflect +versions at the time of publication. + +=item * + +Fixed some dead links to point to active resources. =back @@ -43,16 +48,17 @@ install it. F<META.yml> files are written in the L<YAML|http://www.yaml.org/> format. The reasons we chose YAML instead of, say, XML or Data::Dumper are discussed in -L<this thread|http://archive.develooper.com/makema...@perl.org/msg00405.html> +L<this thread|http://www.nntp.perl.org/group/perl.makemaker/2002/04/msg406.html> on the MakeMaker mailing list. -The first line of a F<META.yml> file should be a valid L<YAML document header|http://www.yaml.org/spec/#.Document> +The first line of a F<META.yml> file should be a valid +L<YAML document header|http://yaml.org/spec/history/2002-10-31.html#syntax-document> like C<"--- #YAML:1.0"> =head1 Fields The rest of the META.yml file is one big YAML -L<mapping|http://www.yaml.org/spec/#.-syntax-mapping-Mapping->, +L<mapping|http://yaml.org/spec/history/2002-10-31.html#syntax-mapping>, whose keys are described here. =over 4 @@ -102,28 +108,29 @@ Must be one of the following licenses: The distribution may be copied and redistributed under the same terms as perl itself (this is by far the most common licensing option for modules on CPAN). -This is a dual license, in which the user may choose between either the GPL or -the Artistic license. +This is a dual license, in which the user may choose between either the GPL +version 1 or the Artistic version 1 license. =item gpl -The distribution is distributed under the terms of the Gnu General Public -License (L<http://www.opensource.org/licenses/gpl-license.php>). +The distribution is distributed under the terms of the GNU General Public +License version 2 (L<http://opensource.org/licenses/GPL-2.0>). =item lgpl -The distribution is distributed under the terms of the Gnu Lesser General -Public License (L<http://www.opensource.org/licenses/lgpl-license.php>). +The distribution is distributed under the terms of the GNU Lesser General +Public License version 2 (L<http://opensource.org/licenses/LGPL-2.1>). =item artistic -The distribution is licensed under the Artistic License, as specified by the -Artistic file in the standard perl distribution. +The distribution is licensed under the Artistic License version 1, as specified +by the Artistic file in the standard perl distribution +(L<http://opensource.org/licenses/Artistic-Perl-1.0>). =item bsd -The distribution is licensed under the BSD License -(L<http://www.opensource.org/licenses/bsd-license.php>). +The distribution is licensed under the BSD 3-Clause License +(L<http://opensource.org/licenses/BSD-3-Clause>). =item open_source @@ -133,7 +140,7 @@ license listed at L<http://www.opensource.org/licenses/>. =item unrestricted The distribution is licensed under a license that is B<not> approved by -L<www.opensource.org|http://www.opensource.org> but that allows distribution +L<www.opensource.org|http://www.opensource.org/> but that allows distribution without restrictions. =item restrictive @@ -175,10 +182,11 @@ Example: Data::Dumper: 0 File::Find: 1.03 -A YAML L<mapping|http://www.yaml.org/spec/#.-syntax-mapping-Mapping-> +A YAML L<mapping|http://yaml.org/spec/history/2002-10-31.html#syntax-mapping> indicating the Perl modules this distribution requires for proper operation. The keys are the module names, and the values are version -specifications as described in the L<Module::Build|documentation for Module::Build's "requires" parameter>. +specifications as described in the +L<documentation for Module::Build's "requires" parameter|Module::Build::API/requires>. I<Note: the exact nature of the fancy specifications like C<< ">= 1.2, != 1.5, < 2.0" >> is subject to @@ -192,7 +200,7 @@ Example: Data::Dumper: 0 File::Find: 1.03 -A YAML L<mapping|http://www.yaml.org/spec/#.-syntax-mapping-Mapping-> +A YAML L<mapping|http://yaml.org/spec/history/2002-10-31.html#syntax-mapping> indicating the Perl modules this distribution recommends for enhanced operation. @@ -203,7 +211,7 @@ Example: Data::Dumper: 0 File::Find: 1.03 -A YAML L<mapping|http://www.yaml.org/spec/#.-syntax-mapping-Mapping-> +A YAML L<mapping|http://yaml.org/spec/history/2002-10-31.html#syntax-mapping> indicating the Perl modules required for building and/or testing of this distribution. These dependencies are not required after the module is installed. @@ -215,7 +223,7 @@ Example: Data::Dumper: 0 File::Find: 1.03 -A YAML L<mapping|http://www.yaml.org/spec/#.-syntax-mapping-Mapping-> +A YAML L<mapping|http://yaml.org/spec/history/2002-10-31.html#syntax-mapping> indicating the Perl modules that cannot be installed while this distribution is installed. This is a pretty uncommon situation. @@ -239,7 +247,7 @@ sensing the environment, etc.) as part of its build/install process. Currently L<Module::Build> doesn't actually do anything with this flag - it's probably going to be up to higher-level tools like -L<CPAN|CPAN.pm> to do something useful with it. It can potentially +L<CPAN.pm|CPAN> to do something useful with it. It can potentially bring lots of security, packaging, and convenience improvements. =item generated_by diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod index 48867b2..1cb471f 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_2.pod @@ -21,7 +21,12 @@ Various spelling corrections =item * Include list of valid licenses from L<Module::Build> 0.2611 rather than -linking to the module. +linking to the module, with minor updates to text and links to reflect +versions at the time of publication. + +=item * + +Fixed some dead links to point to active resources. =back @@ -96,21 +101,15 @@ XML or Data::Dumper: =item * -Module::Build design plans - -L<http://nntp.x.perl.org/group/perl.makemaker/406> +L<Module::Build design plans|http://www.nntp.perl.org/group/perl.makemaker/2002/04/msg407.html> =item * -Not keen on YAML - -L<http://nntp.x.perl.org/group/perl.module-authors/1353> +L<Not keen on YAML|http://www.nntp.perl.org/group/perl.module-authors/2003/11/msg1353.html> =item * -META Concerns - -L<http://nntp.x.perl.org/group/perl.module-authors/1385> +L<META Concerns|http://www.nntp.perl.org/group/perl.module-authors/2003/11/msg1385.html> =back @@ -136,8 +135,8 @@ well (ex. python, ruby). =head1 VERSION SPECIFICATIONS -Some fields require a version specification (ex. L<"requires">, -L<"recommends">, L<"build_requires">, etc.). This section details the +Some fields require a version specification (ex. L</requires>, +L</recommends>, L</build_requires>, etc.). This section details the version specifications that are currently supported. If a single version is listed, then that version is considered to be @@ -242,28 +241,29 @@ Must be one of the following licenses: The distribution may be copied and redistributed under the same terms as perl itself (this is by far the most common licensing option for modules on CPAN). -This is a dual license, in which the user may choose between either the GPL or -the Artistic license. +This is a dual license, in which the user may choose between either the GPL +version 1 or the Artistic version 1 license. =item gpl -The distribution is distributed under the terms of the Gnu General Public -License (L<http://www.opensource.org/licenses/gpl-license.php>). +The distribution is distributed under the terms of the GNU General Public +License version 2 (L<http://opensource.org/licenses/GPL-2.0>). =item lgpl -The distribution is distributed under the terms of the Gnu Lesser General -Public License (L<http://www.opensource.org/licenses/lgpl-license.php>). +The distribution is distributed under the terms of the GNU Lesser General +Public License version 2 (L<http://opensource.org/licenses/LGPL-2.1>). =item artistic -The distribution is licensed under the Artistic License, as specified by the -Artistic file in the standard perl distribution. +The distribution is licensed under the Artistic License version 1, as specified +by the Artistic file in the standard perl distribution +(L<http://opensource.org/licenses/Artistic-Perl-1.0>). =item bsd -The distribution is licensed under the BSD License -(L<http://www.opensource.org/licenses/bsd-license.php>). +The distribution is licensed under the BSD 3-Clause License +(L<http://opensource.org/licenses/BSD-3-Clause>). =item open_source @@ -273,7 +273,7 @@ license listed at L<http://www.opensource.org/licenses/>. =item unrestricted The distribution is licensed under a license that is B<not> approved by -L<www.opensource.org|http://www.opensource.org> but that allows distribution +L<www.opensource.org|http://www.opensource.org/> but that allows distribution without restrictions. =item restrictive @@ -341,9 +341,9 @@ Example: I<(Spec 1.1) [optional] {map} A YAML sequence of names for optional features which are made available when its requirements are met. For each -feature a description is provided along with any of L<"requires">, -L<"build_requires">, L<"conflicts">, L<"requires_packages">, -L<"requires_os">, and L<"excludes_os"> which have the same meaning in +feature a description is provided along with any of L</requires>, +L</build_requires>, L</conflicts>, C<requires_packages>, +C<requires_os>, and C<excludes_os> which have the same meaning in this subcontext as described elsewhere in this document.> =head2 build_requires @@ -394,7 +394,7 @@ If this field is omitted, it defaults to 1 (true). =head2 private I<(Deprecated)> (Spec 1.0) [optional] {map} This field has been renamed to -L</"no_index">. See below. +L</no_index>. See below. =head2 provides @@ -416,7 +416,7 @@ cases, is) used by distribution and automation mechanisms like PAUSE, CPAN, and search.cpan.org to build indexes saying in which distribution various packages can be found. -When using tools like C<Module::Build> that can generate the +When using tools like L<Module::Build> that can generate the C<provides> mapping for your distribution automatically, make sure you examine what it generates to make sure it makes sense - indexers will usually trust the C<provides> field if it's present, rather than @@ -536,23 +536,23 @@ tool. RWS] =head1 SEE ALSO -CPAN, L<http://www.cpan.org/> +L<CPAN|http://www.cpan.org/> -CPAN.pm, L<http://search.cpan.org/author/ANDK/CPAN/> +L<CPAN.pm|CPAN> -CPANPLUS, L<http://search.cpan.org/author/KANE/CPANPLUS/> +L<CPANPLUS> -Data::Dumper, L<http://search.cpan.org/author/ILYAM/Data-Dumper/> +L<Data::Dumper> -ExtUtils::MakeMaker, L<http://search.cpan.org/author/MSCHWERN/ExtUtils-MakeMaker/> +L<ExtUtils::MakeMaker> -Module::Build, L<http://search.cpan.org/author/KWILLIAMS/Module-Build/> +L<Module::Build> -Module::Install, L<http://search.cpan.org/author/KWILLIAMS/Module-Install/> +L<Module::Install> -XML, L<http://www.w3.org/XML/> +L<XML|http://www.w3.org/XML/> -YAML, L<http://www.yaml.org/> +L<YAML|http://www.yaml.org/> =head1 HISTORY @@ -574,7 +574,7 @@ Created version 1.0 of this document. =item * -Added the L</"dynamic_config"> field, which was missing from the initial +Added the L</dynamic_config> field, which was missing from the initial version. =back @@ -594,12 +594,12 @@ L<http://nntp.x.perl.org/group/> site. =item * -Added and deprecated the L<"private"> field. +Added and deprecated the L</private> field. =item * -Added L<"abstract">, L<"configure">, L<"requires_packages">, -L<"requires_os">, L<"excludes_os">, and L<"no_index"> fields. +Added L</abstract>, C<configure>, C<requires_packages>, +C<requires_os>, C<excludes_os>, and L</no_index> fields. =item * @@ -613,15 +613,15 @@ Bumped version. =item * -Added L<"generation">, L<"authored_by"> fields. +Added C<generation>, C<authored_by> fields. =item * -Add alternative proposal to the L<"recommends"> field. +Add alternative proposal to the L</recommends> field. =item * -Add proposal for a L<"requires_build_tools"> field. +Add proposal for a C<requires_build_tools> field. =back @@ -635,7 +635,7 @@ Added link to latest version of this specification on CPAN. =item * -Added section L<"VERSION SPECIFICATIONS">. +Added section L</"VERSION SPECIFICATIONS">. =item * @@ -643,7 +643,7 @@ Chang name from Module::Build::META-spec to CPAN::META::Specification. =item * -Add proposal for L<"auto_regenerate"> field. +Add proposal for C<auto_regenerate> field. =back @@ -653,15 +653,15 @@ Add proposal for L<"auto_regenerate"> field. =item * -Add L<"index"> field as a compliment to L<"no_index"> +Add C<index> field as a compliment to L</no_index> =item * -Add L<"keywords"> field as a means to aid searching distributions. +Add L</keywords> field as a means to aid searching distributions. =item * -Add L<"TERMINOLOGY"> section to explain certain terms that may be +Add L</TERMINOLOGY> section to explain certain terms that may be ambiguous. =back @@ -679,7 +679,7 @@ more like records of brainstorming. =item * -Changed C<authored_by> to C<author>, since that's always been what +Changed C<authored_by> to L</author>, since that's always been what it's actually called in actual F<META.yml> files. =item * @@ -689,12 +689,12 @@ operators. =item * -Noted that the C<distribution_type> field is basically meaningless, +Noted that the L</distribution_type> field is basically meaningless, and shouldn't really be used. =item * -Clarified C<dynamic_config> a bit. +Clarified L</dynamic_config> a bit. =back diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod index b075adc..9e889cd 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_3.pod @@ -21,7 +21,12 @@ Various spelling corrections =item * Include list of valid licenses from L<Module::Build> 0.2805 rather than -linking to the module. +linking to the module, with minor updates to text and links to reflect +versions at the time of publication. + +=item * + +Fixed some dead links to point to active resources. =back @@ -94,17 +99,17 @@ XML or Data::Dumper: =over 4 -=item Module::Build design plans +=item * -L<http://nntp.x.perl.org/group/perl.makemaker/406> +L<Module::Build design plans|http://www.nntp.perl.org/group/perl.makemaker/2002/04/msg407.html> -=item Not keen on YAML +=item * -L<http://nntp.x.perl.org/group/perl.module-authors/1353> +L<Not keen on YAML|http://www.nntp.perl.org/group/perl.module-authors/2003/11/msg1353.html> -=item META Concerns +=item * -L<http://nntp.x.perl.org/group/perl.module-authors/1385> +L<META Concerns|http://www.nntp.perl.org/group/perl.module-authors/2003/11/msg1385.html> =back @@ -206,39 +211,40 @@ Must be one of the following licenses: =item apache -The distribution is licensed under the Apache Software License -(L<http://opensource.org/licenses/apachepl.php>). +The distribution is licensed under the Apache Software License version 1.1 +(L<http://opensource.org/licenses/Apache-1.1>). =item artistic -The distribution is licensed under the Artistic License, as specified by the -Artistic file in the standard perl distribution. +The distribution is licensed under the Artistic License version 1, as specified +by the Artistic file in the standard perl distribution +(L<http://opensource.org/licenses/Artistic-Perl-1.0>). =item bsd -The distribution is licensed under the BSD License -(L<http://www.opensource.org/licenses/bsd-license.php>). +The distribution is licensed under the BSD 3-Clause License +(L<http://opensource.org/licenses/BSD-3-Clause>). =item gpl -The distribution is licensed under the terms of the Gnu General Public License -(L<http://www.opensource.org/licenses/gpl-license.php>). +The distribution is distributed under the terms of the GNU General Public +License version 2 (L<http://opensource.org/licenses/GPL-2.0>). =item lgpl -The distribution is licensed under the terms of the Gnu Lesser General Public -License (L<http://www.opensource.org/licenses/lgpl-license.php>). +The distribution is distributed under the terms of the GNU Lesser General +Public License version 2 (L<http://opensource.org/licenses/LGPL-2.1>). =item mit The distribution is licensed under the MIT License -(L<http://opensource.org/licenses/mit-license.php>). +(L<http://opensource.org/licenses/MIT>). =item mozilla The distribution is licensed under the Mozilla Public License. -(L<http://opensource.org/licenses/mozilla1.0.php> or -L<http://opensource.org/licenses/mozilla1.1.php>) +(L<http://opensource.org/licenses/MPL-1.0> or +L<http://opensource.org/licenses/MPL-1.1>) =item open_source @@ -249,8 +255,8 @@ license listed at L<http://www.opensource.org/licenses/>. The distribution may be copied and redistributed under the same terms as perl itself (this is by far the most common licensing option for modules on CPAN). -This is a dual license, in which the user may choose between either the GPL or -the Artistic license. +This is a dual license, in which the user may choose between either the GPL +version 1 or the Artistic version 1 license. =item restrictive @@ -292,7 +298,7 @@ Example: (Spec 1.0) [optional] {map} A YAML mapping indicating the Perl modules this distribution requires for proper operation. The keys are the module names, and the values are version specifications as described in -L<VERSION SPECIFICATIONS>. +L</"VERSION SPECIFICATIONS">. =head2 recommends @@ -305,7 +311,7 @@ Example: (Spec 1.0) [optional] {map} A YAML mapping indicating the Perl modules this distribution recommends for enhanced operation. The keys are the module names, and the values are version specifications as described -in L<VERSION SPECIFICATIONS>. +in L</"VERSION SPECIFICATIONS">. @@ -327,9 +333,9 @@ Example: I<(Spec 1.1) [optional] {map} A YAML sequence of names for optional features which are made available when its requirements are met. For each -feature a description is provided along with any of L<"requires">, -L<"build_requires">, L<"conflicts">, L<"requires_packages">, -L<"requires_os">, and L<"excludes_os"> which have the same meaning in +feature a description is provided along with any of L</requires>, +L</build_requires>, L</conflicts>, C<requires_packages>, +C<requires_os>, and C<excludes_os> which have the same meaning in this subcontext as described elsewhere in this document.> =head2 build_requires @@ -343,7 +349,7 @@ Example: (Spec 1.0) [optional] {map} A YAML mapping indicating the Perl modules required for building and/or testing of this distribution. The keys are the module names, and the values are version specifications as -described in L<VERSION SPECIFICATIONS>. These dependencies are not +described in L</"VERSION SPECIFICATIONS">. These dependencies are not required after the module is installed. =head2 conflicts @@ -358,7 +364,7 @@ Example: cannot be installed while this distribution is installed. This is a pretty uncommon situation. The keys for C<conflicts> are the module names, and the values are version specifications as described in -L<VERSION SPECIFICATIONS>. +L</"VERSION SPECIFICATIONS">. =head2 dynamic_config @@ -385,7 +391,7 @@ If this field is omitted, it defaults to 1 (true). =head2 private I<(Deprecated)> (Spec 1.0) [optional] {map} This field has been renamed to -L</"no_index">. See below. +L</no_index>. See below. =head2 provides @@ -407,7 +413,7 @@ cases, is) used by distribution and automation mechanisms like PAUSE, CPAN, and search.cpan.org to build indexes saying in which distribution various packages can be found. -When using tools like C<Module::Build> that can generate the +When using tools like L<Module::Build> that can generate the C<provides> mapping for your distribution automatically, make sure you examine what it generates to make sure it makes sense - indexers will usually trust the C<provides> field if it's present, rather than @@ -437,7 +443,7 @@ directories, packages, and namespaces that are private and indexing tools. This is useful when no C<provides> field is present. -For example, C<search.cpan.org> excludes items listed in C<no_index> +For example, L<http://search.cpan.org/> excludes items listed in C<no_index> when searching for POD, meaning files in these directories will not converted to HTML and made public - which is useful if you have example or test PODs that you don't want the search engine to go @@ -534,8 +540,8 @@ tool. RWS] =head1 VERSION SPECIFICATIONS -Some fields require a version specification (ex. L<"requires">, -L<"recommends">, L<"build_requires">, etc.) to indicate the particular +Some fields require a version specification (ex. L</requires>, +L</recommends>, L</build_requires>, etc.) to indicate the particular versionZ<>(s) of some other module that may be required as a prerequisite. This section details the version specification formats that are currently supported. @@ -559,23 +565,23 @@ together using commas. The specification C<E<gt>= 1.2, != 1.5, E<lt> =head1 SEE ALSO -CPAN, L<http://www.cpan.org/> +L<CPAN|http://www.cpan.org/> -CPAN.pm, L<http://search.cpan.org/dist/CPAN/> +L<CPAN.pm|CPAN> -CPANPLUS, L<http://search.cpan.org/dist/CPANPLUS/> +L<CPANPLUS> -Data::Dumper, L<http://search.cpan.org/dist/Data-Dumper/> +L<Data::Dumper> -ExtUtils::MakeMaker, L<http://search.cpan.org/dist/ExtUtils-MakeMaker/> +L<ExtUtils::MakeMaker> -Module::Build, L<http://search.cpan.org/dist/Module-Build/> +L<Module::Build> -Module::Install, L<http://search.cpan.org/dist/Module-Install/> +L<Module::Install> -XML, L<http://www.w3.org/XML/> +L<XML|http://www.w3.org/XML/> -YAML, L<http://www.yaml.org/> +L<YAML|http://www.yaml.org/> =head1 HISTORY @@ -597,7 +603,7 @@ Created version 1.0 of this document. =item * -Added the L</"dynamic_config"> field, which was missing from the initial +Added the L</dynamic_config> field, which was missing from the initial version. =back @@ -617,12 +623,12 @@ L<http://nntp.x.perl.org/group/> site. =item * -Added and deprecated the L<"private"> field. +Added and deprecated the L</private> field. =item * -Added L<"abstract">, L<"configure">, L<"requires_packages">, -L<"requires_os">, L<"excludes_os">, and L<"no_index"> fields. +Added L</abstract>, C<configure>, C<requires_packages>, +C<requires_os>, C<excludes_os>, and L</no_index> fields. =item * @@ -636,15 +642,15 @@ Bumped version. =item * -Added L<"generation">, L<"authored_by"> fields. +Added C<generation>, C<authored_by> fields. =item * -Add alternative proposal to the L<"recommends"> field. +Add alternative proposal to the L</recommends> field. =item * -Add proposal for a L<"requires_build_tools"> field. +Add proposal for a C<requires_build_tools> field. =back @@ -658,7 +664,7 @@ Added link to latest version of this specification on CPAN. =item * -Added section L<"VERSION SPECIFICATIONS">. +Added section L</"VERSION SPECIFICATIONS">. =item * @@ -666,7 +672,7 @@ Chang name from Module::Build::META-spec to CPAN::META::Specification. =item * -Add proposal for L<"auto_regenerate"> field. +Add proposal for C<auto_regenerate> field. =back @@ -676,15 +682,15 @@ Add proposal for L<"auto_regenerate"> field. =item * -Add L<"index"> field as a compliment to L<"no_index"> +Add C<index> field as a compliment to L</no_index> =item * -Add L<"keywords"> field as a means to aid searching distributions. +Add L</keywords> field as a means to aid searching distributions. =item * -Add L<"TERMINOLOGY"> section to explain certain terms that may be +Add L</TERMINOLOGY> section to explain certain terms that may be ambiguous. =back @@ -702,7 +708,7 @@ more like records of brainstorming. =item * -Changed C<authored_by> to C<author>, since that's always been what +Changed C<authored_by> to L</author>, since that's always been what it's actually called in actual F<META.yml> files. =item * @@ -712,12 +718,12 @@ operators. =item * -Noted that the C<distribution_type> field is basically meaningless, +Noted that the L</distribution_type> field is basically meaningless, and shouldn't really be used. =item * -Clarified C<dynamic_config> a bit. +Clarified L</dynamic_config> a bit. =back diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod index 471296c..932f1ed 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/History/Meta_1_4.pod @@ -21,7 +21,12 @@ Various spelling corrections =item * Include list of valid licenses from L<Module::Build> 0.2807 rather than -linking to the module. +linking to the module, with minor updates to text and links to reflect +versions at the time of publication. + +=item * + +Fixed some dead links to point to active resources. =back @@ -84,35 +89,6 @@ and the latest development version (which may include things that won't make it into the stable version) can always be found at L<http://module-build.sourceforge.net/META-spec-blead.html>.> -=begin MAINTAINER - -The master source for the META spec is META-spec.pod. META-spec.html -is built (manually) from META-spec.pod whenever there are changes, and -the two files should generally be checked in together. Ideally it -would happen through a trigger or something, but it doesn't. - -Ken has a cron job that copies the latest bleeding-edge version of the -spec (HTML version) to Sourceforge whenever his laptop is turned on: - - 21 * * * * svn cat http://svn.perl.org/modules/Module-Build/trunk/website/META-spec.html \ - | ssh kwilli...@shell.sourceforge.net \ - 'cat > /home/groups/m/mo/module-build/htdocs/META-spec-blead.html' - -The numbered revisions of the spec at -L<"http://module-build.sourceforge.net/"> are captures of the spec at -opportune moments. A couple of symlinks also exist for convenience: - - -rw-r--r-- 1 kwilliams 24585 Oct 10 17:21 META-spec-blead.html - lrwxrwxrwx 1 kwilliams 19 Jan 19 2007 META-spec-current.html -> META-spec-v1.3.html - lrwxrwxrwx 1 kwilliams 22 Jan 19 2007 META-spec.html -> META-spec-current.html - -rw-r--r-- 1 kwilliams 5830 Jul 25 2005 META-spec-v1.0.html - -rw-r--r-- 1 kwilliams 7847 Jul 25 2005 META-spec-v1.1.html - -rw-r--r-- 1 kwilliams 22635 Aug 23 2005 META-spec-v1.2.html - -rw-r--r-- 1 kwilliams 24086 Nov 4 2006 META-spec-v1.3.html - -=end MAINTAINER - - =head1 FORMAT F<META.yml> files are written in the YAML format (see @@ -123,17 +99,17 @@ XML or Data::Dumper: =over 4 -=item Module::Build design plans +=item * -L<http://nntp.x.perl.org/group/perl.makemaker/406> +L<Module::Build design plans|http://www.nntp.perl.org/group/perl.makemaker/2002/04/msg407.html> -=item Not keen on YAML +=item * -L<http://nntp.x.perl.org/group/perl.module-authors/1353> +L<Not keen on YAML|http://www.nntp.perl.org/group/perl.module-authors/2003/11/msg1353.html> -=item META Concerns +=item * -L<http://nntp.x.perl.org/group/perl.module-authors/1385> +L<META Concerns|http://www.nntp.perl.org/group/perl.module-authors/2003/11/msg1385.html> =back @@ -235,39 +211,40 @@ Must be one of the following licenses: =item apache -The distribution is licensed under the Apache Software License -(L<http://opensource.org/licenses/apachepl.php>). +The distribution is licensed under the Apache Software License version 1.1 +(L<http://opensource.org/licenses/Apache-1.1>). =item artistic -The distribution is licensed under the Artistic License, as specified by the -Artistic file in the standard perl distribution. +The distribution is licensed under the Artistic License version 1, as specified +by the Artistic file in the standard perl distribution +(L<http://opensource.org/licenses/Artistic-Perl-1.0>). =item bsd -The distribution is licensed under the BSD License -(L<http://www.opensource.org/licenses/bsd-license.php>). +The distribution is licensed under the BSD 3-Clause License +(L<http://opensource.org/licenses/BSD-3-Clause>). =item gpl -The distribution is licensed under the terms of the Gnu General Public License -(L<http://www.opensource.org/licenses/gpl-license.php>). +The distribution is distributed under the terms of the GNU General Public +License version 2 (L<http://opensource.org/licenses/GPL-2.0>). =item lgpl -The distribution is licensed under the terms of the Gnu Lesser General Public -License (L<http://www.opensource.org/licenses/lgpl-license.php>). +The distribution is distributed under the terms of the GNU Lesser General +Public License version 2 (L<http://opensource.org/licenses/LGPL-2.1>). =item mit The distribution is licensed under the MIT License -(L<http://opensource.org/licenses/mit-license.php>). +(L<http://opensource.org/licenses/MIT>). =item mozilla The distribution is licensed under the Mozilla Public License. -(L<http://opensource.org/licenses/mozilla1.0.php> or -L<http://opensource.org/licenses/mozilla1.1.php>) +(L<http://opensource.org/licenses/MPL-1.0> or +L<http://opensource.org/licenses/MPL-1.1>) =item open_source @@ -355,8 +332,8 @@ Example: I<(Spec 1.1) [optional] {map} A YAML mapping of names for optional features which are made available when its requirements are met. For each -feature a description is provided along with any of L<"requires">, -L<"build_requires">, and L<"conflicts">, which have the same meaning in +feature a description is provided along with any of L</requires>, +L</build_requires>, and L</conflicts>, which have the same meaning in this subcontext as described elsewhere in this document.> =head2 build_requires @@ -371,7 +348,7 @@ Example: prerequisites required for building and/or testing of this distribution. The keys are the names of the prerequisites (module names or 'perl'), and the values are version specifications as -described in L<VERSION SPECIFICATIONS>. These dependencies are not +described in L</"VERSION SPECIFICATIONS">. These dependencies are not required after the distribution is installed. =head2 configure_requires @@ -385,9 +362,9 @@ Example: (Spec 1.4) [optional] {map} A YAML mapping indicating the Perl prerequisites required before configuring this distribution. The keys are the -names of the prerequisites (module names or 'perl'), and the values are version specifications as described -in L<VERSION SPECIFICATIONS>. These dependencies are not required -after the distribution is installed. +names of the prerequisites (module names or 'perl'), and the values are version +specifications as described in L</"VERSION SPECIFICATIONS">. These +dependencies are not required after the distribution is installed. =head2 conflicts @@ -401,7 +378,7 @@ Example: cannot be installed while this distribution is installed. This is a pretty uncommon situation. The keys for C<conflicts> are the item names (module names or 'perl'), and the values are version -specifications as described in L<VERSION SPECIFICATIONS>. +specifications as described in L</"VERSION SPECIFICATIONS">. =head2 dynamic_config @@ -428,7 +405,7 @@ If this field is omitted, it defaults to 1 (true). =head2 private I<(Deprecated)> (Spec 1.0) [optional] {map} This field has been renamed to -L</"no_index">. See below. +L</no_index>. See below. =head2 provides @@ -450,7 +427,7 @@ cases, is) used by distribution and automation mechanisms like PAUSE, CPAN, and search.cpan.org to build indexes saying in which distribution various packages can be found. -When using tools like C<Module::Build> that can generate the +When using tools like L<Module::Build> that can generate the C<provides> mapping for your distribution automatically, make sure you examine what it generates to make sure it makes sense - indexers will usually trust the C<provides> field if it's present, rather than @@ -480,7 +457,7 @@ directories, packages, and namespaces that are private and indexing tools. This is useful when no C<provides> field is present. -For example, C<search.cpan.org> excludes items listed in C<no_index> +For example, L<http://search.cpan.org/> excludes items listed in C<no_index> when searching for POD, meaning files in these directories will not converted to HTML and made public - which is useful if you have example or test PODs that you don't want the search engine to go @@ -577,8 +554,8 @@ tool. RWS] =head1 VERSION SPECIFICATIONS -Some fields require a version specification (ex. L<"requires">, -L<"recommends">, L<"build_requires">, etc.) to indicate the particular +Some fields require a version specification (ex. L</requires>, +L</recommends>, L</build_requires>, etc.) to indicate the particular versionZ<>(s) of some other module that may be required as a prerequisite. This section details the version specification formats that are currently supported. @@ -602,23 +579,23 @@ together using commas. The specification C<E<gt>= 1.2, != 1.5, E<lt> =head1 SEE ALSO -CPAN, L<http://www.cpan.org/> +L<CPAN|http://www.cpan.org/> -CPAN.pm, L<http://search.cpan.org/dist/CPAN/> +L<CPAN.pm|CPAN> -CPANPLUS, L<http://search.cpan.org/dist/CPANPLUS/> +L<CPANPLUS> -Data::Dumper, L<http://search.cpan.org/dist/Data-Dumper/> +L<Data::Dumper> -ExtUtils::MakeMaker, L<http://search.cpan.org/dist/ExtUtils-MakeMaker/> +L<ExtUtils::MakeMaker> -Module::Build, L<http://search.cpan.org/dist/Module-Build/> +L<Module::Build> -Module::Install, L<http://search.cpan.org/dist/Module-Install/> +L<Module::Install> -XML, L<http://www.w3.org/XML/> +L<XML|http://www.w3.org/XML/> -YAML, L<http://www.yaml.org/> +L<YAML|http://www.yaml.org/> =head1 HISTORY @@ -640,7 +617,7 @@ Created version 1.0 of this document. =item * -Added the L</"dynamic_config"> field, which was missing from the initial +Added the L</dynamic_config> field, which was missing from the initial version. =back @@ -660,12 +637,12 @@ L<http://nntp.x.perl.org/group/> site. =item * -Added and deprecated the L<"private"> field. +Added and deprecated the L</private> field. =item * -Added L<"abstract">, L<"configure">, L<"requires_packages">, -L<"requires_os">, L<"excludes_os">, and L<"no_index"> fields. +Added L</abstract>, C<configure>, C<requires_packages>, +C<requires_os>, C<excludes_os>, and L</no_index> fields. =item * @@ -679,15 +656,15 @@ Bumped version. =item * -Added L<"generation">, L<"authored_by"> fields. +Added C<generation>, C<authored_by> fields. =item * -Add alternative proposal to the L<"recommends"> field. +Add alternative proposal to the L</recommends> field. =item * -Add proposal for a L<"requires_build_tools"> field. +Add proposal for a C<requires_build_tools> field. =back @@ -701,7 +678,7 @@ Added link to latest version of this specification on CPAN. =item * -Added section L<"VERSION SPECIFICATIONS">. +Added section L</"VERSION SPECIFICATIONS">. =item * @@ -709,7 +686,7 @@ Chang name from Module::Build::META-spec to CPAN::META::Specification. =item * -Add proposal for L<"auto_regenerate"> field. +Add proposal for C<auto_regenerate> field. =back @@ -719,15 +696,15 @@ Add proposal for L<"auto_regenerate"> field. =item * -Add L<"index"> field as a compliment to L<"no_index"> +Add C<index> field as a compliment to L</no_index> =item * -Add L<"keywords"> field as a means to aid searching distributions. +Add L</keywords> field as a means to aid searching distributions. =item * -Add L<"TERMINOLOGY"> section to explain certain terms that may be +Add L</TERMINOLOGY> section to explain certain terms that may be ambiguous. =back @@ -745,7 +722,7 @@ more like records of brainstorming. =item * -Changed C<authored_by> to C<author>, since that's always been what +Changed C<authored_by> to L</author>, since that's always been what it's actually called in actual F<META.yml> files. =item * @@ -755,12 +732,12 @@ operators. =item * -Noted that the C<distribution_type> field is basically meaningless, +Noted that the L</distribution_type> field is basically meaningless, and shouldn't really be used. =item * -Clarified C<dynamic_config> a bit. +Clarified L</dynamic_config> a bit. =back @@ -781,7 +758,7 @@ module that doesn't actually exist. =item * -Added C<configure_requires>. +Added L</configure_requires>. =back diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm index 05a18ea..3604eae 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm @@ -3,7 +3,7 @@ use warnings; package CPAN::Meta::Merge; -our $VERSION = '2.150005'; +our $VERSION = '2.150010'; use Carp qw/croak/; use Scalar::Util qw/blessed/; @@ -73,7 +73,7 @@ sub _uniq_map { return $left; } -sub _improvize { +sub _improvise { my ($left, $right, $path) = @_; my ($name) = reverse @{$path}; if ($name =~ /^x_/) { @@ -154,9 +154,9 @@ my %default = ( homepage => \&_identical, bugtracker => \&_uniq_map, repository => \&_uniq_map, - ':default' => \&_improvize, + ':default' => \&_improvise, }, - ':default' => \&_improvize, + ':default' => \&_improvise, ); sub new { @@ -182,7 +182,8 @@ my %coderef_for = ( set_addition => \&_set_addition, uniq_map => \&_uniq_map, identical => \&_identical, - improvize => \&_improvize, + improvise => \&_improvise, + improvize => \&_improvise, # [sic] for backwards compatibility ); sub _coerce_mapping { @@ -250,7 +251,7 @@ CPAN::Meta::Merge - Merging CPAN Meta fragments =head1 VERSION -version 2.150005 +version 2.150010 =head1 SYNOPSIS @@ -268,11 +269,60 @@ argument, C<version>, declaring the version of the meta-spec that must be used for the merge. It can optionally take an C<extra_mappings> argument that allows one to add additional merging functions for specific elements. +The C<extra_mappings> arguments takes a hash ref with the same type of +structure as described in L<CPAN::Meta::Spec>, except with its values as +one of the L<defined merge strategies|/"MERGE STRATEGIES"> or a code ref +to a merging function. + + my $merger = CPAN::Meta::Merge->new( + default_version => '2', + extra_mappings => { + 'optional_features' => \&custom_merge_function, + 'x_custom' => 'set_addition', + 'x_meta_meta' => { + name => 'identical', + tags => 'set_addition', + } + } + ); + =head2 merge(@fragments) Merge all C<@fragments> together. It will accept both CPAN::Meta objects and (possibly incomplete) hashrefs of metadata. +=head1 MERGE STRATEGIES + +C<merge> uses various strategies to combine different elements of the CPAN::Meta objects. The following strategies can be used with the extra_mappings argument of C<new>: + +=over + +=item identical + +The elements must be identical + +=item set_addition + +The union of two array refs + + [ a, b ] U [ a, c] = [ a, b, c ] + +=item uniq_map + +Key value pairs from the right hash are merged to the left hash. Key +collisions are only allowed if their values are the same. This merge +function will recurse into nested hash refs following the same merge +rules. + +=item improvise + +This merge strategy will try to pick the appropriate predefined strategy +based on what element type. Array refs will try to use the +C<set_addition> strategy, Hash refs will try to use the C<uniq_map> +strategy, and everything else will try the C<identical> strategy. + +=back + =head1 AUTHORS =over 4 @@ -285,11 +335,15 @@ David Golden <dagol...@cpan.org> Ricardo Signes <r...@cpan.org> +=item * + +Adam Kennedy <ad...@cpan.org> + =back =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2010 by David Golden and Ricardo Signes. +This software is copyright (c) 2010 by David Golden, Ricardo Signes, Adam Kennedy and Contributors. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm index 8a13eb1..d4e93fd 100644 --- a/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm +++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm @@ -3,7 +3,7 @@ use strict; use warnings; package CPAN::Meta::Prereqs; -our $VERSION = '2.150005'; +our $VERSION = '2.150010'; #pod =head1 DESCRIPTION #pod @@ -45,6 +45,7 @@ use CPAN::Meta::Requirements 2.121; #pod #pod =cut +# note we also accept anything matching /\Ax_/i sub __legal_phases { qw(configure build test runtime develop) } sub __legal_types { qw(requires recommends suggests conflicts) } @@ -114,6 +115,40 @@ sub requirements_for { return $req; } +#pod =method phases +#pod +#pod my @phases = $prereqs->phases; +#pod +#pod This method returns the list of all phases currently populated in the prereqs +#pod object, suitable for iterating. +#pod +#pod =cut + +sub phases { + my ($self) = @_; + + my %is_legal_phase = map {; $_ => 1 } $self->__legal_phases; + grep { /\Ax_/i or $is_legal_phase{$_} } keys %{ $self->{prereqs} }; +} + +#pod =method types_in +#pod +#pod my @runtime_types = $prereqs->types_in('runtime'); +#pod +#pod This method returns the list of all types currently populated in the prereqs +#pod object for the provided phase, suitable for iterating. +#pod +#pod =cut + +sub types_in { + my ($self, $phase) = @_; + + return unless $phase =~ /\Ax_/i or grep { $phase eq $_ } $self->__legal_phases; + + my %is_legal_type = map {; $_ => 1 } $self->__legal_types; + grep { /\Ax_/i or $is_legal_type{$_} } keys %{ $self->{prereqs}{$phase} }; +} + #pod =method with_merged_prereqs #pod #pod my $new_prereqs = $prereqs->with_merged_prereqs( $other_prereqs ); @@ -139,8 +174,9 @@ sub with_merged_prereqs { my %new_arg; - for my $phase ($self->__legal_phases) { - for my $type ($self->__legal_types) { + for my $phase (__uniq(map { $_->phases } @prereq_objs)) { + for my $type (__uniq(map { $_->types_in($phase) } @prereq_objs)) { + my $req = CPAN::Meta::Requirements->new; for my $prereq (@prereq_objs) { @@ -215,8 +251,8 @@ sub as_string_hash { my %hash; - for my $phase ($self->__legal_phases) { - for my $type ($self->__legal_types) { + for my $phase ($self->phases) { + for my $type ($self->types_in($phase)) { my $req = $self->requirements_for($phase, $type); next unless $req->required_modules; @@ -271,6 +307,11 @@ sub clone { my $clone = (ref $self)->new( $self->as_string_hash ); } +sub __uniq { + my (%s, $u); + grep { defined($_) ? !$s{$_}++ : !$u++ } @_; +} + 1; # ABSTRACT: a set of distribution prerequisites by phase and type @@ -285,7 +326,7 @@ CPAN::Meta::Prereqs - a set of distribution prerequisites by phase and type =head1 VERSION -version 2.150005 +version 2.150010 =head1 DESCRIPTION @@ -333,6 +374,20 @@ be added to as needed. If C<$phase> or C<$type> are undefined or otherwise invalid, an exception will be raised. +=head2 phases + + my @phases = $prereqs->phases; + **** PATCH TRUNCATED AT 2000 LINES -- 1458 NOT SHOWN **** -- Perl5 Master Repository