Sync from SUSE:ALP:Source:Standard:1.0 libev revision 8859817a3cfdeb5f37a5b66865cbd3be

This commit is contained in:
Adrian Schröter 2023-10-06 17:05:21 +02:00
commit 287cc5f7f3
10 changed files with 633 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
libev4

View File

@ -0,0 +1,46 @@
Index: ev.c
===================================================================
--- ev.c.orig
+++ ev.c
@@ -577,7 +577,7 @@ struct signalfd_siginfo
* This value is good at least till the year 4000.
*/
#define MIN_INTERVAL 0.0001220703125 /* 1/2**13, good till 4000 */
-/*#define MIN_INTERVAL 0.00000095367431640625 /* 1/2**20, good till 2200 */
+/*#define MIN_INTERVAL 0.00000095367431640625 *//* 1/2**20, good till 2200 */
#define MIN_TIMEJUMP 1. /* minimum timejump that gets detected (if monotonic clock available) */
#define MAX_BLOCKTIME 59.743 /* never wait longer than this time (to detect time jumps) */
@@ -4351,7 +4351,7 @@ ev_io_start (EV_P_ ev_io *w) EV_NOEXCEPT
/* common bug, apparently */
assert (("libev: ev_io_start called with corrupted watcher", ((WL)w)->next != (WL)w));
- fd_change (EV_A_ fd, w->events & EV__IOFDSET | EV_ANFD_REIFY);
+ fd_change (EV_A_ fd, (w->events & EV__IOFDSET) | EV_ANFD_REIFY);
w->events &= ~EV__IOFDSET;
EV_FREQUENT_CHECK;
@@ -5616,8 +5616,8 @@ ev_walk (EV_P_ int types, void (*cb)(EV_
wl = wn;
}
#endif
-/* EV_STAT 0x00001000 /* stat data changed */
-/* EV_EMBED 0x00010000 /* embedded event loop needs sweep */
+/* EV_STAT 0x00001000 *//* stat data changed */
+/* EV_EMBED 0x00010000 *//* embedded event loop needs sweep */
}
#endif
Index: ev_iouring.c
===================================================================
--- ev_iouring.c.orig
+++ ev_iouring.c
@@ -295,7 +295,7 @@ iouring_sqe_submit (EV_P_ struct io_urin
EV_SQ_ARRAY [idx] = idx;
ECB_MEMORY_FENCE_RELEASE;
++EV_SQ_VAR (tail);
- /*ECB_MEMORY_FENCE_RELEASE; /* for the time being we assume this is not needed */
+ /*ECB_MEMORY_FENCE_RELEASE; *//* for the time being we assume this is not needed */
++iouring_to_submit;
}

View File

@ -0,0 +1,22 @@
Index: libev-4.33/ev_iouring.c
===================================================================
--- libev-4.33.orig/ev_iouring.c
+++ libev-4.33/ev_iouring.c
@@ -287,7 +287,7 @@ iouring_sqe_get (EV_P)
}
inline_size
-struct io_uring_sqe *
+void
iouring_sqe_submit (EV_P_ struct io_uring_sqe *sqe)
{
unsigned idx = sqe - EV_SQES;
@@ -313,7 +313,7 @@ iouring_tfd_cb (EV_P_ struct ev_io *w, i
/* called for full and partial cleanup */
ecb_cold
-static int
+static void
iouring_internal_destroy (EV_P)
{
close (iouring_tfd);

BIN
libev-4.33.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

2
libev-4.33.tar.gz.sig Normal file
View File

@ -0,0 +1,2 @@
untrusted comment: verify with dist.schmorp.de.pub
RWSUBDizLm/GKUmIcR8BOw/6a/jcHO2l5Nz/fiZjqfL9B6GWcU3sHGCzBCclRe47gMd0xWvaGmIcxaXL8XVNA1/9qpLPJQ9Z9Q8=

400
libev.changes Normal file
View File

@ -0,0 +1,400 @@
-------------------------------------------------------------------
Tue Oct 3 13:50:30 UTC 2023 - pgajdos@suse.com
- run signify only on Factory
-------------------------------------------------------------------
Fri Sep 8 07:47:43 UTC 2023 - pgajdos@suse.com
- %bcond for signify
-------------------------------------------------------------------
Tue Jun 30 21:30:24 UTC 2020 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 4.33:
* New feature ev_io_modify can modify the event watch mask in
I/O watchers without incurring overhead from changed fd
- includes changes from 4.31:
* new backend iouring using new event polling mechanism in
Linux 4.18
* take advantage of timerfds to detect time jumps
- add libev-4.33-nonvoid-return.patch to fix build
- add signify (bsd) based source verification
-------------------------------------------------------------------
Wed Jul 17 18:10:28 UTC 2019 - pgajdos@suse.com
- version update to 4.27
* 4.27 Thu Jun 27 22:43:44 CEST 2019
- linux aio backend almost complete rewritten to work around its
limitations.
- epoll backend now mandatory for linux aio backend.
- fail assertions more aggressively on invalid fd's detected
in the event loop, do not just silently fd_kill in case of
user error.
- ev_io_start/ev_io_stop now verify the watcher fd using
a syscall when EV_VERIFY is 2 or higher.
* 4.26 (EV only)
- update to libecb 0x00010006.
- new experimental linux aio backend (linux 4.18+).
- removed redundant 0-ptr check in ev_once.
- updated/extended ev_set_allocator documentation.
- replaced EMPTY2 macro by array_needsize_noinit.
- minor code cleanups.
- epoll backend now uses epoll_create1 also after fork.
* 4.25 Fri Dec 21 07:49:20 CET 2018
- INCOMPATIBLE CHANGE: EV_THROW was renamed to EV_NOEXCEPT
(EV_THROW still provided) and now uses noexcept on C++11 or newer.
- move the darwin select workaround highe rin ev.c, as newer versions of
darwin managed to break their broken select even more.
- ANDROID => __ANDROID__ (reported by enh@google.com).
- disable epoll_create1 on android because it has broken header files
and google is unwilling to fix them (reported by enh@google.com).
- avoid a minor compilation warning on win32.
- c++: remove deprecated dynamic throw() specifications.
- c++: improve the (unsupported) bad_loop exception class.
- backport perl ev_periodic example to C, untested.
- update libecb, biggets change is to include a memory fence
in ECB_MEMORY_FENCE_RELEASE on x86/amd64.
- minor autoconf/automake modernisation.
- do not edit source in %prep, so they are not edited after quilt
setup
-------------------------------------------------------------------
Thu Sep 28 10:14:07 UTC 2017 - jengelh@inai.de
- Update package descriptions and RPM categories.
-------------------------------------------------------------------
Mon Jul 17 08:52:41 UTC 2017 - tchvatal@suse.com
- Version update to latest release 4.24:
* bump version to 4.24, as the release tarball inexplicably
didn't have the right version in ev.h, even though the cvs-tagged
version did have the right one (reported by Ales Teska).
- Version update to release 4.23:
* move some declarations at the beginning to help certain retarded
microsoft compilers, even though their documentation claims
otherwise (reported by Ruslan Osmanov).
- Run over with spec-cleaner and remove empty comment lines
- Remove mandriva condition
-------------------------------------------------------------------
Thu Dec 24 14:46:12 UTC 2015 - mpluskal@suse.com
- Update to 4.22
* when epoll detects unremovable fds in the fd set, rebuild only
the epoll descriptor, not the signal pipe, to avoid SIGPIPE in
ev_async_send. This doesn't solve it on fork, so document what
needs to be done in ev_loop_fork (analyzed by Benjamin Mahler).
* remove superfluous sys/timeb.h include on win32 (analyzed by
Jason Madden).
* updated libecb.
- Changes for 4.20
* prefer noexcept over throw () with C++ 11.
* update ecb.h due to incompatibilities with c11.
* fix a potential aliasing issue when reading and writing
watcher callbacks.
- Refresh libev-4.15_compiler_warnings.patch
-------------------------------------------------------------------
Wed Jul 29 09:53:46 UTC 2015 - dimstar@opensuse.org
- Add baselibs.conf: build libev4-32bit, as needed by
libverto-libev1-32bit.
-------------------------------------------------------------------
Wed Jan 14 09:13:42 UTC 2015 - sweet_f_a@gmx.de
- update to version 4.19
* 4.19 Thu Sep 25 08:18:25 CEST 2014
- ev.h wasn't valid C++ anymore, which tripped compilers other
than clang, msvc or gcc (analyzed by Raphael 'kena' Poss).
Unfortunately, C++ doesn't support typedefs for function
pointers fully, so the affected declarations have to spell
out the types each time.
- when not using autoconf, tighten the check for clock_gettime
and related functionality.
* 4.18 Fri Sep 5 17:55:26 CEST 2014
- events on files were not always generated properly with the
epoll backend (testcase by Assaf Inbal).
- mark event pipe fd as cloexec after a fork (analyzed by Sami
Farin).
- (ecb) support m68k, m88k and sh (patch by Miod Vallat).
- use a reasonable fallback for EV_NSIG instead of erroring out
when we can't detect the signal set size.
- in the absence of autoconf, do not use the clock syscall
on glibc >= 2.17 (avoids the syscall AND -lrt on systems
doing clock_gettime in userspace).
- ensure extern "C" function pointers are used for
externally-visible loop callbacks (not watcher callbacks yet)
- (ecb) work around memory barriers and volatile apparently
both being broken in visual studio 2008 and later (analysed
and patch by Nicolas Noble).
-------------------------------------------------------------------
Thu Apr 11 04:29:08 UTC 2013 - sweet_f_a@gmx.de
- update to version 4.15
- destroying a non-default loop would stop the global waitpid
watcher (Denis Bilenko).
- queueing pending watchers of higher priority from a watcher now invokes
them in a timely fashion (reported by Denis Bilenko).
- add throw() to all libev functions that cannot throw exceptions, for
further code size decrease when compiling for C++.
- add throw () to callbacks that must not throw exceptions (allocator,
syserr, loop acquire/release, periodic reschedule cbs).
- fix event_base_loop return code, add event_get_callback, event_base_new,
event_base_get_method calls to improve libevent 1.x emulation and add
some libevent 2.x functionality (based on a patch by Jeff Davey).
- add more memory fences to fix a bug reported by Jeff Davey. Better
be overfenced than underprotected.
- ev_run now returns a boolean status (true meaning watchers are
still active).
- ev_once: undef EV_ERROR in ev_kqueue.c, to avoid clashing with
libev's EV_ERROR (reported by 191919).
- (ecb) add memory fence support for xlC (Darin McBride).
- (ecb) add memory fence support for gcc-mips (Anton Kirilov).
- (ecb) add memory fence support for gcc-alpha (Christian Weisgerber).
- work around some kernels losing file descriptors by leaking
the kqueue descriptor in the child.
- work around linux inotify not reporting IN_ATTRIB changes for directories
in many cases.
- include sys/syscall.h instead of plain syscall.h.
- check for io watcher loops in ev_verify, check for the most
common reported usage bug in ev_io_start.
- choose socket vs. WSASocket at compiletime using EV_USE_WSASOCKET.
- always use WSASend/WSARecv directly on windows, hoping that this
works in all cases (unlike read/write/send/recv...).
- try to detect signals around a fork faster (test program by
Denis Bilenko).
- work around recent glibc versions that leak memory in realloc.
- rename ev::embed::set to ev::embed::set_embed to avoid clashing
the watcher base set (loop) method.
- rewrite the async/signal pipe logic to always keep a valid fd, which
simplifies (and hopefully correctifies :) the race checking
on fork, at the cost of one extra fd.
- add fat, msdos, jffs2, ramfs, ntfs and btrfs to the list of
inotify-supporting filesystems.
- move orig_CFLAGS assignment to after AC_INIT, as newer autoconf
versions ignore it before
(https://bugzilla.redhat.com/show_bug.cgi?id=908096).
- add some untested android support.
- enum expressions must be of type int (reported by Juan Pablo L).
- rebase libev-4.15_compiler_warnings.patch
-------------------------------------------------------------------
Thu Dec 20 11:39:16 UTC 2012 - sweet_f_a@gmx.de
- fix mandriva build
- don't use obsolete makeinstall macro
-------------------------------------------------------------------
Sat Jul 7 14:38:42 UTC 2012 - reddwarf@opensuse.org
- update to version 4.11
- INCOMPATIBLE CHANGE: ev_timer_again now clears the pending
status, as was documented already, but not implemented in the
repeating case.
- new compiletime symbols: EV_NO_SMP and EV_NO_THREADS.
- fix a race where the workaround against the epoll fork bugs
caused signals to not be handled anymore.
- correct backend_fudge for most backends, and implement a
windows specific workaround to avoid looping because we call
both select and Sleep, both with different time resolutions.
- document range and guarantees of ev_sleep.
- document reasonable ranges for periodics interval and offset.
- rename backend_fudge to backend_mintime to avoid future
confusion :)
- change the default periodic reschedule function to hopefully
be more exact and correct even in corner cases or in the far
future.
- do not rely on -lm anymore: use it when available but use our
own floor () if it is missing. This should make it easier to
embed, as no external libraries are required.
- strategically import macros from libecb and mark rarely-used
functions as cache-cold (saving almost 2k code size on typical
amd64 setups).
- add Symbols.ev and Symbols.event files, that were missing.
- fix backend_mintime value for epoll (was 1/1024, is 1/1000 now).
- fix #3 "be smart about timeouts" to not "deadlock" when
timeout == now, also improve the section overall.
- avoid "AVOIDING FINISHING BEFORE RETURNING" idiom.
- support new EV_API_STATIC mode to make all libev symbols
static.
- supply default CFLAGS of -g -O3 with gcc when original CFLAGS
were empty.
- generate .pc manually to avoid having to regenerate the patch
(that is not accepted upstream) and autoreconf call
-------------------------------------------------------------------
Fri Dec 16 12:01:39 UTC 2011 - stbuehler@web.de
- update to version 4.04
- fix two problems in the native win32 backend, where reuse of fd's
with different underlying handles caused handles not to be removed
or added to the select set (analyzed and tested by Bert Belder).
- do no rely on ceil() in ev_e?poll.c.
- backport libev to HP-UX versions before 11 v3.
- configure did not detect nanosleep and clock_gettime properly when
they are available in the libc (as opposed to -lrt).
- update to version 4.03
- officially support polling files with all backends.
- support files, /dev/zero etc. the same way as select in the epoll
backend, by generating events on our own.
- ports backend: work around solaris bug 6874410 and many related ones
(EINTR, maybe more), with no performance loss (note that the solaris
bug report is actually wrong, reality is far more bizarre and broken
than that).
- define EV_READ/EV_WRITE as macros in event.h, as some programs use
#ifdef to test for them.
- new (experimental) function: ev_feed_signal.
- new (to become default) EVFLAG_NOSIGMASK flag.
- new EVBACKEND_MASK symbol.
- updated COMMON IDIOMS SECTION.
-------------------------------------------------------------------
Fri Dec 16 10:13:55 UTC 2011 - sweet_f_a@gmx.de
- explicit specify package group for subpackages to fix SLE build
"error: Group field must be present in package: libev4"
- BuildRequire pkgconfig instead of pkg-config to be more compatible
-------------------------------------------------------------------
Thu Dec 8 13:59:12 UTC 2011 - coolo@suse.com
- license seems to be BSD-2-Clause
-------------------------------------------------------------------
Sun Nov 13 09:16:12 UTC 2011 - coolo@suse.com
- add libtool as explicit buildrequire to avoid implicit dependency from prjconf
-------------------------------------------------------------------
Sat Nov 6 09:21:44 UTC 2010 - stbuehler@web.de
- build-require pkg-config to provide pkgconfig(libev)
- update to version 4.01
- automake fucked it up, apparently, --add-missing -f is not quite enough
to make it update its files, so 4.00 didn't install ev++.h and
event.h on make install. grrr.
- ev_loop(count|depth) didn't return anything (Robin Haberkorn).
- change EV_UNDEF to 0xffffffff to silence some overzealous compilers.
- use "(libev) " prefix for all libev error messages now.
-------------------------------------------------------------------
Mon Oct 25 12:57:26 UTC 2010 - mrueckert@suse.de
- update to version 4.00
- "PORTING FROM LIBEV 3.X TO 4.X" (in ev.pod) is recommended
reading.
- ev_embed_stop did not correctly stop the watcher (very good
testcase by Vladimir Timofeev).
- ev_run will now always update the current loop time - it
erroneously didn't when idle watchers were active, causing
timers not to fire.
- fix a bug where a timeout of zero caused the timer not to fire
in the libevent emulation (testcase by Péter Szabó).
- applied win32 fixes by Michael Lenaghan (also James Mansion).
- replace EV_MINIMAL by EV_FEATURES.
- prefer EPOLL_CTL_ADD over EPOLL_CTL_MOD in some more cases, as
it seems the former is *much* faster than the latter.
- linux kernel version detection (for inotify bug workarounds)
did not work properly.
- reduce the number of spurious wake-ups with the ports backend.
- remove dependency on sys/queue.h on freebsd (patch by Vanilla
Hsu).
- do async init within ev_async_start, not ev_async_set, which
avoids an API quirk where the set function must be called in
the C++ API even when there is nothing to set.
- add (undocumented) EV_ENABLE when adding events with kqueue,
this might help with OS X, which seems to need it despite
documenting not to need it (helpfully pointed out by Tilghman
Lesher).
- do not use poll by default on freebsd, it's broken (what isn't
on freebsd...).
- allow to embed epoll on kernels >= 2.6.32.
- configure now prepends -O3, not appends it, so one can still
override it.
- ev.pod: greatly expanded the portability section, added a
porting section, a description of watcher states and made lots
of minor fixes.
- disable poll backend on AIX, the poll header spams the
namespace and it's not worth working around dead platforms
(reported and analyzed by Aivars Kalvans).
- improve header file compatibility of the standalone eventfd
code in an obscure case.
- implement EV_AVOID_STDIO option.
- do not use sscanf to parse linux version number (smaller,
faster, no sscanf dependency).
- new EV_CHILD_ENABLE and EV_SIGNAL_ENABLE configurable settings.
- update libev.m4 HAVE_CLOCK_SYSCALL test for newer glibcs.
- add section on accept() problems to the manpage.
- rename EV_TIMEOUT to EV_TIMER.
- rename ev_loop_count/depth/verify/loop/unloop.
- remove ev_default_destroy and ev_default_fork.
- switch to two-digit minor version.
- work around an apparent gentoo compiler bug.
- use enum instead of #define for most constants.
- improve compatibility to older C++ compilers.
- (experimental) ev_run/ev_default_loop/ev_break/ev_loop_new have
now default arguments when compiled as C++.
- ev_loop_new no longer leaks memory when loop creation failed.
- new ev_cleanup watcher type.
- move pkgconfig file to devel package
- updated compiler warnings patch:
old name libev-3.9_compiler_warnings.patch
new name libev-4.00_compiler_warnings.patch
-------------------------------------------------------------------
Mon Aug 23 13:26:25 UTC 2010 - mrueckert@suse.de
- added libev-3.9_pkg-config.patch:
patch by stbuehler.
-------------------------------------------------------------------
Wed Jul 14 15:39:22 UTC 2010 - mrueckert@suse.de
- update to 3.9
for the changes see /usr/share/doc/packages/libev-devel/Changes
-------------------------------------------------------------------
Thu Feb 19 12:29:58 CET 2009 - mrueckert@suse.de
- update to 3.53
for the changes see /usr/share/doc/packages/libev-devel/Changes
-------------------------------------------------------------------
Tue Sep 16 17:05:17 CEST 2008 - mrueckert@suse.de
- update to 3.43
for the changes see /usr/share/doc/packages/libev-devel/Changes
-------------------------------------------------------------------
Fri Feb 29 00:34:46 CET 2008 - mrueckert@suse.de
- update to version 3.0:
- API/ABI bump to version 3.0.
- ev++.h includes "ev.h" by default now, not <ev.h>.
- slightly improved documentation.
- speed up signal detection after a fork.
- only optionally return trace status changed in ev_child watchers.
- experimental (and undocumented) loop wrappers for ev++.h.
- additional changes from 2.01:
- separate Changes file.
- fix ev_path_set => ev_stat_set typo.
- remove event_compat.h from the libev tarball.
- change how include files are found.
- doc updates.
- update licenses, explicitly allow for GPL relicensing.
-------------------------------------------------------------------
Sun Dec 23 17:34:05 CET 2007 - mrueckert@suse.de
- fix license
-------------------------------------------------------------------
Sun Dec 23 16:56:42 CET 2007 - mrueckert@suse.de
- initial package

10
libev.pc Normal file
View File

@ -0,0 +1,10 @@
prefix=@prefix@
exec_prefix=${prefix}
libdir=${exec_prefix}/@lib_suffix@
includedir=${prefix}/include
Name: libev
Description: high-performance event loop
Version: @VERSION@
Libs: -L${libdir} -lev
Cflags: -I${includedir}

124
libev.spec Normal file
View File

@ -0,0 +1,124 @@
#
# spec file for package libev
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if 0%{?suse_version} >= 1699
%bcond_without signify
%else
%bcond_with signify
%endif
%define library_name libev4
Name: libev
Version: 4.33
Release: 0
Summary: An event loop library
License: BSD-2-Clause
Group: Development/Libraries/C and C++
URL: http://software.schmorp.de/pkg/libev.html
Source: http://dist.schmorp.de/%{name}/Attic/%{name}-%{version}.tar.gz
# Upstream has received patches to add pkg-config support for years but it always ignored them (yes, no answer at all). But since every distribution creates it we just follow.
Source1: libev.pc
Source2: http://dist.schmorp.de/%{name}/Attic/%{name}-%{version}.tar.gz.sig
Source3: http://dist.schmorp.de/signing-key.pub
Source99: baselibs.conf
Patch0: libev-4.15_compiler_warnings.patch
Patch1: libev-4.33-nonvoid-return.patch
BuildRequires: pkgconfig
%if %{with signify}
BuildRequires: signify
%endif
%description
An event loop that is loosely modeled after libevent.
%package -n %{library_name}
Summary: An event loop library
Group: System/Libraries
%description -n %{library_name}
An event loop that is loosely modeled after libevent. Features
include child/PID watchers, periodic timers based on wallclock
(absolute) time (in addition to timers using relative timeouts), as
well as epoll/kqueue/event ports/inotify/eventfd/signalfd support,
timer management, time jump detection and correction.
This package holds the shared libraries of libev.
%package devel
Summary: Development files for libev
Group: Development/Libraries/C and C++
Requires: %{library_name} = %{version}
%description devel
An event loop that is loosely modeled after libevent. Features
include child/PID watchers, periodic timers based on wallclock
(absolute) time (in addition to timers using relative timeouts), as
well as epoll/kqueue/event ports/inotify/eventfd/signalfd support,
timer management, time jump detection and correction.
It can be used as a libevent replacement using its emulation API, or
directly embedded into programs. An optional Perl interface is
available.
This package holds the development files for libev.
%prep
%if %{with signify}
signify -V -p %{SOURCE3} -m %{SOURCE0}
%endif
%setup -q
%patch0
%patch1 -p1
%build
CFLAGS="%{optflags} -fno-strict-aliasing -Wno-unused"
%configure \
--docdir=%{_docdir} \
--disable-static
make %{?_smp_mflags}
%check
make %{?_smp_mflags} check
%install
%make_install
rm -v %{buildroot}%{_libdir}/libev.la
mkdir -p %{buildroot}%{_libdir}/pkgconfig
sed -i 's;@prefix@;%{_prefix};' %{SOURCE1}
sed -i 's;@lib_suffix@;%{_lib};' %{SOURCE1}
sed -i 's;@VERSION@;%{version};' %{SOURCE1}
cp %{SOURCE1} %{buildroot}%{_libdir}/pkgconfig/libev.pc
%post -n %{library_name} -p /sbin/ldconfig
%postun -n %{library_name} -p /sbin/ldconfig
%files devel
%license LICENSE
%doc README ev.pod Changes
%{_includedir}/ev++.h
%{_includedir}/ev.h
%{_includedir}/event.h
%{_libdir}/libev.so
%{_mandir}/man3/ev.3%{?ext_man}
%{_libdir}/pkgconfig/libev.pc
%files -n %{library_name}
%{_libdir}/libev.so.4*
%changelog

2
signing-key.pub Normal file
View File

@ -0,0 +1,2 @@
untrusted comment: openbsd signify key for dist.schmorp.de, data.schmorp.de
RWSUBDizLm/GKdlJp8Fr7pMD3pQbONEk+IqVldf+mQn0pYmkiCRDa22s