[perl-Module-Implementation] Initial import (perl-Module-Implementation-0.03-3)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



commit d407a789f3ba6fa0dabe83eee7ea600e2900b582
Author: Paul Howarth <paul@xxxxxxxxxxxx>
Date:   Wed Feb 8 16:02:35 2012 +0000

    Initial import (perl-Module-Implementation-0.03-3)
    
    This module abstracts out the process of choosing one of several underlying
    implementations for a module. This can be used to provide XS and pure Perl
    implementations of a module, or it could be used to load an implementation
    for a given OS or any other case of needing to provide multiple
    implementations.
    
    This module is only useful when you know all the implementations ahead of
    time. If you want to load arbitrary implementations then you probably want
    something like a plugin system, not this module.

 .gitignore                                      |    1 +
 Module-Implementation-0.03-old-Test::More.patch |  168 +++++++++++++++++++++++
 perl-Module-Implementation.spec                 |  109 +++++++++++++++
 sources                                         |    1 +
 4 files changed, 279 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..2458113 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/Module-Implementation-[0-9.]*.tar.gz
diff --git a/Module-Implementation-0.03-old-Test::More.patch b/Module-Implementation-0.03-old-Test::More.patch
new file mode 100644
index 0000000..223f81a
--- /dev/null
+++ b/Module-Implementation-0.03-old-Test::More.patch
@@ -0,0 +1,168 @@
+diff -up Module-Implementation-0.03/t/basic.t.orig Module-Implementation-0.03/t/basic.t
+--- Module-Implementation-0.03/t/basic.t.orig	2012-02-06 23:03:58.000000000 +0000
++++ Module-Implementation-0.03/t/basic.t	2012-02-07 10:04:29.846798279 +0000
+@@ -1,7 +1,7 @@
+ use strict;
+ use warnings;
+ 
+-use Test::More 0.88;
++use Test::More tests => 5;
+ 
+ {
+     package T;
+@@ -29,5 +29,3 @@ use Test::More 0.88;
+     is( T::return_42(), 42, 'T::return_42 work as expected' );
+     is( T::_implementation(), 'Impl1', 'T::_implementation returns default implementation' );
+ }
+-
+-done_testing();
+diff -up Module-Implementation-0.03/t/both-fail.t.orig Module-Implementation-0.03/t/both-fail.t
+--- Module-Implementation-0.03/t/both-fail.t.orig	2012-02-06 23:03:58.000000000 +0000
++++ Module-Implementation-0.03/t/both-fail.t	2012-02-07 10:04:29.875798277 +0000
+@@ -1,7 +1,7 @@
+ use strict;
+ use warnings;
+ 
+-use Test::More 0.88;
++use Test::More tests => 1;
+ use Test::Fatal;
+ 
+ {
+@@ -24,5 +24,3 @@ use Test::Fatal;
+         'Got an exception when all implementations fail to load'
+     );
+ }
+-
+-done_testing();
+diff -up Module-Implementation-0.03/t/env-value.t.orig Module-Implementation-0.03/t/env-value.t
+--- Module-Implementation-0.03/t/env-value.t.orig	2012-02-06 23:03:58.000000000 +0000
++++ Module-Implementation-0.03/t/env-value.t	2012-02-07 10:04:30.005798265 +0000
+@@ -1,7 +1,7 @@
+ use strict;
+ use warnings;
+ 
+-use Test::More 0.88;
++use Test::More tests => 4;
+ 
+ {
+     package T;
+@@ -31,5 +31,3 @@ use Test::More 0.88;
+     is( T::return_42(), 42, 'T::return_42 work as expected' );
+     is( T::_implementation(), 'Impl2', 'T::_implementation returns implementation set in ENV' );
+ }
+-
+-done_testing();
+diff -up Module-Implementation-0.03/t/more-symbols.t.orig Module-Implementation-0.03/t/more-symbols.t
+--- Module-Implementation-0.03/t/more-symbols.t.orig	2012-02-06 23:03:58.000000000 +0000
++++ Module-Implementation-0.03/t/more-symbols.t	2012-02-07 10:04:30.042798260 +0000
+@@ -1,7 +1,7 @@
+ use strict;
+ use warnings;
+ 
+-use Test::More 0.88;
++use Test::More tests => 7;
+ 
+ {
+     package T;
+@@ -43,5 +43,3 @@ use Test::More 0.88;
+         '%T::HASH was copied from implementation'
+     );
+ }
+-
+-done_testing();
+diff -up Module-Implementation-0.03/t/one-impl-fails1.t.orig Module-Implementation-0.03/t/one-impl-fails1.t
+--- Module-Implementation-0.03/t/one-impl-fails1.t.orig	2012-02-06 23:03:58.000000000 +0000
++++ Module-Implementation-0.03/t/one-impl-fails1.t	2012-02-07 10:04:30.042798260 +0000
+@@ -1,7 +1,7 @@
+ use strict;
+ use warnings;
+ 
+-use Test::More 0.88;
++use Test::More tests => 2;
+ 
+ {
+     package T;
+@@ -24,5 +24,3 @@ use Test::More 0.88;
+     ok( T->can('return_42'),       'T package has a return_42 sub' );
+     ok( !T->can('return_package'), 'T package has a return_package sub' );
+ }
+-
+-done_testing();
+diff -up Module-Implementation-0.03/t/one-impl-fails2.t.orig Module-Implementation-0.03/t/one-impl-fails2.t
+--- Module-Implementation-0.03/t/one-impl-fails2.t.orig	2012-02-06 23:03:58.000000000 +0000
++++ Module-Implementation-0.03/t/one-impl-fails2.t	2012-02-07 10:04:30.043798260 +0000
+@@ -1,7 +1,7 @@
+ use strict;
+ use warnings;
+ 
+-use Test::More 0.88;
++use Test::More tests => 2;
+ 
+ {
+     package T;
+@@ -24,5 +24,3 @@ use Test::More 0.88;
+     ok( T->can('return_42'),       'T package has a return_42 sub' );
+     ok( !T->can('return_package'), 'T package has a return_package sub' );
+ }
+-
+-done_testing();
+diff -up Module-Implementation-0.03/t/release-cpan-changes.t.orig Module-Implementation-0.03/t/release-cpan-changes.t
+--- Module-Implementation-0.03/t/release-cpan-changes.t.orig	2012-02-06 23:03:58.000000000 +0000
++++ Module-Implementation-0.03/t/release-cpan-changes.t	2012-02-07 10:07:00.466837268 +0000
+@@ -1,15 +1,11 @@
+ #!perl
+ 
++use Test::More;
++
+ BEGIN {
+-  unless ($ENV{RELEASE_TESTING}) {
+-    require Test::More;
+-    Test::More::plan(skip_all => 'these tests are for release candidate testing');
+-  }
++  plan skip_all => 'these tests are for release candidate testing' unless ($ENV{RELEASE_TESTING});
++  eval 'use Test::CPAN::Changes';
++  plan skip_all => 'Test::CPAN::Changes required for this test' if $@;
+ }
+ 
+-
+-use Test::More;
+-eval 'use Test::CPAN::Changes';
+-plan skip_all => 'Test::CPAN::Changes required for this test' if $@;
+ changes_ok();
+-done_testing();
+diff -up Module-Implementation-0.03/t/requested-fails.t.orig Module-Implementation-0.03/t/requested-fails.t
+--- Module-Implementation-0.03/t/requested-fails.t.orig	2012-02-06 23:03:58.000000000 +0000
++++ Module-Implementation-0.03/t/requested-fails.t	2012-02-07 10:04:30.043798260 +0000
+@@ -1,7 +1,7 @@
+ use strict;
+ use warnings;
+ 
+-use Test::More 0.88;
++use Test::More tests => 1;
+ use Test::Fatal;
+ 
+ {
+@@ -26,5 +26,3 @@ use Test::Fatal;
+         'Got an exception when implementation requested in env value fails to load'
+     );
+ }
+-
+-done_testing();
+diff -up Module-Implementation-0.03/t/taint.t.orig Module-Implementation-0.03/t/taint.t
+--- Module-Implementation-0.03/t/taint.t.orig	2012-02-06 23:03:58.000000000 +0000
++++ Module-Implementation-0.03/t/taint.t	2012-02-07 10:04:30.043798260 +0000
+@@ -3,7 +3,7 @@
+ use strict;
+ use warnings;
+ 
+-use Test::More 0.88;
++use Test::More tests => 3;
+ use Test::Fatal;
+ use Test::Taint;
+ 
+@@ -35,5 +35,3 @@ taint_checking_ok();
+ {
+     is( T::_implementation(), 'Impl2', 'T::_implementation returns implementation set in ENV' );
+ }
+-
+-done_testing();
diff --git a/perl-Module-Implementation.spec b/perl-Module-Implementation.spec
new file mode 100644
index 0000000..b6866b4
--- /dev/null
+++ b/perl-Module-Implementation.spec
@@ -0,0 +1,109 @@
+# We need to patch the test suite if we have an old version of Test::More
+%global old_test_more %(perl -MTest::More -e 'print (($Test::More::VERSION < 0.88) ? 1 : 0);' 2>/dev/null || echo 0)
+
+# Test::CPAN::Changes isn't available in EPEL < 7, due to requirement of perl(version) ≥ 0.79
+%global cpan_changes_available %(expr 0%{?fedora} + 0%{?rhel} '>' 6)
+
+#TODO: BR: Test::Pod::No404s when available
+#TODO: BR: Test::Pod::LinkCheck when available
+
+Name:		perl-Module-Implementation
+Version:	0.03
+Release:	3%{?dist}
+Summary:	Loads one of several alternate underlying implementations for a module
+Group:		Development/Libraries
+License:	Artistic 2.0
+URL:		http://search.cpan.org/dist/perl-Module-Implementation/
+Source0:	http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Module-Implementation-%{version}.tar.gz
+Patch1:		Module-Implementation-0.03-old-Test::More.patch
+BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(id -nu)
+BuildArch:	noarch
+# ===================================================================
+# Build requirements
+# ===================================================================
+BuildRequires:	perl(ExtUtils::MakeMaker)
+# ===================================================================
+# Module requirements
+# ===================================================================
+BuildRequires:	perl(Carp)
+BuildRequires:	perl(Module::Runtime) >= 0.011
+BuildRequires:	perl(Try::Tiny)
+BuildRequires:	perl(strict)
+BuildRequires:	perl(warnings)
+# ===================================================================
+# Test suite requirements
+# ===================================================================
+BuildRequires:	perl(lib)
+BuildRequires:	perl(Test::Fatal)
+BuildRequires:	perl(Test::More)
+BuildRequires:	perl(Test::Taint)
+# ===================================================================
+# Author/Release test requirements
+# ===================================================================
+%if %{cpan_changes_available}
+BuildRequires:	perl(Test::CPAN::Changes)
+%endif
+BuildRequires:	perl(Test::EOL)
+BuildRequires:	perl(Test::NoTabs)
+BuildRequires:	perl(Test::Pod)
+BuildRequires:	perl(Test::Spelling), aspell-en
+# ===================================================================
+# Runtime requirements
+# ===================================================================
+Requires:	perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
+Requires:	perl(Carp)
+
+%description
+This module abstracts out the process of choosing one of several underlying
+implementations for a module. This can be used to provide XS and pure Perl
+implementations of a module, or it could be used to load an implementation
+for a given OS or any other case of needing to provide multiple
+implementations.
+
+This module is only useful when you know all the implementations ahead of
+time. If you want to load arbitrary implementations then you probably want
+something like a plugin system, not this module.
+
+%prep
+%setup -q -n Module-Implementation-%{version}
+
+# We have to patch the test suite if we have an old Test::More
+%if %{old_test_more}
+%patch1 -p1
+%endif
+
+%build
+perl Makefile.PL INSTALLDIRS=vendor
+make %{?_smp_mflags}
+
+%install
+rm -rf %{buildroot}
+make pure_install DESTDIR=%{buildroot}
+find %{buildroot} -type f -name .packlist -exec rm -f {} \;
+find %{buildroot} -depth -type d -exec rmdir {} \; 2>/dev/null
+%{_fixperms} %{buildroot}
+
+%check
+make test RELEASE_TESTING=1
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-,root,root,-)
+%doc Changes LICENSE README
+%{perl_vendorlib}/Module/
+%{_mandir}/man3/Module::Implementation.3pm*
+
+%changelog
+* Wed Feb  8 2012 Paul Howarth <paul@xxxxxxxxxxxx> - 0.03-3
+- Incorporate feedback from package review (#788258)
+  - Correct License tag, which should be Artistic 2.0
+  - BR: perl(lib) for test suite
+  - Explicitly require perl(Carp), not automatically detected
+
+* Tue Feb  7 2012 Paul Howarth <paul@xxxxxxxxxxxx> - 0.03-2
+- Sanitize for Fedora submission
+
+* Tue Feb  7 2012 Paul Howarth <paul@xxxxxxxxxxxx> - 0.03-1
+- Initial RPM version
diff --git a/sources b/sources
index e69de29..e35660f 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+0698d0874f518260265be2d49fe869b1  Module-Implementation-0.03.tar.gz
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/perl-devel



[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Legacy Announce]     [Fedora PHP Devel]     [Kernel Devel]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Big List of Linux Books]     [Gimp]     [Yosemite Information]
  Powered by Linux