# # 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.806.0 Release: 0 %define cpan_version 0.806 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}-%{cpan_version}.tar.gz Source1: cpanspec.yml BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(ExtUtils::CBuilder) BuildRequires: perl(Module::Build) >= 0.4004 BuildRequires: perl(Test2::V0) >= 0.000148 BuildRequires: perl(XS::Parse::Keyword) >= 0.370.0 BuildRequires: perl(XS::Parse::Keyword::Builder) >= 0.370.0 BuildRequires: perl(XS::Parse::Sublike) >= 0.15 BuildRequires: perl(XS::Parse::Sublike::Builder) >= 0.15 Requires: perl(XS::Parse::Keyword) >= 0.370.0 Requires: perl(XS::Parse::Sublike) >= 0.15 Provides: perl(Object::Pad) = %{version} Provides: perl(Object::Pad::ExtensionBuilder) = %{version} Provides: perl(Object::Pad::MOP::Class) = %{version} Provides: perl(Object::Pad::MOP::Field) = %{version} Provides: perl(Object::Pad::MOP::FieldAttr) = %{version} Provides: perl(Object::Pad::MOP::Method) = %{version} Provides: perl(Object::Pad::MetaFunctions) = %{version} %define __perllib_provides /bin/true %{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}-%{cpan_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