diff --git a/perl-Type-Tiny.rpmlintrc b/perl-Type-Tiny.rpmlintrc new file mode 100644 index 0000000..be0e486 --- /dev/null +++ b/perl-Type-Tiny.rpmlintrc @@ -0,0 +1,4 @@ +from Config import * + +# Moo(se) +addFilter("spelling-error Summary\(en_US\) se -> ") diff --git a/perl-Type-Tiny.spec b/perl-Type-Tiny.spec index 12ba8c9..c149468 100644 --- a/perl-Type-Tiny.spec +++ b/perl-Type-Tiny.spec @@ -1,71 +1,74 @@ +# --with reply_plugin +# Default: --without +# Missing deps (perl(Reply::Plugin)) +# Marked as unstable (cf. lib/Reply/Plugin/TypeTiny.pm) +%bcond_with reply_plugin + Name: perl-Type-Tiny Version: 1.004004 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Tiny, yet Moo(se)-compatible type constraint License: GPL+ or Artistic URL: https://metacpan.org/release/Type-Tiny -Source0: https://cpan.metacpan.org/authors/id/T/TO/TOBYINK/Type-Tiny-%{version}.tar.gz +Source0: https://cpan.metacpan.org/modules/by-module/Test/Type-Tiny-%{version}.tar.gz BuildArch: noarch - -# --with reply_plugin -# Default: --without -# Missing deps (perl(Reply::Plugin)) -# Marked as unstable (cf. lib/Reply/Plugin/TypeTiny.pm) -%bcond_with reply_plugin - +# Module Build BuildRequires: coreutils BuildRequires: findutils -BuildRequires: %{__make} -BuildRequires: %{__perl} -BuildRequires: perl-interpreter >= 0:5.006001 +BuildRequires: make BuildRequires: perl-generators +BuildRequires: perl-interpreter +BuildRequires: perl(CPAN::Meta::Requirements) >= 2.0 +BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 +BuildRequires: sed +# Module Runtime BuildRequires: perl(B) +BuildRequires: perl(Exporter::Tiny) >= 0.040 +BuildRequires: perl(overload) +BuildRequires: perl(Scalar::Util) +BuildRequires: perl(strict) +BuildRequires: perl(Text::Balanced) +BuildRequires: perl(utf8) +BuildRequires: perl(warnings) +# Optional Module Runtime BuildRequires: perl(B::Deparse) BuildRequires: perl(Carp) +BuildRequires: perl(Data::Dumper) +BuildRequires: perl(Devel::LexAlias) >= 0.05 +BuildRequires: perl(Devel::StackTrace) +BuildRequires: perl(mro) +BuildRequires: perl(re) +BuildRequires: perl(Ref::Util::XS) >= 0.100 +%{?with_reply_plugin: +BuildRequires: perl(Reply::Plugin)} +BuildRequires: perl(Sub::Util) +%{?with_reply_plugin: +BuildRequires: perl(Term::ANSIColor)} +BuildRequires: perl(Type::Tie) +# Test Suite BuildRequires: perl(Config) BuildRequires: perl(constant) -BuildRequires: perl(CPAN::Meta::Requirements) -BuildRequires: perl(Data::Dumper) BuildRequires: perl(Encode) -BuildRequires: perl(Exporter::Tiny) >= 0.040 -BuildRequires: perl(ExtUtils::MakeMaker) >= 6.17 -BuildRequires: perl(feature) BuildRequires: perl(lib) BuildRequires: perl(Math::BigFloat) -BuildRequires: perl(Scalar::Util) +BuildRequires: perl(Test::Builder) BuildRequires: perl(Test::Fatal) -BuildRequires: perl(Test::Moose) BuildRequires: perl(Test::More) >= 0.96 BuildRequires: perl(Test::Requires) -BuildRequires: perl(Test::Tester) >= 0.109 -BuildRequires: perl(Text::Balanced) -BuildRequires: perl(overload) -BuildRequires: perl(strict) -BuildRequires: perl(threads) -BuildRequires: perl(Tie::Array) -BuildRequires: perl(Tie::Hash) -BuildRequires: perl(Tie::Scalar) -BuildRequires: perl(utf8) -BuildRequires: perl(warnings) -BuildRequires: sed - -# optional -# N/A in Fedora: BuildRequires: perl(Class::InsideOut) -BuildRequires: perl(Class::ISA) +# Optional Tests +BuildRequires: perl(Benchmark) +BuildRequires: perl(Devel::Cover) BuildRequires: perl(Devel::Hide) -BuildRequires: perl(Devel::LexAlias) >= 0.05 -BuildRequires: perl(Devel::StackTrace) BuildRequires: perl(Exporter) >= 5.59 -BuildRequires: perl(Function::Parameters) +BuildRequires: perl(Function::Parameters) >= 1.0103 +BuildRequires: perl(IO::File) BuildRequires: perl(IO::String) BuildRequires: perl(JSON::PP) >= 2.27105 -# N/A in Fedora: BuildRequires: perl(Kavorka) -# N/A in Fedora: BuildRequires: perl(match::simple) +BuildRequires: perl(match::simple) BuildRequires: perl(Method::Generate::Accessor) -BuildRequires: perl(Moo) +BuildRequires: perl(Moo) >= 1.006000 BuildRequires: perl(Moo::Role) -# N/A in Fedora: BuildRequires: perl(Moops) -BuildRequires: perl(Moose) >= 2.0400 +BuildRequires: perl(Moose) >= 2.1210 BuildRequires: perl(Moose::Meta::TypeCoercion) BuildRequires: perl(Moose::Meta::TypeCoercion::Union) BuildRequires: perl(Moose::Meta::TypeConstraint) @@ -76,48 +79,61 @@ BuildRequires: perl(Moose::Meta::TypeConstraint::Union) BuildRequires: perl(Moose::Util::TypeConstraints) BuildRequires: perl(MooseX::Getopt) >= 0.63 BuildRequires: perl(MooseX::Types) -BuildRequires: perl(MooseX::Types::Common) +BuildRequires: perl(MooseX::Types::Common) >= 0.001004 BuildRequires: perl(MooseX::Types::Moose) -BuildRequires: perl(Mouse) +BuildRequires: perl(Mouse) >= 1.000 BuildRequires: perl(Mouse::Meta::TypeConstraint) BuildRequires: perl(Mouse::Util) BuildRequires: perl(Mouse::Util::TypeConstraints) -BuildRequires: perl(MouseX::Types) -# N/A in Fedora: BuildRequires: perl(MouseX::Types::Common) +BuildRequires: perl(MouseX::Types) >= 0.06 BuildRequires: perl(MouseX::Types::Moose) -BuildRequires: perl(mro) -BuildRequires: perl(Object::Accessor) -BuildRequires: perl(re) -BuildRequires: perl(Ref::Util::XS) > 0.100 -%{?with_reply_plugin:BuildRequires: perl(Reply::Plugin)} -%if !%{defined perl_bootstrap} -# Build-cycle: perl-Return-Type → perl-Type-Tiny -BuildRequires: perl(Return::Type) >= 0.004 -%endif +BuildRequires: perl(Object::Accessor) >= 0.30 BuildRequires: perl(Role::Tiny) BuildRequires: perl(Role::Tiny::With) BuildRequires: perl(Sub::Exporter::Lexical) >= 0.092291 -BuildRequires: perl(Sub::Name) BuildRequires: perl(Sub::Quote) -# N/A in Fedora: BuildRequires: perl(Switcheroo) -%{?with_reply_plugin:BuildRequires: perl(Term::ANSIColor)} -BuildRequires: perl(Test::Warnings) -BuildRequires: perl(Type::Tie) -%if !%{defined perl_bootstrap} -# Build-cycle: perl-Types-Path-Tiny → perl-Type-Tiny -BuildRequires: perl(Types::Path::Tiny) -%endif +BuildRequires: perl(Test::LeakTrace) +BuildRequires: perl(Test::Moose) +BuildRequires: perl(Test::Tester) >= 0.109 +BuildRequires: perl(Test::Warnings) >= 0.005 +BuildRequires: perl(threads) +BuildRequires: perl(Tie::Array) +BuildRequires: perl(Tie::Hash) +BuildRequires: perl(Tie::Scalar) BuildRequires: perl(Validation::Class) >= 7.900017 BuildRequires: perl(Validation::Class::Simple) - -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +# Optional test requirements that depend on this package themselves +%if !0%{?rhel} +BuildRequires: perl(Return::Type) >= 0.004 +BuildRequires: perl(Types::Path::Tiny) +%endif +# Dependencies +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: perl(B::Deparse) Requires: perl(Carp) Requires: perl(Data::Dumper) +Requires: perl(mro) +Requires: perl(re) +Requires: perl(Sub::Util) +Requires: perl(Text::Balanced) +Recommends: perl(Devel::LexAlias) >= 0.05 +Recommends: perl(Devel::StackTrace) +Recommends: perl(Ref::Util::XS) >= 0.100 +Recommends: perl(Type::Tie) + +# Optional Modules not yet available in EPEL-8 +#TODO: BuildRequires: perl(Class::InsideOut) >= 1.13 +#TODO: BuildRequires: perl(Kavorka) +#TODO: BuildRequires: perl(Moops) +#TODO: BuildRequires: perl(MouseX::Types::Common) >= 0.001000 +#TODO: BuildRequires: perl(Regexp::Util) >= 0.003 +#TODO: BuildRequires: perl(Switcheroo) +#TODO: BuildRequires: perl(Type::Tiny::XS) +#TODO: BuildRequires: perl(Types::XSD::Lite) %description Type::Tiny is a tiny class for creating Moose-like type constraint objects -which are compatible with Moo, Moose and Mouse. +that are compatible with Moo, Moose and Mouse. %package -n perl-Test-TypeTiny Summary: Test::TypeTiny module @@ -127,35 +143,97 @@ Test::TypeTiny module. %prep %setup -q -n Type-Tiny-%{version} -# Remove bundled modules -rm -r ./inc + +# Remove bundled modules Test::Fatal, Test::Requires and Try::Tiny +rm -r ./inc/ sed -i -e '/^inc\//d' MANIFEST %build -%{__perl} Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 -%{__make} %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 +%{make_build} %install -%{__make} pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT -%{_fixperms} $RPM_BUILD_ROOT/* +%{make_install} +%{_fixperms} -c %{buildroot} + +# This file should not be present +rm %{buildroot}%{_mandir}/man3/Type::CONTRIBUTING.3* %check -%{__make} test +make test EXTENDED_TESTING=1 %files -%doc Changes CREDITS NEWS README -%license LICENSE COPYRIGHT -%{perl_vendorlib}/* -%{!?with_reply_plugin:%exclude %{perl_vendorlib}/Reply} -%{_mandir}/man3/* -%exclude %{perl_vendorlib}/Test -%exclude %{_mandir}/man3/Test::TypeTiny.3pm* +%license COPYRIGHT LICENSE +%doc Changes CONTRIBUTING.pod CREDITS NEWS README +%{perl_vendorlib}/Devel/ +%{perl_vendorlib}/Error/ +%{perl_vendorlib}/Eval/ +%{!?with_reply_plugin: +%exclude }%{perl_vendorlib}/Reply/ +%{perl_vendorlib}/Type/ +%{perl_vendorlib}/Types/ +%{_mandir}/man3/Devel::TypeTiny::Perl56Compat.3* +%{_mandir}/man3/Devel::TypeTiny::Perl58Compat.3* +%{_mandir}/man3/Error::TypeTiny.3* +%{_mandir}/man3/Error::TypeTiny::Assertion.3* +%{_mandir}/man3/Error::TypeTiny::Compilation.3* +%{_mandir}/man3/Error::TypeTiny::WrongNumberOfParameters.3* +%{_mandir}/man3/Eval::TypeTiny.3* +%{!?with_reply_plugin: +%exclude }%{_mandir}/man3/Reply::Plugin::TypeTiny.3* +%{_mandir}/man3/Type::Coercion.3* +%{_mandir}/man3/Type::Coercion::FromMoose.3* +%{_mandir}/man3/Type::Coercion::Union.3* +%{_mandir}/man3/Type::Library.3* +%{_mandir}/man3/Type::Params.3* +%{_mandir}/man3/Type::Parser.3* +%{_mandir}/man3/Type::Registry.3* +%{_mandir}/man3/Type::Tiny.3* +%{_mandir}/man3/Type::Tiny::Class.3* +%{_mandir}/man3/Type::Tiny::Duck.3* +%{_mandir}/man3/Type::Tiny::Enum.3* +%{_mandir}/man3/Type::Tiny::Intersection.3* +%{_mandir}/man3/Type::Tiny::Manual.3* +%{_mandir}/man3/Type::Tiny::Manual::Coercions.3* +%{_mandir}/man3/Type::Tiny::Manual::Libraries.3* +%{_mandir}/man3/Type::Tiny::Manual::Optimization.3* +%{_mandir}/man3/Type::Tiny::Manual::Params.3* +%{_mandir}/man3/Type::Tiny::Manual::Policies.3* +%{_mandir}/man3/Type::Tiny::Manual::UsingWithMoo.3* +%{_mandir}/man3/Type::Tiny::Manual::UsingWithMoose.3* +%{_mandir}/man3/Type::Tiny::Manual::UsingWithMouse.3* +%{_mandir}/man3/Type::Tiny::Manual::UsingWithOther.3* +%{_mandir}/man3/Type::Tiny::Role.3* +%{_mandir}/man3/Type::Tiny::Union.3* +%{_mandir}/man3/Type::Tiny::_HalfOp.3* +%{_mandir}/man3/Type::Utils.3* +%{_mandir}/man3/Types::Common::Numeric.3* +%{_mandir}/man3/Types::Common::String.3* +%{_mandir}/man3/Types::Standard.3* +%{_mandir}/man3/Types::Standard::ArrayRef.3* +%{_mandir}/man3/Types::Standard::CycleTuple.3* +%{_mandir}/man3/Types::Standard::Dict.3* +%{_mandir}/man3/Types::Standard::HashRef.3* +%{_mandir}/man3/Types::Standard::Map.3* +%{_mandir}/man3/Types::Standard::ScalarRef.3* +%{_mandir}/man3/Types::Standard::StrMatch.3* +%{_mandir}/man3/Types::Standard::Tied.3* +%{_mandir}/man3/Types::Standard::Tuple.3* +%{_mandir}/man3/Types::TypeTiny.3* %files -n perl-Test-TypeTiny -%{perl_vendorlib}/Test -%{_mandir}/man3/Test::TypeTiny.3pm* +%{perl_vendorlib}/Test/ +%{_mandir}/man3/Test::TypeTiny.3* %changelog +* Fri Oct 25 2019 Paul Howarth - 1.004004-2 +- Prep for EPEL-8 + - Use author-independent source URL + - Classify buildreqs by usage + - Trim optional dependencies for EPEL-8 + - Use %%{make_build} and %%{make_install} + - Fix permissions verbosely + * Fri Jan 11 2019 Ralf Corsépius - 1.004004-1 - Update to 1.004004.