summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2022-01-10 12:56:30 -0500
committerBrian Evans <grknight@gentoo.org>2022-01-11 09:20:02 -0500
commit1627d312e5c119fbba0cd17bcde3f78adf1d1cb0 (patch)
treeed3197aa68de88568be81678cfea796a2544978f /dev-php/PEAR-XML_Parser
parentx11-misc/xaos: add latest snapshot version (diff)
downloadgentoo-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.ebuild29
-rw-r--r--dev-php/PEAR-XML_Parser/files/XML_Parser-1.3.8-php8.patch66
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\"";
+ }