Closed JForst closed 8 years ago
I can't reproduce this issue. The new prereqs added to cpanfile do make it into META.yml and META.json in the built distribution, so they should be properly satisfied by any cpan client installing the distribution.
Can you tell me exactly which MB versions you're observing this with? I wouldn't be surprised if that 0.4005
really ought to be 0.4200
Yes, you are right, the prereqs do appear in META.yml and META.json, but the Build.PL file does not contain the part where these files were copied to MYMETA.yml and MYMETA.json.
But without MYMETA.yml and MYMETA.json Module::Build doesn't install the dependencies.
My MB version is 0.4214
But without MYMETA.yml and MYMETA.json Module::Build doesn't install the dependencies.
Module::Build creates the MYMETA files when you do «perl Build.PL», the whole copying thing paves over that.
It seems Minilla doesn't write the prerequisites to the Build.PL, and doesn't run anything else that pulls them out of the cpanfile either. The current situation isn't correct, but I don't think that reverting to the old one is the solution either.
One option is simply to drop support for Module::Build altogether. These days if a distribution needs Module::Build, it is complicated enough that it wouldn't be using Minilla anyway.
One option is simply to drop support for Module::Build altogether. These days if a distribution needs Module::Build, it is complicated enough that it wouldn't be using Minilla anyway.
I don't think that's an option for some of the dists that use Minilla (in particular the xsutil ones)
It seems Minilla doesn't write the prerequisites to the Build.PL, and doesn't run anything else that pulls them out of the cpanfile either. The current situation isn't correct, but I don't think that reverting to the old one is the solution either.
How do these prerequisites have to look like? Sorry I'm not experienced in the details of package building.
In the Build.PL of Module::Build there is also the fallback of copying META files to MYMETA, so why is this wrong?
How do these prerequisites have to look like? Sorry I'm not experienced in the details of package building.
Something like this.
In the Build.PL of Module::Build there is also the fallback of copying META files to MYMETA, so why is this wrong?
It only does that when there is no MYMETA file, and unlike other dists it actually has good (bootstrapping) reasons why that may be the case (though I don't think it's actually necessary).
Hi, it seems that this commit did break the installation with cpanm of pakets which use ModuleBuild in that sort, that dependencies noted in cpanfile are no longer installed, due to the lack of MYMETA files.
I generated a small tarball, which is not installable with cpanm if the dependency (here Moose) is not already installed.
The tarball is generated with the following steps:
if lib/Minilla/ModuleMaker/ModuleBuild.pm lines 139 .. are inserted again, all works like expected. That means running
Kind regards,
Jörg