Alien-Build

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


    patch

      Directory with patches, if available. This will be undef if there are
      no patches. When initially installing an alien this will usually be a
      sibling of the alienfile, a directory called patch. Once installed
      this will be in the share directory called _alien/patch. The former
      is useful for rebuilding an alienized package using af.

    prefix

      The install time prefix. Under a destdir install this is the same as
      the runtime or final install location. Under a non-destdir install
      this is the stage directory (usually the appropriate share directory
      under blib).

    root

      The build root directory. This will be an absolute path. It is the
      absolute form of ./_alien by default.

    stage

      The stage directory where files will be copied. This is usually the
      root of the blib share directory.

    system_probe_class

      After the probe step this property may contain the plugin class that
      performed the system probe. It shouldn't be filled in directly by the
      plugin (instead if should use the hook property probe_class, see
      below). This is optional, and not all probe plugins will provide this
      information.

    system_probe_instance_id

      After the probe step this property may contain the plugin instance id
      that performed the system probe. It shouldn't be filled in directly
      by the plugin (instead if should use the hook property
      probe_instance_id, see below). This is optional, and not all probe
      plugins will provide this information.

 plugin_instance_prop

     my $href = $build->plugin_instance_prop($plugin);

    This returns the private plugin instance properties for a given plugin.
    This method should usually only be called internally by plugins
    themselves to keep track of internal state. Because the content can be
    used arbitrarily by the owning plugin because it is private to the
    plugin, and thus is not part of the Alien::Build spec.

 runtime_prop

     my $href = $build->runtime_prop;

    Runtime properties are used during the install and runtime phases
    (either under share or system install). This should include anything
    that you will need to know to use the library or tool during runtime,
    and shouldn't include anything that is no longer relevant once the
    install process is complete.

    alien_build_version

      The version of Alien::Build used to install the library or tool.

    alt

      Alternate configurations. If the alienized package has multiple
      libraries this could be used to store the different compiler or
      linker flags for each library. Typically this will be set by a plugin
      in the gather stage (for either share or system installs).

    cflags

      The compiler flags. This is typically set by a plugin in the gather
      stage (for either share or system installs).

    cflags_static

      The static compiler flags. This is typically set by a plugin in the
      gather stage (for either share or system installs).

    command

      The command name for tools where the name my differ from platform to
      platform. For example, the GNU version of make is usually make in
      Linux and gmake on FreeBSD. This is typically set by a plugin in the
      gather stage (for either share or system installs).

    ffi_name

      The name DLL or shared object "name" to use when searching for
      dynamic libraries at runtime. This is passed into FFI::CheckLib, so
      if your library is something like libarchive.so or archive.dll you
      would set this to archive. This may be a string or an array of
      strings. This is typically set by a plugin in the gather stage (for
      either share or system installs).

    ffi_checklib

      This property contains two sub properties:

      ffi_checklib.share

         $build->runtime_prop->{ffi_checklib}->{share} = [ ... ];

	Array of additional FFI::CheckLib flags to pass in to find_lib for
	a share install.

      ffi_checklib.system

	Array of additional FFI::CheckLib flags to pass in to find_lib for
	a system install.

	Among other things, useful for specifying the try_linker_script
	flag:

         $build->runtime_prop->{ffi_checklib}->{system} = [ try_linker_script => 1 ];

      This is typically set by a plugin in the gather stage (for either

README  view on Meta::CPAN

      stage (for either share or system installs).

    libs_static

      The static library flags. This is typically set by a plugin in the
      gather stage (for either share or system installs).

    perl_module_version

      The version of the Perl module used to install the alien (if
      available). For example if Alien::curl is installing libcurl this
      would be the version of Alien::curl used during the install step.

    prefix

      The final install root. This is usually they share directory.

    version

      The version of the library or tool. This is typically set by a plugin
      in the gather stage (for either share or system installs).

 hook_prop

     my $href = $build->hook_prop;

    Hook properties are for the currently running (if any) hook. They are
    used only during the execution of each hook and are discarded after. If
    no hook is currently running then hook_prop will return undef.

    name

      The name of the currently running hook.

    version (probe)

      Probe and PkgConfig plugins may set this property indicating the
      version of the alienized package. Not all plugins and configurations
      may be able to provide this.

    probe_class (probe)

      Probe and PkgConfig plugins may set this property indicating the
      plugin class that made the probe. If the probe results in a system
      install this will be propagated to system_probe_class for later use.

    probe_instance_id (probe)

      Probe and PkgConfig plugins may set this property indicating the
      plugin instance id that made the probe. If the probe results in a
      system install this will be propagated to system_probe_instance_id
      for later use.

METHODS

 checkpoint

     $build->checkpoint;

    Save any install or runtime properties so that they can be reloaded on
    a subsequent run in a separate process. This is useful if your build
    needs to be done in multiple stages from a Makefile, such as with
    ExtUtils::MakeMaker. Once checkpointed you can use the resume
    constructor (documented above) to resume the probe/build/install]
    process.

 root

     my $dir = $build->root;

    This is just a shortcut for:

     my $root = $build->install_prop->{root};

    Except that it will be created if it does not already exist.

 install_type

     my $type = $build->install_type;

    This will return the install type. (See the like named install property
    above for details). This method will call probe if it has not already
    been called.

 is_system_install

     my $boolean = $build->is_system_install;

    Returns true if the alien is a system install type.

 is_share_install

     my $boolean = $build->is_share_install;

    Returns true if the alien is a share install type.

 download_rule

     my $rule = $build->download_rule;

    This returns install rule as a string. This is determined by the
    environment and should be one of:

    warn

      Warn only if fetching via non secure source (secure sources include
      https, and bundled files, may include other encrypted protocols in
      the future).

    digest

      Require that any downloaded source package have a cryptographic
      signature in the alienfile and that signature matches what was
      downloaded.

    encrypt

      Require that any downloaded source package is fetched via secure
      source.

    digest_or_encrypt

      Require that any downloaded source package is either fetched via a
      secure source or has a cryptographic signature in the alienfile and
      that signature matches what was downloaded.



( run in 0.848 second using v1.01-cache-2.11-cpan-3d66aa2751a )