Alien-LibUSBx

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

use Alien::Base::ModuleBuild;
use Archive::Tar;
use Carp;
use Config;
use Env qw/ALIEN_LIBUSBX_CFLAGS ALIEN_LIBUSBX_LIBS/;

my $libusbx_version = '1.0.17';

# Override the CFLAGS/LIBS settings
sub alien_override($$$$) {
    my ($builder, $version, $cflags, $libs) = @_;
    my $dirname = '_dummy';
    my $filename = "dummy-$version.tar";

    unless (-d $dirname) {
        mkdir($dirname) or croak "Could not create temporary directory '$dirname': $!";
    }

    my $tarfile = Archive::Tar->new;
    $tarfile->add_data('dummy.txt', 'Dummy file')
        or croak "Could not add data to in-memory archive: " . $tarfile->error;

Build.PL  view on Meta::CPAN


    $builder->alien_repository_default(undef);
    $builder->alien_repository({protocol => 'local',
                                location => $dirname,
                                exact_filename => $filename,
                                exact_version => $version});

    $builder->alien_build_commands(undef);
    $builder->alien_install_commands(undef);

    $builder->alien_provides_cflags($cflags);
    $builder->alien_provides_libs($libs);
}

# Mirror list: http://sourceforge.net/apps/trac/sourceforge/wiki/Mirrors
my @mirrors = qw/aarnet dfn freefr garr heanet hivelocity internode
jaist kaz kent master nchc netcologne softlayer-dal switch tenet ufpr
waix/;

my @alien_repos;
foreach my $mirror (@mirrors) {

t/00-load.t  view on Meta::CPAN

use Test::More tests => 4;

BEGIN { require_ok('Alien::LibUSBx'); }

diag("Testing Alien::LibUSBx $Alien::LibUSBx::VERSION, Perl $], $^X, OS $^O ($Config{'archname'})");

my $alien = new_ok('Alien::LibUSBx');

isa_ok($alien, 'Alien::Base');

can_ok($alien, qw/cflags libs install_type/);

t/99-postinstall.t  view on Meta::CPAN

#else
        sv = newSVpvf("unknown");
#endif
        libusb_exit(NULL);
    }

    return sv;
}
END

my $cflags = $libusbx->cflags;
my $libs = $libusbx->libs;
diag "Using CFLAGS=$cflags, LIBS=$libs\n";
Inline->bind(C => $c, CCFLAGS => $cflags, LIBS => $libs);

my $version = version();
unlike($version, qr/^Error:/, 'Initialize libusb-1.0');
isnt($version, '', 'Nonempty version string');
isnt($version, undef, 'Defined version string');

my $type = $libusbx->install_type;
diag "Initialized libusb-1.0, version $version, install type $type\n";



( run in 0.319 second using v1.01-cache-2.11-cpan-94b05bcf43c )