Initial import (perl-Specio-0.24-2)

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.
This commit is contained in:
Paul Howarth 2016-07-22 16:10:25 +01:00
parent bd587bcd60
commit 4ae4d0b2b2
3 changed files with 126 additions and 0 deletions

1
.gitignore vendored
View File

@ -0,0 +1 @@
/Specio-[0-9.]*.tar.gz

124
perl-Specio.spec Normal file
View File

@ -0,0 +1,124 @@
Name: perl-Specio
Version: 0.24
Release: 2%{?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(List::Util) >= 1.33
BuildRequires: perl(MRO::Compat)
BuildRequires: perl(overload)
BuildRequires: perl(parent)
BuildRequires: perl(re)
BuildRequires: perl(Role::Tiny)
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
* 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

View File

@ -0,0 +1 @@
267a92a0549211871d6da750c1288492 Specio-0.24.tar.gz