File: Makefile.PL

package info (click to toggle)
libdbix-class-schema-loader-perl 0.04005-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 360 kB
  • ctags: 243
  • sloc: perl: 3,507; makefile: 44
file content (104 lines) | stat: -rw-r--r-- 3,033 bytes parent folder | download
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

use inc::Module::Install 0.65;

name           'DBIx-Class-Schema-Loader';
all_from       'lib/DBIx/Class/Schema/Loader.pm';

test_requires 'Test::More'  => '0.47';
test_requires 'DBI'         => '1.56';
test_requires 'DBD::SQLite' => '1.12';
test_requires 'File::Path'  => 0;

requires 'File::Spec'                  => 0;
requires 'Scalar::Util'                => 0;
requires 'Data::Dump'                  => '1.06';
requires 'UNIVERSAL::require'          => '0.11';
requires 'Lingua::EN::Inflect::Number' => '1.1';
requires 'Text::Balanced'              => 0;
requires 'Digest::MD5'                 => '2.36';
requires 'Class::Accessor::Fast'       => '0.30';
requires 'Class::Data::Accessor'       => '0.03';
requires 'Class::C3'                   => '0.18';
requires 'Carp::Clan'                  => 0;
requires 'Class::Inspector'            => 0;
requires 'DBIx::Class'                 => '0.07006';

# This is my manual hack for better feature control
#  If you want to change the default answer for a feature,
#  set the appropriate environment variable, like
#  DBIC_FEATURE_MYSQL.  If you want the defaults to
#  apply automatically without asking any questions,
#  set DBIC_FEATURE_NOQUESTIONS.  Hopefully this will
#  save someone some pain when trying to automate
#  the installation of this software.

# Maintainer shouldn't set these, as they would affect
# the META.yml shipped to CPAN.

my $_features = [
    SQLITE => {
        label => 'SQLite Support',
        def   => $ENV{DBIC_FEATURE_SQLITE} || 0,
        deps  => [
            'DBI'         => '1.56',
            'DBD::SQLite' => '1.12',
        ],
    },
    MYSQL => {
        label => 'MySQL Support',
        def   => $ENV{DBIC_FEATURE_MYSQL} || 0,
        deps  => [
            'DBI'         => '1.56',
            'DBD::mysql'  => '4.004',
        ],
    },
    PG => {
        label => 'PostgreSQL Support',
        def   => $ENV{DBIC_FEATURE_PG} || 0,
        deps  => [
            'DBI'         => '1.56',
            'DBD::Pg'     => '1.49', # Soon to be 1.50
        ],
    },
    DB2 => {
        label => 'DB2 Support',
        def   => $ENV{DBIC_FEATURE_DB2} || 0,
        deps  => [
            'DBI'         => '1.56',
            'DBD::DB2'    => '1.0',
        ],
    },
    ORACLE => {
        label => 'Oracle Support (experimental)',
        def   => $ENV{DBIC_FEATURE_ORACLE} || 0,
        deps  => [
            'DBI'         => '1.56',
            'DBD::Oracle' => '0.19',
        ],
    },
];

for(my $i = 0; $i <= $#$_features - 1; $i += 2) {
    my $name = $_features->[$i];
    my $attrs = $_features->[$i+1];

    if($ENV{DBIC_FEATURE_NOQUESTIONS}) {
        if($attrs->{def}) {
            requires @{$attrs->{deps}};
        }
    }
    else {
        feature $attrs->{label} =>
            -default => $attrs->{def},
            @{$attrs->{deps}};
    }
}

# Rebuild README for maintainers
if(-e 'MANIFEST.SKIP') {
    system("pod2text lib/DBIx/Class/Schema/Loader.pm > README");
}

auto_provides;
auto_install;
WriteAll;