Bring out the big-paranoia-harness - make describe_env infallible
[dbsrgits/DBIx-Class.git] / Makefile.PL
index 0bf82f3..b17c29f 100644 (file)
@@ -21,6 +21,40 @@ BEGIN {
   $Module::Install::AUTHOR = 0 if (grep { $ENV{"PERL5_${_}_IS_RUNNING"} } (qw/CPANM CPANPLUS CPAN/) );
 }
 
+##
+## TEMPORARY (and non-portable)
+## Get trial Moo
+##
+BEGIN {
+  my $target_libdir = 'lib/DBIx/Class/_TempExtlib';
+
+  if ( ($Module::Install::AUTHOR or $ENV{TRAVIS}) and ! $ENV{MAKELEVEL} ) {
+
+    `rm -rf $target_libdir`;
+    `mkdir $target_libdir`;
+    for (
+      [ 'Sub::Quote' => master => 'https://github.com/moose/Moo.git' ],
+    ) {
+      my $tdir = "/tmp/dbictemplib/$_->[0]/";
+
+      `rm -rf $tdir`;
+
+      `GIT_SSH=maint/careless_ssh.bash git clone --bare --quiet --branch=$_->[1] --depth=1 $_->[2] $tdir`;
+      printf "\nIncluding %s git rev %s\n",
+        $_->[0],
+        scalar `GIT_DIR=$tdir git rev-parse $_->[1]`,
+      ;
+      `git archive --format=tar --remote=file://$tdir $_->[1] lib/ | tar --strip-components=1 -xC $target_libdir`;
+
+      #`rm -rf $tdir`;
+    }
+
+    unshift @INC, $target_libdir;
+
+    no_index directory => $target_libdir;
+  }
+}
+
 name         'DBIx-Class';
 version_from 'lib/DBIx/Class.pm';
 perl_version '5.008001';
@@ -42,26 +76,17 @@ my $runtime_requires = {
 ###
   'DBI'                      => '1.57',
 
-  # on older versions first() leaks
-  # for the time being make it a hard dep - when we get
-  # rid of Sub::Name will revisit this (possibility is
-  # to use Devel::HideXS to force the pure-perl version
-  # or something like that)
-  'List::Util'               => '1.16',
-
   # XS (or XS-dependent) libs
   'Sub::Name'                => '0.04',
 
   # pure-perl (FatPack-able) libs
   'Class::Accessor::Grouped' => '0.10012',
   'Class::C3::Componentised' => '1.0009',
-  'Class::Inspector'         => '1.24',
   'Context::Preserve'        => '0.01',
-  'Data::Dumper::Concise'    => '2.020',
   'Data::Page'               => '2.00',
   'Devel::GlobalDestruction' => '0.09',
   'Hash::Merge'              => '0.12',
-  'Moo'                      => '2.000',
+  'Moo'                      => '2.002',
   'MRO::Compat'              => '0.12',
   'Module::Find'             => '0.07',
   'namespace::clean'         => '0.24',
@@ -69,6 +94,9 @@ my $runtime_requires = {
   'SQL::Abstract'            => '1.81',
   'Try::Tiny'                => '0.07',
 
+  # Temp to satisfy TemptExtlib
+  'Role::Tiny'               => '2.000002',
+
   # Technically this is not a core dependency - it is only required
   # by the MySQL codepath. However this particular version is bundled
   # since 5.10.0 and is a pure-perl module anyway - let it slide
@@ -85,6 +113,15 @@ my $test_requires = {
   'Test::Warn'               => '0.21',
   'Test::More'               => '0.94',
 
+  # This has a bug in the caller() override, ideally we need go get rid
+  # of it entirely, but that's for another maint
+  #
+  # FIXME - this does protect tests, but does *NOT* protect the rest of
+  # DBIC itself from a faulty caller() override. Something more substantial
+  # needs to be done in the guts of DBIC::Carp
+  #
+  'Sub::Uplevel'             => '0.19',
+
   # this is already a dep of n::c, but just in case - used by t/55namespaces_cleaned.t
   # remove and do a manual glob-collection if n::c is no longer a dep
   'Package::Stash'           => '0.28',