NAME
App::SmokeBrew::BuildPerl - build and install a particular version of Perl
VERSION
version 1.06
SYNOPSIS
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";
DESCRIPTION
App::SmokeBrew::BuildPerl encapsulates the task of configuring, building, testing and installing a perl executable ( and associated core modules ).
CONSTRUCTOR
new- 
Creates a new App::SmokeBrew::BuildPerl object. Takes a number of options.
version- 
A required attribute, this is the version of perl to install. Must be a valid perl version.
 builddir- 
A 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.
 prefix- 
A 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. skiptest- 
Optional boolean attribute, which defaults to 0, indicates whether the testing phase of the perl installation (
make test) should be skipped or not. perlopts- 
Optional attribute, takes an arrayref of perl configuration flags that will be passed to
Configure. There is no need to specify-Dprefixor-Dusedevelas the module handles these for you.perlopts => [ '-Dusethreads', '-Duse64bitint' ], verbose- 
Optional boolean attribute, which defaults to 0, indicates whether we should produce verbose output.
 noclean- 
Optional boolean attribute, which defaults to 0, indicates whether we should cleanup files that we produce under the
builddiror not. nozapman- 
This is an optional boolean attribute. Usually
manpages that are generated by the perl installation are removed. Specify this option if you wish themanpages to be retained. make- 
Optional attribute to specify the
makeutility to use. Defaults tomakeand you should only have to mess with this on wacky platforms. mirrors- 
This 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.
 
 
METHODS
build_perl- 
Fetches, extracts, configures, builds, tests (see
skiptest) and installs theperlexecutable.The
builddiris used for the first five processes. Installation is made into the givenprefixdirectory. 
SEE ALSO
AUTHOR
Chris Williams <chris@bingosnet.co.uk>
COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by Chris Williams.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.