Compare commits
47 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
ea9c697652 | ||
|
675e6769bc | ||
|
d6e1cf77e0 | ||
|
23a3aa0e47 | ||
|
0ce6c16ea5 | ||
|
78a66053c7 | ||
|
80f71336ee | ||
|
ee0ff1395b | ||
|
0d186339fa | ||
|
56d188638b | ||
|
4aaca5f35a | ||
|
720bd44dfa | ||
|
206117a7cb | ||
|
6f92e6c5a4 | ||
|
2b868307e5 | ||
|
7d0b06577d | ||
|
2693ce8a41 | ||
|
62b9138893 | ||
|
1f297502f1 | ||
|
42dd8a10cb | ||
|
cfa32aee8f | ||
|
37e1124f0b | ||
|
b18390bf98 | ||
|
c6d5b02869 | ||
|
c5e31f0cd7 | ||
|
e86143b43b | ||
|
2c0f3a05b4 | ||
|
bb9653d2bf | ||
|
36dfadd737 | ||
|
e3e46441e8 | ||
|
102b34f3bd | ||
|
e56f1552ab | ||
|
4edb746252 | ||
|
c27d337865 | ||
|
21bb9cbdd1 | ||
|
67a6b92ac1 | ||
|
f068bcdd85 | ||
|
bec625a0e7 | ||
|
0aa67d4f41 | ||
|
30d145eb7b | ||
|
2c00eaf8b5 | ||
|
c34057c873 | ||
|
5ddcb5d647 | ||
|
5d65e3ba4a | ||
|
fe4668d1d8 | ||
|
3cbfb70ff9 | ||
|
c9bbef927b |
262
perl-Specio.spec
262
perl-Specio.spec
@ -1,53 +1,78 @@
|
||||
# Run optional test
|
||||
%if ! (0%{?rhel})
|
||||
%bcond_without perl_Specio_enables_optional_test
|
||||
%else
|
||||
%bcond_with perl_Specio_enables_optional_test
|
||||
%endif
|
||||
|
||||
Name: perl-Specio
|
||||
Version: 0.30
|
||||
Release: 1%{?dist}
|
||||
Version: 0.48
|
||||
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
|
||||
# lib/Specio/PartialDump.pm: GPL+ or Artistic
|
||||
# <https://github.com/houseabsolute/Specio/issues/17>
|
||||
# other files: Artistic 2.0
|
||||
License: Artistic 2.0 and (GPL+ or Artistic)
|
||||
URL: https://metacpan.org/release/Specio
|
||||
Source0: https://cpan.metacpan.org/modules/by-module/Test/Specio-%{version}.tar.gz
|
||||
BuildArch: noarch
|
||||
# Module Build
|
||||
BuildRequires: coreutils
|
||||
BuildRequires: make
|
||||
BuildRequires: perl
|
||||
BuildRequires: perl-generators
|
||||
BuildRequires: perl-interpreter
|
||||
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(Module::Runtime)
|
||||
BuildRequires: perl(MRO::Compat)
|
||||
BuildRequires: perl(overload)
|
||||
BuildRequires: perl(parent)
|
||||
BuildRequires: perl(re)
|
||||
BuildRequires: perl(Ref::Util) >= 0.112
|
||||
BuildRequires: perl(Role::Tiny) >= 1.003003
|
||||
BuildRequires: perl(Role::Tiny::With)
|
||||
BuildRequires: perl(Scalar::Util)
|
||||
BuildRequires: perl(Storable)
|
||||
BuildRequires: perl(strict)
|
||||
BuildRequires: perl(Sub::Quote)
|
||||
BuildRequires: perl(Sub::Util) >= 1.40
|
||||
BuildRequires: perl(Test::Fatal)
|
||||
BuildRequires: perl(Test::More) >= 0.96
|
||||
BuildRequires: perl(Try::Tiny)
|
||||
BuildRequires: perl(version) >= 0.83
|
||||
BuildRequires: perl(warnings)
|
||||
BuildRequires: perl(XString)
|
||||
# Test Suite
|
||||
BuildRequires: perl(File::Spec)
|
||||
BuildRequires: perl(FindBin)
|
||||
BuildRequires: perl(lib)
|
||||
BuildRequires: perl(open)
|
||||
BuildRequires: perl(Test::Needs)
|
||||
BuildRequires: perl(utf8)
|
||||
%if %{with perl_Specio_enables_optional_test}
|
||||
# Optional Tests
|
||||
BuildRequires: perl(CPAN::Meta) >= 2.120900
|
||||
BuildRequires: perl(CPAN::Meta::Prereqs)
|
||||
BuildRequires: perl(Moo)
|
||||
%if !%{defined perl_bootstrap}
|
||||
# Break cycle: perl-Moose → perl-DateTime → perl-Specio
|
||||
BuildRequires: perl(Moose) >= 2.1207
|
||||
# Break cycle: perl-Mouse → perl-Moose → perl-DateTime → perl-Specio
|
||||
BuildRequires: perl(Mouse)
|
||||
%endif
|
||||
BuildRequires: perl(namespace::autoclean)
|
||||
%endif
|
||||
# Dependencies
|
||||
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
|
||||
Requires: perl(Ref::Util) >= 0.112
|
||||
Requires: perl(Sub::Util) >= 1.40
|
||||
Requires: perl(XString)
|
||||
|
||||
# Avoid provides for private packages
|
||||
%global __provides_exclude ^perl\\(_T::.*\\)
|
||||
@ -78,18 +103,18 @@ types.
|
||||
|
||||
%build
|
||||
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1
|
||||
make %{?_smp_mflags}
|
||||
%{make_build}
|
||||
|
||||
%install
|
||||
make install DESTDIR=%{buildroot}
|
||||
%{_fixperms} %{buildroot}
|
||||
%{make_install}
|
||||
%{_fixperms} -c %{buildroot}
|
||||
|
||||
%check
|
||||
make test
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc Changes CONTRIBUTING.md README.md TODO.pod
|
||||
%doc Changes CODE_OF_CONDUCT.md CONTRIBUTING.md README.md TODO.md
|
||||
%{perl_vendorlib}/Specio.pm
|
||||
%{perl_vendorlib}/Specio/
|
||||
%{_mandir}/man3/Specio.3*
|
||||
@ -109,6 +134,8 @@ make test
|
||||
%{_mandir}/man3/Specio::Constraint::Role::Interface.3*
|
||||
%{_mandir}/man3/Specio::Constraint::Role::IsaType.3*
|
||||
%{_mandir}/man3/Specio::Constraint::Simple.3*
|
||||
%{_mandir}/man3/Specio::Constraint::Structurable.3*
|
||||
%{_mandir}/man3/Specio::Constraint::Structured.3*
|
||||
%{_mandir}/man3/Specio::Constraint::Union.3*
|
||||
%{_mandir}/man3/Specio::Declare.3*
|
||||
%{_mandir}/man3/Specio::DeclaredAt.3*
|
||||
@ -119,26 +146,231 @@ make test
|
||||
%{_mandir}/man3/Specio::Library::Numeric.3*
|
||||
%{_mandir}/man3/Specio::Library::Perl.3*
|
||||
%{_mandir}/man3/Specio::Library::String.3*
|
||||
%{_mandir}/man3/Specio::Library::Structured.3*
|
||||
%{_mandir}/man3/Specio::Library::Structured::Dict.3*
|
||||
%{_mandir}/man3/Specio::Library::Structured::Map.3*
|
||||
%{_mandir}/man3/Specio::Library::Structured::Tuple.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::Subs.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
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.48-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Sun Jun 12 2022 Paul Howarth <paul@city-fan.org> - 0.48-1
|
||||
- Update to 0.48
|
||||
- Importing types into a class that inherited from another class that had
|
||||
imported types wouldn't work, leaving the child class with no 't()' sub
|
||||
|
||||
* Fri Jun 03 2022 Jitka Plesnikova <jplesnik@redhat.com> - 0.47-7
|
||||
- Perl 5.36 re-rebuild of bootstrapped packages
|
||||
|
||||
* Wed Jun 01 2022 Jitka Plesnikova <jplesnik@redhat.com> - 0.47-6
|
||||
- Perl 5.36 rebuild
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.47-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.47-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon May 24 2021 Jitka Plesnikova <jplesnik@redhat.com> - 0.47-3
|
||||
- Perl 5.34 re-rebuild of bootstrapped packages
|
||||
|
||||
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 0.47-2
|
||||
- Perl 5.34 rebuild
|
||||
|
||||
* Sun Jan 31 2021 Paul Howarth <paul@city-fan.org> - 0.47-1
|
||||
- Update to 0.47
|
||||
- Change Specio constraint object's stringification overloading to return the
|
||||
type name rather than the default Perl object stringification, which gives
|
||||
you something like
|
||||
"Specio::Constraint::Parameterized=HASH(0x564d258efb48)"; anonymous types
|
||||
are special cased to return something you can print
|
||||
- All types now overload the 'eq' comparison operator: Moose expects types to
|
||||
be comparable in this manner when doing role summation (GH#18)
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.46-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.46-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri Jun 26 2020 Jitka Plesnikova <jplesnik@redhat.com> - 0.46-3
|
||||
- Perl 5.32 re-rebuild of bootstrapped packages
|
||||
|
||||
* Tue Jun 23 2020 Jitka Plesnikova <jplesnik@redhat.com> - 0.46-2
|
||||
- Perl 5.32 rebuild
|
||||
|
||||
* Sat Mar 14 2020 Paul Howarth <paul@city-fan.org> - 0.46-1
|
||||
- Update to 0.46
|
||||
- Correct license of Specio::PartialDump (GH#17)
|
||||
|
||||
* Tue Feb 18 2020 Petr Pisar <ppisar@redhat.com> - 0.45-3
|
||||
- Correct a perl-Specio license to "Artistic 2.0 and (GPL+ or Artistic)"
|
||||
|
||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.45-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Mon Nov 25 2019 Paul Howarth <paul@city-fan.org> - 0.45-1
|
||||
- Update to 0.45
|
||||
- Made XString a prereq if installing with Perl 5.10+
|
||||
|
||||
* Thu Aug 15 2019 Paul Howarth <paul@city-fan.org> - 0.44-1
|
||||
- Update to 0.44
|
||||
- Replaced the use of B with XString if it is installed; the latter is much
|
||||
smaller and provides the one subroutine from B we cared about (based on
|
||||
GH#15)
|
||||
- Use %%{make_build} and %%{make_install}
|
||||
|
||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.43-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sun Jun 02 2019 Jitka Plesnikova <jplesnik@redhat.com> - 0.43-4
|
||||
- Perl 5.30 re-rebuild of bootstrapped packages
|
||||
|
||||
* Fri May 31 2019 Jitka Plesnikova <jplesnik@redhat.com> - 0.43-3
|
||||
- Perl 5.30 rebuild
|
||||
|
||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.43-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sun Oct 28 2018 Paul Howarth <paul@city-fan.org> - 0.43-1
|
||||
- Update to 0.43
|
||||
- Optimized compile-time operations to make Specio itself quicker to load;
|
||||
Specio's load time is a non-trivial part of the load time of DateTime (and
|
||||
presumably other things that use it)
|
||||
- Based on https://github.com/houseabsolute/DateTime.pm/issues/85
|
||||
- Package new CODE_OF_CONDUCT.md file
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.42-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Sun Jul 01 2018 Jitka Plesnikova <jplesnik@redhat.com> - 0.42-4
|
||||
- Perl 5.28 re-rebuild of bootstrapped packages
|
||||
|
||||
* Fri Jun 29 2018 Jitka Plesnikova <jplesnik@redhat.com> - 0.42-3
|
||||
- Perl 5.28 rebuild
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.42-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Mon Nov 6 2017 Paul Howarth <paul@city-fan.org> - 0.42-1
|
||||
- Update to 0.42
|
||||
- Fixed checks for whether a class is loaded in light of upcoming
|
||||
optimization in Perl 5.28 (GH#12)
|
||||
- The Perl library claimed it provided types named LaxVersionStr and
|
||||
StrictVersionStr but they were really named LaxVersion and StrictVersion;
|
||||
the names have now been fixed to match the documentation, so they are
|
||||
LaxVersionStr and StrictVersionStr
|
||||
|
||||
* Fri Aug 4 2017 Paul Howarth <paul@city-fan.org> - 0.40-1
|
||||
- Update to 0.40
|
||||
- Fixed more bugs with {any,object}_{can,does,isa}_type
|
||||
- When passed a glob (not a globref) they would die in their type check
|
||||
- On Perl 5.16 or earlier, passing a number to an any_* type would also die
|
||||
- Fixed subification overloading: if Sub::Quote was loaded, this would be
|
||||
used, but any environment variables needed for the closure would not be
|
||||
included, which broke enums, among other things
|
||||
|
||||
* Thu Aug 3 2017 Paul Howarth <paul@city-fan.org> - 0.39-1
|
||||
- Update to 0.39
|
||||
- Many bug fixes and improvements to the types created by
|
||||
{any,object}_{can,does,isa}_type; in some cases, an invalid value could
|
||||
cause an exception in type check itself, and in other cases, a value that
|
||||
failed a type check would cause an exception when generating a message
|
||||
describing the failure
|
||||
- The messages describing a failure for all of these types have been improved
|
||||
- You can now create anonymous *_does and *_isa types using the exports from
|
||||
Specio::Declare
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.38-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Jul 1 2017 Paul Howarth <paul@city-fan.org> - 0.38-1
|
||||
- Update to 0.38
|
||||
- Simplify checks for overloading to not call overload::Overloaded(); just
|
||||
checking the return value of overload::Method() is sufficient
|
||||
|
||||
* Wed Jun 07 2017 Jitka Plesnikova <jplesnik@redhat.com> - 0.37-3
|
||||
- Perl 5.26 re-rebuild of bootstrapped packages
|
||||
|
||||
* Mon Jun 05 2017 Jitka Plesnikova <jplesnik@redhat.com> - 0.37-2
|
||||
- Perl 5.26 rebuild
|
||||
|
||||
* Tue May 9 2017 Paul Howarth <paul@city-fan.org> - 0.37-1
|
||||
- Update to 0.37
|
||||
- Possible fix for very weird failures seen under threaded Perls with some
|
||||
modules that use Specio
|
||||
|
||||
* Mon Feb 20 2017 Paul Howarth <paul@city-fan.org> - 0.36-1
|
||||
- Update to 0.36
|
||||
- Inlined coercions would attempt to coerce for every type that matched the
|
||||
value given, instead of stopping after the first type (GH#11)
|
||||
- Inlined coercions did not include the inline environment variables needed
|
||||
by the type from which the coercion was being performed (GH#8)
|
||||
- When you use the same type repeatedly as coderef (for example, as a
|
||||
constraint with Moo), it will only generate its subified form once, rather
|
||||
than regenerating it each time it is de-referenced
|
||||
- Added an API to Specio::Subs to allow you to combine type libraries and
|
||||
helper subs in one package for exporting; see the Specio::Exporter docs for
|
||||
more detail
|
||||
|
||||
* Mon Feb 13 2017 Paul Howarth <paul@city-fan.org> - 0.35-1
|
||||
- Update to 0.35
|
||||
- Added Specio::Subs, a module that allows you to turn one or more library's
|
||||
types into subroutines like is_Int() and to_Int()
|
||||
- Added an inline_coercion method to Specio constraints
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.34-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Jan 30 2017 Paul Howarth <paul@city-fan.org> - 0.34-1
|
||||
- Update to 0.34
|
||||
- Packages with Specio::Exporter can now specify additional arbitrary subs to
|
||||
exporter; see the Specio::Exporter docs for details
|
||||
- Importing the same library twice in a given package would throw an
|
||||
exception; the second attempt to import is now ignored
|
||||
|
||||
* Wed Jan 25 2017 Paul Howarth <paul@city-fan.org> - 0.33-1
|
||||
- Update to 0.33
|
||||
- Fixed a mistake in the SYNOPSIS for Specio::Declare; the example for the
|
||||
*_isa_type helpers was not correct
|
||||
- Removed the alpha warning from the docs; this is being used by enough of my
|
||||
modules on CPAN that I don't plan on doing any big breaking changes without
|
||||
a deprecation first
|
||||
|
||||
* Fri Jan 13 2017 Paul Howarth <paul@city-fan.org> - 0.32-1
|
||||
- Update to 0.32
|
||||
- Fixed a bug in the inlining for types create by any_can_type() and
|
||||
object_can_type(); this inlining mostly worked by accident because of some
|
||||
List::Util XS magic, but this broke under the debugger (GH#6,
|
||||
https://github.com/houseabsolute/DateTime.pm/issues/49)
|
||||
|
||||
* Mon Nov 7 2016 Paul Howarth <paul@city-fan.org> - 0.31-1
|
||||
- Update to 0.31
|
||||
- The stack trace contained by Specio::Exception objects no longer includes
|
||||
stack frames for the Specio::Exception package
|
||||
- Made the inline_environment() and description() methods public on type and
|
||||
coercion objects
|
||||
|
||||
* Thu Oct 20 2016 Petr Pisar <ppisar@redhat.com> - 0.30-2
|
||||
- Break build cycle: perl-Moose → perl-DateTime → perl-Specio
|
||||
|
||||
* Sun Oct 16 2016 Paul Howarth <paul@city-fan.org> - 0.30-1
|
||||
- Update to 0.30
|
||||
- Fix a bug with the Sub::Quoted sub returned by $type->coercion_sub; if a
|
||||
type had more than one coercion, the generated sub could end up coercing
|
||||
the value to undef some of the time and, depending on hash key ordering,
|
||||
this could end up being a heisenbug that only occured some of the time
|
||||
this could end up being a heisenbug that only occurred some of the time
|
||||
|
||||
* Mon Oct 10 2016 Paul Howarth <paul@city-fan.org> - 0.29-1
|
||||
- Update to 0.29
|
||||
|
Loading…
Reference in New Issue
Block a user