source: trunk/LATMOS-Accounts-Web/Makefile.PL @ 1951

Last change on this file since 1951 was 1546, checked in by nanardon, 8 years ago

Add I18N support

File size: 3.1 KB
Line 
1use inc::Module::Install;
2
3name 'LATMOS-Accounts-Web';
4all_from 'lib/LATMOS/Accounts/Web.pm';
5
6#requires 'Catalyst' => '5.7015';
7requires 'Catalyst::Plugin::ConfigLoader';
8requires 'Catalyst::Plugin::Static::Simple';
9requires 'Catalyst::Action::RenderView';
10requires 'YAML'; # This should reflect the config file format you've chosen
11                 # See Catalyst::Plugin::ConfigLoader for supported formats
12requires 'Catalyst::Plugin::Authentication' => '0';
13requires 'Catalyst::Plugin::Session' => '0';
14requires 'Catalyst::Plugin::Session::Store::File' => '0';
15requires 'Catalyst::Plugin::Session::State::Cookie' => '0';
16requires 'Catalyst::Plugin::Prototype' => '0';
17requires 'Catalyst::Plugin::I18N' => '0';
18requires 'Catalyst::View::TT' => '0';
19requires 'LATMOS::Accounts' => '0';
20requires 'Email::Send';
21requires 'Email::MIME::Creator';
22catalyst;
23
24install_script glob('script/*.pl');
25#auto_install;
26WriteMakefile(
27    macro => { 
28        DESTRPMDIR => '$(shell pwd)',
29    },
30);
31
32package MY;
33
34sub postamble {
35    my @po = map { m:lib/LATMOS/Accounts/Web/I18N/([^\.]+)\.po$:; $1 }
36            glob('lib/LATMOS/Accounts/Web/I18N/*.po');
37
38    my $makepo = join("\n\n", map {
39        "
40lib/LATMOS/Accounts/Web/I18N/$_.po: lib/LATMOS/Accounts/Web/I18N/messages.pot
41\t[ -f lib/LATMOS/Accounts/Web/I18N/$_.po ] || msginit --no-translator --input=lib/LATMOS/Accounts/Web/I18N/messages.pot --output= --locale=$_
42\tmsgmerge -U lib/LATMOS/Accounts/Web/I18N/$_.po lib/LATMOS/Accounts/Web/I18N/messages.pot
43
44        "
45        } @po
46    );
47
48    $makepo .= "\n\npo: " . join(' ', map { "lib/LATMOS/Accounts/Web/I18N/$_.po" } @po) . "\n";
49
50    <<EOF;
51.PHONY: lib/LATMOS/Accounts/Web/I18N/messages.pot
52
53pot: lib/LATMOS/Accounts/Web/I18N/messages.pot
54
55lib/LATMOS/Accounts/Web/I18N/messages.pot:
56\tcat MANIFEST | egrep '^(lib|root/html)' | xargs xgettext.pl -o lib/LATMOS/Accounts/Web/I18N/messages.pot
57
58$makepo
59
60svnmanifest:
61\tsvn ls -R| grep -v "/\$\$"  > MANIFEST
62
63ChangeLog:
64\tsvn log > ChangeLog
65
66latmos-accounts-web.spec: latmos-accounts-web.spec.in Makefile
67\tsed -e 's/\@VERSION@/\$(VERSION)/' < \$< > \$@
68
69rpm: \$(DISTVNAME).tar.gz latmos-accounts-web.spec
70\tmkdir \$(DESTRPMDIR)/noarch || :
71\trpmbuild -ba --clean\\
72\t --define "_sourcedir `pwd`" \\
73\t --define "_specdir `pwd`" \\
74\t --define "_srcrpmdir \$(DESTRPMDIR)" \\
75\t --define "_rpmdir \$(DESTRPMDIR)" \\
76\t latmos-accounts-web.spec
77
78svnrpm: \$(DISTVNAME).tar.gz latmos-accounts-web.spec
79\tmkdir \$(DESTRPMDIR)/noarch || :
80\trpmbuild -ba --clean\\
81\t --define "_sourcedir `pwd`" \\
82\t --define "_specdir `pwd`" \\
83\t --define "_srcrpmdir \$(DESTRPMDIR)" \\
84\t --define "_rpmdir \$(DESTRPMDIR)" \\
85\t --define "svnrelease `LC_ALL=C svn info | grep '^Revision:' | sed 's/Revision: //'`" \\
86\t latmos-accounts-web.spec
87
88EOF
89}
90
91sub install {
92    my ($self) = @_;
93    my $section = $self->SUPER::install();
94
95    $section =~ s/(^install ::.*)/$1 install_config/m;
96
97    $section .= q[
98install_config ::
99        install -d $(DESTDIR)/etc
100        install -d $(DESTDIR)/etc/latmos-accounts
101        install etc/latmos-accounts-web.yml $(DESTDIR)/etc/latmos-accounts/latmos-accounts-web.yml
102];
103
104    return $section;
105}
106
Note: See TracBrowser for help on using the repository browser.