
App::SmokeBrew::BuildPerl - build and install a particular version of Perl

use strict;
use warnings;
use App::SmokeBrew::BuildPerl;
my $bp = App::SmokeBrew::BuildPerl->new(
version => '5.12.0',
builddir => 'build',
prefix => 'prefix',
skiptest => 1,
verbose => 1,
perlargs => [ '-Dusemallocwrap=y', '-Dusemymalloc=n' ],
);
my $prefix = $bp->build_perl();
print $prefix, "\n";

App::SmokeBrew::BuildPerl encapsulates the task of configuring, building, testing and installing a perl executable ( and associated core modules ).

newCreates a new App::SmokeBrew::BuildPerl object. Takes a number of options.
versionA required attribute, this is the version of perl to install. Must be a valid perl version.
builddirA required attribute, this is the working directory where builds can take place. It will be coerced into a Path::Class::Dir object by MooseX::Types::Path::Class.
prefixA required attribute, this is the prefix of the location where perl installs will be made, it will be coerced into a Path::Class::Dir object by MooseX::Types::Path::Class.
example:
prefix = /home/cpan/pit/rel perls will be installed as /home/cpan/pit/perl-5.12.0, /home/cpan/pit/perl-5.10.1, etc.
skiptestOptional boolean attribute, which defaults to 0, indicates whether the testing phase of the perl installation ( make test ) should be skipped or not.
perloptsOptional attribute, takes an arrayref of perl configuration flags that will be passed to Configure. There is no need to specify -Dprefix or -Dusedevel as the module handles these for you.
perlopts => [ '-Dusethreads', '-Duse64bitint' ],
verboseOptional boolean attribute, which defaults to 0, indicates whether we should produce verbose output.
nocleanOptional boolean attribute, which defaults to 0, indicates whether we should cleanup files that we produce under the builddir or not.
nozapmanThis is an optional boolean attribute. Usually man pages that are generated by the perl installation are removed. Specify this option if you wish the man pages to be retained.
makeOptional attribute to specify the make utility to use. Defaults to make and you should only have to mess with this on wacky platforms.
mirrorsThis is an optional argument. Specify the URL of a CPAN mirror that should be used for retrieving required files during the build process. This may be a single URL or an arrayref of a number of URLs.

build_perlFetches, extracts, configures, builds, tests (see skiptest) and installs the perl executable.
The builddir is used for the first five processes. Installation is made into the given prefix directory.

Chris BinGOs Williams

Copyright © Chris Williams
This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details.
