summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2016-12-07 15:42:12 -0500
committerBrian Evans <grknight@gentoo.org>2016-12-07 15:42:12 -0500
commit86d035311cc6f463a2888beb62c3dba197a9b1ff (patch)
tree59cf0505cce73b739797ef9dffebcd7ee9ffffd3 /dev-php/pecl-xrange
parentx11-libs/qtscriptgenerator: Drop deprecated google code (diff)
downloadgentoo-86d035311cc6f463a2888beb62c3dba197a9b1ff.tar.gz
gentoo-86d035311cc6f463a2888beb62c3dba197a9b1ff.tar.bz2
gentoo-86d035311cc6f463a2888beb62c3dba197a9b1ff.zip
dev-php/pecl-xrange: Revbump to drop php 5.4 and 5.5 dependencies
This package has not been ported and fails with PHP 7.0. Patches are welcome, but this package is in danger of being dropped when PHP 5.6 becomes obsolete. Package-Manager: portage-2.3.2
Diffstat (limited to 'dev-php/pecl-xrange')
-rw-r--r--dev-php/pecl-xrange/files/1.3.2-fixes.patch133
-rw-r--r--dev-php/pecl-xrange/pecl-xrange-1.3.2-r2.ebuild25
2 files changed, 158 insertions, 0 deletions
diff --git a/dev-php/pecl-xrange/files/1.3.2-fixes.patch b/dev-php/pecl-xrange/files/1.3.2-fixes.patch
new file mode 100644
index 000000000000..4664a5d1feb2
--- /dev/null
+++ b/dev-php/pecl-xrange/files/1.3.2-fixes.patch
@@ -0,0 +1,133 @@
+--- a/xrange.c 2012/07/28 23:20:09 326859
++++ b/xrange.c 2013/10/06 11:48:38 331707
+@@ -175,21 +175,21 @@
+ zend_class_implements(php_xrange_xri_entry TSRMLS_CC, 1, spl_ce_Countable);
+
+ /* Register Class: OddFilterIterator */
+- memset(&ce, sizeof(ce), '\0');
++ memset(&ce, 0, sizeof(ce));
+ INIT_CLASS_ENTRY(ce, PHP_XRANGE_ODDFILTERITERATOR_NAME, php_xrange_OddFilterIterator_functions);
+ ce.name_length = strlen(PHP_XRANGE_ODDFILTERITERATOR_NAME);
+ php_xrange_OddFilterIterator_entry =
+ zend_register_internal_class_ex(&ce, spl_ce_FilterIterator, NULL TSRMLS_CC);
+
+ /* Register Class: EvenFilterIterator */
+- memset(&ce, sizeof(ce), '\0');
++ memset(&ce, 0, sizeof(ce));
+ INIT_CLASS_ENTRY(ce, PHP_XRANGE_EVENFILTERITERATOR_NAME, php_xrange_EvenFilterIterator_functions);
+ ce.name_length = strlen(PHP_XRANGE_EVENFILTERITERATOR_NAME);
+ php_xrange_EvenFilterIterator_entry =
+ zend_register_internal_class_ex(&ce, spl_ce_FilterIterator, NULL TSRMLS_CC);
+
+ /* Register Class: NumericFilterIterator */
+- memset(&ce, sizeof(ce), '\0');
++ memset(&ce, 0, sizeof(ce));
+ INIT_CLASS_ENTRY(ce, PHP_XRANGE_NUMERICFILTERITERATOR_NAME, php_xrange_NumericFilterIterator_functions);
+ ce.name_length = strlen(PHP_XRANGE_NUMERICFILTERITERATOR_NAME);
+ php_xrange_NumericFilterIterator_entry =
+@@ -225,13 +225,16 @@
+ {
+ if (return_value_used) {
+ int param_count = ZEND_NUM_ARGS();
++ zval ***params;
++ zval *retval = NULL;
++ zval methodName;
+
+ /* because I'm passing the arguments as an array, I'll need to manually
+ check arg length. */
+ if (param_count != 2 && param_count != 3) WRONG_PARAM_COUNT;
+
+ /* retrieve the function's argument list */
+- zval ***params = (zval ***) safe_emalloc(param_count, sizeof(zval*), 0);
++ params = (zval ***) safe_emalloc(param_count, sizeof(zval*), 0);
+ if (zend_get_parameters_array_ex(param_count, params) == FAILURE) {
+ efree(params);
+ WRONG_PARAM_COUNT;
+@@ -244,8 +247,6 @@
+ );
+
+ /* setup call to XRangeIterator's constructor (must do manually) */
+- zval *retval = NULL;
+- zval methodName;
+ ZVAL_STRING(&methodName, "__construct", 0);
+
+ /* pass all arguments through to the XRangeIterator constructor */
+@@ -286,6 +287,9 @@
+ Return a configured range iterator / generator */
+ PHP_METHOD(PHP_XRANGE_XRI_NAME, __construct)
+ {
++ xrange_module_storage *internalStorage;
++ double iterations;
++
+ if (!getThis()) {
+ php_error_docref(
+ NULL TSRMLS_CC, E_WARNING, "Don't call the constructor statically"
+@@ -293,7 +297,7 @@
+ RETURN_FALSE;
+ }
+
+- xrange_module_storage *internalStorage = PHP_XRANGE_ZOS_GET;
++ internalStorage = PHP_XRANGE_ZOS_GET;
+
+ /* parse argument list */
+ internalStorage->step = 1.0; /* default */
+@@ -322,7 +326,7 @@
+ ) internalStorage->step *= -1;
+
+ /* calculate the total number of iterations before completion */
+- double iterations = fabs(
++ iterations = fabs(
+ (internalStorage->high - internalStorage->low) / internalStorage->step
+ );
+
+@@ -453,6 +457,7 @@
+ PHP_METHOD(PHP_XRANGE_ODDFILTERITERATOR_NAME, accept)
+ {
+ zval *currentValue;
++ int isOdd;
+
+ // method A: bypass getInnerIterator() call
+ spl_dual_it_object *intern =
+@@ -464,7 +469,7 @@
+ // TODO: method B - use getInnerIterator() w/ compilation option
+
+ if (Z_TYPE_P(currentValue) != IS_LONG) convert_to_long(currentValue);
+- int isOdd = Z_LVAL_P(currentValue) & 1;
++ isOdd = Z_LVAL_P(currentValue) & 1;
+
+ zval_ptr_dtor(&currentValue); /* clean-up */
+ RETURN_BOOL(isOdd);
+@@ -476,6 +481,7 @@
+ PHP_METHOD(PHP_XRANGE_EVENFILTERITERATOR_NAME, accept)
+ {
+ zval *currentValue;
++ int isEven;
+
+ /* method A: bypass getInnerIterator() call */
+ spl_dual_it_object *intern =
+@@ -487,7 +493,7 @@
+ /* TODO: method B - use getInnerIterator() w/ compilation option */
+
+ if (Z_TYPE_P(currentValue) != IS_LONG) convert_to_long(currentValue);
+- int isEven = !(Z_LVAL_P(currentValue) & 1);
++ isEven = !(Z_LVAL_P(currentValue) & 1);
+
+ zval_ptr_dtor(&currentValue); /* clean-up */
+ RETURN_BOOL(isEven);
+@@ -499,6 +505,7 @@
+ PHP_METHOD(PHP_XRANGE_NUMERICFILTERITERATOR_NAME, accept)
+ {
+ zval *currentValue;
++ int isNumeric;
+
+ /* method A: bypass getInnerIterator() call */
+ spl_dual_it_object *intern =
+@@ -509,8 +516,6 @@
+ );
+ /* TODO: method B - use getInnerIterator() w/ compilation option */
+
+- int isNumeric;
+-
+ /* this code comes from is_numeric() the implementation. it's here to
+ * to eliminate the overhead of a PHP function call. */
+ switch (Z_TYPE_P(currentValue)) {
diff --git a/dev-php/pecl-xrange/pecl-xrange-1.3.2-r2.ebuild b/dev-php/pecl-xrange/pecl-xrange-1.3.2-r2.ebuild
new file mode 100644
index 000000000000..5c9ff82e22a0
--- /dev/null
+++ b/dev-php/pecl-xrange/pecl-xrange-1.3.2-r2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PHP_EXT_NAME="xrange"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+
+USE_PHP="php5-6"
+
+inherit php-ext-pecl-r3
+
+KEYWORDS="~amd64 ~x86"
+
+DESCRIPTION="Implementation of weak references"
+LICENSE="PHP-3"
+SLOT="0"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+PATCHES=( "${FILESDIR}/1.3.2-fixes.patch" )
+PHP_EXT_ECONF_ARGS=()