134 lines
4.5 KiB
RPMSpec
134 lines
4.5 KiB
RPMSpec
# Note we make a distinction here due to rpm versioning, and keep them both up
|
|
# here to make things easier
|
|
%define cpanver 0.36
|
|
%define rpmver 0.3600
|
|
|
|
Name: perl-POE
|
|
Version: %{rpmver}
|
|
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-%{cpanver}.tar.gz
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
|
|
# there's some perl-foo that goes on, automagically translating
|
|
# POE::Resource::Bar -> POE::Resources::Bar. Let's account for that here.
|
|
# also nix errant versionless provides.
|
|
Source98: filter-provides.sh
|
|
%define __perl_provides %{SOURCE98}
|
|
|
|
BuildArch: noarch
|
|
BuildRequires: perl, perl(ExtUtils::MakeMaker)
|
|
BuildRequires: perl(Tk) >= 800.027, perl(URI) >= 1.30, perl(Socket6) >= 0.14
|
|
BuildRequires: perl(LWP) >= 5.79, perl(Curses) >= 1.08
|
|
BuildRequires: perl(IO::Pty) >= 1.02, perl(Term::ReadKey) >= 2.21
|
|
# waiting for update BZ#194521
|
|
#BuildRequires: perl(Gtk) >= 0.7009
|
|
BuildRequires: perl(IO::Poll) >= 0.01, perl(Term::Cap) >= 1.09,
|
|
BuildRequires: perl(Compress::Zlib) >= 1.33, perl(Event) >= 1.00
|
|
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
|
|
|
# not picked up automatically
|
|
Requires: perl(Socket6), perl(Event), perl(IO::Pty), perl(Compress::Zlib)
|
|
|
|
%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.
|
|
|
|
The lowest level uses POE::Kernel and POE::Session. The former class acts as
|
|
POE's event watcher and dispatcher. The latter encapsulates the notion of an
|
|
event driven task.
|
|
|
|
POE::Wheel classes operate at a slightly higher level. They plug into sessions
|
|
and perform very common, general tasks. For example, POE::Wheel::ReadWrite
|
|
performs buffered I/O.
|
|
|
|
Unlike cheese, wheels do not stand alone. They are customized by POE::Driver
|
|
and POE::Filter classes. Using the proper filter, a ReadWrite wheel can read
|
|
and write streams, lines, fixed-length blocks, HTTP requests and responses,
|
|
and so on.
|
|
|
|
The highest level of POE programming uses components. They may perform
|
|
narrowly defined tasks, such as POE::Component::Child (on the CPAN). Often
|
|
they encapsulate nearly everything necessary for an entire program.
|
|
|
|
Every level eventually boils down to the lowest common
|
|
denominator---POE::Kernel and POE::Session. Because of this, classes coexist
|
|
and cooperate at every level of abstraction.
|
|
|
|
%prep
|
|
%setup -q -n POE-%{cpanver}
|
|
|
|
# execute + doc == bad
|
|
chmod -x samples/*
|
|
|
|
|
|
%build
|
|
%{__perl} Makefile.PL INSTALLDIRS=vendor --default
|
|
|
|
# yah. don't do the 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 ';'
|
|
chmod -R u+w %{buildroot}/*
|
|
|
|
|
|
%check
|
|
# this test fails under plague. Not quite sure why....
|
|
mv tests/90_regression/rt1648-tied-stderr.t .
|
|
|
|
# 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
|
|
|
|
|
|
%clean
|
|
rm -rf %{buildroot}
|
|
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
%doc CHANGES HISTORY README samples TODO rt1648-tied-stderr.t
|
|
%{perl_vendorlib}/*
|
|
%{_mandir}/man3/*.3*
|
|
|
|
|
|
%changelog
|
|
* 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
|