summaryrefslogtreecommitdiffstats
path: root/Build.PL
diff options
context:
space:
mode:
authorDavid Lawrence <dkl@mozilla.com>2014-05-01 22:51:48 +0200
committerDavid Lawrence <dkl@mozilla.com>2014-05-01 22:51:48 +0200
commit190006d6e0e6010dc34334a07d0e01de22d4b8f3 (patch)
tree8e2a5bf5df5abbc8fd7d5c9a03df80ed5ca06e48 /Build.PL
parent7505025601880e7d7d12ce9baf817c43ba6bbeda (diff)
downloadbugzilla-190006d6e0e6010dc34334a07d0e01de22d4b8f3.tar.gz
bugzilla-190006d6e0e6010dc34334a07d0e01de22d4b8f3.tar.xz
Bug 995209 - Create a Build.PL script using Module::Build for testing/installing/packaging of Bugzilla code
r=glob,a=justdave
Diffstat (limited to 'Build.PL')
-rw-r--r--Build.PL61
1 files changed, 61 insertions, 0 deletions
diff --git a/Build.PL b/Build.PL
new file mode 100644
index 000000000..a69f99020
--- /dev/null
+++ b/Build.PL
@@ -0,0 +1,61 @@
+#!/usr/bin/perl
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+use 5.10.1;
+use strict;
+use warnings;
+
+use FindBin qw($RealBin);
+use lib ($RealBin, "$RealBin/lib");
+
+use Module::Build 0.36_14;
+
+use Bugzilla::Install::Requirements qw(REQUIRED_MODULES OPTIONAL_MODULES);
+use Bugzilla::Constants qw(BUGZILLA_VERSION);
+
+sub requires {
+ my $requirements = REQUIRED_MODULES();
+ my $hrequires = {};
+ foreach my $module (@$requirements) {
+ $hrequires->{$module->{module}} = $module->{version};
+ }
+ return $hrequires;
+};
+
+sub build_requires {
+ return requires();
+}
+
+sub recommends {
+ my $recommends = OPTIONAL_MODULES();
+ my @blacklist = ('Apache2-SizeLimit', 'mod_perl'); # Does not compile properly on Travis
+ my $hrecommends = {};
+ foreach my $module (@$recommends) {
+ next if grep($_ eq $module->{package}, @blacklist);
+ $hrecommends->{$module->{module}} = $module->{version};
+ }
+ return $hrecommends;
+}
+
+my $build = Module::Build->new(
+ module_name => 'Bugzilla',
+ dist_abstract => <<END,
+Bugzilla is a free bug-tracking system that is developed by an active
+community of volunteers. You can install and use it without having to
+pay any license fee.
+END
+ dist_version_from => 'Bugzilla/Constants.pm',
+ dist_version => BUGZILLA_VERSION,
+ requires => requires(),
+ recommends => recommends(),
+ license => 'Mozilla_2_0',
+ create_readme => 0,
+ create_makefile_pl => 0
+);
+
+$build->create_build_script;