Alien-Libgcrypt

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

use 5.006;
use strict;
use warnings;
use Alien::Base::ModuleBuild;

my $class = Alien::Base::ModuleBuild->subclass(class => 'Alien::Libgcrypt::Builder',
                                               code => <<'EOC');

use strict;
use warnings;
use Carp;
$ENV{FTP_PASSIVE}=1;

sub alien_check_installed_version {
  my $self = shift;
  my $version = $self->config_data('system_library_version');
  unless (defined $version) {
    # $self->alien_helper->{pkg_config} ||= 'Alien::Base::PkgConfig->pkg_config_command';
    $version = $self->SUPER::alien_check_installed_version(@_);
    chomp $version;
    $self->config_data('system_library_version', $version);
  }
  $version;
}

sub use_installed_version {
  my $self = shift;
  if (defined (my $type = $self->config_data('install_type'))) {
    return ($type eq 'system');
  }

  !$Alien::Base::ModuleBuild::Force and
    $self->alien_check_installed_version
}

sub system_libgcrypt_config_get {
  my ($self, @keys) = @_;
  my %result = $self->do_system(join(' ', 'libgcrypt-config', map "--$_", @keys));
  if ($result{success}) {
    my $out = $result{stdout};
    chomp $out;
    return $out
  }
  return;
}

sub alien_provides_cflags {
  my $self = shift;
  if ($self->use_installed_version) {
    return $self->system_libgcrypt_config_get('cflags');
  }
  return;
}

sub alien_provides_libs {
  my $self = shift;
  if ($self->use_installed_version) {
    return $self->system_libgcrypt_config_get('libs');
  }
  return;
}

sub requires {
  my $self = shift;
  my %r;
  unless ($self->use_installed_version) {
    $r{'Alien::Libgpg_error'} = '0';
  }
  \%r;
}

*build_requires = \&requires;

sub libgpg_error_config {
  my ($self, $method) = @_;
  unless ($self->use_installed_version) {
    require Alien::Libgpg_error;
    return Alien::Libgpg_error->$method;
  }



( run in 2.840 seconds using v1.01-cache-2.11-cpan-e1769b4cff6 )