Update to 4.19

This commit is contained in:
Mathieu Bridon 2014-09-29 15:11:08 +02:00
parent 35397acbbc
commit a80763957d
6 changed files with 18 additions and 96 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@ libev-3.9.tar.gz
/libev-4.11.tar.gz
/libev-4.15.tar.gz
/libev-4.18.tar.gz
/libev-4.19.tar.gz

View File

@ -1,80 +0,0 @@
From f5f182421a3a00f429b9041008a96988b7485157 Mon Sep 17 00:00:00 2001
From: Mathieu Bridon <bochecha@fedoraproject.org>
Date: Tue, 23 Sep 2014 10:20:51 +0200
Subject: [PATCH] Fix C++ function definitions
This is a backport of the fix in upstream CVS.
http://lists.schmorp.de/pipermail/libev/2014q3/002441.html
https://bugzilla.redhat.com/show_bug.cgi?id=1145190
---
Changes | 5 +++++
ev.c | 2 +-
ev.h | 4 ++--
ev_vars.h | 5 +++--
4 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/Changes b/Changes
index 6efc4a7..4c8377c 100644
--- a/Changes
+++ b/Changes
@@ -15,6 +15,11 @@ TODO: document portability requirements for atomic pointer access
TODO: possible cb aliasing?
TODO: document requirements for function pointers and calling conventions.
+ - 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.
+
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).
diff --git a/ev.c b/ev.c
index f94fbf5..d1ebdea 100644
--- a/ev.c
+++ b/ev.c
@@ -2606,7 +2606,7 @@ ev_set_invoke_pending_cb (EV_P_ ev_loop_callback invoke_pending_cb) EV_THROW
}
void
-ev_set_loop_release_cb (EV_P_ ev_loop_callback_nothrow release, ev_loop_callback_nothrow acquire) EV_THROW
+ev_set_loop_release_cb (EV_P_ void (*release)(EV_P) EV_THROW, void (*acquire)(EV_P) EV_THROW) EV_THROW
{
release_cb = release;
acquire_cb = acquire;
diff --git a/ev.h b/ev.h
index 13d22ed..0600586 100644
--- a/ev.h
+++ b/ev.h
@@ -660,8 +660,8 @@ EV_API_DECL void ev_set_userdata (EV_P_ void *data) EV_THROW;
EV_API_DECL void *ev_userdata (EV_P) EV_THROW;
typedef void (*ev_loop_callback)(EV_P);
EV_API_DECL void ev_set_invoke_pending_cb (EV_P_ ev_loop_callback invoke_pending_cb) EV_THROW;
-typedef void (*ev_loop_callback_nothrow)(EV_P) EV_THROW;
-EV_API_DECL void ev_set_loop_release_cb (EV_P_ ev_loop_callback_nothrow release, ev_loop_callback_nothrow acquire) EV_THROW;
+/* C++ doesn't allow the use of the ev_loop_callback typedef here, so we need to spell it out*/
+EV_API_DECL void ev_set_loop_release_cb (EV_P_ void (*release)(EV_P) EV_THROW, void (*acquire)(EV_P) EV_THROW) EV_THROW;
EV_API_DECL unsigned int ev_pending_count (EV_P) EV_THROW; /* number of pending events, if any */
EV_API_DECL void ev_invoke_pending (EV_P); /* invoke all pending watchers */
diff --git a/ev_vars.h b/ev_vars.h
index 98f7718..04d4db1 100644
--- a/ev_vars.h
+++ b/ev_vars.h
@@ -194,8 +194,9 @@ VARx(unsigned int, loop_count) /* total number of loop iterations/blocks */
VARx(unsigned int, loop_depth) /* #ev_run enters - #ev_run leaves */
VARx(void *, userdata)
-VAR (release_cb, ev_loop_callback_nothrow release_cb)
-VAR (acquire_cb, ev_loop_callback_nothrow acquire_cb)
+/* C++ doesn't support the ev_loop_callback typedef here. stinks. */
+VAR (release_cb, void (*release_cb)(EV_P) EV_THROW)
+VAR (acquire_cb, void (*acquire_cb)(EV_P) EV_THROW)
VAR (invoke_cb , ev_loop_callback invoke_cb)
#endif
--
2.1.0

View File

@ -1,6 +1,6 @@
From 7100cc6ca79ba4c2ede57142e159d2127040baba Mon Sep 17 00:00:00 2001
From 340de6f2093594765c2df1f91842bfe90a1404f1 Mon Sep 17 00:00:00 2001
From: Mathieu Bridon <bochecha@fedoraproject.org>
Date: Mon, 8 Sep 2014 11:34:50 +0200
Date: Mon, 29 Sep 2014 15:02:32 +0200
Subject: [PATCH] Modernize the configure.ac
Without it, Automake 1.13 and above will refuse it.
@ -12,18 +12,18 @@ See the details for AM_INIT_AUTOMAKE at:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index a35d1c1..6c07ae3 100644
index 7e2d5e3..237419a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,10 +1,10 @@
-AC_INIT
+AC_INIT([libev], [4.18])
+AC_INIT([libev], [4.19])
orig_CFLAGS="$CFLAGS"
AC_CONFIG_SRCDIR([ev_epoll.c])
-AM_INIT_AUTOMAKE(libev,4.18) dnl also update ev.h!
-AM_INIT_AUTOMAKE(libev,4.19) dnl also update ev.h!
+AM_INIT_AUTOMAKE
AC_CONFIG_HEADERS([config.h])
AM_MAINTAINER_MODE

View File

@ -1,6 +1,6 @@
From 89ae305e74de5a1ba8af59fdcae2a8f2f6ca8a79 Mon Sep 17 00:00:00 2001
From ebf0414512fac660087fa10fc7862247a4beedfb Mon Sep 17 00:00:00 2001
From: Mathieu Bridon <bochecha@fedoraproject.org>
Date: Mon, 8 Sep 2014 11:36:07 +0200
Date: Mon, 29 Sep 2014 15:03:34 +0200
Subject: [PATCH] Respect the CFLAGS if defined
https://bugzilla.redhat.com/show_bug.cgi?id=908096
@ -9,11 +9,11 @@ https://bugzilla.redhat.com/show_bug.cgi?id=908096
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 6c07ae3..dfd6db8 100644
index 237419a..3349fda 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,13 +1,13 @@
AC_INIT([libev], [4.18])
AC_INIT([libev], [4.19])
-orig_CFLAGS="$CFLAGS"
-

View File

@ -3,17 +3,16 @@
Name: libev
Summary: High-performance event loop/event model with lots of features
Version: 4.18
Release: 2%{?dist}
Version: 4.19
Release: 1%{?dist}
License: BSD or GPLv2+
URL: http://software.schmorp.de/pkg/libev.html
Source0: http://dist.schmorp.de/libev/Attic/%{name}-%{version}.tar.gz
BuildRequires: autoconf automake libtool
Patch0: libev-4.18-Modernize-the-configure.ac.patch
Patch1: libev-4.18-Respect-the-CFLAGS-if-defined.patch
Patch2: libev-4.18-Fix-C-function-definitions.patch
Patch0: libev-4.19-Modernize-the-configure.ac.patch
Patch1: libev-4.19-Respect-the-CFLAGS-if-defined.patch
%description
Libev is modeled (very loosely) after libevent and the Event Perl
@ -56,7 +55,6 @@ This package contains the source code for libev.
%patch0 -p1
%patch1 -p1
%patch2 -p1
autoreconf -i
@ -106,6 +104,9 @@ install -p -m 0644 Changes ev.pod LICENSE README %{inst_srcdir}
%changelog
* Mon Sep 29 2014 Mathieu Bridon <bochecha@fedoraproject.org> - 4.19-1
- Update to 4.19.
* Tue Sep 23 2014 Mathieu Bridon <bochecha@fedoraproject.org> - 4.18-2
- Fix C++ function definitions
https://bugzilla.redhat.com/show_bug.cgi?id=1145190

View File

@ -1 +1 @@
e7baceb8e2a74cb29deb1e39d1fcf966 libev-4.18.tar.gz
01d1c672697f649b4f94abd0b70584ff libev-4.19.tar.gz