dev-php/pecl-event: fix USE=-sockets build with >=dev-lang/php-7.0
authorRuslan Osmanov <rrosmanov@gmail.com>
Fri, 20 Mar 2020 15:01:58 +0000 (16:01 +0100)
committerThomas Deutschmann <whissi@gentoo.org>
Fri, 20 Mar 2020 15:02:25 +0000 (16:02 +0100)
Closes: https://bugs.gentoo.org/710100
Signed-off-by: Ruslan Osmanov <rrosmanov@gmail.com>
Package-Manager: Portage-2.3.94, Repoman-2.3.21
Closes: https://github.com/gentoo/gentoo/pull/14754
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
dev-php/pecl-event/files/pecl-event-2.5.3-no-sockets.patch [new file with mode: 0644]
dev-php/pecl-event/pecl-event-2.5.3-r1.ebuild [new file with mode: 0644]

diff --git a/dev-php/pecl-event/files/pecl-event-2.5.3-no-sockets.patch b/dev-php/pecl-event/files/pecl-event-2.5.3-no-sockets.patch
new file mode 100644 (file)
index 0000000..9b95708
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/php7/src/fe-orig.c       2020-02-23 15:50:42.159505602 +0300
++++ b/php7/src/fe.c    2020-02-23 15:51:09.985462245 +0300
+@@ -640,7 +640,9 @@
+       PHP_ME(EventUtil, getSocketName,   arginfo_event_util_get_socket_name,   ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME(EventUtil, getSocketFd,     arginfo_event_util_get_socket_fd,     ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
+       PHP_ME(EventUtil, setSocketOption, arginfo_event_util_set_socket_option, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
++#ifdef PHP_EVENT_SOCKETS_SUPPORT
+       PHP_ME(EventUtil, createSocket,    arginfo_event_util_create_socket,     ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
++#endif
+       PHP_FE_END
+ };
diff --git a/dev-php/pecl-event/pecl-event-2.5.3-r1.ebuild b/dev-php/pecl-event/pecl-event-2.5.3-r1.ebuild
new file mode 100644 (file)
index 0000000..b30711e
--- /dev/null
@@ -0,0 +1,60 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PHP_EXT_NAME="event"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+DOCS=( README.md )
+
+USE_PHP="php7-1 php7-2 php7-3 php7-4"
+
+inherit php-ext-pecl-r3
+
+KEYWORDS="~amd64 ~ia64 ~x86"
+LICENSE="PHP-3.01"
+
+DESCRIPTION="PHP wrapper for libevent2"
+SLOT="0"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-2.5.3-no-sockets.patch"
+)
+
+DEPEND="
+       >=dev-libs/libevent-2.0.2
+       ssl? (
+               !libressl? ( dev-libs/openssl:0= )
+               libressl? ( dev-libs/libressl:0= )
+       )
+       php_targets_php7-1? ( dev-lang/php:7.1[sockets?] )
+       php_targets_php7-2? ( dev-lang/php:7.2[sockets?] )
+       php_targets_php7-3? ( dev-lang/php:7.3[sockets?] )
+       php_targets_php7-4? ( dev-lang/php:7.4[sockets?] )"
+
+RDEPEND="
+       ${DEPEND}
+       !dev-php/pecl-libevent"
+
+IUSE="debug examples +extra libressl +sockets +ssl threads"
+
+src_configure() {
+       local PHP_EXT_ECONF_ARGS=(
+               --with-event-core
+               $(use_enable debug event-debug)
+               $(use_with extra event-extra)
+               $(use_with ssl event-openssl)
+               $(use_with threads event-pthreads)
+               $(use_enable sockets event-sockets)
+       )
+       php-ext-source-r3_src_configure
+}
+
+src_test() {
+       local slot
+       for slot in $(php_get_slots); do
+               php_init_slot_env "${slot}"
+               SKIP_ONLINE_TESTS="yes" NO_INTERACTION="yes" emake test
+       done
+}