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

Reply via email to