Module::Build inc bundling is getting close

Wow. Is it time for another Ironman post already? The last week has just flown by.

Last time, I mentioned the roadmap for Module::Build and the work being done to support bundling Module::Build into an inc/ directory in CPAN distributions for maximum back-compatibility.

Thanks to some rapid design brainstorming with Eric Wilhelm, we can demonstrate a working prototype. In practice, it means that a Build.PL might look like this:

use inc::latest 'Module::Build';
use inc::latest 'Devel::AssertOS::Unix';

Module::Build->new(
  module_name => 'Local::Blah',
  license => 'perl',
)->create_build_script;

This example would also bundle Devel-CheckOS (which contains Devel::Assert::Unix) along with Module::Build. And both are automatically added to configure_requires in the META.yml, so that any perl with an updated CPAN or CPANPLUS will have these prerequisites satisfied automatically and the bundled versions will be ignored.

Download this sample Local-Blah distribution to see how it works.

There are some non-trivial kinks to iron out and some refactoring and cleanup, but the prototype proves the concept, so I think we'll have inc bundling available at least in a development release very soon.

This entry was posted in cpan, perl programming, toolchain and tagged , . Bookmark the permalink. Both comments and trackbacks are currently closed.

© 2009-2014 David Golden All Rights Reserved