On Thu, Jan 21, 2010 at 5:13 AM, Johan Vromans <j...@cpan.org> wrote: > First is the problem that inc::latest requires a packlist for M::B. I > do not have the faintest idea what should go into the packlist. Perl > packlists contain absolute file names. What file names should go in > the packlist for inc::latest?
It's just the packlist that gets installed with Module::Build. I.e. by ExtUtils::Packlist. All this means is that you can't bundle on a Perl that came with M::B 0.36+ because there are no packlists for modules distributed with the Perl core. (That is an issue I haven't had a chance to pursue with p5p.) > Second problem is that newer M::B require versions of perl modules > that are not yet normally found in distros: > > ExtUtils::CBuilder (0.24) is installed, but we need version >= 0.27 > ExtUtils::ParseXS (2.18_02) is installed, but we need version >= 2.21 > ExtUtils::Manifest (1.51_01) is installed, but we prefer to have 1.54 > YAML::Tiny (1.31) is installed, but we need version >= 1.38 > ExtUtils::Install (1.44) is installed, but we need version >= 1.54 > ExtUtils::Installed (1.43) is installed, but we need version >= 1.999 > Software::License is not installed That's a fair point. All of those would need to be bundled as well. Bundling is still "experimental" for Module::Build. > What minimal version of M::B has sufficient support for prereq ? 0.32 > As a side note: Do I really need things like E::CBuilder and > E::ParseXS to install a perl-only module? No -- but Module::Build has to support both Perl and XS modules and we can't guarantee sane behavior across all platforms without them. In the past, when they were optional, people would install Module::Build and then wind up unable to install XS modules because they didn't have those modules. Now, when you install Module::Build you get a known working toolchain configuration. More generally -- a preferred way to deal with a Module::Build dependency is to add it to configure_requires in META.yml. Or, since you have a Makefile.PL, you could add Build.PL to your MANIFEST.SKIP file and only ship the Makefile.PL. You'd have Build.PL for your use as an author, but would avoid Module::Build being an install-time dependency for your users. David