Perl::Dist::Builder - Create win32 Perl installers
Command line interface
perldist vanilla.yml
Programmatic interface
use Perl::Dist::Builder; my $pdb = Perl::Dist::Builder->new( 'vanilla.yml' ); $pdb->remove_image; $pdb->build_all;
Perl::Dist::Builder is alpha software.
Perl::Dist::Builder uses a configuration file to automatically generate a complete, standalone Perl distribution in a directory suitable for bundling into an executable installer.
Perl::Dist::Builder requires Perl and numerous modules. See Perl::Dist::Bootstrap for details on how to bootstrap a Perl environment suitable for building new Perl distributions.
To be documented after Perl::Dist::Builder is refactored. See the config files in Perl::Dist::Vanilla and Perl::Dist::Strawberry for current examples.
Some sections currently have no effect.
Perl::Dist::Builder is not yet integrated with tools to create the executable. Installers for Vanilla Perl, etc. have been created with the free Inno Setup tool.
Inno Setup can be downloaded from jrsoftware.org: http://www.jrsoftware.org/isinfo.php
Inno Setup is configured with .iss files included in the distributions.
A future version of Perl::Dist::Builder may likely auto-generate the .iss file.
my $pdb = Perl::Dist::Builder->new( $yaml_config_file );
Create a new builder object, initialized from a YAML configuration file.
$pdb->build_all;
Runs all build tasks in order:
install_binaries
install_perl
install_modules
install_extras
install_from_cpan
Does not delete the existing image directory.
$pdb->install_binaries;
Downloads binary packages (e.g. compiler, dmake) from URLs provided in the config file. Unpacks them (or portions of them) into the image directory.
$pdb->install_from_cpan;
Uses the copy of perl in the image directory to run CPAN and install modules defined in the config file.
$pdb->install_extras;
Copies local files into the image directory. E.g. documentation, menu shortcuts, CPAN starter config file, etc.
$pdb->install_modules;
Downloads tarballs for modules defined in the config file, unpacks them and installs them directly using "Makefile.PL" and "dmake". Does not invoke CPAN. (Used primarily to get necessary prerequisite modules to make CPAN work sanely and safely without binary helpers on Win32.)
$pdb->install_perl;
Downloads Perl source tarball, unpacks it, builds it, and installs it into the image directory.
$pdb->remove_image;
Removes the "image_dir" directory specified in the config file, if it exists, and prints a diagnostic message.
Massive refactoring/rewrite is needed. This initial version is a crudely modulized form of individual perl scripts used in the early development process of Vanilla Perl.
Additional documentation will be created after refactoring.
Please report any bugs or feature using the CPAN Request Tracker. Bugs can be submitted by email to bug-Perl-Dist@rt.cpan.org or through the web interface at http://rt.cpan.org/Public/Dist/Display.html?Name=Perl-Dist
bug-Perl-Dist@rt.cpan.org
Adam Kennedy <adamk@cpan.org>
David A. Golden <dagolden@cpan.org>
Copyright 2007 Adam Kennedy.
Copyright 2006 David A. Golden.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
Perl::Dist
Perl::Dist::Vanilla
Perl::Dist::Strawberry
http://win32.perl.org/
http://vanillaperl.com/
irc://irc.perl.org/#win32
http://ali.as/
http://dagolden.com/
To install Perl::Dist, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Perl::Dist
CPAN shell
perl -MCPAN -e shell install Perl::Dist
For more information on module installation, please visit the detailed CPAN module installation guide.