Alien-Base-ModuleBuild

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

    Alien::Base. Unlike this module they are more easily customized and
    handle a number of corner cases better. For a good place to start,
    please see Alien::Build::Manual::AlienAuthor. Although the Alien-Base /
    Alien-Build team will continue to maintain this module, (we will
    continue to fix bugs where appropriate), we aren't adding any new
    features to this module.

    This is a subclass of Module::Build, that with Alien::Base allows for
    easy creation of Alien distributions. This module is used during the
    build step of your distribution. When properly configured it will

    use pkg-config to find and use the system version of the library

    download, build and install the library if the system does not provide
    it

METHODS

 alien_check_installed_version

    [version 0.001]

     my $version = $abmb->alien_check_installed_version;

    This function determines if the library is already installed as part of
    the operating system, and returns the version as a string. If it can't
    be detected then it should return empty list.

    The default implementation relies on pkg-config, but you will probably
    want to override this with your own implementation if the package you
    are building does not use pkg-config.

 alien_check_built_version

    [version 0.006]

     my $version = $amb->alien_check_built_version;

    This function determines the version of the library after it has been
    built from source. This function only gets called if the operating
    system version can not be found and the package is successfully built.
    The version is returned on success. If the version can't be detected
    then it should return empty list. Note that failing to detect a version
    is considered a failure and the corresponding ./Build action will fail!

    Any string is valid as a version as far as Alien::Base is concerned.
    The most useful value would be a number or dotted decimal that most
    software developers recognize and that software tools can
    differentiate. In some cases packages will not have a clear version
    number, in which case the string unknown would be a reasonable choice.

    The default implementation relies on pkg-config, and other heuristics,
    but you will probably want to override this with your own
    implementation if the package you are building does not use pkg-config.

    When this method is called, the current working directory will be the
    build root.

    If you see an error message like this:

     Library looks like it installed, but no version was determined

    After the package is built from source code then you probably need to
    provide an implementation for this method.

 alien_extract_archive

    [version 0.024]

      my $dir = $amb->alien_extract_archive($filename);

    This function unpacks the given archive and returns the directory
    containing the unpacked files.

    The default implementation relies on Archive::Extract that is able to
    handle most common formats. In order to handle other formats or
    archives requiring some special treatment you may want to override this
    method.

 alien_do_system

    [version 0.024]

      my %result = $amb->alien_do_system($cmd)

    Similar to Module::Build's do_system, also sets the path and several
    environment variables in accordance to the object configuration (i.e.
    alien_bin_requires) and performs the interpolation of the patterns
    described in "COMMAND INTERPOLATION" in Alien::Base::ModuleBuild::API.

    Returns a set of key value pairs including stdout, stderr, success and
    command.

 alien_do_commands

     $amb->alien_do_commands($phase);

    Executes the commands for the given phase.

 alien_interpolate

     my $string = $amb->alien_interpolate($string);

    Takes the input string and interpolates the results.

 alien_install_network

    [version 1.16]

     my $bool = $amb->alien_install_network;

    Returns true if downloading source from the internet is allowed. This
    is true unless ALIEN_INSTALL_NETWORK is defined and false.

 alien_download_rule

    [version 1.16]

     my $rule = $amb->alien_download_rule;

    This will return one of warn, digest, encrypt, digest_or_encrypt or



( run in 0.904 second using v1.01-cache-2.11-cpan-fa01517f264 )