Bring back _TempExtlib (d0435d75), this time for Sub::Quote
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Optional / Dependencies.pm
index 43ce063..4a15356 100644 (file)
@@ -7,6 +7,10 @@ BEGIN {
     require warnings and warnings->import;
     require strict and strict->import;
   }
+
+  # Temporary to satisfy TempExtlib under tests
+  require DBIx::Class::StartupCheck
+    if $0 =~ /\.t$/;
 }
 
 sub croak {
@@ -80,6 +84,7 @@ my $dbic_reqs = {
       'Class::Unload' => '0.07',
       'Time::Piece' => '0',
       'Time::Piece::MySQL' => '0',
+      'DBD::mysql' => '4.023',
     },
   },
 
@@ -143,6 +148,16 @@ my $dbic_reqs = {
     },
   },
 
+  ic_file => {
+    req => {
+      'Path::Class' => '0.18',
+    },
+    pod => {
+      title => 'DBIx::Class::InflateColumn::File (Deprecated)',
+      desc => 'Modules required for the deprecated L<DBIx::Class::InflateColumn::File>',
+    },
+  },
+
   ic_dt => {
     req => {
       'DateTime' => '0.55',
@@ -167,7 +182,6 @@ my $dbic_reqs = {
 
   cdbicompat => {
     req => {
-      'Class::Data::Inheritable' => '0',
       'Class::Trigger' => '0',
       'DBIx::ContextualFetch' => '0',
       'Clone' => '0.32',
@@ -860,7 +874,9 @@ sub skip_without {
   if ( my $err = $self->req_missing_for($groups) ) {
     my ($fn, $ln) = (caller(0))[1,2];
     $tb->skip("block in $fn around line $ln requires $err");
-    local $^W = 0;
+
+    BEGIN { ${^WARNING_BITS} = "" }
+
     last SKIP;
   }
 
@@ -1143,6 +1159,9 @@ sub _errorlist_for_modreqs {
     my $v = $reqs->{$m};
 
     if (! exists $req_unavailability_cache{$m}{$v} ) {
+      # masking this off is important, as it may very well be
+      # a transient error
+      local $SIG{__DIE__} if $SIG{__DIE__};
       local $@;
       eval( "require $m;" . ( $v ? "$m->VERSION(q($v))" : '' ) );
       $req_unavailability_cache{$m}{$v} = $@;
@@ -1203,16 +1222,12 @@ sub _gen_pod {
 "\n\n---------------------------------------------------------------------\n"
   ;
 
-  # do not ask for a recent version, use 1.x API calls
-  # this *may* execute on a smoker with old perl or whatnot
-  require File::Path;
-
   (my $modfn = __PACKAGE__ . '.pm') =~ s|::|/|g;
 
   (my $podfn = "$pod_dir/$modfn") =~ s/\.pm$/\.pod/;
-  (my $dir = $podfn) =~ s|/[^/]+$||;
 
-  File::Path::mkpath([$dir]);
+  require DBIx::Class::_Util;
+  DBIx::Class::_Util::mkdir_p( DBIx::Class::_Util::parent_dir( $podfn ) );
 
   my $sqltver = $class->req_list_for('deploy')->{'SQL::Translator'}
     or die "Hrmm? No sqlt dep?";