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

87 lines
3.3 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.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