%define real_name Thread-Serialize

Summary:        serialize data-structures between threads
Name:           perl-Thread-Serialize
Version:        0.11
Release:        1%{?_dist_release}
License:        Artistic or GPL+
Group:          Development/Libraries
Source:         http://search.cpan.org/CPAN/authors/id/E/EL/ELIZABETH/Thread-Serialize-%{version}.tar.gz
URL:            http://search.cpan.org/dist/Thread-Serialize/
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root

BuildRequires:  perl(ExtUtils::MakeMaker)
BuildRequires:  perl(Storable)
BuildRequires:  perl(load) >= 0.10
Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires:       perl(Storable)
Requires:       perl(load) >= 0.10

%description
The Thread::Serialize module is a library for centralizing the 
routines used to serialize data-structures between threads.
Because of this central location, other modules such as 
Thread::Conveyor, Thread::Pool or Thread::Tie can benefit from 
the same optimizations that may take place here in the future.

This module only functions on Perl versions 5.8.0 and later.
And then only when threads are enabled with -Dusethreads.  It
is of no use with any version of Perl before 5.8.0 or without
threads enabled.

%prep
%setup -q -n %{real_name}-%{version}

%build
%{expand: %%define optflags %{optflags} -fPIC}
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
make %{?_smp_mflags}

%install
rm -rf %{buildroot}
make pure_install DESTDIR=%{buildroot}
find %{buildroot} -type f -name .packlist -exec rm -f {} ';'
find %{buildroot} -depth -type d -exec rmdir {} ';' 2>/dev/null
%{_fixperms} %{buildroot}

%clean
%{__rm} -rf %{buildroot}

%files
%defattr(-, root, root, 0755)
%doc MANIFEST README CHANGELOG TODO
%doc %{_mandir}/man3/Thread::Serialize.3pm*
%dir %{perl_vendorlib}/Thread/
%{perl_vendorlib}/Thread/Serialize.pm

%changelog
* Sat Mar 10 2012 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 0.11-1
- initial build for Vine Linux
