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.12'; requires 'List::Util'; requires 'MARC::Record' => '2.0'; requires 'MARC::File::XML'; 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'; 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::CSV' => [ -default => 1, 'Text::CSV', ], 'WebPAC::Input::DBF' => [ -default => 0, 'XBase', ], 'WebPAC::Input::OAI' => [ -default => 0, 'HTTP::OAI', ], '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 => 0, 'KinoSearch::Simple', ], 'WebPAC::Output::SWISH' => [ -default => 1, 'SWISH::API', ], 'WebPAC::Output::CouchDB' => [ -default => 0, 'Net::CouchDb', ], 'WebPAC::Output::Sorted' => [ -default => 0, 'Sort::External', ], 'WebPAC::Output::Riak' => [ -default => 0, 'Net::Riak', ], 'Parallel execution (probably broken)' => [ -default => 0, 'Proc::Queue', ], 'CGI web interface' => [ -default => 0, 'Data::Page', 'CGI', 'CGI::Carp', 'SWISH::API', 'Text::Unaccent::PurePerl', 'HTML::FillInForm::Lite', ], ); 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 }