Subject: | CPAN::Meta->as_string looking at the module version, not the meta version |
CPAN::Meta->as_string has code like this to determine if it needs to
convert the metadata:
my $struct;
if ( $self->version ne $version ) {
my $cmc = CPAN::Meta::Converter->new( $self->as_struct );
$struct = $cmc->convert( version => $version );
}
else {
$struct = $self->as_struct;
}
$self->version is the *module version* not the meta spec version. If a
module happens to have the same version # as the meta spec version (like
1.4) then it will fail to convert.
I believe $self->version should be $elf->meta_spec_version.
This is blocking stable MakeMaker.
https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/#issue/9