Alien-Build
view release on metacpan or search on metacpan
Any property may be used from a command:
probe [ 'some command %{.meta.plugin_fetch_newprotocol_foo}' ];
probe [ 'some command %{.install.plugin_fetch_newprotocol_bar}' ];
probe [ 'some command %{.runtime.plugin_fetch_newprotocol_baz}' ];
probe [ 'some command %{.meta.my_foo}' ];
probe [ 'some command %{.install.my_bar}' ];
probe [ 'some command %{.runtime.my_baz}' ];
meta_prop
my $href = $build->meta_prop;
my $href = Alien::Build->meta_prop;
Meta properties have to do with the recipe itself, and not any
particular instance that probes or builds that recipe. Meta properties
can be changed from within an alienfile using the meta_prop directive,
or from a plugin from its init method (though should NOT be modified
from any hooks registered within that init method). This is not
strictly enforced, but if you do not follow this rule your recipe will
likely be broken.
arch
This is a hint to an installer like Alien::Build::MM or
Alien::Build::MB, that the library or tool contains architecture
dependent files and so should be stored in an architecture dependent
location. If not specified by your alienfile then it will be set to
true.
check_digest
True if cryptographic digest should be checked when files are fetched
or downloaded. This is set by Digest negotiator plugin.
destdir
Some plugins (Alien::Build::Plugin::Build::Autoconf for example)
support installing via DESTDIR. They will set this property to true
if they plan on doing such an install. This helps Alien::Build find
the staged install files and how to locate them.
If available, DESTDIR is used to stage install files in a sub
directory before copying the files into blib. This is generally
preferred method if available.
destdir_filter
Regular expression for the files that should be copied from the
DESTDIR into the stage directory. If not defined, then all files will
be copied.
destdir_ffi_filter
Same as destdir_filter except applies to build_ffi instead of build.
digest
This properties contains the cryptographic digests (if any) that
should be used when verifying any fetched and downloaded files. It is
a hash reference where the key is the filename and the value is an
array reference containing a pair of values, the first being the
algorithm ('SHA256' is recommended) and the second is the actual
digest. The special filename * may be specified to indicate that any
downloaded file should match that digest. If there are both real
filenames and the * placeholder, the real filenames will be used for
filenames that match and any other files will use the placeholder.
Example:
$build->meta_prop->{digest} = {
'foo-1.00.tar.gz' => [ SHA256 => '9feac593aa49a44eb837de52513a57736457f1ea70078346c60f0bfc5f24f2c1' ],
'foo-1.01.tar.gz' => [ SHA256 => '6bbde6a7f10ae5924cf74afc26ff5b7bc4b4f9dfd85c6b534c51bd254697b9e7' ],
'*' => [ SHA256 => '33a20aae3df6ecfbe812b48082926d55391be4a57d858d35753ab1334b9fddb3' ],
};
Cryptographic signatures will only be checked if the check_digest
meta property is set and if the Digest negotiator plugin is loaded.
(The Digest negotiator can be used directly, but is also loaded
automatically if you use the digest directive is used by the
alienfile).
env
Environment variables to override during the build stage.
env_interpolate
Environment variable values will be interpolated with helpers.
Example:
meta->prop->{env_interpolate} = 1;
meta->prop->{env}->{PERL} = '%{perl}';
local_source
Set to true if source code package is available locally. (that is not
fetched over the internet). This is computed by default based on the
start_url property. Can be set by an alienfile or plugin.
platform
Hash reference. Contains information about the platform beyond just
$^O.
platform.compiler_type
Refers to the type of flags that the compiler accepts. May be
expanded in the future, but for now, will be one of:
microsoft
On Windows when using Microsoft Visual C++
unix
Virtually everything else, including gcc on windows.
The main difference is that with Visual C++ -LIBPATH should be used
instead of -L, and static libraries should have the .LIB suffix
instead of .a.
( run in 0.603 second using v1.01-cache-2.11-cpan-140bd7fdf52 )