-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbuild.config
94 lines (88 loc) · 6.13 KB
/
build.config
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
our $minimal_perl_version = 5.008;
# source for dependecies
our @packages = glob("../{t,T}hruk/Makefile.PL");
# list of modules which should be included as well
our $additional_requirements = {
'Clone' => '0', # optional requirement
'Date::Calc::XS' => '0', # optional requirement
'Digest::SHA' => '0', # required by crypto module
'Test::Simple' => '0', # required for tests
'Test::Cmd' => '0', # required for tests
'Module::CoreList' => '0', # required to build modules
'Socket' => '1.97', # too old on sles 11
'version' => '0', # too old on sles 11, required for Socket
};
our $build_requirements = {
'Module::Build::Tiny' => '0', # not available on sles11
'CPAN::Meta' => '0', # not available on sles11 and required for Module::Build::Tiny
'ExtUtils::Manifest' => '1.63', # newer version break on symlinks
'ExtUtils::Config' => '0', # not available on sles11 and required for Module::Build::Tiny
'ExtUtils::Helpers' => '0', # not available on sles11 and required for Module::Build::Tiny
'ExtUtils::InstallPaths' => '0', # not available on sles11 and required for Module::Build::Tiny
'ExtUtils::CBuilder' => '0', # not available on sles11 and required for Module::Build::Tiny
'ExtUtils::ParseXS' => '0', # not available on sles11 and required for Module::Build::Tiny
'ExtUtils::Constant' => '0', # required to build Sockets
'JSON::PP' => '0', # not available on sles11 and required for Module::Build::Tiny
'CPAN::Meta::YAML' => '0', # not available on sles11 and required for Module::Build::Tiny
'ExtUtils::MakeMaker' => '0', # not available on sles11 and required for Module::Build::Tiny
'Perl::OSType' => '0', # not available on sles11 and required for Module::Build
'Module::Metadata' => '0', # not available on sles11 and required for Module::Build
'JSON' => '2.5', # not available on sles11 and required for CPAN::Meta
'CPAN::Meta::Requirements' => '0', # not available on sles11
'version' => '0', # too old on sles 11, required for Module::Build
'Module::Build' => '0', # too old on sles 12
'IPC::Cmd' => '0', # required by ExtUtils::CBuilder
'Params::Check' => '0', # required by IPC::Cmd
'Module::Load::Conditional' => '0', # required by IPC::Cmd
'Locale::Maketext::Simple' => '0', # required by Params::Check
'Module::Install' => '0', # required by sles
'File::Remove' => '0', # required by Module::Install
'YAML::Tiny' => '0', # required by Module::Install
'File::ShareDir::Install' => '0', # required to build Plack
'Devel::CheckLib' => '0', # required to build DBD-mysql
};
# list of dependencies which should not be shipped
our $skip_missing = {
'Mozilla::CA' => '0',
'Apache::LogFormat::Compiler' => '0', # listed in Plack, but not really required
'HTTP::Tiny' => '0', # listed in Plack, but not really required
'Filesys::Notify::Simple' => '0', # listed in Plack, but not really required
'WWW::RobotRules' => '0', # listed in LWP, but not really required
'HTTP::Daemon' => '0', # listed in LWP, but not really required
'File::Listing' => '0', # listed in LWP, but not really required
'Time::Zone' => '0', # listed in LWP, but not really required
'IO::HTML' => '0', # listed in LWP, but not really required
'JSON::PP' => '0', # listed in JSON-MaybeXS, but not really required
'IO::Socket::SSL' => '0', # should be installed from system
'TAP::Harness::Env' => '0', # optional build requirement from Module-Build-Tiny
'CPAN::Meta' => '0', # optional build requirement from Module-Build-Tiny
'ExtUtils::ParseXS' => '0', # optional build requirement from Module-Build-Tiny
'ExtUtils::CBuilder' => '0', # optional build requirement from Module-Build-Tiny
};
# list of dependencies which should not be updated
our $skip_updates = {
qr/^ExtUtils\-Depends\-/mx => "cpan points to wrong module",
qr/^File-Temp\-/mx => "broken since 0.22",
qr/^Module-Build\-/mx => "newer version requires dependecies which fail on old platforms",
qr/^GD\-/mx => "requires new Module:Build, see above",
qr/^Params-Validate\-/mx => "requires new Module:Build, see above",
qr/^ExtUtils\-Manifest\-/mx => "broken symlinks in make distcheck",
qr/^JSON\-XS/mx => "broken release, migrate to Cpanel::JSON::XS",
qr/^Log\-Dispatch/mx => "newer releases have lots of dependencies",
qr/Socket/mx => "newer releases fail on sles11",
};
# return real module name
our $module_tr = {
'Filter' => 'Filter::exec',
'IO::Compress' => 'IO::Compress::Base',
'IO::stringy' => 'IO::Scalar',
'Scalar::List::Utils' => 'List::Util::XS',
'libwww::perl' => 'LWP',
'Template::Toolkit' => 'Template',
'TermReadKey' => 'Term::ReadKey',
'Gearman' => 'Gearman::Client',
'PathTools' => 'File::Spec',
'libnet' => 'Net::Cmd',
'podlators' => 'Pod::Man',
'Text::Tabs+Wrap' => 'Text::Tabs',
};