summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>2018-10-14 16:28:19 +0000
committerSunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>2018-10-14 16:28:19 +0000
commita59643c1a2b5dfc6701327ba07a5130fab8e07a8 (patch)
tree1889171015073400570cec05cfbf27844b62be95
parentFix build with PHP 7.3 (diff)
Fix build with PHP 7.3
-rw-r--r--databases/php-memcache/Makefile5
-rw-r--r--databases/php-memcache/files/patch-php7-memcache.c38
2 files changed, 41 insertions, 2 deletions
diff --git a/databases/php-memcache/Makefile b/databases/php-memcache/Makefile
index 5f9482f7a253..581fa4d260de 100644
--- a/databases/php-memcache/Makefile
+++ b/databases/php-memcache/Makefile
@@ -16,11 +16,12 @@ OPTIONS_DEFINE= EXAMPLES
PORTSCOUT= skipv:start
+USES= dos2unix php:ext
+USE_PHP= session:build zlib:build
+
CONFIGURE_ARGS= --with-zlib-dir=/usr
IGNORE_WITH_PHP=56
USE_CSTD= gnu89
-USE_PHP= session:build zlib:build
-USES= dos2unix php:ext
GH_ACCOUNT= websupport-sk
GH_PROJECT= pecl-${PORTNAME}
diff --git a/databases/php-memcache/files/patch-php7-memcache.c b/databases/php-memcache/files/patch-php7-memcache.c
new file mode 100644
index 000000000000..0262e8887e29
--- /dev/null
+++ b/databases/php-memcache/files/patch-php7-memcache.c
@@ -0,0 +1,38 @@
+--- php7/memcache.c.orig 2017-08-02 09:38:18 UTC
++++ php7/memcache.c
+@@ -728,7 +728,11 @@ mmc_t *mmc_find_persistent(const char *h
+ mmc = mmc_server_new(host, host_len, port, udp_port, 1, timeout, retry_interval);
+ le->type = le_memcache_server;
+ le->ptr = mmc;
++#if PHP_VERSION_ID >= 70300
++ GC_SET_REFCOUNT(le, 1);
++#else
+ GC_REFCOUNT(le) = 1;
++#endif
+
+ /* register new persistent connection */
+ if (zend_hash_str_update_mem(&EG(persistent_list), key, key_len, le, sizeof(*le)) == NULL) {
+@@ -786,7 +790,11 @@ static mmc_t *php_mmc_pool_addserver(
+ pool->failure_callback = &php_mmc_failure_callback;
+ list_res = zend_register_resource(pool, le_memcache_pool);
+ add_property_resource(mmc_object, "connection", list_res);
++#if PHP_VERSION_ID >= 70300
++ GC_ADDREF(list_res);
++#else
+ GC_REFCOUNT(list_res)++;
++#endif
+ }
+ else {
+ pool = zend_fetch_resource_ex(connection, "connection", le_memcache_pool);
+@@ -870,7 +878,11 @@ static void php_mmc_connect(INTERNAL_FUN
+ mmc_object = return_value;
+ object_init_ex(mmc_object, memcache_ce);
+ add_property_resource(mmc_object, "connection", list_res);
++#if PHP_VERSION_ID >= 70300
++ GC_ADDREF(list_res);
++#else
+ GC_REFCOUNT(list_res)++;
++#endif
+ } else {
+ RETVAL_TRUE;
+ }