NAME

CPAN::Static::Install - static CPAN installation reference implementation

VERSION

version 0.006

SYNOPSIS

 if (my $static = supports_static_install($meta)) {
     configure(static_version => $static);
     ... install dependencies ...
     build;
     test;
     install;
 } else {
     ...
 }

DESCRIPTION

This module provides a reference implementation of the CPAN::Static::Spec.

FUNCTIONS

supports_static_install($meta)

This returns returns the version of the CPAN::Static spec for this dist. It returns undef if no version is declared or if the declared version is not supported. $meta is a CPAN::Meta object, if undefined it will be loaded from META.json.

configure(%options)

This function takes the following options, whose semantics are mostly described in detail in CPAN::API::BuildPL.

  • static_version

    The version of the CPAN::Static spec to use, as returned by supports_static_install.

  • destdir

    A string containing the destination directory

  • installdirs

    The type of installdirs, one of 'site', 'vendor' or 'core'.

  • install_base

    The path to the install base.

  • install_path

    A hash describing the install path for different target types.

  • uninst

    A boolean value enabling uninstalling older versions.

  • verbose

    The verbosity of the actions.

  • config

    %Config entries to be override. This should either be a hash of overrides, or an ExtUtils::Config object.

  • jobs

    Suggest a certain number of jobs to be run in parallel.

build()

This will build the dist.

test()

This will run the tests for the distribution.

install()

This will install the dist.

opts_from_args_list

This turns a list of arguments into a %options hash for configure, the same way a Build.PL implementation would. It takes them as an array, e.g. ( '--install_base', '~/foo').

opts_from_args_string

This turns a list of arguments into a %options hash for configure, the same way a Build.PL implementation would. It takes them as an string, e.g. '--install_base ~/foo'.

AUTHOR

Leon Timmermans <leont@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Leon Timmermans.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.