109 lines
3.7 KiB
RPMSpec
109 lines
3.7 KiB
RPMSpec
# $Id: perl-POE.spec,v 1.1 2006/06/14 22:32:12 cweyl Exp $
|
|
|
|
Name: perl-POE
|
|
Version: 0.3501
|
|
Release: 0%{?dist}
|
|
Summary: POE - portable multitasking and networking framework for Perl
|
|
|
|
Group: Development/Libraries
|
|
License: Artistic & GPL
|
|
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
|
|
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))
|
|
|
|
%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-%{version}
|
|
|
|
# execute + doc == bad
|
|
chmod -x samples/*
|
|
|
|
%build
|
|
%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" --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 f -name '*.bs' -a -size 0 -exec rm -f {} ';'
|
|
find %{buildroot} -type d -depth -exec rmdir {} 2>/dev/null ';'
|
|
chmod -R u+w %{buildroot}/*
|
|
|
|
|
|
%check
|
|
# 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
|
|
# For noarch packages: vendorlib
|
|
%{perl_vendorlib}/*
|
|
# For arch-specific packages: vendorarch
|
|
#% {perl_vendorarch}/auto/*
|
|
#% {perl_vendorarch}/everything-except-"auto"
|
|
%{_mandir}/man3/*.3*
|
|
|
|
|
|
%changelog
|
|
* Fri Jun 09 2006 Chris Weyl <cweyl@alumni.drew.edu> 0.3501-0
|
|
- Initial spec file for F-E
|