summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core/libevent/0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch31
-rw-r--r--abs/core/libevent/PKGBUILD36
2 files changed, 54 insertions, 13 deletions
diff --git a/abs/core/libevent/0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch b/abs/core/libevent/0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch
new file mode 100644
index 0000000..41eeda0
--- /dev/null
+++ b/abs/core/libevent/0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch
@@ -0,0 +1,31 @@
+From 497ef904d544ac51de43934549dbeccce8e6e8f8 Mon Sep 17 00:00:00 2001
+From: Azat Khuzhin <azat@libevent.org>
+Date: Mon, 1 Jul 2019 23:54:02 +0300
+Subject: [PATCH] Warn if forked from the event loop during event_reinit()
+
+Calling fork() from the event loop is not a great idea, since at least
+it shares some internal pipes (for handling signals) before
+event_reinit() call
+
+Closes: #833
+---
+ event.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/event.c b/event.c
+index fa4f2802e..aa6c6fba3 100644
+--- a/event.c
++++ b/event.c
+@@ -1003,6 +1003,12 @@ event_reinit(struct event_base *base)
+
+ EVBASE_ACQUIRE_LOCK(base, th_base_lock);
+
++ if (base->running_loop) {
++ event_warnx("%s: forked from the event_loop.", __func__);
++ res = -1;
++ goto done;
++ }
++
+ evsel = base->evsel;
+
+ /* check if this event mechanism requires reinit on the backend */
diff --git a/abs/core/libevent/PKGBUILD b/abs/core/libevent/PKGBUILD
index c7251c5..96e8793 100644
--- a/abs/core/libevent/PKGBUILD
+++ b/abs/core/libevent/PKGBUILD
@@ -1,36 +1,46 @@
-# $Id$
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: Judd <jvinet@zeroflux.org>
pkgname=libevent
-pkgver=2.1.8
-pkgrel=1
+pkgver=2.1.11
+pkgrel=5
pkgdesc="An event notification library"
arch=('x86_64')
-url="http://libevent.org/"
+url="https://libevent.org/"
license=('BSD')
depends=('openssl')
-optdepends=('python2: to use event_rpcgen.py')
-source=(https://github.com/libevent/libevent/releases/download/release-$pkgver-stable/$pkgname-$pkgver-stable.tar.gz{,.asc})
-sha256sums=('965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2'
- 'SKIP')
+makedepends=('cmake' 'python')
+optdepends=('python: to use event_rpcgen.py')
+source=(https://github.com/libevent/libevent/releases/download/release-$pkgver-stable/$pkgname-$pkgver-stable.tar.gz{,.asc}
+ https://raw.githubusercontent.com/libevent/libevent/release-2.1.11-stable/cmake/Uninstall.cmake.in
+ 0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch)
+sha256sums=('a65bac6202ea8c5609fd5c7e480e6d25de467ea1917c08290c521752f147283d'
+ 'SKIP'
+ '1584d6e36642d930ac99d014a485fe886ec705b3f998d128c6d6f227e0454b72'
+ '436e56c74c0af0b70c43eaae6bd32b760601d2d5fa98b8d2d026ffad18474e13')
validpgpkeys=('B35BF85BF19489D04E28C33C21194EBB165733EA'
'9E3AC83A27974B84D1B3401DB86086848EF8686D')
+prepare() {
+ cd ${pkgname}-${pkgver}-stable
+ patch -Np1 -R < ../0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch
+
+ cp -n ../Uninstall.cmake.in cmake # https://github.com/libevent/libevent/issues/914
+}
+
build() {
cd ${pkgname}-${pkgver}-stable
- ./autogen.sh
- ./configure --prefix=/usr --sysconfdir=/etc --disable-libevent-regress
- make
+ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DEVENT__LIBRARY_TYPE=SHARED -S . -B build
+ cmake --build build
}
check() {
cd ${pkgname}-${pkgver}-stable
- make -j1 check
+ cmake --build build --target test
}
package() {
cd ${pkgname}-${pkgver}-stable
- make DESTDIR="${pkgdir}" install
+ cmake --build build --target install -- DESTDIR="$pkgdir"
install -Dm 644 LICENSE "${pkgdir}"/usr/share/licenses/libevent/LICENSE
}