]> git.decadent.org.uk Git - maypole.git/blobdiff - Makefile.PL
Change author acknowledge to explicit copyright statement.
[maypole.git] / Makefile.PL
index 18b21ca91a09ae04cd96e19c2b2ebb7762080fa1..dbb6545947117a6f1ed480cadc5c2e040a84c16a 100644 (file)
@@ -1,41 +1,64 @@
 use 5.006;
 use ExtUtils::MakeMaker;
+
 # See lib/ExtUtils/MakeMaker.pm for details of how to influence
 # the contents of the Makefile that is written.
 WriteMakefile(
-    NAME              => 'Maypole',
-    VERSION_FROM      => 'lib/Maypole.pm', # finds $VERSION
-    PREREQ_PM         => {
-        Class::DBI::Loader => '0.02',
-        Class::DBI::AbstractSearch => 0,
-        Class::DBI::Pager => 0,
-        Class::DBI::Plugin::RetrieveAll => 0,
-        Class::DBI::AsForm => 0,
-        Class::DBI::FromCGI => 0,
+    NAME         => 'Maypole',
+    VERSION_FROM => 'lib/Maypole.pm',    # finds $VERSION
+    PREREQ_PM    => {
+        Class::DBI::Loader               => '0.02',
+        Class::DBI::AbstractSearch       => 0,
+        Class::DBI::Pager                => 0,
+        Class::DBI::Plugin::RetrieveAll  => 0,
+        Class::DBI::AsForm               => 2.2,
+        Class::DBI::FromCGI              => 0.94,
         Class::DBI::Loader::Relationship => 0,
-        CGI::Untaint => 0,
-        UNIVERSAL::moniker => 0,
-        UNIVERSAL::require => 0,
-        Apache::Request => 0,
-        Template => 0,
-        Template::Plugin::Class => 0,
-    }, # e.g., Module::Name => 1.1
-    ($] >= 5.005 ?     ## Add these new keywords supported since 5.005
-      (ABSTRACT_FROM  => 'lib/Maypole.pm', # retrieve abstract from module
-       AUTHOR         => 'Simon Cozens <simon@simon-cozens.org>') : ()),
+        Class::DBI                       => 0.96,
+        Class::DBI::SQLite               => 0,
+        CGI::Untaint                     => 0,
+        UNIVERSAL::moniker               => 0,
+        UNIVERSAL::require               => 0,
+        URI::QueryParam                  => 0,
+        CGI::Simple                      => 0,
+        HTTP::Headers                    => 1.59,
+        Template                         => 0,
+        Template::Plugin::Class          => 0,
+        Test::MockModule                 => 0,
+       Digest::MD5                      => 0,
+    },    # e.g., Module::Name => 1.1
+    (
+        $] >= 5.005
+        ?    ## Add these new keywords supported since 5.005
+          (
+            ABSTRACT_FROM => 'lib/Maypole.pm',   # retrieve abstract from module
+            AUTHOR => 'Simon flack <simonflk#cpan.org>'
+          )
+        : ()
+    ),
 );
 
-if (!-e "t/beerdb.db") {
+sub has_module {
+    my ($module, $version) = @_;
+    (my $file = "$module.pm") =~ s/::/\//g;
+    eval {require $file} or return;
+    return ($module->VERSION || 0) >= $version;
+}
+
+if ( !-e "t/beerdb.db" ) {
     print "Making SQLite DB\n";
-    eval { require DBD::SQLite };
-    die "No, wait, we don't have SQLite installed. Never mind\n" if $@;
+    my $driver = 'SQLite';
+    eval { require DBD::SQLite } or do {
+        print "Error loading DBD::SQLite, trying DBD::SQLite2\n";
+        eval {require DBD::SQLite2} ? $driver = 'SQLite2'
+            : die "DBD::SQLite2 is not installed";
+    };
     require DBI;
-    my $dbh = DBI->connect("dbi:SQLite:dbname=t/beerdb.db");
-
-    my $sql = join ( '', (<DATA>) );
+    my $dbh = DBI->connect("dbi:$driver:dbname=t/beerdb.db");
+    my $sql = join( '', (<DATA>) );
 
-    for my $statement (split /;/, $sql) {
-        $statement =~ s/\#.*$//mg; # strip # comments
+    for my $statement ( split /;/, $sql ) {
+        $statement =~ s/\#.*$//mg;           # strip # comments
         $statement =~ s/auto_increment//g;
         next unless $statement =~ /\S/;
         eval { $dbh->do($statement) };