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

Reply via email to