| Revision 1116 (by dpavlin, 2008/09/22 15:32:24) |
make WebPAC::Input::DBF optional
|
use strict;
use warnings;
#use ExtUtils::MakeMaker;
use inc::Module::Install;
name 'WebPAC';
version_from 'lib/WebPAC.pm';
license 'GPL';
requires 'YAML';
requires 'File::Slurp';
requires 'Log::Log4perl' => '1.02';
requires 'Cwd';
requires 'Storable';
#requires 'DBM::Deep';
# 'Template';
requires 'Time::HiRes';
requires 'File::Temp';
requires 'List::Util';
requires 'Encode';
requires 'LWP';
requires 'File::Path';
requires 'Biblio::Isis' => '0.24';
requires 'MARC::Fast' => '0.09';
requires 'List::Util';
requires 'MARC::Record' => '2.0';
requires 'Data::Dump';
requires 'MARC::Lint' => '1.43';
requires 'Business::ISBN' => '2.02'; # WebPAC::Normalize::ISBN
requires 'PPI';
requires 'XML::LibXML';
requires 'Pod::Usage';
requires 'Class::Accessor';
requires 'JSON';
requires 'File::Spec';
requires 'Sort::External';
features(
'WebPAC::Input::XML' => [
-default => 0,
'XML::Simple',
'File::Find',
],
'WebPAC::Input::PDF' => [
-default => 0,
'CAM::PDF',
],
'WebPAC::Input::Excel' => [
-default => 1,
'Spreadsheet::ParseExcel',
],
'WebPAC::Input::DBF' => [
-default => 0,
'XBase',
],
'WebPAC::Output::Estraier' => [
-default => 0,
'Search::Estraier' => 0.06,
],
'WebPAC::Output::Webpacus and WebPAC::Output::Jifty' => [
-default => 0,
'Jifty',
],
'WebPAC::Output::Excel' => [
-default => 1,
'Spreadsheet::WriteExcel' => 2.14,
],
'WebPAC::Output::KinoSearch' => [
-default => 1,
'KinoSearch::Simple',
],
'Parallel execution (probably broken)' => [
-default => 0,
'Proc::Queue',
],
);
build_requires 'Test::More';
clean_files('WebPAC-* pod2html Makefile tags');
auto_install;
WriteAll;
sub MY::postamble {
return <<'MAKE_MORE';
HTML_DIR=pod2html
# no need to include --limit here!
#profile_perl=./run.pl --only ffps --stats
#profile_perl=./run.pl --only ffps/libri --validate conf/validate/ffps-libri
#profile_perl=./run.pl --only ffps --validate-delimiters conf/validate/delimiters/ffps
profile_perl=./run.pl --only ffps --validate conf/validate/ffps-libri --validate-delimiters conf/validate/delimiters/ffps
html: $(TO_INST_PM)
test -e $(HTML_DIR) && rm -Rf "$(HTML_DIR)" || true
mkdir "$(HTML_DIR)"
# add additional html documents
test ! -z "`which svn2html.pl`" && svk update && svn2html.pl > $(HTML_DIR)/Changes.html || true
test -e $(HTML_DIR)/pod.css || ln -s ../pod.css $(HTML_DIR)/
test ! -z "`which allpod2xhtml.pl`" && allpod2xhtml.pl --frames="WebPAC documentation" --existing --css=pod.css ./lib $(HTML_DIR)
changelog:
svn update && svn -v log > Changes
tags:
ctags *.p[ml] */*.p[ml] */*/*.p[ml]
sf:
svn2cvs.pl file:///home/dpavlin/private/svn/webpac2/trunk/ :ext:dpavlin@webpac.cvs.sourceforge.net:/cvsroot/webpac webpac2
config_yml:
test ! -e conf/config.yml && ln -s /data/Webpacus/config.yml conf/ || true
#perl -c conf/normalize/*.pl
perl -c conf/normalize/*.pl 2>&1 | grep 'conf/normalize' | grep -v 'OK' | sed -e 's#^.*conf/normalize#conf/normalize#' -e 's#,##' | awk '{ print "+" $3 " " $1 }' | xargs -i echo vi {}
run: config_yml
rm -f log
./run.pl --clean --limit 100
full: config_yml
rm -f log
./run.pl
profile: all
perl -d:DProf $(profile_perl) --limit 250 && dprofpp -O 50 > profile.`perl -e 'my @p = glob("profile.[0-9]*"); print scalar @p + 1'`
profile2:
perl -d:SmallProf $(profile_perl) --limit 100 && sort -k 2nr,2 smallprof.out | vi -R -
MAKE_MORE
}