File Coverage

example/curl.alienfile
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1 1     1   7 use alienfile;
  1         2  
  1         6  
2              
3             # PkgConfig uses the pkg-config negotiator to pick the best
4             # available implementation (as of this writing, in order:
5             # libpkgconf, pkg-config, PkgConfig,pm), to determine
6             # if the system already provides the library. In addition,
7             # it gets the version, cflags and libs during either a
8             # "system" or "share" install.
9             plugin 'PkgConfig' => 'libcurl';
10              
11             # in addition to the library, we require that the xz command
12             # is also available.
13             plugin 'Probe::CommandLine' => (
14             command => 'curl',
15             secondary => 1,
16             );
17              
18             share {
19              
20             # items in the share block relate to building the package
21             # from source. It is called share because it will be
22             # installed into a dist level share directory in your
23             # perl lib.
24              
25             # The Download negotiator picks the best method for
26             # downloading the package. It uses the version
27             # regex to parse out the version number from the
28             # tarball so that it can pick the most recent
29             # version.
30             start_url 'https://curl.haxx.se/download/';
31             plugin Download => (
32             version => qr/^curl-([0-9\.]+)\.tar\.gz$/,
33             );
34              
35             # The Extract negotiator picks the best method for
36             # extracting from the tarball. We give it a hint
37             # here that we expect the tarball to be .gz compressed
38             # in case it needs to load extra modules to
39             # decompress.
40             plugin Extract => 'tar.gz';
41              
42             # The Autoconf plugin builds using the standard
43             # configure and make tools. It uses a DESTDIR
44             # ( https://www.gnu.org/prep/standards/html_node/DESTDIR.html )
45             # to ensure that the prefix during the build
46             # (ie when you install the Alien::xz module)
47             # matches the prefix during runtime
48             # (ie when you use it from XZ::XS).
49             plugin 'Build::Autoconf';
50              
51             # This package doesn't build a dynamic library, but if
52             # it did this would make sure that it wasn't used with XS.
53             # (See Alien::Build::Manual::AlienAuthor for details).
54             plugin 'Gather::IsolateDynamic';
55              
56             };