1 |
use strict; |
use strict; |
2 |
use warnings; |
use warnings; |
3 |
use ExtUtils::MakeMaker; |
#use ExtUtils::MakeMaker; |
4 |
|
use inc::Module::Install; |
5 |
|
|
6 |
WriteMakefile( |
|
7 |
NAME => 'WebPAC', |
name 'WebPAC'; |
8 |
AUTHOR => 'Dobrica Pavlinusic <dpavlin@rot13.org>', |
version '2.34'; |
9 |
VERSION_FROM => 'lib/WebPAC.pm', |
license 'GPL'; |
10 |
ABSTRACT_FROM => 'lib/WebPAC.pm', |
|
11 |
PL_FILES => {}, |
requires 'YAML'; |
12 |
PREREQ_PM => { |
requires 'File::Slurp'; |
13 |
'Test::More' => 0, |
requires 'Log::Log4perl' => '1.02'; |
14 |
'YAML' => 0, |
requires 'Cwd'; |
15 |
'File::Slurp' => 0, |
requires 'Storable'; |
16 |
'Log::Log4perl' => 0, |
requires 'DBM::Deep'; |
17 |
'Data::Dumper' => 0, |
# 'Template'; |
18 |
'Cwd' => 0, |
requires 'Time::HiRes'; |
19 |
'Text::Iconv' => 0, |
requires 'File::Temp'; |
20 |
'Storable' => 0, |
requires 'List::Util'; |
21 |
'DBM::Deep' => 0, |
requires 'Encode'; |
22 |
'XML::Simple' => 0, |
requires 'LWP'; |
23 |
'Template' => 0, |
requires 'File::Path'; |
24 |
'Time::HiRes' => 0, |
requires 'Biblio::Isis' => '0.24'; |
25 |
'File::Temp' => 0, |
requires 'MARC::Fast' => '0.09'; |
26 |
'List::Util' => 0, |
requires 'List::Util'; |
27 |
'URI::Escape' => 0, |
requires 'MARC::Record' => '2.0'; |
28 |
'LWP' => 0, |
requires 'Data::Dump'; |
29 |
'File::Path' => 0, |
requires 'MARC::Lint' => '1.43'; |
30 |
'Biblio::Isis' => 0.13, |
requires 'Business::ISBN' => '2.02'; # WebPAC::Normalize::ISBN |
31 |
'MARC::Fast' => 0.02, |
requires 'Proc::Queue'; |
32 |
}, |
requires 'PPI'; |
33 |
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', }, |
requires 'XML::LibXML'; |
34 |
clean => { FILES => 'WebPAC-* pod2html Makefile tags' }, |
requires 'Pod::Usage'; |
35 |
|
requires 'Class::Accessor'; |
36 |
|
requires 'JSON'; |
37 |
|
requires 'File::Spec'; |
38 |
|
requires 'Sort::External'; |
39 |
|
|
40 |
|
features( |
41 |
|
'WebPAC::Input::XML' => [ |
42 |
|
-default => 0, |
43 |
|
'XML::Simple', |
44 |
|
'File::Find', |
45 |
|
], |
46 |
|
'WebPAC::Input::PDF' => [ |
47 |
|
-default => 0, |
48 |
|
'CAM::PDF', |
49 |
|
], |
50 |
|
'WebPAC::Input::Excel' => [ |
51 |
|
-default => 1, |
52 |
|
'Spreadsheet::ParseExcel', |
53 |
|
], |
54 |
|
'WebPAC::Output::Estraier' => [ |
55 |
|
-default => 0, |
56 |
|
'Search::Estraier' => 0.06, |
57 |
|
], |
58 |
|
'WebPAC::Output::Webpacus and WebPAC::Output::Jifty' => [ |
59 |
|
-default => 0, |
60 |
|
'Jifty', |
61 |
|
], |
62 |
|
'WebPAC::Output::Excel' => [ |
63 |
|
-default => 0, |
64 |
|
'Spreadsheet::WriteExcel' => 2.14, |
65 |
|
], |
66 |
); |
); |
67 |
|
|
68 |
|
build_requires 'Test::More'; |
69 |
|
|
70 |
|
clean_files('WebPAC-* pod2html Makefile tags'); |
71 |
|
|
72 |
|
auto_install; |
73 |
|
|
74 |
|
WriteAll; |
75 |
|
|
76 |
sub MY::postamble { |
sub MY::postamble { |
77 |
return <<'MAKE_MORE'; |
return <<'MAKE_MORE'; |
78 |
|
|
79 |
HTML_DIR=pod2html |
HTML_DIR=pod2html |
80 |
|
# no need to include --limit here! |
81 |
|
#profile_perl=./run.pl --only ffps --stats |
82 |
|
#profile_perl=./run.pl --only ffps/libri --validate conf/validate/ffps-libri |
83 |
|
#profile_perl=./run.pl --only ffps --validate-delimiters conf/validate/delimiters/ffps |
84 |
|
profile_perl=./run.pl --only ffps --validate conf/validate/ffps-libri --validate-delimiters conf/validate/delimiters/ffps |
85 |
|
|
86 |
|
|
87 |
html: $(TO_INST_PM) |
html: $(TO_INST_PM) |
88 |
test -e $(HTML_DIR) || mkdir $(HTML_DIR) |
test -e $(HTML_DIR) && rm -Rf "$(HTML_DIR)" || true |
89 |
|
mkdir "$(HTML_DIR)" |
90 |
|
|
91 |
|
# add additional html documents |
92 |
|
test ! -z "`which svn2html.pl`" && svk update && svn2html.pl > $(HTML_DIR)/Changes.html || true |
93 |
|
|
94 |
|
test -e $(HTML_DIR)/pod.css || ln -s ../pod.css $(HTML_DIR)/ |
95 |
|
|
96 |
test ! -z "`which allpod2xhtml.pl`" && allpod2xhtml.pl ./lib $(HTML_DIR) |
test ! -z "`which allpod2xhtml.pl`" && allpod2xhtml.pl --frames="WebPAC documentation" --existing --css=pod.css ./lib $(HTML_DIR) |
|
test ! -z "`which svn2html.pl`" && svn update && svn2html.pl > $(HTML_DIR)/Changes.html |
|
97 |
|
|
98 |
changelog: |
changelog: |
99 |
svn update && svn -v log > Changes |
svn update && svn -v log > Changes |
102 |
ctags *.p[ml] */*.p[ml] */*/*.p[ml] |
ctags *.p[ml] */*.p[ml] */*/*.p[ml] |
103 |
|
|
104 |
sf: |
sf: |
105 |
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 |
106 |
|
|
107 |
run: |
config_yml: |
|
rm -f log |
|
108 |
test ! -e conf/config.yml && ln -s /data/Webpacus/config.yml conf/ || true |
test ! -e conf/config.yml && ln -s /data/Webpacus/config.yml conf/ || true |
109 |
test -d db && rm -Rf db/* || mkdir db |
#perl -c conf/normalize/*.pl |
110 |
|
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 {} |
111 |
|
|
112 |
|
run: config_yml |
113 |
|
rm -f log |
114 |
|
./run.pl --clean --limit 100 |
115 |
|
|
116 |
|
full: config_yml |
117 |
|
rm -f log |
118 |
./run.pl |
./run.pl |
119 |
|
|
120 |
|
profile: all |
121 |
|
perl -d:DProf $(profile_perl) --limit 250 && dprofpp -O 50 > profile.`perl -e 'my @p = glob("profile.[0-9]*"); print scalar @p + 1'` |
122 |
|
|
123 |
|
profile2: |
124 |
|
perl -d:SmallProf $(profile_perl) --limit 100 && sort -k 2nr,2 smallprof.out | vi -R - |
125 |
|
|
126 |
MAKE_MORE |
MAKE_MORE |
127 |
} |
} |