Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Mar 2014 10:50:41 +0000 (UTC)
From:      Dag-Erling Smørgrav <des@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r349120 - in head/www/p5-Catalyst-Authentication-Store-DBIx-Class: . files
Message-ID:  <201403251050.s2PAofpa037359@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: des
Date: Tue Mar 25 10:50:41 2014
New Revision: 349120
URL: http://svnweb.freebsd.org/changeset/ports/349120
QAT: https://qat.redports.org/buildarchive/r349120/

Log:
  Add upstream patch for CPAN RT #90715
  
  https://rt.cpan.org/Public/Bug/Display.html?id=90715
  
  Approved by:	maintainer timeout

Added:
  head/www/p5-Catalyst-Authentication-Store-DBIx-Class/files/
  head/www/p5-Catalyst-Authentication-Store-DBIx-Class/files/patch-c30ad9df2c49e9f51435b03182a2bf263c69d63e   (contents, props changed)
Modified:
  head/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile

Modified: head/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile
==============================================================================
--- head/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile	Tue Mar 25 10:06:55 2014	(r349119)
+++ head/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile	Tue Mar 25 10:50:41 2014	(r349120)
@@ -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>

Added: head/www/p5-Catalyst-Authentication-Store-DBIx-Class/files/patch-c30ad9df2c49e9f51435b03182a2bf263c69d63e
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/p5-Catalyst-Authentication-Store-DBIx-Class/files/patch-c30ad9df2c49e9f51435b03182a2bf263c69d63e	Tue Mar 25 10:50:41 2014	(r349120)
@@ -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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403251050.s2PAofpa037359>