summaryrefslogtreecommitdiff
path: root/cpan/CPAN-Meta
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2011-07-07 11:04:30 +0100
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2011-07-07 12:29:48 +0100
commit4b5789fe5c4c75816682f2e7a76a6b20720758fc (patch)
tree68c34a2f2734fdd9b41ac1414b03a2a7051fd64c /cpan/CPAN-Meta
parentf229537a3ecd9db056c7d315dbbf103a048e10dc (diff)
downloadperl-4b5789fe5c4c75816682f2e7a76a6b20720758fc.tar.gz
Update ExtUtils-MakeMaker to CPAN version 6.58
[DELTA] 6.58 Wed Jul 6 14:17:06 PDT 2011 No changes since 6.57_11 6.57_11 Thu May 19 17:26:31 PDT 2011 Bug Fixes * Changed CPAN::Meta to accept version objects. [github #16] * Massage bad versions and warn the user about them. [github #15] * Protect against CPAN::Meta dying during metafile validation and generation. VMS * Fix prereq.t to work around "local %ENV = %ENV" bug Win32 * Liblist::Kid can now recognize long compiler paths (Christian Walde) [github #11] 6.57_10 Sun, 03 Apr 2011 19:36:38 +1000 Bug Fixes * Relaxed strictures on prerequisite versions. Invalid versions now issue a warning and are set to 0 rather than dying. [github #7] * Upgraded CPAN::Meta to 2.110930 which fixes a glitch in writing MYMETA.yml if your module's version number was 1.4. [github #9] * Convert LICENSE entries which are unknown to CPAN::Meta to "unknown" rather than dying. [github #10] 6.57_09 Mon, 28 Mar 2011 11:13:39 +1100 Misc * Make CPAN ignore bundled modules * Accidentally rolled Version::Requirements into the version bundle * Deleted now unused ExtUtils::MakeMaker::YAML 6.57_08 Sun, 27 Mar 2011 21:52:47 +1100 VMS * Removed dependency on cc_runtime.h for VMS as well. Misc * Changed how modules are bundled to avoid replacing XS version of Scalar::Util with a pure Perl version [github #4] 6.57_07 Fri, 25 Mar 2011 14:31:31 +1100 Enhancements * Generates META.json and MYMETA.json in addition to META.yml and MYMETA.yml (David Golden) * MYMETA has the runtime requirements made priority over META_* keys to allow generation of a correct META.* into the dist while still generating an accurate MYMETA.* locally (Matt S Trout) * Distributions should not depend on cc_runtime.h from core as it is only needed for B::CC * Now uses CPAN::Meta to generate META files. Bug Fixes * MYMETA.yml generation from META.yml actually works (Matt S Trout) * All required META fields are generated, even if they must be filled with "unknown" in place of real data (David Golden) Test Fixes * miniperl.t is no longer run outside of the perl core. Its only relevant to bleadperl and requires no backwards compatibility [rt.cpan.org 61868] Cygwin * Rebase behaviour was improved (Reini Urban) * Build man pages (Reini Urban) Win32 * Spot valid lib files on Win32 when .a and .lib are mixed. (Christian Walde) [github #3] * Extensive testing of ExtUtils::Liblist::Kid for Win32 (Christian Walde) * Implemented proper emulation of DOS escaping rules in ExtUtils::MM_Win32 (Christian Walde) 6.57_06 Wed Oct 06 13:49:00 EEST 2010 Win32 * Work around dmake's limitations on how long a "line" can be. [rt.cpan.org 61286] * ActivePerl 1007 can now see gcc. [rt.cpan.org 55752] (Christian Walde) Bug Fixes * Fix for AUTHOR and undocumented usage of MM->new() (Alexandr Ciornii)
Diffstat (limited to 'cpan/CPAN-Meta')
-rw-r--r--cpan/CPAN-Meta/lib/CPAN/Meta.pm8
-rw-r--r--cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm19
2 files changed, 19 insertions, 8 deletions
diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta.pm b/cpan/CPAN-Meta/lib/CPAN/Meta.pm
index 138aee3e03..5d53514992 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;
BEGIN {
- $CPAN::Meta::VERSION = '2.110930';
+ $CPAN::Meta::VERSION = eval '2.110930_001';
}
# ABSTRACT: the distribution metadata for a CPAN dist
@@ -16,11 +16,7 @@ use CPAN::Meta::Validator;
use Parse::CPAN::Meta 1.4400 ();
sub _dclone {
- my $ref = shift;
- my $backend = Parse::CPAN::Meta->json_backend();
- return $backend->new->decode(
- $backend->new->convert_blessed->encode($ref)
- );
+ CPAN::Meta::Converter::_dclone(@_);
}
diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm
index 311a93dfff..2ea3456426 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;
BEGIN {
- $CPAN::Meta::Converter::VERSION = '2.110930';
+ $CPAN::Meta::Converter::VERSION = eval '2.110930_001';
}
# ABSTRACT: Convert CPAN distribution metadata structures
@@ -11,15 +11,30 @@ BEGIN {
use CPAN::Meta::Validator;
use version 0.82 ();
use Parse::CPAN::Meta 1.4400 ();
+use Carp qw(croak);
sub _dclone {
my $ref = shift;
+
+ # Work around JSON::PP's lack of a convert_blessed_universally
+ local *UNIVERSAL::TO_JSON = sub {
+ my $obj = shift;
+
+ # Special case: stringify version objects
+ # Everything else: serialize
+ return $obj->isa("version") ? "$obj" :
+ $obj->isa("HASH") ? { %$obj } :
+ $obj->isa("ARRAY") ? { @$obj } :
+ croak "Don't know how to serialize $obj";
+ };
+
my $backend = Parse::CPAN::Meta->json_backend();
return $backend->new->decode(
- $backend->new->convert_blessed->encode($ref)
+ $backend->new->convert_blessed->allow_blessed->encode($ref)
);
}
+
my %known_specs = (
'2' => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
'1.4' => 'http://module-build.sourceforge.net/META-spec-v1.4.html',