35e168
Name:           perl-Object-HashBase
35e168
Version:        0.008
35e168
Release:        1%{?dist}
35e168
Summary:        Build hash-based classes
35e168
License:        GPL+ or Artistic
35e168
URL:            https://metacpan.org/release/Object-HashBase
35e168
Source0:        https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Object-HashBase-%{version}.tar.gz
35e168
# Correct shebangs
35e168
Patch0:         Object-HashBase-0.008-Normalize-shebang.patch
35e168
BuildArch:      noarch
35e168
BuildRequires:  make
35e168
BuildRequires:  perl-generators
35e168
BuildRequires:  perl-interpreter
35e168
BuildRequires:  perl(:VERSION) >= 5.8.1
35e168
BuildRequires:  perl(strict)
35e168
BuildRequires:  perl(warnings)
35e168
BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.76
35e168
# Run-time:
35e168
BuildRequires:  perl(base)
35e168
BuildRequires:  perl(Carp)
35e168
BuildRequires:  perl(Test::More) >= 0.98
35e168
BuildRequires:  perl(vars)
35e168
# Tests:
35e168
BuildRequires:  perl(File::Temp)
35e168
Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
35e168
35e168
# Remove under-specified dependenices
35e168
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Test::More\\)$
35e168
# Remove private modules
35e168
%global __requires_exclude %{__requires_exclude}|^perl\\(Object::HashBase::Test::HBase.*
35e168
35e168
%description
35e168
This package is used to generate classes based on hash references. Using this
35e168
class will give you a new() method, as well as generating accessors you
35e168
request.  Generated accessors will be getters, set_ACCESSOR setters will also
35e168
be generated for you. You also get constants for each accessor (all caps)
35e168
which return the key into the hash for that accessor. Single inheritance is
35e168
also supported.
35e168
35e168
%package tools
35e168
Summary:        Generate inlined Object::HashBase Perl module
35e168
Requires:       %{name} = %{version}-%{release}
35e168
Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
35e168
Requires:       perl(Test::More) >= 0.98
35e168
35e168
%description tools
35e168
hashbase_inc.pl script generates a Perl module that contains
35e168
a Object::HashBase module mangled into a name space of your choice. It can
35e168
also generate the tests for it.
35e168
35e168
%prep
35e168
%setup -q -n Object-HashBase-%{version}
35e168
%patch0 -p1
35e168
35e168
%build
35e168
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1
35e168
%{make_build}
35e168
35e168
%install
35e168
%{make_install}
35e168
%{_fixperms} $RPM_BUILD_ROOT/*
35e168
35e168
%check
35e168
make test
35e168
35e168
%files
35e168
%license LICENSE
35e168
%doc Changes README
35e168
%{perl_vendorlib}/*
35e168
%exclude %{perl_vendorlib}/Object/HashBase
35e168
%{_mandir}/man3/*
35e168
%exclude %{_mandir}/man3/Object::HashBase::*
35e168
35e168
%files tools
35e168
%{_bindir}/hashbase_inc.pl
35e168
%{perl_vendorlib}/Object/HashBase
35e168
%{_mandir}/man3/Object::HashBase::*
35e168
35e168
%changelog
35e168
* Tue Nov 19 2019 Petr Pisar <ppisar@redhat.com> 0.008-1
35e168
- Specfile autogenerated by cpanspec 1.78.