Fix Makefile.PL's is_upgrading_needed() routine (RT #58771)
[catagits/Catalyst-Plugin-Session.git] / Makefile.PL
index a8dfe6f..e9482f6 100644 (file)
@@ -1,7 +1,8 @@
-use inc::Module::Install 0.68;
+use inc::Module::Install 0.87;
 
 if ( -e 'MANIFEST.SKIP' ) {
-    system( 'pod2text lib/Catalyst/Plugin/Session.pm > README' );
+    system( 'pod2text lib/Catalyst/Plugin/Session.pm > README' )
+        and die("Could not run pod2text on lib/Catalyst/Plugin/Session.pm");
 }
 
 is_upgrading_needed();
@@ -11,11 +12,15 @@ perl_version '5.008';
 name 'Catalyst-Plugin-Session';
 all_from 'lib/Catalyst/Plugin/Session.pm';
 
-requires 'Catalyst::Runtime' => '5.7010';
+requires 'Catalyst::Runtime' => '5.71001';
+requires 'namespace::clean' => '0.10';
 requires 'Digest';
 requires 'File::Spec';
 requires 'File::Temp';
 requires 'Object::Signature';
+requires 'MRO::Compat';
+requires 'MooseX::Emulate::Class::Accessor::Fast' => '0.00801';
+requires 'Moose' => '0.76';
 
 # an indirect dep. needs a certain version.
 requires 'Tie::RefHash' => '1.34';
@@ -25,7 +30,8 @@ requires 'Test::More';
 
 test_requires 'Test::Deep';
 test_requires 'Test::Exception';
-test_requires 'Test::MockObject' => '1.01';
+
+resources repository => 'http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Plugin-Session/0.00/trunk/';
 
 WriteAll;
 
@@ -36,13 +42,15 @@ sub is_upgrading_needed {
     );
 
     foreach my $module (keys %state) {
-        if ( eval "require Catalyst::Plugin::Session::State::$module" and
-        ${"Catalyst::Plugin::Session::State::${module}::VERSION"} < $state{$module} ) {
-            warn <<WARN;
+        my $package = 'Catalyst::Plugin::Session::State::' . $module;
 
+        next if not eval "require $package;";
+
+        if( not eval { $package->VERSION( $state{ $module } ); } ) {
+            warn <<WARN;
 ********** NOTE **********
 
-Catalyst::Plugin::Session::State::$module must also be updated!
+$package must also be updated!
 
 The currently installed version is *not* compatible with this version of
 Catalyst::Plugin::Session!