diff options
author | Brian Evans <grknight@gentoo.org> | 2022-01-10 12:56:30 -0500 |
---|---|---|
committer | Brian Evans <grknight@gentoo.org> | 2022-01-11 09:20:02 -0500 |
commit | 1627d312e5c119fbba0cd17bcde3f78adf1d1cb0 (patch) | |
tree | ed3197aa68de88568be81678cfea796a2544978f /dev-php/PEAR-XML_Parser | |
parent | x11-misc/xaos: add latest snapshot version (diff) | |
download | gentoo-1627d312e5c119fbba0cd17bcde3f78adf1d1cb0.tar.gz gentoo-1627d312e5c119fbba0cd17bcde3f78adf1d1cb0.tar.bz2 gentoo-1627d312e5c119fbba0cd17bcde3f78adf1d1cb0.zip |
dev-php/PEAR-XML_Parser: Revbump on 1.3.8
Fix compatibility with PHP 8
Fix tests to modern standards
This will break scripts that use the startHandler but is necessary
to work with PHP 8. Packages in this repository will be updated.
Bug: https://bugs.gentoo.org/830811
Closes: https://bugs.gentoo.org/774795
Signed-off-by: Brian Evans <grknight@gentoo.org>
Diffstat (limited to 'dev-php/PEAR-XML_Parser')
-rw-r--r-- | dev-php/PEAR-XML_Parser/PEAR-XML_Parser-1.3.8-r1.ebuild | 29 | ||||
-rw-r--r-- | dev-php/PEAR-XML_Parser/files/XML_Parser-1.3.8-php8.patch | 66 |
2 files changed, 95 insertions, 0 deletions
diff --git a/dev-php/PEAR-XML_Parser/PEAR-XML_Parser-1.3.8-r1.ebuild b/dev-php/PEAR-XML_Parser/PEAR-XML_Parser-1.3.8-r1.ebuild new file mode 100644 index 000000000000..461ae05c1155 --- /dev/null +++ b/dev-php/PEAR-XML_Parser/PEAR-XML_Parser-1.3.8-r1.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit php-pear-r2 + +DESCRIPTION="XML parsing class based on PHP's SAX parser" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="" +# This is to match patch compatibility +RDEPEND="!<dev-php/PEAR-XML_RSS-1.1.0-r2" + +PATCHES=( "${FILESDIR}/XML_Parser-1.3.8-php8.patch" ) + +src_test() { + peardev run-tests -r || die +} + +pkg_postinst() { + php-pear-r2_pkg_postinst + elog 'This version includes a PHP 8 compatibilty patch for startHandler' + elog 'which removes the pass-by-reference off of $attribs (third parameter).' + elog 'This could break old scripts with recent versions until that override also' + elog 'removes the pass-by-reference.' +} diff --git a/dev-php/PEAR-XML_Parser/files/XML_Parser-1.3.8-php8.patch b/dev-php/PEAR-XML_Parser/files/XML_Parser-1.3.8-php8.patch new file mode 100644 index 000000000000..8115fd8d7297 --- /dev/null +++ b/dev-php/PEAR-XML_Parser/files/XML_Parser-1.3.8-php8.patch @@ -0,0 +1,66 @@ +diff -aruN a/XML/Parser.php b/XML/Parser.php +--- a/XML/Parser.php 2022-01-10 11:32:08.624378884 -0500 ++++ b/XML/Parser.php 2022-01-10 11:47:09.581396869 -0500 +@@ -651,12 +651,12 @@ + * + * @param mixed $xp ?? + * @param mixed $elem ?? +- * @param mixed &$attribs ?? ++ * @param mixed $attribs ?? + * + * @return null + * @abstract + */ +- function startHandler($xp, $elem, &$attribs) ++ function startHandler($xp, $elem, $attribs) + { + return null; + } +diff -aruN a/tests/001.phpt b/tests/001.phpt +--- a/tests/001.phpt 2019-04-10 14:18:52.000000000 -0400 ++++ b/tests/001.phpt 2022-01-10 11:46:50.341458673 -0500 +@@ -13,10 +13,10 @@ + require_once "XML/Parser.php"; + + class __TestParser1 extends XML_Parser { +- function startHandler($xp, $element, &$attribs) { ++ function startHandler($xp, $element, $attribs) { + print "<$element"; + reset($attribs); +- while (list($key, $val) = each($attribs)) { ++ foreach ($attribs as $key => $val) { + $enc = htmlentities($val); + print " $key=\"$enc\""; + } +diff -aruN /tests/002.phpt /tests/002.phpt +--- a/tests/002.phpt 2019-04-10 14:18:52.000000000 -0400 ++++ b/tests/002.phpt 2022-01-10 11:46:58.281433169 -0500 +@@ -13,10 +13,10 @@ + require_once "XML/Parser.php"; + + class __TestParser2 extends XML_Parser { +- function startHandler($xp, $element, &$attribs) { ++ function startHandler($xp, $element, $attribs) { + print "<$element"; + reset($attribs); +- while (list($key, $val) = each($attribs)) { ++ foreach ($attribs as $key => $val) { + $enc = htmlentities($val); + print " $key=\"$enc\""; + } +diff -aruN /tests/003.phpt /tests/003.phpt +--- a/tests/003.phpt 2019-04-10 14:18:52.000000000 -0400 ++++ b/tests/003.phpt 2022-01-10 11:41:03.402573127 -0500 +@@ -13,10 +13,10 @@ + require_once "XML/Parser.php"; + + class __TestParser3 extends XML_Parser { +- function startHandler($xp, $element, &$attribs) { ++ function startHandler($xp, $element, $attribs) { + print "<$element"; + reset($attribs); +- while (list($key, $val) = each($attribs)) { ++ foreach ($attribs as $key => $val) { + $enc = htmlentities($val); + print " $key=\"$enc\""; + } |