1 | #!/usr/bin/env perl |
---|
2 | # IMPORTANT: if you delete this file your app will not work as |
---|
3 | # expected. You have been warned. |
---|
4 | use inc::Module::Install; |
---|
5 | use Module::Install::Catalyst; # Complain loudly if you don't have |
---|
6 | # Catalyst::Devel installed or haven't said |
---|
7 | # 'make dist' to create a standalone tarball. |
---|
8 | |
---|
9 | name 'Sophie'; |
---|
10 | all_from 'lib/Sophie.pm'; |
---|
11 | |
---|
12 | requires 'DBD::Pg'; |
---|
13 | requires 'DBIx::Class'; |
---|
14 | |
---|
15 | requires 'Catalyst::Runtime' => '5.80025'; |
---|
16 | requires 'Catalyst::Plugin::ConfigLoader'; |
---|
17 | requires 'Catalyst::Plugin::Static::Simple'; |
---|
18 | requires 'Catalyst::Action::RenderView'; |
---|
19 | requires 'Moose'; |
---|
20 | requires 'namespace::autoclean'; |
---|
21 | requires 'Catalyst::Plugin::Authentication' => '0'; |
---|
22 | requires 'Catalyst::Plugin::Authorization::Roles' => '0'; |
---|
23 | requires 'Catalyst::Plugin::Session' => '0'; |
---|
24 | requires 'Catalyst::Plugin::Session::Store::DBI' => '0'; |
---|
25 | requires 'Catalyst::Plugin::Session::State::Cookie' => '0'; |
---|
26 | requires 'Catalyst::Plugin::Prototype' => '0'; |
---|
27 | requires 'Catalyst::Plugin::Compress::Zlib'; |
---|
28 | requires 'Catalyst::Plugin::Server'; |
---|
29 | requires 'Catalyst::Plugin::Server::XMLRPC'; |
---|
30 | requires 'Catalyst::View::TT' => '0'; |
---|
31 | requires 'Catalyst::View::JSON' => '0'; |
---|
32 | requires 'Catalyst::View::GD' => '0'; |
---|
33 | requires 'Catalyst::View::Email' => '0'; |
---|
34 | requires 'Catalyst::Model::DBIC::Schema'; |
---|
35 | requires 'Catalyst::Authentication::Store::DBIx::Class'; |
---|
36 | requires 'Pod::Find'; |
---|
37 | requires 'Pod::POM'; |
---|
38 | requires 'XML::RSS'; |
---|
39 | requires 'XML::Simple'; |
---|
40 | requires 'Config::General'; # This should reflect the config file format you've chosen |
---|
41 | # See Catalyst::Plugin::ConfigLoader for supported formats |
---|
42 | test_requires 'Test::More' => '0.88'; |
---|
43 | catalyst; |
---|
44 | |
---|
45 | install_script glob('script/*.pl'); |
---|
46 | install_script qw(bin/sophie_fetch_maint bin/sophie_rescan bin/sophie-update); |
---|
47 | |
---|
48 | WriteMakefile( |
---|
49 | macro => { |
---|
50 | DESTRPMDIR => '$(shell pwd)', |
---|
51 | }, |
---|
52 | ); |
---|
53 | |
---|
54 | package MY; |
---|
55 | |
---|
56 | sub install { |
---|
57 | my ($self) = @_; |
---|
58 | my $section = $self->SUPER::install(); |
---|
59 | |
---|
60 | $section =~ s/(^install ::.*)/$1 install_config/m; |
---|
61 | |
---|
62 | $section .= qq[ |
---|
63 | install_config: sophie.conf.in |
---|
64 | \tinstall -d \$(DESTDIR)/etc |
---|
65 | \tinstall -d \$(DESTDIR)/etc/sophie |
---|
66 | \tinstall sophie.conf.in \$(DESTDIR)/etc/sophie/sophie.conf |
---|
67 | |
---|
68 | ]; |
---|
69 | |
---|
70 | $section |
---|
71 | } |
---|
72 | |
---|
73 | sub postamble { |
---|
74 | <<EOF; |
---|
75 | # .PHONY .= svnmanifest |
---|
76 | |
---|
77 | svnmanifest: |
---|
78 | \tsvn ls -R| grep -v "/\$\$" > MANIFEST |
---|
79 | |
---|
80 | ChangeLog: |
---|
81 | \tsvn log > ChangeLog |
---|
82 | |
---|
83 | \$(DISTNAME).spec: \$(DISTNAME).spec.in Makefile |
---|
84 | \tsed -e 's/\@VERSION@/\$(VERSION)/' < \$< > \$@ |
---|
85 | |
---|
86 | rpm: \$(DISTVNAME).tar.gz \$(DISTNAME).spec |
---|
87 | \tmkdir \$(DESTRPMDIR)/noarch || : |
---|
88 | \trpmbuild -ba --clean\\ |
---|
89 | \t --define "_sourcedir `pwd`" \\ |
---|
90 | \t --define "_specdir `pwd`" \\ |
---|
91 | \t --define "_srcrpmdir \$(DESTRPMDIR)" \\ |
---|
92 | \t --define "_rpmdir \$(DESTRPMDIR)" \\ |
---|
93 | \t \$(DISTNAME).spec |
---|
94 | |
---|
95 | svnrpm: \$(DISTVNAME).tar.gz \$(DISTNAME).spec |
---|
96 | \tmkdir \$(DESTRPMDIR)/noarch || : |
---|
97 | \trpmbuild -ba --clean\\ |
---|
98 | \t --define "_sourcedir `pwd`" \\ |
---|
99 | \t --define "_specdir `pwd`" \\ |
---|
100 | \t --define "_srcrpmdir \$(DESTRPMDIR)" \\ |
---|
101 | \t --define "_rpmdir \$(DESTRPMDIR)" \\ |
---|
102 | \t --define "svnrelease `LC_ALL=C svn info | grep '^Revision:' | sed 's/Revision: //'`" \\ |
---|
103 | \t \$(DISTNAME).spec |
---|
104 | |
---|
105 | EOF |
---|
106 | } |
---|