Closed cpansprout closed 8 years ago
This is interesting... I don't see any 'prereqs' field mentioned in the meta spec for 1.4: https://github.com/Perl-Toolchain-Gang/CPAN-Meta/blob/master/history/MYMETA-spec-1_4.pod. However, Makefile.PL does appear to be correct to my eye (but I'm biased, I wrote the latest incarnation) -- https://metacpan.org/source/ETHER/libwww-perl-6.15/Makefile.PL, correctly declaring meta-spec version 2 and META_MERGE for the suggested prereqs.
(this comment edited after the original emailed version, for accuracy)
FYI, in case this makes a difference, the MYMETA.yml was generated by perl 5.14.4. I don’t think it does make a difference. It’s usually the version of ExtUtils::MakeMaker (6.57_05) that matters.
CPAN::Meta seems to be behaving appropriately here. EUMM is producing an invalid meta file, but that is expected given the old version you are using.
I think what is happening is that LWP’s Makefile.PL provides ‘prereqs’ in META_MERGE, but EUMM doesn’t presume to understand the contents of META_MERGE and merges it with whatever it happens to be outputting. So this is an LWP problem. It should check the EUMM version to see whether it supports the later spec format before adding things in that format that would override necessary fields.
MYMETA is partly broken in EUMM 6.57_02 through 6.57_06. Moo's Makefile.PL has an example of a workaround for this.
https://github.com/moose/Moo/blob/master/Makefile.PL#L120-L121 https://github.com/moose/Moo/blob/master/Makefile.PL#L129-L130
Oh, thank you. Based on that, I have submitted this patch: https://rt.cpan.org/Ticket/Display.html?id=116256. This issue can be closed.
Styoooooopid GitHub won’t let me attach the files. So this is going to be very long....
This is the MYMETA.yml file:
With these modules:
I get the following output from CPAN::Meta:
Notice how the ‘requires’ prereqs have been dropped. Parse::CPAN::Meta seems to be working: