diff options
author | Brian Evans <grknight@gentoo.org> | 2016-12-07 15:42:12 -0500 |
---|---|---|
committer | Brian Evans <grknight@gentoo.org> | 2016-12-07 15:42:12 -0500 |
commit | 86d035311cc6f463a2888beb62c3dba197a9b1ff (patch) | |
tree | 59cf0505cce73b739797ef9dffebcd7ee9ffffd3 /dev-php/pecl-xrange | |
parent | x11-libs/qtscriptgenerator: Drop deprecated google code (diff) | |
download | gentoo-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.patch | 133 | ||||
-rw-r--r-- | dev-php/pecl-xrange/pecl-xrange-1.3.2-r2.ebuild | 25 |
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(¤tValue); /* 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(¤tValue); /* 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=() |