Alvis-NLPPlatform
view release on metacpan or search on metacpan
use Module::Build;
my $class = Module::Build->subclass(
class => "Module::Build::Custom",
code => <<'SUBCLASS' );
sub ACTION_install {
my $self = shift;
$self->SUPER::ACTION_install;
}
sub ACTION_fakeinstall {
my $self = shift;
$self->SUPER::ACTION_fakeinstall;
}
sub ACTION_build {
my $self = shift;
require Config::General;
my $rcfile = $self->base_dir() . "/etc/alvis-nlpplatform/nlpplatform.rc";
warn "Setting the default location of nlpplatform.rc in lib/Alvis/NLPPlatform.pm\n";
my $mainpmfile = $self->base_dir() . "/lib/Alvis/NLPPlatform.pm";
require File::Copy;
my $n = FileHandle->new($mainpmfile,"r");
chmod(0644, $mainpmfile);
if (!( -f "$mainpmfile.orig") ) {
File::Copy::copy($mainpmfile, "$mainpmfile.orig");
}
my $line;
open MAINPMFILE, "$mainpmfile.orig" or die "No such file ($mainpmfile.orig)\n";
open MAINPMFILEDEST, ">$mainpmfile" or die "Can not open file $mainpmfile\n";
while($line = <MAINPMFILE>) {
if ($line =~ /^(\s\$rcfile\s=\s\")\/etc\/alvis\-nlpplatform\/nlpplatform.rc(\".*\n)/) {
$line = $1 . $self->install_destination("etc") . "/alvis-nlpplatform/nlpplatform.rc" . $2;
}
print MAINPMFILEDEST $line;
}
close MAINPMFILE;
close MAINPMFILEDEST;
warn "Done\n";
my $originalrcfile = $self->base_dir() . "/etc/alvis-nlpplatform/nlpplatform.rc";
warn "Setting the default location of Default.xsl and SupplMagicFile in /etc/alvis-nlpplatform/nlpplatform.rc\n";
require File::Copy;
$n = FileHandle->new($originalrcfile,"r");
chmod(0644, $originalrcfile);
if (!( -f "$originalrcfile.orig") ) {
File::Copy::copy($originalrcfile, "$originalrcfile.orig");
}
open ORIGINALRCFILE, "$originalrcfile.orig" or die "No such file ($originalrcfile.orig)\n";
open ORIGINALRCFILEDEST, ">$originalrcfile" or die "Can not open file $originalrcfile\n";
while($line = <ORIGINALRCFILE>) {
if ($line =~ /^(\s*default *= *\"?xsltproc +)\/etc(\/alvis\-nlpplatform\/xsl\/Default\.xsl\"?.*\n)/) {
$line = $1 . $self->install_destination("etc") . $2;
} else {
if ($line =~ /^(\s*SupplMagicFile *= *\"?)\/etc(\/alvis\-nlpplatform\/mime\/magic\.TeX\"?.*\n)/) {
$line = $1 . $self->install_destination("etc") . $2;
}
}
print ORIGINALRCFILEDEST $line;
}
close ORIGINALRCFILE;
close ORIGINALRCFILEDEST;
warn "Done\n";
$self->SUPER::ACTION_build;
}
sub ACTION_clean {
my $self = shift;
$self->SUPER::ACTION_clean;
require File::Copy;
my $mainpmfile = $self->base_dir() . "/lib/Alvis/NLPPlatform.pm";
File::Copy::move("$mainpmfile.orig", $mainpmfile);
my $originalrcfile = $self->base_dir() . "/etc/alvis-nlpplatform/nlpplatform.rc";
File::Copy::move("$originalrcfile.orig", $originalrcfile);
}
SUBCLASS
my $build = $class->new
(
module_name => 'Alvis::NLPPlatform',
dist_version_from => 'lib/Alvis/NLPPlatform.pm',
license => 'gpl',
requires => {'perl' => '5.005',
Time::HiRes => 0,
IO => 0,
XML::Parser::PerlSAX => 0,
Data::Dumper => 0,
Alvis::TermTagger => 0.3,
Alvis::Pipeline => 0,
Alvis::Convert => 0,
XML::LibXML => 0,
IO::File => 0,
IO::Socket::INET => 0,
Getopt::Long => 0,
Pod::Usage => 0,
Config::General => 2.30,
Sys::Hostname => 0,
Fcntl => 0,
utf8 => 0,
( run in 1.168 second using v1.01-cache-2.11-cpan-39bf76dae61 )