Browse Source

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>
lilik-openwrt-22.03
Michael Heimpold 10 years ago
parent
commit
e746e0d2a5
2 changed files with 18 additions and 2 deletions
  1. +2
    -2
      lang/php5-pecl-libevent/Makefile
  2. +16
    -0
      lang/php5-pecl-libevent/patches/010-libevent2.patch

+ 2
- 2
lang/php5-pecl-libevent/Makefile 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)))

+ 16
- 0
lang/php5-pecl-libevent/patches/010-libevent2.patch 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>

Loading…
Cancel
Save