source: trunk/Makefile.PL @ 477

Last change on this file since 477 was 477, checked in by nanardon, 13 years ago
  • automatically list availlable langage
File size: 2.7 KB
Line 
1use inc::Module::Install;
2
3name 'Epoll';
4all_from 'lib/Epoll/DB.pm';
5
6requires 'Catalyst' => '5.7015';
7requires 'Catalyst::Plugin::ConfigLoader';
8requires 'Catalyst::Plugin::Static::Simple';
9requires 'Catalyst::Action::RenderView';
10requires 'Catalyst::Plugin::Session::State::Cookie';
11requires 'Catalyst::Plugin::Session::Store::DBI';
12requires 'Catalyst::Plugin::Static::Simple';
13requires 'Catalyst::Plugin::ConfigLoader';
14requires 'Catalyst::Plugin::Prototype';
15requires 'Catalyst::View::TT';
16requires 'Catalyst::Plugin::I18N';
17
18requires 'YAML'; # This should reflect the config file format you've chosen
19                 # See Catalyst::Plugin::ConfigLoader for supported formats
20
21requires 'Config::YAML';
22# out of catalyst
23requires 'XML::Simple';
24requires 'Crypt::CBC';
25requires 'Crypt::DES_EDE3';
26requires 'Crypt::RSA';
27requires 'DBI';
28requires 'DBD::Pg';
29requires 'MIME::Base64';
30requires 'Mail::Mailer';
31#requires 'LaTeX::Driver';
32requires 'Locale::Maketext::Lexicon';
33
34catalyst;
35
36install_script glob('script/*.pl');
37auto_install;
38WriteAll;
39
40package MY;
41
42sub distdir {
43    my $dist = shift->SUPER::distdir(@_);
44    $dist =~ s/^(create_distdir :.*)/$1 md5sum/m;
45    $dist
46}
47
48sub dist_core {
49    my $dist = shift->SUPER::dist_core(@_);
50    $dist =~ s/^(\S.* :.*)/$1 md5sum/mg;
51    $dist
52}
53
54sub postamble {
55   
56    # list availlable langages:
57    my @po =
58        map { m:lib/Epoll/I18N/([^\.]+)\.po$:; $1 }
59        glob('lib/Epoll/I18N/*.po');
60
61    my $makepo = join("\n\n", map {
62    "
63lib/Epoll/I18N/$_.po: lib/Epoll/I18N/messages.pot
64\t[ -f lib/Epoll/I18N/$_.po ] || msginit --no-translator --input=lib/Epoll/I18N/messages.pot --output= --locale=$_
65\tmsgmerge -U lib/Epoll/I18N/$_.po lib/Epoll/I18N/messages.pot
66
67"
68    } @po);
69
70    return 
71    'po: ' . join(' ', map { "lib/Epoll/I18N/$_.po" } @po) .
72    "
73
74pot: lib/Epoll/I18N/messages.pot
75
76lib/Epoll/I18N/messages.pot:
77\tcat MANIFEST | egrep '(.pm|.tt)' | xargs xgettext.pl -o lib/Epoll/I18N/messages.pot
78
79$makepo
80
81svnmanifest:
82\tsvn ls -R| grep -v '/\$\$'  > MANIFEST
83
84md5sum:
85\tcat MANIFEST | sed 's/\\t.*//' | grep -v control/md5sum | xargs md5sum > control/md5sum
86
87checkmd5:
88\tmd5sum -c control/md5sum
89
90.PHONY: md5sum checkmd5 svnmanifest pot lib/Epoll/I18N/messages.pot
91
92ChangeLog:
93\tsvn log > ChangeLog
94
95epoll.spec: epoll.spec.in Makefile
96\tsed -e 's/\@VERSION@/\$(VERSION)/' < \$< > \$@
97
98srpm: \$(DISTVNAME).tar.gz epoll.spec
99\trpmbuild -bs --clean\\
100\t --define \"_sourcedir `pwd`\" \\
101\t --define \"_specdir `pwd`\" \\
102\t --define \"_srcrpmdir `pwd`\" \\
103\t --define \"_rpmdir `pwd`\" \\
104\t epoll.spec
105
106rpm: \$(DISTVNAME).tar.gz epoll.spec
107\tmkdir ./noarch || :
108\trpmbuild -ba --clean\\
109\t --define \"_sourcedir `pwd`\" \\
110\t --define \"_specdir `pwd`\" \\
111\t --define \"_srcrpmdir `pwd`\" \\
112\t --define \"_rpmdir `pwd`\" \\
113\t epoll.spec
114"
115}
Note: See TracBrowser for help on using the repository browser.