php5-pecl-libevent: add a patch to force usage of libevent2 headers (refs #1322)
authorMichael Heimpold <mhei@heimpold.de>
Sun, 31 May 2015 22:08:57 +0000 (00:08 +0200)
committerMichael Heimpold <mhei@heimpold.de>
Sun, 31 May 2015 22:09:02 +0000 (00:09 +0200)
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>
lang/php5-pecl-libevent/Makefile
lang/php5-pecl-libevent/patches/010-libevent2.patch [new file with mode: 0644]

index 6beee26f28f25da4f3e7de6622ba05ca438986a8..feca20df3a0ec35f1e9addedc32bd8d992bb7741 100644 (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)))
diff --git a/lang/php5-pecl-libevent/patches/010-libevent2.patch b/lang/php5-pecl-libevent/patches/010-libevent2.patch
new file mode 100644 (file)
index 0000000..961fb36
--- /dev/null
@@ -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>