use strict;
use warnings;
-use ExtUtils::MakeMaker;
-
-WriteMakefile(
- NAME => 'WebPAC',
- AUTHOR => 'Dobrica Pavlinusic <dpavlin@rot13.org>',
- VERSION_FROM => 'lib/WebPAC.pm',
- ABSTRACT_FROM => 'lib/WebPAC.pm',
- PL_FILES => {},
- PREREQ_PM => {
- 'Test::More' => 0,
- 'YAML' => 0,
- 'File::Slurp' => 0,
- 'Log::Log4perl' => 1.02,
- 'Data::Dumper' => 0,
- 'Cwd' => 0,
- 'Storable' => 0,
- 'DBM::Deep' => 0,
- 'Template' => 0,
- 'Time::HiRes' => 0,
- 'File::Temp' => 0,
- 'List::Util' => 0,
- 'Encode' => 0,
- 'LWP' => 0,
- 'File::Path' => 0,
- 'Biblio::Isis' => 0.13,
- 'MARC::Fast' => 0.02,
- 'Search::Estraier' => 0.06,
- 'List::Util' => 0,
- 'Spreadsheet::ParseExcel', => 0,
- 'MARC::Record' => 2.0,
- 'Data::Dump' => 0,
- 'MARC::Lint' => 0,
- },
- dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
- clean => { FILES => 'WebPAC-* pod2html Makefile tags' },
+#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 '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
-profile_perl=./run.pl
+# 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
+ 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)/
ctags *.p[ml] */*.p[ml] */*/*.p[ml]
sf:
- svn2cvs.pl file:///home/dpavlin/private/svn/webpac2/trunk/ :ext:dpavlin@cvs.sourceforge.net:/cvsroot/webpac webpac2
+ 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
rm -f log
./run.pl
-profile:
- perl -d:DProf $(profile_perl) --limit 500 && dprofpp > profile.`perl -e 'my @p = glob("profile.[0-9]*"); print scalar @p + 1'`
+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 -