File perl-Moose.spec of Package perl-Moose
#
# spec file for perl module MongoDB
#
#SuSe specific Part
%if %{?sles_version:1}0
%define module_dir /usr/lib/perl5/
%define man3_dir /usr/share/man/man3/
%if 0%{?suse_version} >= 1315
%define auto_dir /usr/lib/perl5/vendor_perl%{sub_dir}/auto
%define sub_dir /5.18.2/x86_64-linux-thread-multi/
%else
BuildRequires: perl-File-Spec >= 3.4
%define auto_dir /usr/lib/perl5/vendor_perl%{sub_dir}/auto
#suse prefers to install additional modules in a subdir (below module_dir)
%define sub_dir /5.10.0/x86_64-linux-thread-multi/
%endif
%endif
%if %{?centos_version:1}0
%define init 1
%if 0%{?centos_version} == 700
BuildRequires: perl-ExtUtils-MakeMaker perl-IO-Compress
Requires: perl-Module-Runtime perl-Try-Tiny
AutoReqProv: no
%else
BuildRequires: perl-ExtUtils-MakeMaker perl-version-new perl-IO-Compress
requires: perl-version-new
%endif
%define module_dir /usr/share/perl5
%define sub_dir /
%define man3_dir /usr/share/man/man3
%define auto_dir /usr/lib64/perl5/vendor_perl/auto/
%endif
#all Distros
%define module_name Moose
%define module_version 2.1405
Name: perl-%{module_name}
Version: %{module_version}
Release: 0
License: perl-5
Summary: Moose is an extension of the Perl 5 object system
Url: https://metacpan.org/pod/Moose
Group: perl/modules
Source: %{module_name}-%{module_version}.tar.gz
BuildRequires: perl perl-Module-Install perl-Config-AutoConf perl-Capture-Tiny perl-Path-Tiny perl-MRO-Compat
Requires: perl perl-MRO-Compat
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The main goal of Moose is to make Perl 5 Object Oriented programming easier, more consistent, and less tedious. With Moose you can think more about what you want to do and less about the mechanics of OOP.
Additionally, Moose is built on top of Class::MOP, which is a metaclass system for Perl 5. This means that Moose not only makes building normal Perl 5 objects better, but it provides the power of metaclass programming as well.
%prep
cd %{_builddir}
tar -xf %{_sourcedir}/%{module_name}-%{module_version}.tar.gz
%build
cd %{_builddir}/%{module_name}-%{module_version}
perl Makefile.PL installdirs=vendor destdir=%{buildroot}
make
%install
cd %{_builddir}/%{module_name}-%{module_version}
make DESTDIR=%{buildroot} install
#In case the .packlist file contains the buildroot directory
#perl -i -pe "s{%{buildroot}}{}g" %{buildroot}/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/Moose/.packlist
find %{buildroot} -type f -name "perllocal.pod" -exec rm -f {} \;
find %{buildroot} -type f -name ".packlist" -exec rm -f {} \;
%if %{?centos_version:1}0
rm -Rf %{buildroot}/usr/share/man
find %{buildroot} -type f | sed "s#%{buildroot}##g" > %{buildroot}/../%{name}-filelist
perl -i -pe "s{%{buildroot}}{}g" %{buildroot}/usr/lib/perl5/vendor_perl/auto/Moose/.packlist
%files -f %{buildroot}/../%{name}-filelist
%endif
%if %{?sles_version:1}0
rm -Rf %{buildroot}/usr/share/man
find %{buildroot} -type f | sed "s#%{buildroot}##g" > %{buildroot}/../%{name}-filelist
perl -i -pe "s{%{buildroot}}{}g" %{buildroot}/usr/lib/perl5/vendor_perl/auto/Moose/.packlist
%files -f %{buildroot}/../%{name}-filelist
%endif
%defattr(-,root,root)
%if %{?sles_version:1}0
%if 0%{?suse_version} >= 1315
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Class
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Class/MOP
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Class/MOP/Class
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Class/MOP/Class/Immutable
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Class/MOP/Method
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Class/MOP/Mixin
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Cookbook
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Cookbook/Basics
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Cookbook/Extending
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Cookbook/Legacy
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Cookbook/Meta
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Cookbook/Roles
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Cookbook/Snack
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Exception
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Exception/Role
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Manual
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Manual/Exceptions
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Attribute
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Attribute/Native
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Attribute/Native/Trait
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Class
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Class/Immutable
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Method
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Array
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Bool
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Code
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Counter
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Hash
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Number
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/String
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Mixin
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Object
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Role
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Role/Application
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/Role/Method
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/TypeCoercion
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Meta/TypeConstraint
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Spec
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Util
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Moose/Util/TypeConstraints
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Test
%dir /usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/auto/Moose
%else
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Class
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Class/MOP
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Class/MOP/Class
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Class/MOP/Class/Immutable
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Class/MOP/Method
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Class/MOP/Mixin
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Cookbook
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Cookbook/Basics
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Cookbook/Extending
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Cookbook/Legacy
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Cookbook/Meta
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Cookbook/Roles
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Cookbook/Snack
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Exception
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Exception/Role
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Manual
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Manual/Exceptions
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Attribute
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Attribute/Native
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Attribute/Native/Trait
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Class
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Class/Immutable
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Method
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Array
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Bool
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Code
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Counter
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Hash
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/Number
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Method/Accessor/Native/String
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Mixin
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Object
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Role
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Role/Application
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/Role/Method
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/TypeCoercion
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Meta/TypeConstraint
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Spec
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Util
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Moose/Util/TypeConstraints
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Test
%dir /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/Moose
%endif
%endif