forked from GMOD/GBrowse
/
Build.PL
108 lines (94 loc) · 2.87 KB
/
Build.PL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!/usr/bin/perl
use strict;
use warnings;
use FindBin '$Bin';
use lib "$Bin/install_util";
use File::Copy;
use GBrowseInstall;
my $build = GBrowseInstall->new(
module_name => 'GBrowse',
dist_version_from => 'lib/Bio/Graphics/Browser.pm',
dist_author => 'Lincoln Stein <lincoln.stein@gmail.com>',
dist_abstract => 'The GMOD Generic Genome Browser',
license => 'perl',
requires => {
'perl' => '5.008',
'Bio::Root::Version' => '1.005009001',
'Bio::Graphics' => '1.83',
'GD' => '2.07',
'IO::String' => 0,
'CGI::Session' => '4.02',
'File::Temp' => 0,
'Digest::MD5' => 0,
'Storable' => 0,
'JSON' => 0,
'LWP' => 0,
'Statistics::Descriptive' => 0,
'ExtUtils::CBuilder' => 0,
'Cache::MemoryCache' => 0,
},
recommends => {
'DB_File::Lock' => 0,
'File::NFSLock' => 0,
'DBI' => 0,
'DBD::mysql' => 0,
'DBD::Pg' => 0,
'GD::SVG' => 0,
'Safe::World' => 0,
'FCGI' => 0,
},
script_files => [
'bin/gbrowse_slave',
'bin/make_das_conf.pl',
'bin/gbrowse_clean.pl',
# not sure if these still work
# 'bin/register_moby_services.pl',
# 'bin/process_wormbase.pl',
# 'bin/process_sgd.pl',
# 'bin/load_genbank.pl',
],
create_makefile_pl => 'passthrough',
);
if(-e '/proc/filesystems'
&& `grep selinux /proc/filesystems`) {
print STDERR <<'END';
**** WARNING *********************************************************
You appear to have SELinux installed on this computer. This can
interfere with GBrowse operation. Please read the file
README.fedora_and_selinux in order to perform additional configuration
operations that may be necessary to run on this computer.
**********************************************************************
END
}
if ($build->have_c_compiler()) {
foreach ('CAlign.xs','CAlign.pm') {
copy("./libalign/$_" => "./lib/Bio/Graphics/Browser/$_");
}
$build->include_dirs(["$Bin/libalign"]);
}
my $argc=0;
for my $arg (keys %{$build->private_props}) {
my $value = $build->runtime_params($arg) or next;
$build->config_data($arg=>$value);
$argc++;
}
$build->config_done(1) if $argc > 0;
$build->add_build_element('conf');
$build->add_build_element('htdocs');
$build->add_build_element('cgibin');
$build->add_build_element('etc');
$build->add_build_element('database');
$build->create_build_script;
print STDERR <<END;
Now run:
./Build test
./Build demo (optional)
./Build install (as superuser/administrator)
-or-
./Build install_slave (optional, for slave installations)
Other useful targets:
./Build reconfig (to reconfigure install locations)
./Build demostop (to stop the demo)
END
exit 0;
1;