Blob Blame History Raw
Name:      perl-POE
Version:   0.9999 
Release:   1%{?dist}
Summary:   POE - portable multitasking and networking framework for Perl 

Group:     Development/Libraries
License:   GPL+ or Artistic
URL:       http://search.cpan.org/dist/POE/
Source0:   http://search.cpan.org/CPAN/authors/id/R/RC/RCAPUTO/POE-%{version}.tar.gz 
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
Requires:  perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))

# core
BuildRequires:  perl(ExtUtils::MakeMaker)
BuildRequires:  perl(Test::More)
# cpan
BuildRequires:  perl(Compress::Zlib) >= 1.33
BuildRequires:  perl(Curses) >= 1.08
BuildRequires:  perl(IO::Poll) >= 0.01
BuildRequires:  perl(IO::Pty)
BuildRequires:  perl(Event) >= 1.00
BuildRequires:  perl(IO::Pty) >= 1.02
BuildRequires:  perl(LWP) >= 5.79
BuildRequires:  perl(Socket6) >= 0.14
BuildRequires:  perl(Term::Cap) >= 1.09
BuildRequires:  perl(Term::ReadKey) >= 2.21
BuildRequires:  perl(Tk) >= 800.027
BuildRequires:  perl(URI) >= 1.30
# waiting for update BZ#194521
#BuildRequires: perl(Gtk) >= 0.7009
# test
BuildRequires:  perl(Test::Pod)
BuildRequires:  perl(Test::Pod::Coverage)

# not picked up automatically
Requires:       perl(Compress::Zlib)
Requires:       perl(Event)
Requires:       perl(IO::Pty)
Requires:       perl(Socket6) 

%description
POE is a framework for cooperative, event driven multitasking in Perl.
Other languages have similar frameworks. Python has Twisted. TCL has "the
event loop".

POE originally was developed as the core of a persistent object server and
runtime environment. It has evolved into a general purpose multitasking
and networking framework, encompassing and providing a consistent interface
to other event loops such as Event and the Tk and Gtk toolkits.

POE is written in layers, each building upon the previous. It's therefore
possible to use POE at varying levels of abstraction.


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

# make rpmlint happy...
chmod -c -x examples/*
find t/ -type f -exec chmod -c -x {} +
find t/ -type f -name '*.t' -exec perl -pi -e 's|^#!perl|#!/usr/bin/perl|' {} +

# Filter unwanted Requires:
cat << \EOF > %{name}-req
#!/bin/sh
%{__perl_requires} $* |\
  sed -e '/perl(Tk)/d; /perl(Test::More)/d; /perl(lib)/d'
EOF

%define __perl_requires %{_builddir}/POE-%{version}/%{name}-req
chmod +x %{__perl_requires}


%build
%{__perl} Makefile.PL INSTALLDIRS=vendor --default

# yah.  don't do the network tests
%{?!_with_network_tests: rm run_network_tests }

make %{?_smp_mflags}


%install
rm -rf %{buildroot}

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

%{_fixperms} %{buildroot}/*


%check
# these tests fails under plague.  Not quite sure why....
mv t/90_regression/rt1648-tied-stderr.t .
mv t/30_loops/50_tk/wheel_run.t .

# enable POD tests
#export POE_TEST_POD=1

# note that there are currently a number of tests that throw errors, but do
# not fail nor cause the build/suite to fail.  For now just please be aware
# that there will be some noisy output as the tests are run.
# Reported upstream at http://rt.cpan.org/Public/Bug/Display.html?id=19878
make test

mv rt1648-tied-stderr.t t/90_regression/
mv wheel_run.t t/30_loops/50_tk/

%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%doc CHANGES HISTORY README examples/ TODO t/ 
%{perl_vendorlib}/*
%{_mandir}/man3/*.3*


%changelog
* Tue Mar  4 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.9999-1
- update to 0.9999
- don't filter out POE::Kernel, POE::Loop::Tk (it actually is provided)

* Tue Mar  4 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.9989-2
- rebuild for new perl

* Sat May 19 2007 Chris Weyl <cweyl@alumni.drew.edu>
- spec cleanups, tweaks
- add t/ to doc
- move away from macroized versioning system
- no rebuild at this point

* Fri Mar 23 2007 Chris Weyl <cweyl@alumni.drew.edu> 0.9989-1
- update to 0.9989

* Wed Mar 21 2007 Chris Weyl <cweyl@alumni.drew.edu> 0.9917-1
- update to 0.9917.  0.3800-1, below, was never built/released to the wild.

* Mon Sep 25 2006 Chris Weyl <cweyl@alumni.drew.edu> 0.3800-1
- update to 0.38.  0.37-1, below, was never built/released to the wild.

* Mon Sep 11 2006 Chris Weyl <cweyl@alumni.drew.edu> 0.3700-1
- update to 0.37
- samples/ is now examples/
- add additional br's: perl(IO::Pty), perl(Test::Pod),
  perl(Test::Pod::Coverage)

* Thu Aug 31 2006 Chris Weyl <cweyl@alumni.drew.edu> 0.3601-2
- bump for mass rebuild

* Sun Aug 13 2006 Chris Weyl <cweyl@alumni.drew.edu> 0.3601-1
- update to cpan ver 0.3601

* Thu Aug 10 2006 Chris Weyl <cweyl@alumni.drew.edu> 0.3600-1
- update to cpan ver 0.36

* Tue Jun 20 2006 Chris Weyl <cweyl@alumni.drew.edu> 0.3502-1
- filter errant provides.  Also translate POE::Provides::foo modules to
  POE::Provide::foo
- Bump to latest version released

* Thu Jun 15 2006 Chris Weyl <cweyl@alumni.drew.edu> 0.3501-2
- Nix test that was causing build to fail in plague

* Wed Jun 14 2006 Chris Weyl <cweyl@alumni.drew.edu> 0.3501-1
- bump release, minor cleanups per review.

* Fri Jun 09 2006 Chris Weyl <cweyl@alumni.drew.edu> 0.3501-0
- Initial spec file for F-E