Alien-Build

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

    On Windows Extract::ArchiveTar is now always used for tar.xz
    files because the BSD tar that comes with Windows can hang
    on tar.xz if xz is in the PATH (gh#403, gh#404)

2.80      2023-05-11 16:31:46 -0600
  - Documentation improvements (gh#399, gh#400, gh#401, gh#402)
  - Do not generate .../Install/Files.pm if one is provided by the
    Alien (gh#393, gh#397)

2.79      2023-05-05 15:08:46 -0600
  - Updated non-binding support for Perls to match the policy
    of the Perl toolchain (Perls older than 10 years old are
    unsupported, with a one-time exception of Perl 5.16).  The
    intent is not to suddenly drop support for older Perls, but
    the Alien-Build team may take advantage of features in
    supported Perls that will effectively remove compatability
    with unsupported Perls.

2.78      2023-03-07 11:49:27 -0700
  - Test fix to handle Perls with space in the path (gh#391, mohawk++)

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

{"-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

           --spider                    don't download anything
      -T,  --timeout=SECONDS           set all timeout values to SECONDS
           --dns-timeout=SECS          set the DNS lookup timeout to SECS
           --connect-timeout=SECS      set the connect timeout to SECS
           --read-timeout=SECS         set the read timeout to SECS
      -w,  --wait=SECONDS              wait SECONDS between retrievals
           --waitretry=SECONDS         wait 1..SECONDS between retries of a retrieval
           --random-wait               wait from 0.5*WAIT...1.5*WAIT secs between retrievals
           --no-proxy                  explicitly turn off proxy
      -Q,  --quota=NUMBER              set retrieval quota to NUMBER
           --bind-address=ADDRESS      bind to ADDRESS (hostname or IP) on local host
           --limit-rate=RATE           limit download rate to RATE
           --no-dns-cache              disable caching DNS lookups
           --restrict-file-names=OS    restrict chars in file names to ones OS allows
           --ignore-case               ignore case when matching files/directories
      -4,  --inet4-only                connect only to IPv4 addresses
      -6,  --inet6-only                connect only to IPv6 addresses
           --prefer-family=FAMILY      connect first to addresses of specified family,
                                         one of IPv6, IPv4, or none
           --user=USER                 set both ftp and http user to USER
           --password=PASS             set both ftp and http password to PASS

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/BIO_ADDR_free.html
x64-windows/debug/html/man3/BIO_ADDR_hostname_string.html
x64-windows/debug/html/man3/BIO_ADDR_new.html
x64-windows/debug/html/man3/BIO_ADDR_path_string.html
x64-windows/debug/html/man3/BIO_ADDR_rawaddress.html
x64-windows/debug/html/man3/BIO_ADDR_rawmake.html
x64-windows/debug/html/man3/BIO_ADDR_rawport.html
x64-windows/debug/html/man3/BIO_ADDR_service_string.html
x64-windows/debug/html/man3/BIO_accept_ex.html
x64-windows/debug/html/man3/BIO_append_filename.html
x64-windows/debug/html/man3/BIO_bind.html
x64-windows/debug/html/man3/BIO_callback_ctrl.html
x64-windows/debug/html/man3/BIO_callback_fn.html
x64-windows/debug/html/man3/BIO_callback_fn_ex.html
x64-windows/debug/html/man3/BIO_closesocket.html
x64-windows/debug/html/man3/BIO_connect.html
x64-windows/debug/html/man3/BIO_ctrl.html
x64-windows/debug/html/man3/BIO_ctrl_get_read_request.html
x64-windows/debug/html/man3/BIO_ctrl_get_write_guarantee.html
x64-windows/debug/html/man3/BIO_ctrl_pending.html
x64-windows/debug/html/man3/BIO_ctrl_reset_read_request.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/BIO_f_md.html
x64-windows/debug/html/man3/BIO_f_null.html
x64-windows/debug/html/man3/BIO_f_ssl.html
x64-windows/debug/html/man3/BIO_find_type.html
x64-windows/debug/html/man3/BIO_flush.html
x64-windows/debug/html/man3/BIO_free.html
x64-windows/debug/html/man3/BIO_free_all.html
x64-windows/debug/html/man3/BIO_get_accept_ip_family.html
x64-windows/debug/html/man3/BIO_get_accept_name.html
x64-windows/debug/html/man3/BIO_get_accept_port.html
x64-windows/debug/html/man3/BIO_get_bind_mode.html
x64-windows/debug/html/man3/BIO_get_buffer_num_lines.html
x64-windows/debug/html/man3/BIO_get_callback.html
x64-windows/debug/html/man3/BIO_get_callback_arg.html
x64-windows/debug/html/man3/BIO_get_callback_ex.html
x64-windows/debug/html/man3/BIO_get_cipher_ctx.html
x64-windows/debug/html/man3/BIO_get_cipher_status.html
x64-windows/debug/html/man3/BIO_get_close.html
x64-windows/debug/html/man3/BIO_get_conn_address.html
x64-windows/debug/html/man3/BIO_get_conn_hostname.html
x64-windows/debug/html/man3/BIO_get_conn_ip_family.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/debug/html/man3/BIO_s_file.html
x64-windows/debug/html/man3/BIO_s_mem.html
x64-windows/debug/html/man3/BIO_s_null.html
x64-windows/debug/html/man3/BIO_s_secmem.html
x64-windows/debug/html/man3/BIO_s_socket.html
x64-windows/debug/html/man3/BIO_seek.html
x64-windows/debug/html/man3/BIO_set_accept_bios.html
x64-windows/debug/html/man3/BIO_set_accept_ip_family.html
x64-windows/debug/html/man3/BIO_set_accept_name.html
x64-windows/debug/html/man3/BIO_set_accept_port.html
x64-windows/debug/html/man3/BIO_set_bind_mode.html
x64-windows/debug/html/man3/BIO_set_buffer_read_data.html
x64-windows/debug/html/man3/BIO_set_buffer_size.html
x64-windows/debug/html/man3/BIO_set_callback.html
x64-windows/debug/html/man3/BIO_set_callback_arg.html
x64-windows/debug/html/man3/BIO_set_callback_ex.html
x64-windows/debug/html/man3/BIO_set_cipher.html
x64-windows/debug/html/man3/BIO_set_close.html
x64-windows/debug/html/man3/BIO_set_conn_address.html
x64-windows/debug/html/man3/BIO_set_conn_hostname.html
x64-windows/debug/html/man3/BIO_set_conn_ip_family.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/BIO_ADDR_free.html
x64-windows/html/man3/BIO_ADDR_hostname_string.html
x64-windows/html/man3/BIO_ADDR_new.html
x64-windows/html/man3/BIO_ADDR_path_string.html
x64-windows/html/man3/BIO_ADDR_rawaddress.html
x64-windows/html/man3/BIO_ADDR_rawmake.html
x64-windows/html/man3/BIO_ADDR_rawport.html
x64-windows/html/man3/BIO_ADDR_service_string.html
x64-windows/html/man3/BIO_accept_ex.html
x64-windows/html/man3/BIO_append_filename.html
x64-windows/html/man3/BIO_bind.html
x64-windows/html/man3/BIO_callback_ctrl.html
x64-windows/html/man3/BIO_callback_fn.html
x64-windows/html/man3/BIO_callback_fn_ex.html
x64-windows/html/man3/BIO_closesocket.html
x64-windows/html/man3/BIO_connect.html
x64-windows/html/man3/BIO_ctrl.html
x64-windows/html/man3/BIO_ctrl_get_read_request.html
x64-windows/html/man3/BIO_ctrl_get_write_guarantee.html
x64-windows/html/man3/BIO_ctrl_pending.html
x64-windows/html/man3/BIO_ctrl_reset_read_request.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/BIO_f_md.html
x64-windows/html/man3/BIO_f_null.html
x64-windows/html/man3/BIO_f_ssl.html
x64-windows/html/man3/BIO_find_type.html
x64-windows/html/man3/BIO_flush.html
x64-windows/html/man3/BIO_free.html
x64-windows/html/man3/BIO_free_all.html
x64-windows/html/man3/BIO_get_accept_ip_family.html
x64-windows/html/man3/BIO_get_accept_name.html
x64-windows/html/man3/BIO_get_accept_port.html
x64-windows/html/man3/BIO_get_bind_mode.html
x64-windows/html/man3/BIO_get_buffer_num_lines.html
x64-windows/html/man3/BIO_get_callback.html
x64-windows/html/man3/BIO_get_callback_arg.html
x64-windows/html/man3/BIO_get_callback_ex.html
x64-windows/html/man3/BIO_get_cipher_ctx.html
x64-windows/html/man3/BIO_get_cipher_status.html
x64-windows/html/man3/BIO_get_close.html
x64-windows/html/man3/BIO_get_conn_address.html
x64-windows/html/man3/BIO_get_conn_hostname.html
x64-windows/html/man3/BIO_get_conn_ip_family.html

corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list  view on Meta::CPAN

x64-windows/html/man3/BIO_s_file.html
x64-windows/html/man3/BIO_s_mem.html
x64-windows/html/man3/BIO_s_null.html
x64-windows/html/man3/BIO_s_secmem.html
x64-windows/html/man3/BIO_s_socket.html
x64-windows/html/man3/BIO_seek.html
x64-windows/html/man3/BIO_set_accept_bios.html
x64-windows/html/man3/BIO_set_accept_ip_family.html
x64-windows/html/man3/BIO_set_accept_name.html
x64-windows/html/man3/BIO_set_accept_port.html
x64-windows/html/man3/BIO_set_bind_mode.html
x64-windows/html/man3/BIO_set_buffer_read_data.html
x64-windows/html/man3/BIO_set_buffer_size.html
x64-windows/html/man3/BIO_set_callback.html
x64-windows/html/man3/BIO_set_callback_arg.html
x64-windows/html/man3/BIO_set_callback_ex.html
x64-windows/html/man3/BIO_set_cipher.html
x64-windows/html/man3/BIO_set_close.html
x64-windows/html/man3/BIO_set_conn_address.html
x64-windows/html/man3/BIO_set_conn_hostname.html
x64-windows/html/man3/BIO_set_conn_ip_family.html

lib/Alien/Build/Manual/AlienAuthor.pod  view on Meta::CPAN

 use Test::Alien;
 use Alien::Libfoo;
 
 alien_ok 'Alien::Libfoo';
 run_ok(['foo', '--version'])
   ->exit_is(0);
 
 done_testing;

You can also write tests specifically for L<FFI::Platypus>, if your
alien is going to be used to write FFI bindings.  (the test below
is the FFI equivalent to the XS example above).

 use Test2::V0;
 use Test::Alien;
 use Alien::Libfoo;
 
 alien_ok 'Alien::Libfoo';
 ffi_ok { symbols => [ 'something' ] }, with_subtest {
   # $ffi is an instance of FFI::Platypus with the lib
   # set appropriately.

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

      build_ffi => [
        '%{configure} --enable-shared --disable-static --libdir=%{.install.autoconf_prefix}/dynamic',
        '%{make}',
        '%{make} install',
      ]
    );

    if($^O eq 'MSWin32')
    {
      # for whatever reason autohell puts the .dll files in bin, even if you
      # point --bindir somewhere else.
      $meta->after_hook(
        build_ffi => sub {
          my($build) = @_;
          my $prefix = $build->install_prop->{autoconf_prefix};
          my $bin = Path::Tiny->new($ENV{DESTDIR})->child($prefix)->child('bin');
          my $lib = Path::Tiny->new($ENV{DESTDIR})->child($prefix)->child('dynamic');
          if(-d $bin)
          {
            foreach my $from (grep { $_->basename =~ /.dll$/i } $bin->children)
            {

t/bin/ftpd  view on Meta::CPAN

my $daemon = 0;
my $kill   = 0;
my $host   = 'localhost';

GetOptions(
  "d"       => \$daemon,
  "k"       => \$kill,
  "hosth=s" => \$host,
);

my $bindir    = path(__FILE__)->parent->absolute;
my $distdir   = $bindir->parent->parent;

my $config_file = $bindir->child('ftpd.json');

if(-r $config_file)
{
  my $config = decode_json($config_file->slurp);
  my $pid = $config->{pid};
  if(defined $pid)
  {
    kill 'KILL', $pid;
  }
}

exit if $kill;

if($daemon)
{
  require Proc::Daemon;
  my $daemon = Proc::Daemon->new(
    child_STDOUT => $bindir->child('ftpd.log')->stringify,
    child_STDERR => $bindir->child('ftpd.log')->stringify,
  );
  $daemon->Init;
}

my $server = AnyEvent::FTP::Server->new(
  host            => $host,
  port            => 0,
  default_context => 'AnyEvent::FTP::Server::Context::FSRO',
);

t/bin/ftpd  view on Meta::CPAN

  root => $distdir->child('corpus/dist')->stringify,
  pid             => $$,
);

my $url = URI->new("ftp://localhost");
$url->host($host);
$url->path($config{root});
$url->user($config{user});
$url->password($config{pass});

$server->on_bind(sub {
  my $port = shift;
  $url->port($port);
});

$server->on_connect(sub {
  my $con = shift;
  $con->context->authenticator(sub {
    my($user, $pass) = @_;
    $user eq $config{user} && $pass eq $config{pass} ? 1 : 0;
  });

t/bin/httpd  view on Meta::CPAN

my $daemon = 0;
my $kill   = 0;
my $host   = 'localhost';

GetOptions(
  "d"      => \$daemon,
  "k"      => \$kill,
  "host=s" => \$host,
);

my $bindir    = path(__FILE__)->parent->absolute;
my $distdir   = $bindir->parent->parent;

my $config_file = $bindir->child('httpd.json');

if(-r $config_file)
{
  my $config = decode_json($config_file->slurp);
  my $pid = $config->{pid};
  if(defined $pid)
  {
    kill 'KILL', $pid;
  }
}

exit if $kill;

if($daemon)
{
  require Proc::Daemon;
  my $daemon = Proc::Daemon->new(
    child_STDOUT => $bindir->child('httpd.log')->stringify,
    child_STDERR => $bindir->child('httpd.log')->stringify,
  );
  $daemon->Init;
}

my $url = URI->new('http://localhost/corpus/dist/');
$url->host($host);
$url->port(do {
  require IO::Socket::INET;
  IO::Socket::INET->new(Listen => 5, LocalAddr => "127.0.0.1")->sockport;
});



( run in 1.653 second using v1.01-cache-2.11-cpan-2398b32b56e )