Merge branch 'topic/image_upload'
[sgn.git] / Build.PL
blob1bca9dac83cd6f64452090775dc9c023b1d45171
1 use Module::Build;
2 my $class = Module::Build->subclass(
3     class => 'Module::Build::SGNSite',
4     code  => <<'SUBCLASS',
6 # build action just runs make on programs
7 sub ACTION_build {
8    my $self = shift;
9    $self->SUPER::ACTION_build(@_);
10    system "make -C programs";
11    $? and die "make failed\n";
14 # override install to just copy the whole dir into the install_base
15 sub ACTION_install {
16    my $self = shift;
18    # installation is just copying the entire dist into
19    # install_base/sgn
20    require File::Spec;
21    my $tgt_dir = File::Spec->catdir($self->install_base,'sgn');
22    system 'cp', '-rl', '.', $tgt_dir;
23    $? and die "SGN site copy failed\n";
26 sub ACTION_clean {
27    shift->SUPER::ACTION_clean(@_);
28    system "make -C programs clean";
29    $? and die "SGN site copy failed\n";
31 SUBCLASS
34 #my $class = 'Module::Build';
35 my $build = $class->new(
37     dist_name          => 'SGN',
38     license            => 'perl',
39     create_makefile_pl => 'passthrough',
41     module_name        => 'SGN::Context',
43     # current version of our core libraries distribution
44     dist_version => '0.1',
45     dist_author  => 'Lukas Mueller',
46     dist_abstract =>
47 'The code and content behind the Sol Genomics Network main website, http://solgenomics.net',
49     recursive_test_files => 1,
51     build_requires => {
52         'Class::MethodMaker' => 0,
54         'File::Temp'           => 0,
55         'HTML::Lint'           => 0,
56         'Test::JSON'              => 0,
57         'List::Util'           => 0,
58         'Test::More'           => 0,
59         'Test::Most'           => 0,
60         'Test::WWW::Mechanize' => 0,
61         'Test::WWW::Mechanize::Catalyst' => '0.50',
62         'Test::WWW::Selenium'  => 0,
63         'Test::MockObject'     => 0,
66     },
67     requires => {
68         'perl'                => '5.10.0',
69         'autodie'             => 0,
70         'IPC::System::Simple' => 0,         #< required for autodie :all
71         'Apache::DBI'         => 0,
73         'Bio::Chado::Schema' => '0.05900',
75         'Bio::Root::Version'     => '1.006001',
76         'Bio::Graphics::FeatureFile' => 0,
78         'Cache::File' => 0,
81         'Catalyst::Runtime'                => '5.80024',
82         'Catalyst::Controller::CGIBin'     => '0.029',
83         'Catalyst::Action::RenderView'     => 0,
84         'Catalyst::Plugin::ConfigLoader'   => 0,
85         'Catalyst::Plugin::Static::Simple' => 0,
86         'Catalyst::View::Email'            => 0,
87         'Catalyst::View::HTML::Mason'      => 0,
88         'Catalyst::View::JavaScript::Minifier::XS'
89                                            => '2.100000',
90         'CatalystX::GlobalContext'         => 0,
92         'Config::JFDI'                     => 0,
93         'CGI'                              => 0,
95         'Data::Page' => 0,
96         'Data::Visitor::Callback' => 0,
98         'DBIx::Class'             => 0,
99         'DBIx::Connector'         => 0,
100         'File::Flock'             => 0,
101         'File::NFSLock'           => 0,
102         'File::Slurp'             => 0,
103         'File::Temp'              => 0,
104         'Number::Bytes::Human'    => '0.07',
105         'GD'                      => 0,
106         'GD::Graph::Map'          => 0,
107         'GD::Graph::points'       => 0,
108         'GD::Text'                => 0,
109         'Hash::Merge'             => 0,
110         'HTML::Entities'          => 0,
111         'HTML::FormFu'            => 0,
112         'HTML::Mason'             => 0,
113         'HTML::TreeBuilder::XPath' => 0,
114         'IO::String'              => 0,
115         'Image::Size'             => 0,
116         'JSAN::ServerSide'        => '==0.06',
117         'JSON'                    => 0,
118         'JSON::XS'                => '2.24',
119         'JSON::Any'               => 0,
120         'List::Util'              => 0,
121         'LWP::UserAgent'          => 0,
122         'Mail::Sendmail'          => 0,
123         'Math::Round::Var'        => 0,
124         'Memoize'                 => 0,
125         'Module::Build'           => '0.36',
126         'Module::Find'            => 0,
127         'Module::Pluggable::Object' => 0,
128         'Moose'                   => 0,
129         'MooseX::Declare'         => 0,
130         'MooseX::Method::Signatures' => '0.30',
131         'MooseX::Types::Path::Class' => 0,
132         'MooseX::Types::URI'      => 0,
133         'MooseX::Singleton'       => 0,
134         'Number::Format'          => 0,
135         'namespace::autoclean'    => 0,
136         'SOAP::Transport::HTTP'   => 0,
137         'Statistics::Descriptive' => 0,
138         'Storable'                => 0,
139         'Test::More'              => 0,
140         'Test::Class'             => 0,
141         'Test::WWW::Mechanize'    => 0,
142         'Test::WWW::Mechanize::Catalyst'
143                                   => 0,
144         'Text::ParseWords'        => 0,
145         'Tie::Function'           => 0,
146         'Tie::UrlEncoder'         => 0,
147         'Time::HiRes'             => 0,
148         'Try::Tiny'               => 0,
149         'URI'                     => 0,
150         'URI::Escape'             => 0,
151         'URI::FromHash'           => 0,
152         'XML::Generator'          => 0,
153         'XML::Twig'               => 0,
154         'YAML::Any'               => 0,
155         'WWW::Mechanize::TreeBuilder' => 0,
157     },
159 $build->create_build_script;