8
0
Files
perl-Object-Pad/perl-Object-Pad.spec

78 lines
2.8 KiB
RPMSpec
Raw Normal View History

#
# spec file for package perl-Object-Pad
#
# Copyright (c) 2023 SUSE LLC
#
# 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 Object-Pad
Name: perl-Object-Pad
Version: 0.79
Release: 0
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Simple syntax for lexical field-based objects
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(ExtUtils::CBuilder)
BuildRequires: perl(Module::Build) >= 0.400400
BuildRequires: perl(Test2::V0) >= 0.000148
Accepting request 1046331 from devel:languages:perl:autoupdate - updated to 0.77 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.77 2022-12-19 [BUGFIXES] * Fix C compiler errors and warnings + Neater handling of OP_NULL in optrees; avoids error of a case label applied to a declaration, which upsets non-gcc compilers + Use PTR2UV / NUM2PTR pairs instead of plain casting 0.76 2022-12-16 [CHANGES] * No longer consider `field VAR = CONST` experimental for constant expressions * Make field assignment and `ADJUST :params` slightly more efficient by stealing new OP_HELEMEXISTSOR op from upcoming perl version * Defined new ABI version 0.76 + Adds `pre_seal` and `post_seal` functions for class hooks 0.75 2022-12-14 [CHANGES] * Support fields using `//=` and `||=` defaulting operators, to match the core perl `class` feature * Define more configuration options for `Feature::Compat::Class` 0.74 2022-12-04 [BUGFIXES] * Ensure that all struct fields are initialised after Newx(), by using a C99-style struct assignment, ensuring no uninitialised behaviour (RT145289) 0.73 2022-12-03 [CHANGES] * Accept `field VAR = EXPR;` syntax; evaluated within constructor similarly to block form * Generally prefer `field` over `has` in docs, unit tests, etc... * Long-deprecated `extends` and `implements` keywords are now immediate compile-time failures * Extended the C-level extension API + Added `get_compclassmeta()` + Added `mop_class_add_method_cv()` and `mop_class_get_name()` + Optional integration with XS::Parse::Keyword via the addition of the `OPXKP_*` macros [BUGFIXES] * Account for bleadperl's slightly changed warning message of "bareword found ..." 0.72 2022-11-30 [CHANGES] * Accept `//=` and `||=` in named signature-like syntax for `ADJUST :params` blocks * Added `__CLASS__` * Deprecate use of params hashref in `ADJUST` blocks; needs to be written as `ADJUSTPARAMS`, which is not longer exactly synonymous with `ADJUST` OBS-URL: https://build.opensuse.org/request/show/1046331 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Object-Pad?expand=0&rev=9
2023-01-04 15:53:38 +00:00
BuildRequires: perl(XS::Parse::Keyword) >= 0.29
BuildRequires: perl(XS::Parse::Keyword::Builder) >= 0.29
BuildRequires: perl(XS::Parse::Sublike) >= 0.15
BuildRequires: perl(XS::Parse::Sublike::Builder) >= 0.15
Accepting request 1046331 from devel:languages:perl:autoupdate - updated to 0.77 see /usr/share/doc/packages/perl-Object-Pad/Changes 0.77 2022-12-19 [BUGFIXES] * Fix C compiler errors and warnings + Neater handling of OP_NULL in optrees; avoids error of a case label applied to a declaration, which upsets non-gcc compilers + Use PTR2UV / NUM2PTR pairs instead of plain casting 0.76 2022-12-16 [CHANGES] * No longer consider `field VAR = CONST` experimental for constant expressions * Make field assignment and `ADJUST :params` slightly more efficient by stealing new OP_HELEMEXISTSOR op from upcoming perl version * Defined new ABI version 0.76 + Adds `pre_seal` and `post_seal` functions for class hooks 0.75 2022-12-14 [CHANGES] * Support fields using `//=` and `||=` defaulting operators, to match the core perl `class` feature * Define more configuration options for `Feature::Compat::Class` 0.74 2022-12-04 [BUGFIXES] * Ensure that all struct fields are initialised after Newx(), by using a C99-style struct assignment, ensuring no uninitialised behaviour (RT145289) 0.73 2022-12-03 [CHANGES] * Accept `field VAR = EXPR;` syntax; evaluated within constructor similarly to block form * Generally prefer `field` over `has` in docs, unit tests, etc... * Long-deprecated `extends` and `implements` keywords are now immediate compile-time failures * Extended the C-level extension API + Added `get_compclassmeta()` + Added `mop_class_add_method_cv()` and `mop_class_get_name()` + Optional integration with XS::Parse::Keyword via the addition of the `OPXKP_*` macros [BUGFIXES] * Account for bleadperl's slightly changed warning message of "bareword found ..." 0.72 2022-11-30 [CHANGES] * Accept `//=` and `||=` in named signature-like syntax for `ADJUST :params` blocks * Added `__CLASS__` * Deprecate use of params hashref in `ADJUST` blocks; needs to be written as `ADJUSTPARAMS`, which is not longer exactly synonymous with `ADJUST` OBS-URL: https://build.opensuse.org/request/show/1046331 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Object-Pad?expand=0&rev=9
2023-01-04 15:53:38 +00:00
Requires: perl(XS::Parse::Keyword) >= 0.29
Requires: perl(XS::Parse::Sublike) >= 0.15
%{perl_requires}
%description
This module provides a simple syntax for creating object classes, which
uses private variables that look like lexicals as object member fields.
While most of this module has evolved into a stable state in practice,
parts remain *experimental* because the design is still evolving, and many
features and ideas have yet to implemented. I don't yet guarantee I won't
have to change existing details in order to continue its development. Feel
free to try it out in experimental or newly-developed code, but don't
complain if a later version is incompatible with your current code and
you'll have to change it.
That all said, please do get in contact if you find the module overall
useful. The more feedback you provide in terms of what features you are
using, what you find works, and what doesn't, will help the ongoing
development and hopefully eventual stability of the design. See the
FEEDBACK section.
%prep
%autosetup -n %{cpan_name}-%{version}
%build
perl Build.PL installdirs=vendor optimize="%{optflags}"
./Build build flags=%{?_smp_mflags}
%check
./Build test
%install
./Build install destdir=%{buildroot} create_packlist=0
%perl_gen_filelist
%files -f %{name}.files
%doc Changes README
%license LICENSE
%changelog