File: Makefile.PL

package info (click to toggle)
libhtml-formfu-perl 0.09007-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 4,184 kB
  • sloc: perl: 13,186; makefile: 9; sql: 5
file content (155 lines) | stat: -rw-r--r-- 4,463 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
use inc::Module::Install 1.00;
use File::Spec;
$|=1;

name 'HTML-FormFu';
perl_version '5.008001';

# required for legacy check below
include_deps 'IO::Interactive' => '0.04';

{
    # check for old non-Moose version
    
    eval { require HTML::FormFu::Element::_Field };
    
    if ( !$@ ) {
        my $path = $INC{'HTML/FormFu/Element/_Field.pm'};
        
        my ( $volume, $dir, $file ) = File::Spec->splitpath( $path );
        
        my @dirs = File::Spec->splitdir( $dir );
        # get rid of HTML/FormFu/Element
        splice @dirs, -4;
        
        my $lib_dir  = File::Spec->catdir( @dirs );
        my $lib_path = File::Spec->catpath( $volume, $lib_dir );
        
        my $msg = <<ERROR;
Files from an older, pre-0.09000 version of HTML-FormFu have been detected
in directory: '$lib_path'.

This will cause problems if you use HTML::FormFu::Preload, and will also
cause spurious warnings during the test suite run.

We strongly recommend you manually remove old HTML-FormFu files before
continuing.

ERROR
        
        eval { require IO::Interactive };
        
        if ( IO::Interactive::is_interactive() ) {
            warn <<WARN;
***Warning***
$msg
Continue?
WARN

            chomp( my $answer = <STDIN> );
            
            if ( $answer !~ /y/i ) {
                die "Remove old HTML-FormFu files and retry\n";
            }
        }
        else {
            die <<ERROR;
***Error***
$msg
Will not continue non-interactively
ERROR

        }
    }
}

if ( -e 'MANIFEST.SKIP' ) {
    system( 'pod2text lib/HTML/FormFu.pm > README' );
}

all_from 'lib/HTML/FormFu.pm';

repository 'git://github.com/fireartist/HTML-FormFu.git';

# this is the lowest version of Exporter I can identify that exports import()
# it's bundled with perl 5.83
# version 5.567 that ships with perl 5.82 is no good
requires 'Exporter' => '5.57';

requires 'Captcha::reCAPTCHA' => 0.93;
requires 'Carp';
requires 'Class::Accessor::Chained::Fast';
requires 'Class::MOP::Method';
requires 'Clone' => '0.31';
requires 'Config::Any' => '0.18'; # 0.10 - supports multi-doc config files
                                  # 0.18 - prefers YAML::XS for YAML
requires 'Crypt::CBC';
requires 'Crypt::DES';
requires 'Cwd';
requires 'Data::Visitor' => 0.26; # when it dumped Any::Moose for Moose
requires 'Data::Visitor::Callback';
requires 'Date::Calc';
requires 'DateTime' => '0.54'; # required for string overloading
requires 'DateTime::Format::Strptime' => '1.2000';  
requires 'DateTime::Format::Builder' => '0.7901'; # fixes memory leaks
requires 'DateTime::Format::Natural';
requires 'DateTime::Format::Strptime';
requires 'DateTime::Locale' => '0.45';
requires 'Email::Valid';
requires 'Encode';
requires 'Fatal';
requires 'File::Copy';
requires 'File::Find';
requires 'File::ShareDir';
requires 'File::Spec';
requires 'File::Temp';
requires 'Hash::Flatten';
requires 'HTML::Scrubber';
requires 'HTML::TokeParser::Simple' => '3.14';
requires 'HTTP::Headers' => '1.64';
requires 'IO::File';
requires 'List::MoreUtils';
requires 'List::Util';
requires 'Locale::Maketext';
requires 'Module::Pluggable';
requires 'Moose' => '1.00'; # Reasonable default until we get test results
requires 'Moose::Role';
requires 'Moose::Util';
requires 'MooseX::Aliases';
requires 'MooseX::Attribute::Chained' => '1.0.1';
requires 'MooseX::SetOnce';
requires 'Number::Format';
requires 'Readonly';
requires 'Regexp::Common';
requires 'Path::Class::File';
requires 'Scalar::Util';
requires 'Storable';
requires 'Task::Weaken'; # to ensure Scalar::Util was built with weaken()
requires 'Template'; # form->start and ->end still require TT
                     # so does t/elements/render_method
requires 'YAML::XS' => '0.32';

test_requires 'CGI' => '3.37'; # for file POST tests
test_requires 'POSIX';
test_requires 'Test::More' => '0.92';

eval "require Test::Aggregate::Nested";
$^O eq 'MSWin32' || $@ ? tests_recursive 't' : tests 't/*.t';

no_index directory => 'examples';

install_script('bin/html_formfu_deploy.pl');
install_script('bin/html_formfu_dumpconf.pl');
install_share();

# Developers on MS Windows must have Module::Install::PerlTar installed
# This fixes the problem of tar files having world-writable files,
# which causes PAUSE to choke
eval {
    use_ptar() if author_context && $^O =~/(?:ms|cyg)win/i;
};
if ($@) {
    die "Module::Install::PerlTar must be installed when Makefile.PL is run by an author on MS Windows\n";
}

&WriteAll;