2016-07-22 15:10:25 +00:00
|
|
|
Name: perl-Specio
|
2016-10-02 10:19:47 +00:00
|
|
|
Version: 0.27
|
2016-09-05 08:24:20 +00:00
|
|
|
Release: 1%{?dist}
|
2016-07-22 15:10:25 +00:00
|
|
|
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(List::Util) >= 1.33
|
|
|
|
BuildRequires: perl(MRO::Compat)
|
|
|
|
BuildRequires: perl(overload)
|
|
|
|
BuildRequires: perl(parent)
|
|
|
|
BuildRequires: perl(re)
|
2016-09-26 10:16:21 +00:00
|
|
|
BuildRequires: perl(Role::Tiny) >= 1.003003
|
2016-07-22 15:10:25 +00:00
|
|
|
BuildRequires: perl(Role::Tiny::With)
|
|
|
|
BuildRequires: perl(Scalar::Util)
|
|
|
|
BuildRequires: perl(Storable)
|
|
|
|
BuildRequires: perl(strict)
|
|
|
|
BuildRequires: perl(version) >= 0.83
|
|
|
|
BuildRequires: perl(warnings)
|
|
|
|
# Test Suite
|
|
|
|
BuildRequires: perl(File::Spec)
|
|
|
|
BuildRequires: perl(IO::File)
|
|
|
|
BuildRequires: perl(lib)
|
|
|
|
BuildRequires: perl(open)
|
|
|
|
BuildRequires: perl(Test::Fatal)
|
|
|
|
BuildRequires: perl(Test::More)
|
|
|
|
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))
|
|
|
|
|
|
|
|
%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.
|
|
|
|
|
|
|
|
%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*
|
|
|
|
|
|
|
|
%changelog
|
2016-10-02 10:19:47 +00:00
|
|
|
* Sun Oct 2 2016 Paul Howarth <paul@city-fan.org> - 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
|
|
|
|
|
2016-09-26 10:16:21 +00:00
|
|
|
* Mon Sep 26 2016 Paul Howarth <paul@city-fan.org> - 0.26-1
|
|
|
|
- Update to 0.26
|
|
|
|
- Require Role::Tiny 1.003003, which should fix some test failures
|
|
|
|
|
2016-09-05 08:24:20 +00:00
|
|
|
* Mon Sep 5 2016 Paul Howarth <paul@city-fan.org> - 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)
|
|
|
|
|
2016-07-22 15:10:25 +00:00
|
|
|
* Fri Jul 1 2016 Paul Howarth <paul@city-fan.org> - 0.24-2
|
|
|
|
- Sanitize for Fedora submission
|
|
|
|
|
|
|
|
* Fri Jul 1 2016 Paul Howarth <paul@city-fan.org> - 0.24-1
|
|
|
|
- Initial RPM version
|