summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-php/pecl-memcached')
-rw-r--r--dev-php/pecl-memcached/Manifest3
-rw-r--r--dev-php/pecl-memcached/files/libmc-1.09-fix.diff71
-rw-r--r--dev-php/pecl-memcached/files/pecl-memcached-1.0.2-php54_zend.patch15
-rw-r--r--dev-php/pecl-memcached/metadata.xml12
-rw-r--r--dev-php/pecl-memcached/pecl-memcached-1.0.2-r2.ebuild40
-rw-r--r--dev-php/pecl-memcached/pecl-memcached-2.1.0-r2.ebuild36
-rw-r--r--dev-php/pecl-memcached/pecl-memcached-2.1.0-r3.ebuild49
-rw-r--r--dev-php/pecl-memcached/pecl-memcached-2.2.0.ebuild48
8 files changed, 274 insertions, 0 deletions
diff --git a/dev-php/pecl-memcached/Manifest b/dev-php/pecl-memcached/Manifest
new file mode 100644
index 000000000000..dbb53388a81b
--- /dev/null
+++ b/dev-php/pecl-memcached/Manifest
@@ -0,0 +1,3 @@
+DIST memcached-1.0.2.tgz 22724 SHA256 16de77317e43b0a5bfd802c0bd2ef575adbad2093e8632d58738974e6cb14129 SHA512 02ccd76a540b86fbd392fcdb0bb632fa3d715b702ee90a10bd7a0330d9b181c7c4f1420bc60ffbcd1e0315fd602382a93b0d50aa8c7d1d9b9152868b60f595b3 WHIRLPOOL 674b1e9437b4cccce48810db5cb71961d88716c25e66b83e06307e718265a8de4053e3b260aa78f64a91c9f17779448f372217a85a4245c249957fbfcc32bec5
+DIST memcached-2.1.0.tgz 39095 SHA256 bc4940015be74f47908d410d7b55e10a3d5bf65674036d944c73558227fcc4af SHA512 47695ee2ba90861810b0b7dda06ea0b72931b1e0be28c99535a98d4644500cdd7719bc98ff0500b798af46f6fa78336084c61e24fef5235891937b679cfd58d6 WHIRLPOOL 3ae08a948c7ecf03d8c1fd71bcc9899eac46a89f633d74c78a5e8cddde0c923a54b035f1c99e0d08e49b7adb77dad7139adf61d6ccb8e6acfddd989e04809319
+DIST memcached-2.2.0.tgz 70449 SHA256 17b9600f6d4c807f23a3f5c45fcd8775ca2e61d6eda70370af2bef4c6e159f58 SHA512 61207d3f8c11b0620dbcb20fb2ebb6d1fc10159a7e879ee91556a303c3dcdf3d2571e8dda5efcbed77ff779f5c9b226aa48800630b9e7781cd964126b848c356 WHIRLPOOL 1114a4c4371cfb42e3e4cb991980b32894f438abacf61c6da3dd6d9742c93e20df7691287c852c17dfe8261046227d73b1887c0b7b9c03a0e895a713005dc95a
diff --git a/dev-php/pecl-memcached/files/libmc-1.09-fix.diff b/dev-php/pecl-memcached/files/libmc-1.09-fix.diff
new file mode 100644
index 000000000000..1b014dfd6422
--- /dev/null
+++ b/dev-php/pecl-memcached/files/libmc-1.09-fix.diff
@@ -0,0 +1,71 @@
+This patch is fixes to compile with newer versions of libmemcached ported from the fork at:
+https://github.com/paravoid/php-memcached/commit/37069e18ad399a8cc03d5fe9757e1481814ecb44
+
+X-Ported-By: Allen Parker <infowolfe@gmail.com>
+Signed-off-by: Allen Parker <infowolfe@gmail.com>
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -Nurw memcached-2.1.0/php_memcached.c memcached-2.1.0-fixed/php_memcached.c
+--- memcached-2.1.0-broken/php_memcached.c 2012-08-07 05:02:46.000000000 +0000
++++ memcached-2.1.0/php_memcached.c 2013-12-16 06:14:17.420837278 +0000
+@@ -315,9 +315,15 @@
+ static void php_memc_getDelayed_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key);
+ static memcached_return php_memc_do_cache_callback(zval *memc_obj, zend_fcall_info *fci, zend_fcall_info_cache *fcc, char *key, size_t key_len, zval *value TSRMLS_DC);
+ static int php_memc_do_result_callback(zval *memc_obj, zend_fcall_info *fci, zend_fcall_info_cache *fcc, memcached_result_st *result TSRMLS_DC);
++#if defined(LIBMEMCACHED_VERSION_HEX) && LIBMEMCACHED_VERSION_HEX >= 0x01000009
++static memcached_return php_memc_do_serverlist_callback(const memcached_st *ptr, const memcached_instance_st *instance, void *in_context);
++static memcached_return php_memc_do_stats_callback(const memcached_st *ptr, const memcached_instance_st *instance, void *in_context);
++static memcached_return php_memc_do_version_callback(const memcached_st *ptr, const memcached_instance_st *instance, void *in_context);
++#else
+ static memcached_return php_memc_do_serverlist_callback(const memcached_st *ptr, memcached_server_instance_st instance, void *in_context);
+ static memcached_return php_memc_do_stats_callback(const memcached_st *ptr, memcached_server_instance_st instance, void *in_context);
+ static memcached_return php_memc_do_version_callback(const memcached_st *ptr, memcached_server_instance_st instance, void *in_context);
++#endif
+ static void php_memc_destroy(struct memc_obj *m_obj, zend_bool persistent TSRMLS_DC);
+
+ /****************************************
+@@ -1855,7 +1861,7 @@
+ zval **z_host, **z_port, **z_weight = NULL;
+ uint32_t weight = 0;
+ int entry_size, i = 0;
+- memcached_server_st *list = NULL;
++ memcached_server_list_st list = NULL;
+ memcached_return status;
+ MEMC_METHOD_INIT_VARS;
+
+@@ -2573,7 +2579,11 @@
+ /* }}} */
+
+ /* {{{ internal API functions */
++#if defined(LIBMEMCACHED_VERSION_HEX) && LIBMEMCACHED_VERSION_HEX >= 0x01000009
++static memcached_return php_memc_do_serverlist_callback(const memcached_st *ptr, const memcached_instance_st *instance, void *in_context)
++#else
+ static memcached_return php_memc_do_serverlist_callback(const memcached_st *ptr, memcached_server_instance_st instance, void *in_context)
++#endif
+ {
+ struct callbackContext* context = (struct callbackContext*) in_context;
+ zval *array;
+@@ -2590,7 +2600,11 @@
+ return MEMCACHED_SUCCESS;
+ }
+
++#if defined(LIBMEMCACHED_VERSION_HEX) && LIBMEMCACHED_VERSION_HEX >= 0x01000009
++static memcached_return php_memc_do_stats_callback(const memcached_st *ptr, const memcached_instance_st *instance, void *in_context)
++#else
+ static memcached_return php_memc_do_stats_callback(const memcached_st *ptr, memcached_server_instance_st instance, void *in_context)
++#endif
+ {
+ char *hostport = NULL;
+ int hostport_len;
+@@ -2634,7 +2648,11 @@
+ return MEMCACHED_SUCCESS;
+ }
+
++#if defined(LIBMEMCACHED_VERSION_HEX) && LIBMEMCACHED_VERSION_HEX >= 0x01000009
++static memcached_return php_memc_do_version_callback(const memcached_st *ptr, const memcached_instance_st *instance, void *in_context)
++#else
+ static memcached_return php_memc_do_version_callback(const memcached_st *ptr, memcached_server_instance_st instance, void *in_context)
++#endif
+ {
+ char *hostport = NULL;
+ char version[16];
diff --git a/dev-php/pecl-memcached/files/pecl-memcached-1.0.2-php54_zend.patch b/dev-php/pecl-memcached/files/pecl-memcached-1.0.2-php54_zend.patch
new file mode 100644
index 000000000000..22d550f29972
--- /dev/null
+++ b/dev-php/pecl-memcached/files/pecl-memcached-1.0.2-php54_zend.patch
@@ -0,0 +1,15 @@
+--- a/php_memcached.c 1970-01-01 04:13:08.000000000 -0500
++++ b/php_memcached.c 2015-02-16 20:46:34.849201777 -0500
+@@ -1862,8 +1862,11 @@
+
+ i_obj = ecalloc(1, sizeof(*i_obj));
+ zend_object_std_init( &i_obj->zo, ce TSRMLS_CC );
++#if PHP_VERSION_ID < 50399
+ zend_hash_copy(i_obj->zo.properties, &ce->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
+-
++#else
++ object_properties_init((zend_object*) &(i_obj->zo), ce);
++#endif
+ i_obj->compression = 1;
+
+ retval.handle = zend_objects_store_put(i_obj, (zend_objects_store_dtor_t)zend_objects_destroy_object, (zend_objects_free_object_storage_t)php_memc_free_storage, NULL TSRMLS_CC);
diff --git a/dev-php/pecl-memcached/metadata.xml b/dev-php/pecl-memcached/metadata.xml
new file mode 100644
index 000000000000..bd43a55951d2
--- /dev/null
+++ b/dev-php/pecl-memcached/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>php</herd>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="igbinary">Enable support for the igbinary serializer</flag>
+ <flag name="json">Enable support for json serialization</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-php/pecl-memcached/pecl-memcached-1.0.2-r2.ebuild b/dev-php/pecl-memcached/pecl-memcached-1.0.2-r2.ebuild
new file mode 100644
index 000000000000..c3891c8543c6
--- /dev/null
+++ b/dev-php/pecl-memcached/pecl-memcached-1.0.2-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PHP_EXT_NAME="memcached"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+DOCS="README"
+
+USE_PHP="php5-5 php5-4"
+
+inherit php-ext-pecl-r2
+
+KEYWORDS="~amd64 ~x86"
+
+DESCRIPTION="PHP extension for interfacing with memcached via libmemcached library"
+LICENSE="PHP-3"
+SLOT="0"
+IUSE="+session"
+
+DEPEND=">=dev-libs/libmemcached-0.38 sys-libs/zlib
+ dev-lang/php:*[session?]"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ local slot orig_s="${PHP_EXT_S}"
+ for slot in $(php_get_slots); do
+ php_init_slot_env ${slot}
+ epatch "${FILESDIR}/${P}-php54_zend.patch"
+ done
+ php-ext-source-r2_src_prepare
+}
+
+src_configure() {
+ my_conf="--enable-memcached
+ --with-zlib-dir=/usr
+ $(use_enable session memcached-session)"
+ php-ext-source-r2_src_configure
+}
diff --git a/dev-php/pecl-memcached/pecl-memcached-2.1.0-r2.ebuild b/dev-php/pecl-memcached/pecl-memcached-2.1.0-r2.ebuild
new file mode 100644
index 000000000000..1a4d891ce0fa
--- /dev/null
+++ b/dev-php/pecl-memcached/pecl-memcached-2.1.0-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+PHP_EXT_NAME="memcached"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+DOCS="README"
+
+USE_PHP="php5-5 php5-4"
+
+inherit php-ext-pecl-r2
+
+KEYWORDS="amd64 x86"
+
+DESCRIPTION="PHP extension for interfacing with memcached via libmemcached library"
+LICENSE="PHP-3"
+SLOT="0"
+IUSE="+session igbinary json sasl"
+
+DEPEND="|| ( >=dev-libs/libmemcached-1.0.14 >=dev-libs/libmemcached-1.0[sasl?] )
+ sys-libs/zlib
+ dev-lang/php[session?,json?]
+ igbinary? ( dev-php/igbinary[php_targets_php5-5?,php_targets_php5-4?] )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ my_conf="--enable-memcached
+ $(use_enable session memcached-session)
+ $(use_enable sasl memcached-sasl)
+ $(use_enable json memcached-json)
+ $(use_enable igbinary memcached-igbinary)"
+
+ php-ext-source-r2_src_configure
+}
diff --git a/dev-php/pecl-memcached/pecl-memcached-2.1.0-r3.ebuild b/dev-php/pecl-memcached/pecl-memcached-2.1.0-r3.ebuild
new file mode 100644
index 000000000000..b2e9cd411ba1
--- /dev/null
+++ b/dev-php/pecl-memcached/pecl-memcached-2.1.0-r3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+PHP_EXT_NAME="memcached"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+DOCS="README"
+
+USE_PHP="php5-5 php5-4"
+
+inherit base php-ext-pecl-r2
+
+KEYWORDS="amd64 x86"
+
+DESCRIPTION="PHP extension for interfacing with memcached via libmemcached library"
+LICENSE="PHP-3"
+SLOT="0"
+IUSE="+session igbinary json sasl"
+
+DEPEND="|| ( >=dev-libs/libmemcached-1.0.14 >=dev-libs/libmemcached-1.0[sasl?] )
+ sys-libs/zlib
+ dev-lang/php[session?,json?]
+ igbinary? ( dev-php/igbinary[php_targets_php5-5?,php_targets_php5-4?] )"
+RDEPEND="${DEPEND}"
+PATCHES=( "${FILESDIR}/libmc-1.09-fix.diff" )
+
+src_prepare() {
+ local slot orig_s="${S}"
+ for slot in $(php_get_slots); do
+ export S="${WORKDIR}/${slot}"
+ cd "${S}"
+ base_src_prepare
+ done
+ export S="${orig_s}"
+ cd "${S}"
+ php-ext-source-r2_src_prepare
+}
+
+src_configure() {
+ my_conf="--enable-memcached
+ $(use_enable session memcached-session)
+ $(use_enable sasl memcached-sasl)
+ $(use_enable json memcached-json)
+ $(use_enable igbinary memcached-igbinary)"
+
+ php-ext-source-r2_src_configure
+}
diff --git a/dev-php/pecl-memcached/pecl-memcached-2.2.0.ebuild b/dev-php/pecl-memcached/pecl-memcached-2.2.0.ebuild
new file mode 100644
index 000000000000..ca9daec85a1b
--- /dev/null
+++ b/dev-php/pecl-memcached/pecl-memcached-2.2.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+PHP_EXT_NAME="memcached"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+DOCS="README"
+
+USE_PHP="php5-5 php5-6 php5-4"
+
+inherit base php-ext-pecl-r2
+
+KEYWORDS="~amd64 ~x86"
+
+DESCRIPTION="PHP extension for interfacing with memcached via libmemcached library"
+LICENSE="PHP-3"
+SLOT="0"
+IUSE="+session igbinary json sasl"
+
+DEPEND="|| ( >=dev-libs/libmemcached-1.0.14 >=dev-libs/libmemcached-1.0[sasl?] )
+ sys-libs/zlib
+ dev-lang/php[session?,json?]
+ igbinary? ( dev-php/igbinary[php_targets_php5-5?,php_targets_php5-4?,php_targets_php5-6?] )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ local slot orig_s="${S}"
+ for slot in $(php_get_slots); do
+ export S="${WORKDIR}/${slot}"
+ cd "${S}"
+ base_src_prepare
+ done
+ export S="${orig_s}"
+ cd "${S}"
+ php-ext-source-r2_src_prepare
+}
+
+src_configure() {
+ my_conf="--enable-memcached
+ $(use_enable session memcached-session)
+ $(use_enable sasl memcached-sasl)
+ $(use_enable json memcached-json)
+ $(use_enable igbinary memcached-igbinary)"
+
+ php-ext-source-r2_src_configure
+}