use alienfile;

plugin 'Probe::CommandLine' => (
  command => 'swig',
  args    => [ '-version' ],
  match   => qr/SWIG Version (4\.[0-9\.]+)/,
  version => qr/SWIG Version (4\.[0-9\.]+)/,
);

share {
  requires 'File::Which';

  start_url 'https://swig.org/download.html';

  plugin Download => (
    filter  => qr/^swig.*tar\.gz$/,
    version => qr/(4\.[0-9\.]+)/,
  );
  meta->around_hook(
    prefer => sub {
      my $orig = shift;
      my $build = shift;
      my $data = $orig->($build, @_);

      for my $item (@{ $data->{list} }) {
        # turn into https://
        $item->{url} =~ s,^http://(?=\Qprdownloads.sourceforge.net/\E),https://,;
      }

      $data;
  });

  plugin Extract => 'tar.gz';

  my $has_pcre2 = 0;

  if( File::Which::which('pcre2-config') ) {
    $has_pcre2 = 1;
  }

  plugin 'Build::Autoconf';
  build [
    join(' ',
      '%{configure}',
      ( ! $has_pcre2 ? ( '--without-pcre' ) : () ),
    ),
    '%{make}',
    '%{make} install',
  ];
}
