commit: 6ccd06e762e337e48fc2c39e235c9f1238f95bd7 Author: Brian Evans <grknight <AT> gentoo <DOT> org> AuthorDate: Tue Aug 1 20:48:05 2017 +0000 Commit: Brian Evans <grknight <AT> gentoo <DOT> org> CommitDate: Tue Aug 1 20:48:36 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ccd06e7
dev-php/PEAR-HTML_Template_IT: Revbump to add modern patches Replace /e in preg_replace with preg_replace_callback Use PHP5 constructors Package-Manager: Portage-2.3.6, Repoman-2.3.3 .../PEAR-HTML_Template_IT-1.3.0-r1.ebuild | 32 +++++++++++ .../PEAR-HTML_Template_IT/files/constructor.patch | 62 ++++++++++++++++++++++ .../files/preg-callback.patch | 17 ++++++ 3 files changed, 111 insertions(+) diff --git a/dev-php/PEAR-HTML_Template_IT/PEAR-HTML_Template_IT-1.3.0-r1.ebuild b/dev-php/PEAR-HTML_Template_IT/PEAR-HTML_Template_IT-1.3.0-r1.ebuild new file mode 100644 index 00000000000..c60b49c2ffd --- /dev/null +++ b/dev-php/PEAR-HTML_Template_IT/PEAR-HTML_Template_IT-1.3.0-r1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit php-pear-r2 + +DESCRIPTION="Integrated Templates" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~x86" +IUSE="examples test" +DEPEND="test? ( dev-php/phpunit ${RDEPEND} )" + +src_prepare() { + eapply "${FILESDIR}/preg-callback.patch" \ + "${FILESDIR}/constructor.patch" + eapply_user +} + +src_install() { + use examples && HTML_DOCS=( + examples/sample_it.php + examples/sample_itx_addblockfile.php + examples/templates/ + ) + php-pear-r2_src_install +} + +src_test() { + phpunit tests/AllTests.php || die +} diff --git a/dev-php/PEAR-HTML_Template_IT/files/constructor.patch b/dev-php/PEAR-HTML_Template_IT/files/constructor.patch new file mode 100644 index 00000000000..61d54eab4e2 --- /dev/null +++ b/dev-php/PEAR-HTML_Template_IT/files/constructor.patch @@ -0,0 +1,62 @@ +diff -aurN a/HTML/Template/IT_Error.php b/HTML/Template/IT_Error.php +--- a/HTML/Template/IT_Error.php 2010-03-10 03:08:10.000000000 -0500 ++++ b/HTML/Template/IT_Error.php 2017-08-01 16:44:31.257269180 -0400 +@@ -58,8 +58,11 @@ + */ + function IT_Error($msg, $file = __FILE__, $line = __LINE__) + { ++ $this->__construct($msg, $file, $line); ++ } ++ function __construct($msg, $file = __FILE__, $line = __LINE__) ++ { + $this->PEAR_Error(sprintf("%s [%s on line %d].", $msg, $file, $line)); + } // end func IT_Error + + } // end class IT_Error +-?> +diff -aurN a/HTML/Template/IT.php b/HTML/Template/IT.php +--- a/HTML/Template/IT.php 2017-08-01 16:40:29.822907534 -0400 ++++ b/HTML/Template/IT.php 2017-08-01 16:44:46.515860952 -0400 +@@ -409,6 +409,10 @@ + */ + function HTML_Template_IT($root = '', $options = null) + { ++ $this->__construct($root, $options); ++ } ++ function __construct($root = '', $options = null) ++ { + if (!is_null($options)) { + $this->setOptions($options); + } +@@ -1184,4 +1188,3 @@ + $errorMessages[$value] : $errorMessages[IT_ERROR]; + } + } // end class IntegratedTemplate +-?> +diff -aurN a/HTML/Template/ITX.php b/HTML/Template/ITX.php +--- a/HTML/Template/ITX.php 2010-03-10 03:08:10.000000000 -0500 ++++ b/HTML/Template/ITX.php 2017-08-01 16:44:41.185654236 -0400 +@@ -138,13 +138,17 @@ + */ + function HTML_Template_ITX($root = '') + { ++ $this->__construct($root); ++ } ++ function __construct($root = '') ++ { + + $this->checkblocknameRegExp = '@' . $this->blocknameRegExp . '@'; + + $this->functionRegExp = '@' . $this->functionPrefix . '(' . + $this->functionnameRegExp . ')\s*\(@sm'; + +- $this->HTML_Template_IT($root); ++ parent::__construct($root); + } // end func constructor + + /** +@@ -886,4 +890,3 @@ + } // end func warning + + } // end class HTML_Template_ITX +-?> diff --git a/dev-php/PEAR-HTML_Template_IT/files/preg-callback.patch b/dev-php/PEAR-HTML_Template_IT/files/preg-callback.patch new file mode 100644 index 00000000000..60ae20af189 --- /dev/null +++ b/dev-php/PEAR-HTML_Template_IT/files/preg-callback.patch @@ -0,0 +1,17 @@ +diff -aurN a/HTML/Template/IT.php b/HTML/Template/IT.php +--- a/HTML/Template/IT.php 2010-03-10 03:08:10.000000000 -0500 ++++ b/HTML/Template/IT.php 2017-08-01 15:12:31.161235223 -0400 +@@ -1088,9 +1088,10 @@ + $content = fread($fh, $fsize); + fclose($fh); + +- return preg_replace( +- "#<!-- INCLUDE (.*) -->#ime", +- "\$this->getFile('\\1')", ++ return preg_replace_callback( ++ "#<!-- INCLUDE (.*) -->#im", ++ function($matches) { ++ return $this->getFile($matches[1]); }, + $content + ); + } // end func getFile