add Jean Louis to THANKS file
[gnu-stow.git] / Build.PL
bloba14b93b2fb3f0ad9698f9b0ef07061583e5b216a
1 use strict;
2 use warnings;
4 use Module::Build;
6 # These are required by the test suite.
7 use lib "t";
8 use lib "bin";
10 my $build = Module::Build->new(
11     module_name => 'Stow',
12     keywords    => [ qw/stow symlink software package management install/ ],
13     license     => 'gpl',
15     # Module::Build forces us to use v1.4 of the CPAN Meta Spec:
16     # https://rt.cpan.org/Ticket/Display.html?id=71502
17     # 'meta-spec' =>  {
18     #     version => '2.0',
19     #     url     => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
20     # },
21     meta_add => {
22         resources => {
23             license => 'http://www.gnu.org/licenses/gpl-2.0.html' ,
24             homepage => 'https://savannah.gnu.org/projects/stow',
26             # Module::Build forces us to use v1.4 of the CPAN Meta Spec:
27             # https://rt.cpan.org/Ticket/Display.html?id=71502
28             # bugtracker => {
29             #     web    => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Stow',
30             #     mailto => 'stow-devel@gnu.org',
31             # },
32             #bugtracker => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Stow',
34             # Module::Build forces us to use v1.4 of the CPAN Meta Spec:
35             # https://rt.cpan.org/Ticket/Display.html?id=71502
36             # repository => {
37             #     url  => 'git://git.savannah.gnu.org/stow.git',
38             #     web  => 'https://savannah.gnu.org/git/?group=stow',
39             #     type => 'git',
40             # },
41             repository => 'git://git.savannah.gnu.org/stow.git',
42         },
43     },
44     requires => {
45         'perl'        => '5.006',
46         'Carp'        => 0,
47         'IO::File'    => 0,
48     },
49     script_files => [ 'bin/stow', 'bin/chkstow' ],
50     all_from => 'lib/Stow.pm.in',
51     configure_requires => {
52         'Module::Build' => 0,
53     },
54     build_requires => {
55         'Test::More'   => 0,
56         'Test::Output' => 0,
57         'IO::Scalar'   => 0,
58     },
61 if (system('grep', '-q', '^use lib ', 'bin/stow') >> 8 == 0) {
62   die <<'EOF';
64 ERROR: bin/stow contains 'use lib' line which could interfere
65 with CPAN-style installation via Module::Build.  To avoid this,
66 you should run ./configure with parameters which result in
67 --with-pmdir's value being in Perl's built-in @INC, and then run
68 'make' (NOT 'make install') to regenerate bin/stow, e.g.
70     eval `perl -V:siteprefix`
71     ./configure --prefix=$siteprefix && make
75     ./configure --with-pmdir=`PERL5LIB= perl -le 'print $INC[0]'` && make
77 Then re-run this script.
79 Note that these parameters are chosen purely to regenerate
80 bin/stow without a 'use lib' line, so don't run 'make install'
81 while Stow is configured in this way unless you really want an
82 installation using these parameters.
84 EOF
87 $build->create_build_script();