Alien-Build

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
  - Extract::ArchiveTar plugin now probes for bz2 support rather
    than trusting Archive::Tar which can sometimes report incorrectly
    that it supports bz2.
 
0.91      2017-08-08 05:24:27 -0400
  - Production release identical to 0.90_01
 
0.90_01   2017-08-07 15:30:27 -0400
  - Add alien_download_ok to Test::Alien::Build
  - Add alien_extract_ok to Test::Alien::Build
  - Extract now ignores pax_global_header, produced by extracting some
    tarballs using older tars (including older versions of Archive::Tar).
  - Fix detection logic for supported compression by tar in Extract::CommandLine
 
0.89_01   2017-08-07 08:57:48 -0400
  - Extract negotiator plugin checks for .gz and .bz2 support in
    Archive::Tar before using ArchiveTar plugin, and will fallback on
    Extract::CommandLine if it is not available.
  - Extract::ArchiveTar skips appropriate tests if compression
    support is not available

Changes.Alien-Base  view on Meta::CPAN

454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
                but may show where the true problem lies
 
0.000_010  Apr 24, 2012
        - Prevent build process from cwd-ing from underneath us (hopefully)
 
0.000_009  Apr 24, 2012
        - Note: Released from 'dlopen' branch
        - Uses new dynamic loading mechanism via DynaLoader
 
0.000_008  Apr 11, 2012
        - Prevent do_system from changing wd globally
 
0.000_007  Apr 4, 2012
        - Don't rebuild library on repeated M::B::dispatch
        - More bugfixes
 
0.000_006  Apr 3, 2012
        - Yet anther bugfix(?) release
 
0.000_005  Apr 2, 2012
        - Bugfix: A::B::PkgConfig _manual key shouldn't emit undef values

README  view on Meta::CPAN

1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
  semicolon separated list of plugins to automatically load after
  parsing your alienfile.
 
ALIEN_BUILD_PRELOAD
 
  semicolon separated list of plugins to automatically load before
  parsing your alienfile.
 
ALIEN_BUILD_RC
 
  Perl source file which can override some global defaults for
  Alien::Build, by, for example, setting preload and postload plugins.
 
ALIEN_DOWNLOAD_RULE
 
  This value determines the rules by which types of downloads are
  allowed. The legal values listed under "download_rule", plus default
  which will be the default for the current version of Alien::Build.
  For this version that default is warn.
 
ALIEN_INSTALL_NETWORK

corpus/alien_build_plugin_fetch_wget/record/old.json  view on Meta::CPAN

1
{"-k --content-disposition -S http://localhost/corpus/alien_build_plugin_fetch_wget/dir/foo-1.01.tar":{"stderr":"--2021-05-12 00:10:35--  http://localhost/corpus/alien_build_plugin_fetch_wget/dir/foo-1.01.tar\nResolving localhost (localhost)... ::1, ...

corpus/alien_build_plugin_fetch_wget/record/old.yml  view on Meta::CPAN

144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
                                   Use with care. This option overrides --secure-protocol.
                                   The format and syntax of this string depend on the specific SSL/TLS engine.
HSTS options:
       --no-hsts                   disable HSTS
       --hsts-file                 path of HSTS database (will override default)
 
FTP options:
       --ftp-user=USER             set ftp user to USER
       --ftp-password=PASS         set ftp password to PASS
       --no-remove-listing         don't remove '.listing' files
       --no-glob                   turn off FTP file name globbing
       --no-passive-ftp            disable the "passive" transfer mode
       --preserve-permissions      preserve remote file permissions
       --retr-symlinks             when recursing, get linked-to files (not dir)
 
FTPS options:
       --ftps-implicit                 use implicit FTPS (default port is 990)
       --ftps-resume-ssl               resume the SSL/TLS session started in the control connection when
                                         opening a data connection
       --ftps-clear-data-connection    cipher the control channel only; all the data will be in plaintext
       --ftps-fallback-to-ftp          fall back to FTP if FTPS is not supported in the target server

corpus/vcpkg/r2/installed/vcpkg/info/libxml2_2.9.9-5_x64-windows.list  view on Meta::CPAN

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
x64-windows/include/libxml/HTMLtree.h
x64-windows/include/libxml/SAX.h
x64-windows/include/libxml/SAX2.h
x64-windows/include/libxml/c14n.h
x64-windows/include/libxml/catalog.h
x64-windows/include/libxml/chvalid.h
x64-windows/include/libxml/debugXML.h
x64-windows/include/libxml/dict.h
x64-windows/include/libxml/encoding.h
x64-windows/include/libxml/entities.h
x64-windows/include/libxml/globals.h
x64-windows/include/libxml/hash.h
x64-windows/include/libxml/list.h
x64-windows/include/libxml/nanoftp.h
x64-windows/include/libxml/nanohttp.h
x64-windows/include/libxml/parser.h
x64-windows/include/libxml/parserInternals.h
x64-windows/include/libxml/pattern.h
x64-windows/include/libxml/relaxng.h
x64-windows/include/libxml/schemasInternals.h
x64-windows/include/libxml/schematron.h

lib/Alien/Base/Wrapper.pm  view on Meta::CPAN

420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
but they are well maintained and reliable, so while there is a small cost in terms of extra
dependencies, the overall reliability thanks to reduced overall complexity.
 
=head1 CONSTRUCTOR
 
=head2 new
 
 my $abw = Alien::Base::Wrapper->new(@aliens);
 
Instead of passing the aliens you want to use into this modules import you can create
a non-global instance of C<Alien::Base::Wrapper> using the OO interface.
 
=head1 FUNCTIONS
 
=head2 cc
 
 % perl -MAlien::Base::Wrapper=Alien::Foo -e cc -- cflags
 
Invoke the C compiler with the appropriate flags from C<Alien::Foo> and what
is provided on the command line.

lib/Alien/Build.pm  view on Meta::CPAN

848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
  $CWD = "$tmp";
},
verify => sub {
 
  my $path = '.';
  if($self->meta_prop->{out_of_source} && $self->install_prop->{extract})
  {
    $path = $self->install_prop->{extract};
  }
 
  my @list = grep { $_->basename !~ /^\./ && $_->basename ne 'pax_global_header' } _path($path)->children;
 
  my $count = scalar @list;
 
  if($count == 0)
  {
    die "no files extracted";
  }
  elsif($count == 1 && -d $list[0])
  {
    $ret = $list[0]->absolute->stringify;

lib/Alien/Build.pm  view on Meta::CPAN

2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
semicolon separated list of plugins to automatically load after parsing
your L<alienfile>.
 
=item ALIEN_BUILD_PRELOAD
 
semicolon separated list of plugins to automatically load before parsing
your L<alienfile>.
 
=item ALIEN_BUILD_RC
 
Perl source file which can override some global defaults for L<Alien::Build>,
by, for example, setting preload and postload plugins.
 
=item ALIEN_DOWNLOAD_RULE
 
This value determines the rules by which types of downloads are allowed.  The legal
values listed under L</download_rule>, plus C<default> which will be the default for
the current version of L<Alien::Build>.  For this version that default is C<warn>.
 
=item ALIEN_INSTALL_NETWORK

lib/Alien/Build/Plugin/Extract/CommandLine.pm  view on Meta::CPAN

53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
      system 'tar', '--version';
    };
    return $bsd_tar = $out =~ /bsdtar/ ? 1 : 0
  }
}
 
sub tar_cmd
{
  _which('bsdtar')
    ? 'bsdtar'
    # Slowlaris /usr/bin/tar doesn't seem to like pax global header
    # but seems to have gtar in the path by default, which is okay with it
    : $^O eq 'solaris' && _which('gtar')
      ? 'gtar'
      # See note above for Windows logic.
      : _which('tar') && _windows_tar_is_bsdtar()
        ? 'tar'
        : _which('ptar')
          ? 'ptar'
          : undef;
};

maint/ci-test-plugins.pl  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use strict;
use File::Glob qw( bsd_glob );
 
exit if $] < 5.012;
 
my $exit = 0;
 
my @fails;
 
sub run
{
  print "% @_\n";
  system(@_);
  if($?)
  {
    push @fails, [@_];
    warn "command failed!";
  }
}
 
my(@tarball) = bsd_glob 'Alien-Build-*.tar.gz';
die "not exactly one tarball: @tarball" if @tarball != 1;
my $tarball = shift @tarball;
run 'cpanm', '-n', $tarball;
 
my %min = (
  'Alien::Build::Plugin::Extract::Libarchive' => 5.020
);
 
# TODO: Alien::Build::Plugin::Build::Premake5

t/alien_base.t  view on Meta::CPAN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use 5.008004;
use Test2::V0 -no_srand => 1;
use lib 'corpus/lib';
use Env qw( @PKG_CONFIG_PATH );
use File::Glob qw( bsd_glob );
use File::chdir;
use Path::Tiny qw( path );
use Text::ParseWords qw( shellwords );
use List::Util qw( first );
 
my $mock = mock 'FFI::CheckLib' => (
  override => [
    find_lib => sub {
      my %args = @_;

t/alien_base.t  view on Meta::CPAN

27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  my @libs;
  foreach my $libpath (@libpath)
  {
    if($libpath eq '/roger/opt/libbumblebee/lib')
    {
      push @libs, '/roger/opt/libbumblebee/lib/libbumblebee.so';
      next;
    }
    next unless -d $libpath;
    local $CWD = $libpath;
    push @libs, map { path($_)->absolute->stringify } bsd_glob('*.so*');
  }
  return @libs;
}
else
{
  if($args{lib} eq 'foo')
  {
    return ('/usr/lib/libfoo.so', '/usr/lib/libfoo.so.1');
  }
  else

t/alien_build.t  view on Meta::CPAN

1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
  match qr/^foo.txt.gz SHA256 digest does not match: got $good, expected $bad/,
  'bad signature with filename';
 
$build->meta_prop->{digest} = {
  '*' => [ SHA256 => $good ],
};
 
is
  $build->check_digest($file),
  1,
  'good signature with glob';
 
$build->meta_prop->{digest} = {
  'foo.txt.gz' => [ FOO92 => $good ],
};
 
is
  dies { $build->check_digest($file) },
  match qr/^No plugin provides digest algorithm for FOO92/,
  'no algorithm';

t/alien_build_plugin_extract_archivetar.t  view on Meta::CPAN

202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
        {
          diag "[out]";
          diag $out;
        }
      }
    }
  }
 
};
 
subtest 'archive with pax_global_header' => sub {
 
  skip_all 'Test requires Archive::Tar'
    unless eval { require Archive::Tar };
 
  my $build = alienfile_ok q{
    use alienfile;
    use Path::Tiny qw( path );
    plugin 'Test::Mock',
      probe    => 'share',
      download => {

t/alien_build_plugin_extract_commandline.t  view on Meta::CPAN

93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
      foreach my $name (qw( configure foo.c ))
      {
        my $file = $dir->child($name);
        ok -f $file, "$name exists";
      }
    }
  }
 
};
 
subtest 'archive with pax_global_header' => sub {
 
  skip_all "system does not support tar" unless Alien::Build::Plugin::Extract::CommandLine->new->handles('tar');
 
  my $build = alienfile_ok q{
    use alienfile;
    use Path::Tiny qw( path );
    plugin 'Test::Mock',
      probe => 'share',
      download => {
        'foo.tar' => path(__FILE__)->parent->parent->child('corpus/dist2/foo.tar')->slurp_raw,



( run in 1.083 second using v1.01-cache-2.11-cpan-95122f20152 )