App::SmokeBrew::BuildPerl - build and install a particular version of Perl
version 1.04
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 ).
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.
make test
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.
Configure
-Dprefix
-Dusedevel
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 the man pages to be retained.
man
make
Optional attribute to specify the make utility to use. Defaults to make 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.
build_perl
Fetches, extracts, configures, builds, tests (see skiptest) and installs the perl executable.
perl
The builddir is used for the first five processes. Installation is made into the given prefix directory.
App::perlbrew
Module::CoreList
Chris Williams <chris@bingosnet.co.uk>
This software is copyright (c) 2022 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.
To install smokebrew, copy and paste the appropriate command in to your terminal.
cpanm
cpanm smokebrew
CPAN shell
perl -MCPAN -e shell install smokebrew
For more information on module installation, please visit the detailed CPAN module installation guide.