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 - coolo@suse.com + +- 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: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org