The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl

# this is just a first crack and it uses File::Fu because I'm lazy.

=head1 using

This installs from a fresh Module::Build to your inc/inc_Module-Build
directory.  Use it from within your dist:

  perl /path/to/Module-Build/scripts/bundle.pl

You still need to manually add the following to your Build.PL

  use lib 'inc';
  use latest 'Module::Build';

You also need to regen your manifest.

  perl Build.PL
  ./Build distmeta; >MANIFEST; ./Build manifest; svn diff MANIFEST

=cut

use warnings;
use strict;

use File::Fu;
use File::Copy ();

my $inc_dir = shift(@ARGV);
$inc_dir = File::Fu->dir($inc_dir || 'inc/inc_Module-Build');
$inc_dir->create unless($inc_dir->e);
$inc_dir = $inc_dir->absolutely;


my $mb_dir = File::Fu->program_dir->dirname;

$mb_dir->chdir_for(sub {
  my $temp = File::Fu->temp_dir('mb_bundle');
  local @INC = @INC;
  unshift(@INC, 'lib', 'inc');
  require Module::Build;
  my $builder = Module::Build->new_from_context;
  $builder->dispatch(install =>
    install_base => $temp,
    install_path => {lib => $inc_dir},
  );
});

my $latest = $mb_dir/'inc'+'latest.pm';
File::Copy::copy($latest, 'inc');

# vim:ts=2:sw=2:et:sta