Name: perl-Specio Version: 0.28 Release: 1%{?dist} Summary: Type constraints and coercions for Perl License: Artistic 2.0 URL: http://search.cpan.org/dist/Specio/ Source0: http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Specio-%{version}.tar.gz BuildArch: noarch # Module Build BuildRequires: coreutils BuildRequires: make BuildRequires: perl BuildRequires: perl-generators BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 # Module Runtime BuildRequires: perl(B) BuildRequires: perl(Carp) BuildRequires: perl(Devel::StackTrace) BuildRequires: perl(Eval::Closure) BuildRequires: perl(Exporter) BuildRequires: perl(IO::File) BuildRequires: perl(List::Util) >= 1.33 BuildRequires: perl(MRO::Compat) BuildRequires: perl(overload) BuildRequires: perl(parent) BuildRequires: perl(re) BuildRequires: perl(Role::Tiny) >= 1.003003 BuildRequires: perl(Role::Tiny::With) BuildRequires: perl(Scalar::Util) BuildRequires: perl(Storable) BuildRequires: perl(strict) BuildRequires: perl(Test::Fatal) BuildRequires: perl(Test::More) >= 0.96 BuildRequires: perl(version) >= 0.83 BuildRequires: perl(warnings) # Test Suite BuildRequires: perl(File::Spec) BuildRequires: perl(lib) BuildRequires: perl(open) BuildRequires: perl(Test::Needs) BuildRequires: perl(utf8) # Optional Tests BuildRequires: perl(CPAN::Meta) >= 2.120900 BuildRequires: perl(CPAN::Meta::Prereqs) BuildRequires: perl(Moo) BuildRequires: perl(Moose) >= 2.1207 BuildRequires: perl(Mouse) BuildRequires: perl(namespace::autoclean) # Dependencies Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) # Avoid provides for private packages %global __provides_exclude ^perl\\(_T::.*\\) %description The Specio distribution provides classes for representing type constraints and coercion, along with syntax sugar for declaring them. Note that this is not a proper type system for Perl. Nothing in this distribution will magically make the Perl interpreter start checking a value's type on assignment to a variable. In fact, there's no built-in way to apply a type to a variable at all. Instead, you can explicitly check a value against a type, and optionally coerce values to that type. %package -n perl-Test-Specio Summary: Test helpers for Specio License: Artistic 2.0 Requires: %{name} = %{version}-%{release} %description -n perl-Test-Specio This package provides some helper functions and variables for testing Specio types. %prep %setup -q -n Specio-%{version} %build perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 make %{?_smp_mflags} %install make install DESTDIR=%{buildroot} %{_fixperms} %{buildroot} %check make test %files %license LICENSE %doc Changes CONTRIBUTING.md README.md TODO.pod %{perl_vendorlib}/Specio.pm %{perl_vendorlib}/Specio/ %{_mandir}/man3/Specio.3* %{_mandir}/man3/Specio::Coercion.3* %{_mandir}/man3/Specio::Constraint::AnyCan.3* %{_mandir}/man3/Specio::Constraint::AnyDoes.3* %{_mandir}/man3/Specio::Constraint::AnyIsa.3* %{_mandir}/man3/Specio::Constraint::Enum.3* %{_mandir}/man3/Specio::Constraint::Intersection.3* %{_mandir}/man3/Specio::Constraint::ObjectCan.3* %{_mandir}/man3/Specio::Constraint::ObjectDoes.3* %{_mandir}/man3/Specio::Constraint::ObjectIsa.3* %{_mandir}/man3/Specio::Constraint::Parameterizable.3* %{_mandir}/man3/Specio::Constraint::Parameterized.3* %{_mandir}/man3/Specio::Constraint::Role::CanType.3* %{_mandir}/man3/Specio::Constraint::Role::DoesType.3* %{_mandir}/man3/Specio::Constraint::Role::Interface.3* %{_mandir}/man3/Specio::Constraint::Role::IsaType.3* %{_mandir}/man3/Specio::Constraint::Simple.3* %{_mandir}/man3/Specio::Constraint::Union.3* %{_mandir}/man3/Specio::Declare.3* %{_mandir}/man3/Specio::DeclaredAt.3* %{_mandir}/man3/Specio::Exception.3* %{_mandir}/man3/Specio::Exporter.3* %{_mandir}/man3/Specio::Helpers.3* %{_mandir}/man3/Specio::Library::Builtins.3* %{_mandir}/man3/Specio::Library::Numeric.3* %{_mandir}/man3/Specio::Library::Perl.3* %{_mandir}/man3/Specio::Library::String.3* %{_mandir}/man3/Specio::OO.3* %{_mandir}/man3/Specio::PartialDump.3* %{_mandir}/man3/Specio::Registry.3* %{_mandir}/man3/Specio::Role::Inlinable.3* %{_mandir}/man3/Specio::TypeChecks.3* # Exclude documentation that shouldn't have been installed like this %exclude %{perl_vendorlib}/TODO.pod %exclude %{_mandir}/man3/TODO.3* %files -n perl-Test-Specio %{perl_vendorlib}/Test/ %{_mandir}/man3/Test::Specio.3* %changelog * Mon Oct 3 2016 Paul Howarth - 0.28-1 - Update to 0.28 - Added a Test::Specio module to provide helpers for testing Specio libraries - Fixed another bug with a subtype of special types and inlining - Introduce sub-package perl-Test-Specio to avoid dependencies on Test::Fatal and Test::More in main package * Sun Oct 2 2016 Paul Howarth - 0.27-1 - Update to 0.27 - Cloning a type with coercions defined on it would cause an exception - Creating a subtype of a special type created by *_isa_type, *_can_type, or *_does_type, or enum would die when trying to inline type constraint - Removed the never-documented Any type - Added documentation for each type in Specio::Library::Builtins * Mon Sep 26 2016 Paul Howarth - 0.26-1 - Update to 0.26 - Require Role::Tiny 1.003003, which should fix some test failures * Mon Sep 5 2016 Paul Howarth - 0.25-1 - Update to 0.25 - Calling {any,object}_{isa,does}_type repeatedly in a package with the same class or role name would die; these subs are now special-cased to simply return an existing type for the given name when they receive a single argument (the name of the class or role) * Fri Jul 1 2016 Paul Howarth - 0.24-2 - Sanitize for Fedora submission * Fri Jul 1 2016 Paul Howarth - 0.24-1 - Initial RPM version