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-Dprefix
or-Dusedevel
as 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
builddir
or not. nozapman
-
This is an optional boolean attribute. Usually
man
pages that are generated by the perl installation are removed. Specify this option if you wish theman
pages to be retained. make
-
Optional attribute to specify the
make
utility to use. Defaults tomake
and 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 theperl
executable.The
builddir
is used for the first five processes. Installation is made into the givenprefix
directory.
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.