The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Perl::Dist::Asset::PAR - "Binary .par package" asset for a Win32 Perl

SYNOPSIS

  my $binary = Perl::Dist::Asset::PAR->new(
      name       => 'dmake',
  );
  
  # Or usually more like this:
  $perl_dist_inno_obj->install_par(
    name => 'Perl-Dist-PrepackagedPAR-libexpat',
    url  => 'http://parrepository.de/Perl-Dist-PrepackagedPAR-libexpat-2.0.1-MSWin32-x86-multi-thread-anyversion.par',
  );

DESCRIPTION

Perl::Dist::Asset::PAR is a data class that provides encapsulation and error checking for a "binary .par package" to be installed in a Perl::Dist-based Perl distribution.

It is normally created on the fly by the Perl::Dist::Inno install_par method (and other things that call it). The install_par routine is currently implemented in this file and monkey-patched into Perl::Dist::Inno namespace. This will hopefully change in future.

The specification of the location to retrieve the package is done via the standard mechanism implemented in Perl::Dist::Asset.

The install_to argument of the Perl::Dist::Asset::Library Perl::Dist asset is nto currently supported by the PAR asset. See "PAR FILE FORMAT EXTENSIONS" below for details on how non-Perl binaries are installed.

METHODS

This class inherits from Perl::Dist::Asset and shares its API.

new

The new constructor takes a series of parameters, validates then and returns a new Perl::Dist::Asset::PAR object.

It inherits all the params described in the Perl::Dist::Asset new method documentation, and adds some additional params.

name

The required name param is the logical (arbitrary) name of the package for the purposes of identification. A sensible default would be the name of the primary Perl module in the package.

The new constructor returns a Perl::Dist::Asset::PAR object, or throws an exception (dies) if an invalid param is provided.

PAR FILE FORMAT EXTENSIONS

This concerns packagers of .par binaries only. A .par usually mostly contains the blib/ directory after making a Perl module. For use with Perl::Dist::Asset::PAR, there are currently three more subdirectories which will be installed:

 blib/c/lib     => goes into the c/lib library directory for non-Perl extensions
 blib/c/bin     => goes into the c/bin executable/dll directory for non-Perl extensions
 blib/c/include => goes into the c/include header directory for non-Perl extensions
 blib/c/share   => goes into the c/share share directory for non-Perl extensions

SUPPORT

Bugs should be reported via the CPAN bug tracker at

http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Perl-Dist

For other issues, contact the author.

AUTHOR

Steffen Mueller <smueller@cpan.org>

SEE ALSO

Perl::Dist, Perl::Dist::Inno, Perl::Dist::Asset

COPYRIGHT AND LICENSE

Copyright 2008 Steffen Mueller, borrowing heavily from Adam Kennedy's code.

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.