Files
perl-Function-Parameters/perl-Function-Parameters.spec

73 lines
2.5 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package perl-Function-Parameters
#
2025-08-22 21:33:43 +00:00
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cpan_name Function-Parameters
Name: perl-Function-Parameters
2025-08-22 21:33:43 +00:00
Version: 2.2.6
Release: 0
2025-08-22 21:33:43 +00:00
# 2.002006 -> normalize -> 2.2.6
%define cpan_version 2.002006
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Define functions and methods with parameter lists ("subroutine signatures")
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/M/MA/MAUKE/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
2025-08-12 18:14:17 +02:00
Source100: README.md
BuildRequires: perl
BuildRequires: perl-macros
Accepting request 1076917 from devel:languages:perl:autoupdate - updated to 2.002002 see /usr/share/doc/packages/perl-Function-Parameters/Changes 2.002002 2023-04-01 - Work around old versions of ExtUtils::MakeMaker not providing is_make_type(), whose version dependency is undocumented (sigh). - Restrict GNU syntax for exporting variables to type 'gmake'; should fix building on BSD, Solaris, etc. - Declare dependency on ExtUtils::MakeMaker 7+ and remove compatibility code for older versions. 2.002001 2023-04-01 - Fix (hopefully) Windows builds using nmake.exe. 2.002 2023-04-01 - Provide //= for default arguments that are also used when the caller passes in undef. - Provide more type combinators in parameter declarations: In addition to | (union types), now ~ & / are also supported (for complement types, intersection types, and alternative types, respectively). - Enable type coercions. If a parameter has a declared type and that type supports coercions ($type->has_coercion returns true), call its ->coerce($value) method to transform arguments before type checking. - Enable inline type checks. If a parameter has a declared type and that type supports inlining ($type->can_be_inlined returns true), its inline code (as provided by ->inline_check('$value')) is baked into the function definition instead of a call to ->check($value). This may speed up type checks. - Move a big chunk of tests to xt/ (author testing only). - Remove xt/ from the distribution. - Enable parallel testing by default (with -j4). 2.001006 2023-03-27 - Work around perl core issue GH#20950 (use re "eval" doesn't capture lexical %^H environment like eval() does and stringifies it instead) by downgrading the previous hard error to a warning (in the new category 'Function::Parameters') and switching Function::Parameters off in the affected scope. OBS-URL: https://build.opensuse.org/request/show/1076917 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Function-Parameters?expand=0&rev=17
2023-04-03 13:22:43 +00:00
BuildRequires: perl(ExtUtils::MakeMaker) >= 7.0
BuildRequires: perl(Hash::Util) >= 0.07
BuildRequires: perl(Test::Fatal)
Provides: perl(Function::Parameters) = %{version}
Provides: perl(Function::Parameters::Info) = %{version}
2025-08-22 21:33:43 +00:00
Provides: perl(Function::Parameters::Param)
%undefine __perllib_provides
%{perl_requires}
%description
This module provides two new keywords, 'fun' and 'method', for defining
functions and methods with parameter lists. At minimum this saves you from
having to unpack '@_' manually, but this module can do much more for you.
The parameter lists provided by this module are similar to the 'signatures'
feature available in perl v5.20+. However, this module supports all perl
Accepting request 1076917 from devel:languages:perl:autoupdate - updated to 2.002002 see /usr/share/doc/packages/perl-Function-Parameters/Changes 2.002002 2023-04-01 - Work around old versions of ExtUtils::MakeMaker not providing is_make_type(), whose version dependency is undocumented (sigh). - Restrict GNU syntax for exporting variables to type 'gmake'; should fix building on BSD, Solaris, etc. - Declare dependency on ExtUtils::MakeMaker 7+ and remove compatibility code for older versions. 2.002001 2023-04-01 - Fix (hopefully) Windows builds using nmake.exe. 2.002 2023-04-01 - Provide //= for default arguments that are also used when the caller passes in undef. - Provide more type combinators in parameter declarations: In addition to | (union types), now ~ & / are also supported (for complement types, intersection types, and alternative types, respectively). - Enable type coercions. If a parameter has a declared type and that type supports coercions ($type->has_coercion returns true), call its ->coerce($value) method to transform arguments before type checking. - Enable inline type checks. If a parameter has a declared type and that type supports inlining ($type->can_be_inlined returns true), its inline code (as provided by ->inline_check('$value')) is baked into the function definition instead of a call to ->check($value). This may speed up type checks. - Move a big chunk of tests to xt/ (author testing only). - Remove xt/ from the distribution. - Enable parallel testing by default (with -j4). 2.001006 2023-03-27 - Work around perl core issue GH#20950 (use re "eval" doesn't capture lexical %^H environment like eval() does and stringifies it instead) by downgrading the previous hard error to a warning (in the new category 'Function::Parameters') and switching Function::Parameters off in the affected scope. OBS-URL: https://build.opensuse.org/request/show/1076917 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Function-Parameters?expand=0&rev=17
2023-04-03 13:22:43 +00:00
versions starting from v5.14 and it offers far more features than core
signatures. The downside is that you need a C compiler if you want to
install it from source, as it uses Perl's keyword plugin API in order to
work reliably without requiring a source filter.
%prep
2025-08-22 21:33:43 +00:00
%autosetup -n %{cpan_name}-%{cpan_version} -p1
%build
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
%make_build
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%doc Changes Makefile_PL_settings.plx README
%changelog