commit 287cc5f7f341b1a9a1208667dc2a1fe9b13e232e Author: Adrian Schröter Date: Fri Oct 6 17:05:21 2023 +0200 Sync from SUSE:ALP:Source:Standard:1.0 libev revision 8859817a3cfdeb5f37a5b66865cbd3be diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..18c6ca8 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libev4 diff --git a/libev-4.15_compiler_warnings.patch b/libev-4.15_compiler_warnings.patch new file mode 100644 index 0000000..4b87433 --- /dev/null +++ b/libev-4.15_compiler_warnings.patch @@ -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; + } + diff --git a/libev-4.33-nonvoid-return.patch b/libev-4.33-nonvoid-return.patch new file mode 100644 index 0000000..6b56b2d --- /dev/null +++ b/libev-4.33-nonvoid-return.patch @@ -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); diff --git a/libev-4.33.tar.gz b/libev-4.33.tar.gz new file mode 100644 index 0000000..5ae6c82 --- /dev/null +++ b/libev-4.33.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea +size 569527 diff --git a/libev-4.33.tar.gz.sig b/libev-4.33.tar.gz.sig new file mode 100644 index 0000000..075b37d --- /dev/null +++ b/libev-4.33.tar.gz.sig @@ -0,0 +1,2 @@ +untrusted comment: verify with dist.schmorp.de.pub +RWSUBDizLm/GKUmIcR8BOw/6a/jcHO2l5Nz/fiZjqfL9B6GWcU3sHGCzBCclRe47gMd0xWvaGmIcxaXL8XVNA1/9qpLPJQ9Z9Q8= diff --git a/libev.changes b/libev.changes new file mode 100644 index 0000000..f33f612 --- /dev/null +++ b/libev.changes @@ -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 + +- 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 . + - 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 + diff --git a/libev.pc b/libev.pc new file mode 100644 index 0000000..f0783d6 --- /dev/null +++ b/libev.pc @@ -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} diff --git a/libev.spec b/libev.spec new file mode 100644 index 0000000..0ba5b60 --- /dev/null +++ b/libev.spec @@ -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 diff --git a/signing-key.pub b/signing-key.pub new file mode 100644 index 0000000..21f181e --- /dev/null +++ b/signing-key.pub @@ -0,0 +1,2 @@ +untrusted comment: openbsd signify key for dist.schmorp.de, data.schmorp.de +RWSUBDizLm/GKdlJp8Fr7pMD3pQbONEk+IqVldf+mQn0pYmkiCRDa22s