File: Build.PL

package info (click to toggle)
eekboek 2.00.04-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,724 kB
  • sloc: perl: 21,230; sql: 278; sh: 31; makefile: 29; lisp: 16
file content (124 lines) | stat: -rw-r--r-- 3,440 bytes parent folder | download | duplicates (2)
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Build.PL -- Buildfile for EekBoek	-*-perl-*-
# Author          : Johan Vromans
# Created On      : Thu Sep  1 17:28:26 2005
# Last Modified By: Johan Vromans
# Last Modified On: Mon Mar 29 17:26:53 2010
# Update Count    : 133
# Status          : Experimental

# Ease the life of the CPAN testers.
exit 0 if $ENV{AUTOMATED_TESTING} && $] < 5.008003;

use 5.008003;
use strict;
use lib 'inc';
use Module::Build 0.32;
use File::Find;

our $data = {};
require "inc/build_common.pl";

# Warn on non-standard install locations.
checkbin(<<EOD);
Please consult section "How Installation Paths are Determined"
of the Module::Build documentation section if you want to change
this location.
EOD

# checkexec("psql");

my $class = Module::Build->subclass(code => <<'EOF');
sub ACTION_test {
    my $self = shift;
    if ( $self->args("skipdbtests") ) {
	warn("WARNING: Skipping database tests\n");
	$ENV{EB_SKIPDBTESTS} = 1;
    }
    require Cwd;
    my $cwd = Cwd::getcwd();
    require lib;
    lib->import( "$cwd/lib/EB/CPAN", "$cwd/inc" );
    $self->SUPER::ACTION_test;
}
EOF

my $build = $class->new
  (
   module_name	       => $data->{distname},
   dist_name	       => $data->{distname},
   dist_author	       => $data->{author},
   dist_abstract       => $data->{abstract},
   license	       => $data->{license},
   requires	       => $data->{prereq_pm},
   build_requires      => $data->{buildreq_pm},
   recommends	       => $data->{recomm_pm},
   script_files	       => $data->{script_files},
   pm_files	       => filelist("lib"),
   PL_files	       => $data->{PL_files},
   get_options	       => { skipdbtests => { } },
   add_to_cleanup      =>
     [ 'pod2htm*',
       map { +"t/ivp/*.$_" } qw(sql log txt html csv)
     ],
   meta_merge	       =>
     { resources =>
	{ homepage    => 'http://www.eekboek.nl',
	  MailingList => 'http://lists.sourceforge.net/lists/listinfo/eekboek',
	}
     },
   meta_add            => {
     no_index          => { directory => [ qw(inc lib) ] },
     provides	       => {
       'EekBoek' =>
	  { file => "lib/EekBoek.pm",
	    version => "1.04.00_01",
	  },
     },
   },
  );

# Rerun to get the version right for provides => EekBoek.
$build = $class->new
  (
   module_name	       => $data->{distname},
   dist_name	       => $data->{distname},
   dist_author	       => $data->{author},
   dist_abstract       => $data->{abstract},
   license	       => $data->{license},
   requires	       => $data->{prereq_pm},
   build_requires      => $data->{buildreq_pm},
   recommends	       => $data->{recomm_pm},
   script_files	       => $data->{script_files},
   pm_files	       => filelist("lib"),
   PL_files	       => $data->{PL_files},
   get_options	       => { skipdbtests => { } },
   add_to_cleanup      =>
     [ 'pod2htm*',
       map { +"t/ivp/*.$_" } qw(sql log txt html csv)
     ],
   meta_merge	       =>
     { resources =>
	{ homepage    => 'http://www.eekboek.nl',
	  MailingList => 'http://lists.sourceforge.net/lists/listinfo/eekboek',
	}
     },
   meta_add            => {
     no_index          => { directory => [ qw(inc lib) ] },
     provides	       => {
       'EekBoek' =>
	  { file => "lib/EekBoek.pm",
	    version => $build->dist_version,
	  },
     },
   },
  );

$build->create_build_script;

if ( $build->os_type eq "Unix" ) {
    # Write .spec file, Debian control, ...
    ProcessTemplates($build->dist_name, $build->dist_version);
}

# Debian needs this.
1;