php5-pecl-libevent: add a patch to force usage of libevent2 headers (refs #1322)

Builtbots currently fail to compile this package with (example message):
 ... /libevent-0.1.0/libevent.c:1403:42: error: 'EVBUFFER_READ' undeclared (first use in this function)
  REGISTER_LONG_CONSTANT("EVBUFFER_READ", EVBUFFER_READ, CONST_CS | CONST_PERSISTENT);

With libevent2, the main include file event.h is deprecated, but includes
enough stuff and other compat includes that it _should work_. I could not figure
out why it fails (all locally builds work out-of-the-box), so this is a trial to
circumvent this compat header file and include the libevent2 headers directly.

While at, add a missing dependency to the sockets extension.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
This commit is contained in:
Michael Heimpold 2015-06-01 00:08:57 +02:00
parent 4020ee4fb6
commit e746e0d2a5
2 changed files with 18 additions and 2 deletions

View File

@ -11,7 +11,7 @@ PECL_NAME:=libevent
PECL_LONGNAME:=Libevent - event notification
PKG_VERSION:=0.1.0
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_MD5SUM:=e091371a9e714098a4c04a6e3daeb56a
PKG_NAME:=php5-pecl-$(PECL_NAME)
@ -34,5 +34,5 @@ include ../php5/pecl.mk
CONFIGURE_ARGS+= --with-libevent=shared,"$(STAGING_DIR)/usr"
$(eval $(call PECLPackage,$(PECL_NAME),$(PECL_LONGNAME),+libevent2))
$(eval $(call PECLPackage,$(PECL_NAME),$(PECL_LONGNAME),+libevent2 +php5-mod-sockets))
$(eval $(call BuildPackage,$(PKG_NAME)))

View File

@ -0,0 +1,16 @@
--- a/libevent.c
+++ b/libevent.c
@@ -42,10 +42,12 @@
(rsrc = (rsrc_type) zend_fetch_resource(passed_id TSRMLS_CC, default_id, resource_type_name, NULL, 1, resource_type))
#endif
-#ifdef PHP_WIN32
+//#ifdef PHP_WIN32
/* XXX compiling with 2.x on Windows. Luckily the ext code works thanks to the
compat exports from the libevent. However it might need to be adapted to the
never version, so this ifdefs would go away. */
+#if 1
+/* force use of libevent2 on OpenWrt and by-pass compat event.h */
# include <event2/event.h>
# include <event2/event_compat.h>
# include <event2/event_struct.h>