1 | # Note: this package should go away (become an alias for libc-devel) |
---|
2 | # once http://trac.netlabs.org/libc/ticket/353 is resolved. |
---|
3 | |
---|
4 | Summary: System V poll system call emulation. |
---|
5 | Name: libpoll-devel |
---|
6 | Version: 1.5.1 |
---|
7 | Release: 3%{?dist} |
---|
8 | License: BSD |
---|
9 | URL: http://software.clapper.org/poll/ |
---|
10 | |
---|
11 | Group: Development/Libraries |
---|
12 | |
---|
13 | # https://github.com/bmc/poll/archive/release-1.5.1.zip |
---|
14 | Source: poll-release-1.5.1.zip |
---|
15 | |
---|
16 | BuildRequires: gcc |
---|
17 | |
---|
18 | Requires: libc-devel |
---|
19 | |
---|
20 | %description |
---|
21 | This package implements the System V poll(2) system call for Unix-like systems |
---|
22 | that do not support poll. For instance, the following Unix-like operating |
---|
23 | systems do not support poll: |
---|
24 | |
---|
25 | NetBSD, prior to version 1.3 |
---|
26 | FreeBSD, prior to version 3.0 |
---|
27 | OpenBSD, prior to version 2.0 |
---|
28 | BSD/OS. (See the BSD/OS man pages.) |
---|
29 | Apple's Mac OS X (prior to OS X 10.3) |
---|
30 | QNX version 6 |
---|
31 | 4.4 BSD Lite 2 (not generally used by production systems) |
---|
32 | 386BSD (pretty much obsolete these days) |
---|
33 | OS/2 (and derivatives) |
---|
34 | |
---|
35 | poll provides a method for multiplexing input and output on multiple open file |
---|
36 | descriptors; in traditional BSD systems, that capability is provided by |
---|
37 | select(2). While the semantics of select differ from those of poll, poll can |
---|
38 | be readily emulated in terms of select, which is exactly what this small piece |
---|
39 | of software does. |
---|
40 | |
---|
41 | %prep |
---|
42 | %setup -q -n poll-release-%{version} |
---|
43 | |
---|
44 | # Add extra POLL constants used by some sources. |
---|
45 | # @todo We can't use patch directly because of EOLs (forced --binary on OS/2). |
---|
46 | tr -d '\r' > poll.diff <<"EOF" |
---|
47 | --- poll.h.b |
---|
48 | +++ poll.h |
---|
49 | @@ -78,6 +78,11 @@ |
---|
50 | #define POLLHUP 0x10 |
---|
51 | #define POLLNVAL 0x20 |
---|
52 | |
---|
53 | +#define POLLRDNORM 0x0040 |
---|
54 | +#define POLLRDBAND 0x0080 |
---|
55 | +#define POLLWRNORM 0x0100 |
---|
56 | +#define POLLWRBAND 0x0200 |
---|
57 | + |
---|
58 | struct pollfd |
---|
59 | { |
---|
60 | int fd; |
---|
61 | EOF |
---|
62 | patch < poll.diff |
---|
63 | |
---|
64 | %build |
---|
65 | gcc %{optflags} -c poll.c -o poll.o |
---|
66 | ar rv poll_s.a poll.o |
---|
67 | emxomf poll_s.a -o poll_s.lib |
---|
68 | |
---|
69 | # Add support for #include <poll.h> |
---|
70 | echo "#include <sys/poll.h>" > nosys_poll.h |
---|
71 | |
---|
72 | %install |
---|
73 | rm -rf %{buildroot} |
---|
74 | mkdir -p %{buildroot}%{_includedir} |
---|
75 | install -m 644 nosys_poll.h %{buildroot}%{_includedir}/poll.h |
---|
76 | mkdir -p %{buildroot}%{_includedir}/sys |
---|
77 | install -m 644 poll.h %{buildroot}%{_includedir}/sys |
---|
78 | mkdir -p %{buildroot}%{_libdir} |
---|
79 | install -m 755 poll_s.a poll_s.lib %{buildroot}%{_libdir} |
---|
80 | |
---|
81 | %clean |
---|
82 | rm -rf %{buildroot} |
---|
83 | |
---|
84 | %files |
---|
85 | %defattr(-,root,root) |
---|
86 | %doc CHANGELOG.md INSTALL README.md LICENSE |
---|
87 | %{_includedir}/poll.h |
---|
88 | %{_includedir}/sys/poll.h |
---|
89 | %{_libdir}/poll_s.a |
---|
90 | %{_libdir}/poll_s.lib |
---|
91 | |
---|
92 | %changelog |
---|
93 | * Wed Jan 27 2016 Dmitriy Kuminov <coding@dmik.org> 1.5.1-3 |
---|
94 | - Add poll_s.a (for use with ld, e.g. in non-Zomf mode). |
---|
95 | |
---|
96 | * Wed Dec 22 2015 Dmitriy Kuminov <coding@dmik.org> 1.5.1-2 |
---|
97 | - Add POLLRD* and POLLWR* constants. |
---|
98 | |
---|
99 | * Tue Dec 22 2015 Dmitriy Kuminov <coding@dmik.org> 1.5.1-1 |
---|
100 | - Initial package for version 1.5.1. |
---|