]> git.decadent.org.uk Git - maypole.git/blobdiff - Makefile.PL
Applied change from bug 14565
[maypole.git] / Makefile.PL
index 398f6abfaf3583e3e29829282f74d5da44169b40..3d26362ed4a6a1930abc463864777843915d0252 100644 (file)
@@ -1,39 +1,67 @@
 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              => 'Apache::MVC',
-    VERSION_FROM      => 'lib/Apache/MVC.pm', # finds $VERSION
-    PREREQ_PM         => {
-        DBD::SQLite => 0, # For testing
-        Class::DBI::Loader => 0,
-        Class::DBI::AbstractSearch => 0,
-        Class::DBI::Pager => 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::Loader::Relationship => 0,
-        CGI::Untaint => 0,
-        UNIVERSAL::moniker => 0,
-        UNIVERSAL::require => 0,
-        Apache::Request => 0,
-        Template => 0,
-    }, # e.g., Module::Name => 1.1
-    ($] >= 5.005 ?     ## Add these new keywords supported since 5.005
-      (ABSTRACT_FROM  => 'lib/Apache/MVC.pm', # retrieve abstract from module
-       AUTHOR         => 'Simon Cozens <simon@nonet>') : ()),
+        Class::DBI                       => 0.96,
+        Class::DBI::SQLite               => 0.08,
+        CGI::Untaint                     => 1.26,
+       CGI::Untaint::date               => 0,
+       CGI::Untaint::email              => 0,
+        UNIVERSAL::moniker               => 0,
+        UNIVERSAL::require               => 0,
+        URI                              => 0,
+        CGI::Simple                      => 0,
+       HTTP::Body                       => 0.5,
+       HTML::Tree                       => 0,
+        Template                         => 0,
+        Template::Plugin::Class          => 0,
+        Test::MockModule                 => 0,
+        Digest::MD5                     => 0,
+       File::MMagic::XS                 => 0.08,
+       Class::DBI::Plugin::Type         => 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 => 'Aaron TEEJAY Trevena <aaron@aarontrevena.co.uk>'
+          )
+        : ()
+    ),
 );
 
-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";
-    require DBD::SQLite;
+    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) };
@@ -44,19 +72,19 @@ if (!-e "t/beerdb.db") {
 __DATA__
 
 create table brewery (
-    id int not null auto_increment primary key,
+    id integer auto_increment primary key,
     name varchar(30),
     url varchar(50),
     notes text
 );
 
 create table beer (
-    id int not null auto_increment primary key,
+    id integer auto_increment primary key,
     brewery integer,
-    style integer, 
+    style integer,
     name varchar(30),
     url varchar(120),
-#    tasted date,
+    tasted date,
     score integer(2),
     price varchar(12),
     abv varchar(10),
@@ -64,18 +92,24 @@ create table beer (
 );
 
 create table handpump (
-    id int not null auto_increment primary key,
+    id integer auto_increment primary key,
     beer integer,
     pub integer
 );
 
 create table pub (
-    id int not null auto_increment primary key,
+    id integer auto_increment primary key,
     name varchar(60),
     url varchar(120),
     notes text
 );
 
+create table style (
+    id integer auto_increment primary key,
+    name varchar(60),
+    notes text
+);
+
 INSERT INTO beer (id, brewery, name, abv) VALUES
     (1, 1, "Organic Best Bitter", "4.1");
 INSERT INTO brewery (id, name, url) VALUES