aboutsummaryrefslogtreecommitdiff
path: root/www/p5-Catalyst-Authentication-Store-DBIx-Class
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2014-03-25 10:50:41 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2014-03-25 10:50:41 +0000
commit9ef53b9508eabae35a99fc9265789e2252713da2 (patch)
treec60e20eb22cf04e7006ec06c3b630bc892b0d61e /www/p5-Catalyst-Authentication-Store-DBIx-Class
parent5ede8c7f6ef4c769ac938178e58ce34c1b221ead (diff)
downloadports-9ef53b9508eabae35a99fc9265789e2252713da2.tar.gz
ports-9ef53b9508eabae35a99fc9265789e2252713da2.zip
Add upstream patch for CPAN RT #90715
Notes
Notes: svn path=/head/; revision=349120
Diffstat (limited to 'www/p5-Catalyst-Authentication-Store-DBIx-Class')
-rw-r--r--www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile3
-rw-r--r--www/p5-Catalyst-Authentication-Store-DBIx-Class/files/patch-c30ad9df2c49e9f51435b03182a2bf263c69d63e91
2 files changed, 94 insertions, 0 deletions
diff --git a/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile b/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile
index bcce31fdfa78..073e4ac7d901 100644
--- a/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile
+++ b/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile
@@ -3,6 +3,7 @@
PORTNAME= Catalyst-Authentication-Store-DBIx-Class
PORTVERSION= 0.1505
+PORTREVISION= 1
CATEGORIES= www perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -26,4 +27,6 @@ RUN_DEPENDS:= ${BUILD_DEPENDS}
USES= perl5
USE_PERL5= configure
+PATCH_STRIP= -p1
+
.include <bsd.port.mk>
diff --git a/www/p5-Catalyst-Authentication-Store-DBIx-Class/files/patch-c30ad9df2c49e9f51435b03182a2bf263c69d63e b/www/p5-Catalyst-Authentication-Store-DBIx-Class/files/patch-c30ad9df2c49e9f51435b03182a2bf263c69d63e
new file mode 100644
index 000000000000..6ca2efb0aa46
--- /dev/null
+++ b/www/p5-Catalyst-Authentication-Store-DBIx-Class/files/patch-c30ad9df2c49e9f51435b03182a2bf263c69d63e
@@ -0,0 +1,91 @@
+From: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
+Date: Sat, 23 Nov 2013 13:02:41 +0000 (+0000)
+Subject: Fix calling User->can() as a class method. RT#90715
+X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Authentication-Store-DBIx-Class.git;a=commitdiff_plain;h=c30ad9df2c49e9f51435b03182a2bf263c69d63e
+
+Fix calling User->can() as a class method. RT#90715
+---
+
+diff --git a/Changes b/Changes
+index 137ee33..c8babb3 100644
+--- a/Changes
++++ b/Changes
+@@ -1,6 +1,7 @@
+ Revision history for Catalyst-Plugin-Authentication-Store-DBIx-Class
+
+ * Fix doc bugs. RT#87372
++ * Fix calling User->can() as a class method. RT#90715
+
+ 0.1505 2013-06-10
+ * Fix RT#82944 - test fails on perl >= 5.17.3
+diff --git a/lib/Catalyst/Authentication/Store/DBIx/Class/User.pm b/lib/Catalyst/Authentication/Store/DBIx/Class/User.pm
+index 405ae75..18282a4 100644
+--- a/lib/Catalyst/Authentication/Store/DBIx/Class/User.pm
++++ b/lib/Catalyst/Authentication/Store/DBIx/Class/User.pm
+@@ -261,7 +261,9 @@ sub can {
+ my $self = shift;
+ return $self->SUPER::can(@_) || do {
+ my ($method) = @_;
+- if (not $self->_user) {
++ if (not ref $self) {
++ undef;
++ } elsif (not $self->_user) {
+ undef;
+ } elsif (my $code = $self->_user->can($method)) {
+ sub { shift->_user->$code(@_) }
+@@ -279,6 +281,8 @@ sub AUTOLOAD {
+ (my $method) = (our $AUTOLOAD =~ /([^:]+)$/);
+ return if $method eq "DESTROY";
+
++ return unless ref $self;
++
+ if (my $code = $self->_user->can($method)) {
+ return $self->_user->$code(@_);
+ }
+diff --git a/t/10-user-autoload.t b/t/10-user-autoload.t
+index 74b243d..451ee65 100644
+--- a/t/10-user-autoload.t
++++ b/t/10-user-autoload.t
+@@ -1,6 +1,7 @@
+ use strict;
+ use warnings;
+ use Test::More;
++use Try::Tiny;
+ use Catalyst::Authentication::Store::DBIx::Class::User;
+
+ my $message = 'I exist';
+@@ -11,9 +12,10 @@ my $message = 'I exist';
+ sub exists { $message }
+ }
+
++my $class = 'Catalyst::Authentication::Store::DBIx::Class::User';
+ my $o = bless({
+ _user => bless({}, 'My::Test'),
+-}, 'Catalyst::Authentication::Store::DBIx::Class::User');
++}, $class);
+
+ is($o->exists, $message, 'AUTOLOAD proxies ok');
+
+@@ -23,4 +25,22 @@ is($o->$meth, $message, 'can returns right coderef');
+
+ is($o->can('non_existent_method'), undef, 'can on non existent method returns undef');
+
++is($o->non_existent_method, undef, 'AUTOLOAD traps non existent method');
++
++try {
++ is($class->can('non_existent_method'), undef, "can on non existent class method");
++} catch {
++ my $e = $_;
++ fail('can on non existent class method');
++ diag("Got exception: $e");
++};
++
++try {
++ is($class->non_existent_method, undef, 'AUTOLOAD traps non existent class method');
++} catch {
++ my $e = $_;
++ fail('AUTOLOAD traps non existent class method');
++ diag("Got exception: $e");
++};
++
+ done_testing;