Hello community,
here is the log from the commit of package perl-MooseX-Types-LoadableClass for
openSUSE:Factory checked in at 2013-07-30 14:03:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-MooseX-Types-LoadableClass (Old)
and /work/SRC/openSUSE:Factory/.perl-MooseX-Types-LoadableClass.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-MooseX-Types-LoadableClass"
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-MooseX-Types-LoadableClass/perl-MooseX-Types-LoadableClass.changes
2013-06-06 12:22:26.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.perl-MooseX-Types-LoadableClass.new/perl-MooseX-Types-LoadableClass.changes
2013-07-30 14:03:41.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Jul 27 11:58:35 UTC 2013 - [email protected]
+
+- updated to 0.009
+ - now performing type checking in the type check itself, not the coercion,
+ to fix results when the type check fails (RT#86041, Karen Etheridge)
+
+-------------------------------------------------------------------
Old:
----
MooseX-Types-LoadableClass-0.008.tar.gz
New:
----
MooseX-Types-LoadableClass-0.009.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-MooseX-Types-LoadableClass.spec ++++++
--- /var/tmp/diff_new_pack.smrmdR/_old 2013-07-30 14:03:42.000000000 +0200
+++ /var/tmp/diff_new_pack.smrmdR/_new 2013-07-30 14:03:42.000000000 +0200
@@ -17,14 +17,14 @@
Name: perl-MooseX-Types-LoadableClass
-Version: 0.008
+Version: 0.009
Release: 0
%define cpan_name MooseX-Types-LoadableClass
Summary: ClassName type constraint with coercion to load the class.
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/MooseX-Types-LoadableClass/
-Source:
http://www.cpan.org/authors/id/B/BO/BOBTFISH/%{cpan_name}-%{version}.tar.gz
+Source:
http://www.cpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
@@ -34,7 +34,6 @@
BuildRequires: perl(MooseX::Types) >= 0.22
BuildRequires: perl(Test::More) >= 0.88
BuildRequires: perl(namespace::clean)
-#BuildRequires: perl(Class::MOP)
#BuildRequires: perl(inc::Module::Install)
#BuildRequires: perl(JSON)
#BuildRequires: perl(LWP::Simple)
++++++ MooseX-Types-LoadableClass-0.008.tar.gz ->
MooseX-Types-LoadableClass-0.009.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/MooseX-Types-LoadableClass-0.008/Changes
new/MooseX-Types-LoadableClass-0.009/Changes
--- old/MooseX-Types-LoadableClass-0.008/Changes 2012-03-13
23:19:52.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/Changes 2013-06-11
01:38:48.000000000 +0200
@@ -1,30 +1,34 @@
-0.008 13-03-2012
+0.009 2013-06-10
+ - now performing type checking in the type check itself, not the coercion,
+ to fix results when the type check fails (RT#86041, Karen Etheridge)
+
+0.008 2012-03-13
- Do not require Test::Exception. RT#75246
-0.007 15-02-2012
+0.007 2012-02-15
- Be more paranoid about the potential for $_ being clobbered.
-0.006 05-07-2011
+0.006 2011-07-05
- Change to use Class::Load, rather than Class::MOP::load_class
-0.005 22-06-2010
+0.005 2010-06-22
- Fix required version of MooseX::Types.
-0.004 14-05-2010
+0.004 2010-05-14
- Add a LoadableRole type.
-0.003 12-05-2010
+0.003 2010-05-12
- 'ClassName' is now exactly the same as 'LoadableClass', so that old code
still works if you use a custom type map of 'LoadableClass' for
MX::Storage/Kioku etc.
(Note that they should normally work anyway with a default type map, as
they subtype ClassName which subtypes Str)
-0.002 12-05-2010
+0.002 2010-05-12
- Change the name to 'LoadableClass' as this is what people expect.
The old 'ClassName' export is still present for backwards compatibility,
but no longer documented.
-0.001 03-03-2010
+0.001 2010-03-03
- Initial version.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/MooseX-Types-LoadableClass-0.008/MANIFEST
new/MooseX-Types-LoadableClass-0.009/MANIFEST
--- old/MooseX-Types-LoadableClass-0.008/MANIFEST 2012-03-13
23:20:40.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/MANIFEST 2013-06-11
01:39:09.000000000 +0200
@@ -25,4 +25,5 @@
t/lib/ClobberDollarUnderscore.pm
t/lib/FooBarTestClass.pm
t/lib/FooBarTestRole.pm
+t/no_moose.t
t/typemap.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/MooseX-Types-LoadableClass-0.008/META.yml
new/MooseX-Types-LoadableClass-0.009/META.yml
--- old/MooseX-Types-LoadableClass-0.008/META.yml 2012-03-13
23:21:21.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/META.yml 2013-06-11
01:39:03.000000000 +0200
@@ -10,7 +10,7 @@
ExtUtils::MakeMaker: 6.36
distribution_type: module
dynamic_config: 1
-generated_by: 'Module::Install version 1.05'
+generated_by: 'Module::Install version 1.06'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -26,5 +26,5 @@
namespace::clean: 0
resources:
license: http://dev.perl.org/licenses/
- repository: git://github.com/bobtfish/MooseX-Types-LoadableClass.git
-version: 0.008
+ repository: git://github.com/karenetheridge/MooseX-Types-LoadableClass.git
+version: 0.009
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/MooseX-Types-LoadableClass-0.008/Makefile.PL
new/MooseX-Types-LoadableClass-0.009/Makefile.PL
--- old/MooseX-Types-LoadableClass-0.008/Makefile.PL 2011-08-05
13:38:30.000000000 +0200
+++ new/MooseX-Types-LoadableClass-0.009/Makefile.PL 2013-06-11
01:38:48.000000000 +0200
@@ -19,7 +19,7 @@
author_requires 'Test::Pod' => '1.14';
author_requires 'Test::Pod::Coverage' => '1.08';
-resources repository =>
'git://github.com/bobtfish/MooseX-Types-LoadableClass.git';
+resources repository =>
'git://github.com/karenetheridge/MooseX-Types-LoadableClass.git';
tests 't/*.t';
author_tests 't/author';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Base.pm
new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Base.pm
--- old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Base.pm
2012-03-13 23:21:21.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Base.pm
2013-06-11 01:39:02.000000000 +0200
@@ -4,7 +4,7 @@
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.05';
+ $VERSION = '1.06';
}
# Suspend handler for "redefined" warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Can.pm
new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Can.pm
--- old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Can.pm
2012-03-13 23:21:21.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Can.pm
2013-06-11 01:39:02.000000000 +0200
@@ -3,13 +3,12 @@
use strict;
use Config ();
-use File::Spec ();
use ExtUtils::MakeMaker ();
use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.05';
+ $VERSION = '1.06';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -29,7 +28,7 @@
eval { require $mod; $pkg->VERSION($ver || 0); 1 };
}
-# check if we can run some command
+# Check if we can run some command
sub can_run {
my ($self, $cmd) = @_;
@@ -38,14 +37,88 @@
for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') {
next if $dir eq '';
- my $abs = File::Spec->catfile($dir, $_[1]);
+ require File::Spec;
+ my $abs = File::Spec->catfile($dir, $cmd);
return $abs if (-x $abs or $abs = MM->maybe_command($abs));
}
return;
}
-# can we locate a (the) C compiler
+# Can our C compiler environment build XS files
+sub can_xs {
+ my $self = shift;
+
+ # Ensure we have the CBuilder module
+ $self->configure_requires( 'ExtUtils::CBuilder' => 0.27 );
+
+ # Do we have the configure_requires checker?
+ local $@;
+ eval "require ExtUtils::CBuilder;";
+ if ( $@ ) {
+ # They don't obey configure_requires, so it is
+ # someone old and delicate. Try to avoid hurting
+ # them by falling back to an older simpler test.
+ return $self->can_cc();
+ }
+
+ # Do we have a working C compiler
+ my $builder = ExtUtils::CBuilder->new(
+ quiet => 1,
+ );
+ unless ( $builder->have_compiler ) {
+ # No working C compiler
+ return 0;
+ }
+
+ # Write a C file representative of what XS becomes
+ require File::Temp;
+ my ( $FH, $tmpfile ) = File::Temp::tempfile(
+ "compilexs-XXXXX",
+ SUFFIX => '.c',
+ );
+ binmode $FH;
+ print $FH <<'END_C';
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+int main(int argc, char **argv) {
+ return 0;
+}
+
+int boot_sanexs() {
+ return 1;
+}
+
+END_C
+ close $FH;
+
+ # Can the C compiler access the same headers XS does
+ my @libs = ();
+ my $object = undef;
+ eval {
+ local $^W = 0;
+ $object = $builder->compile(
+ source => $tmpfile,
+ );
+ @libs = $builder->link(
+ objects => $object,
+ module_name => 'sanexs',
+ );
+ };
+ my $result = $@ ? 0 : 1;
+
+ # Clean up all the build files
+ foreach ( $tmpfile, $object, @libs ) {
+ next unless defined $_;
+ 1 while unlink;
+ }
+
+ return $result;
+}
+
+# Can we locate a (the) C compiler
sub can_cc {
my $self = shift;
my @chunks = split(/ /, $Config::Config{cc}) or return;
@@ -78,4 +151,4 @@
__END__
-#line 156
+#line 236
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Fetch.pm
new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Fetch.pm
--- old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Fetch.pm
2012-03-13 23:21:21.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Fetch.pm
2013-06-11 01:39:02.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.05';
+ $VERSION = '1.06';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Makefile.pm
new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Makefile.pm
--- old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Makefile.pm
2012-03-13 23:21:21.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Makefile.pm
2013-06-11 01:39:02.000000000 +0200
@@ -8,7 +8,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.05';
+ $VERSION = '1.06';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Metadata.pm
new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Metadata.pm
--- old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Metadata.pm
2012-03-13 23:21:21.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Metadata.pm
2013-06-11 01:39:02.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.05';
+ $VERSION = '1.06';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Win32.pm
new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Win32.pm
--- old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/Win32.pm
2012-03-13 23:21:21.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/Win32.pm
2013-06-11 01:39:02.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.05';
+ $VERSION = '1.06';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/WriteAll.pm
new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/WriteAll.pm
--- old/MooseX-Types-LoadableClass-0.008/inc/Module/Install/WriteAll.pm
2012-03-13 23:21:21.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/inc/Module/Install/WriteAll.pm
2013-06-11 01:39:02.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.05';
+ $VERSION = '1.06';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/MooseX-Types-LoadableClass-0.008/inc/Module/Install.pm
new/MooseX-Types-LoadableClass-0.009/inc/Module/Install.pm
--- old/MooseX-Types-LoadableClass-0.008/inc/Module/Install.pm 2012-03-13
23:21:20.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/inc/Module/Install.pm 2013-06-11
01:39:02.000000000 +0200
@@ -31,7 +31,7 @@
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '1.05';
+ $VERSION = '1.06';
# Storage for the pseudo-singleton
$MAIN = undef;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/MooseX-Types-LoadableClass-0.008/lib/MooseX/Types/LoadableClass.pm
new/MooseX-Types-LoadableClass-0.009/lib/MooseX/Types/LoadableClass.pm
--- old/MooseX-Types-LoadableClass-0.008/lib/MooseX/Types/LoadableClass.pm
2012-03-13 23:21:03.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/lib/MooseX/Types/LoadableClass.pm
2013-06-11 01:38:48.000000000 +0200
@@ -7,19 +7,23 @@
use Class::Load qw/ load_optional_class /;
use namespace::clean -except => [qw/ import /];
-our $VERSION = '0.008';
+our $VERSION = '0.009';
$VERSION = eval $VERSION;
-subtype LoadableClass, as MooseClassName;
-coerce LoadableClass, from Str,
- via { my $name = $_; load_optional_class($name) ? $name : undef };
-
-subtype LoadableRole, as RoleName;
-# this is alright because ClassName is just is_class_loaded, with no
-# constraints on the metaclass
-coerce LoadableRole, from Str, via { to_LoadableClass($_) };
+subtype LoadableClass,
+ as Str,
+ where { load_optional_class($_) and MooseClassName->check($_) };
+
+subtype LoadableRole,
+ as Str,
+ where { load_optional_class($_) and RoleName->check($_) };
+
# back compat
+coerce LoadableClass, from Str, via { $_ };
+
+coerce LoadableRole, from Str, via { $_ };
+
__PACKAGE__->type_storage->{ClassName}
= __PACKAGE__->type_storage->{LoadableClass};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/MooseX-Types-LoadableClass-0.008/t/basic.t
new/MooseX-Types-LoadableClass-0.009/t/basic.t
--- old/MooseX-Types-LoadableClass-0.008/t/basic.t 2012-03-13
23:18:24.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/t/basic.t 2013-06-11
01:29:03.000000000 +0200
@@ -1,10 +1,10 @@
use strict;
use warnings;
-use FindBin ();
-use lib $FindBin::Bin . '/lib';
+
+use lib 't/lib';
use Test::More;
-use Class::MOP ();
+use Class::Load 'is_class_loaded';
{
package MyClass;
@@ -24,16 +24,16 @@
);
}
-ok !Class::MOP::is_class_loaded('FooBarTestClass');
+ok !is_class_loaded('FooBarTestClass');
ok eval { MyClass->new(foobar_class => 'FooBarTestClass') };
-ok Class::MOP::is_class_loaded('FooBarTestClass');
+ok is_class_loaded('FooBarTestClass');
ok !eval { MyClass->new(foobar_class => 'FooBarTestClassDoesNotExist') };
ok $@;
-ok !Class::MOP::is_class_loaded('FooBarTestRole');
+ok !is_class_loaded('FooBarTestRole');
ok eval { MyClass->new(foobar_role => 'FooBarTestRole') };
-ok Class::MOP::is_class_loaded('FooBarTestRole');
+ok is_class_loaded('FooBarTestRole');
ok !eval { MyClass->new(foobar_role => 'FooBarTestClass') };
ok $@;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/MooseX-Types-LoadableClass-0.008/t/no_moose.t
new/MooseX-Types-LoadableClass-0.009/t/no_moose.t
--- old/MooseX-Types-LoadableClass-0.008/t/no_moose.t 1970-01-01
01:00:00.000000000 +0100
+++ new/MooseX-Types-LoadableClass-0.009/t/no_moose.t 2013-06-11
01:37:03.000000000 +0200
@@ -0,0 +1,24 @@
+use strict;
+use warnings;
+
+use lib 't/lib';
+
+use Test::More;
+use Class::Load 'is_class_loaded';
+use MooseX::Types::LoadableClass qw(LoadableClass LoadableRole);
+
+ok !is_class_loaded('FooBarTestClass');
+ok LoadableClass->check('FooBarTestClass');
+ok is_class_loaded('FooBarTestClass');
+
+ok !LoadableClass->check('FooBarTestClassDoesNotExist');
+
+ok !is_class_loaded('FooBarTestRole');
+ok LoadableRole->check('FooBarTestRole');
+ok is_class_loaded('FooBarTestRole');
+
+ok !LoadableRole->check('FooBarTestClass');
+
+ok !LoadableRole->check('FooBarTestRoleDoesNotExist');
+
+done_testing;
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]