]>
Commit | Line | Data |
---|---|---|
cf21eb9c | 1 | # |
2 | # Conditional build: | |
3 | %bcond_without tests # do not perform "make test" | |
4 | # | |
5 | %include /usr/lib/rpm/macros.perl | |
6 | %define pdir IO | |
7 | %define pnam Async | |
8 | Summary: IO::Async - perform asynchronous filehandle IO and other operations | |
9 | #Summary(pl.UTF-8): | |
10 | Name: perl-IO-Async | |
77f0feb2 | 11 | Version: 0.27 |
cf21eb9c | 12 | Release: 1 |
13 | # same as perl | |
14 | License: GPL v1+ or Artistic | |
15 | Group: Development/Languages/Perl | |
16 | Source0: http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/IO-Async-%{version}.tar.gz | |
77f0feb2 | 17 | # Source0-md5: b995941365f7ca6703d75110d908badc |
cf21eb9c | 18 | URL: http://search.cpan.org/dist/IO-Async/ |
19 | BuildRequires: perl-devel >= 1:5.8.0 | |
20 | BuildRequires: rpm-perlprov >= 4.1-13 | |
21 | %if %{with tests} | |
22 | BuildRequires: perl(Async::MergePoint) | |
23 | BuildRequires: perl(Socket::GetAddrInfo) >= 0.08 | |
24 | BuildRequires: perl(Test::Refcount) | |
25 | BuildRequires: perl-Heap >= 0.8 | |
26 | BuildRequires: perl-Test-Exception | |
27 | %endif | |
28 | BuildArch: noarch | |
29 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
30 | ||
31 | %description | |
32 | This collection of modules allows programs to be written that perform | |
33 | asynchronous filehandle IO operations. A typical program using them | |
34 | would consist of a single subclass of IO::Async::Loop to act as a | |
35 | container o other objects, which perform the actual IO work required | |
36 | by the program. As as IO handles, the loop also supports timers and | |
37 | signal handlers, and includes more higher-level functionallity built | |
38 | on top of these basic parts. | |
39 | ||
40 | Because there are a lot of classes in this collection, the following | |
41 | overview gives a brief description of each. | |
42 | ||
43 | The base class of all the event handling subclasses is | |
44 | IO::Async::Notifier. It does not perform any IO operations itself, but | |
45 | instead acts as a base class to build the specific IO functionallity | |
46 | upon. It can also coordinate a collection of other Notifiers contained | |
47 | within it, forming a tree structure. | |
48 | ||
49 | The following sections describe particular types of Notifier. | |
50 | ||
51 | # %description -l pl.UTF-8 # TODO | |
52 | ||
53 | %prep | |
54 | %setup -q -n %{pdir}-%{pnam}-%{version} | |
55 | ||
56 | %build | |
57 | %{__perl} Build.PL \ | |
58 | destdir=$RPM_BUILD_ROOT \ | |
59 | installdirs=vendor | |
60 | ./Build | |
61 | ||
62 | %{?with_tests:./Build test} | |
63 | ||
64 | %install | |
65 | rm -rf $RPM_BUILD_ROOT | |
66 | ||
67 | ./Build install | |
68 | ||
69 | install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
70 | cp -a examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
71 | ||
72 | %clean | |
73 | rm -rf $RPM_BUILD_ROOT | |
74 | ||
75 | %files | |
76 | %defattr(644,root,root,755) | |
77 | %doc Changes README | |
78 | %{perl_vendorlib}/IO/*.pm | |
79 | %{perl_vendorlib}/IO/Async | |
80 | %{_mandir}/man3/* | |
81 | %{_examplesdir}/%{name}-%{version} |