Alien-wxWidgets
view release on metacpan or search on metacpan
script/make_ppm.pl view on Meta::CPAN
foreach ( @files ) {
if( m[\.(?:lib|a|h)$]i
) {
push @dev, $_;
next;
}
push @bin, $_;
}
my $auth = 'Mattia Barbon <mbarbon@cpan.org>';
my $wx_ver = Module::Info->new_from_file( 'lib/Alien/wxWidgets.pm' )->version;
my @ppms =
( { files => [ @bin ],
package => 'Alien-wxWidgets',
version => $wx_ver,
abstract => 'get information about a wxWidgets build',
author => $auth,
},
{ files => [ @dev ],
package => 'Alien-wxWidgets-dev',
version => $wx_ver,
abstract => 'developement files for Alien-wxWidgets',
author => $auth,
},
);
foreach my $ppm ( @ppms ) {
make_ppm( %$ppm );
}
sub make_ppm {
my %data = @_;
my $tar = Archive::Tar->new;
my $pack_ver = join ",", (split (/\./, $data{version}), (0) x 4) [0 .. 3];
my $author = $data{author}; $author =~ s/</</g; $author =~ s/>/>/g;
my $arch = $Config{archname} . ( $] >= 5.008 ? '-5.8' : '' );
my $base = $data{package} . '-' . $data{version};
my $tarfile = "$base-ppm.tar.gz";
my $ppdfile = "$base.ppd";
my $ppd = <<EOT;
<SOFTPKG NAME="$data{package}" VERSION="$pack_ver">
<TITLE>$data{package}</TITLE>
<ABSTRACT>$data{abstract}</ABSTRACT>
<AUTHOR>$author</AUTHOR>
<IMPLEMENTATION>
<OS NAME="$^O" />
<ARCHITECTURE NAME="$arch" />
<CODEBASE HREF="$tarfile" />
</IMPLEMENTATION>
</SOFTPKG>
EOT
$tar->add_files( @{$data{files}} );
$tar->write( $tarfile, 9 );
local *PPD;
open PPD, "> $ppdfile" or die "open '$ppdfile': $!";
binmode PPD;
print PPD $ppd;
close PPD;
}
exit 0;
( run in 1.479 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )