<pre style='margin:0'>
Ryan Carsten Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/12a20924e81fa09d7cd2c32ece0f856f6ee8454c">https://github.com/macports/macports-ports/commit/12a20924e81fa09d7cd2c32ece0f856f6ee8454c</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 12a20924e81fa09d7cd2c32ece0f856f6ee8454c
</span>Author: Ryan Carsten Schmidt <ryandesign@macports.org>
AuthorDate: Wed Jan 10 03:09:56 2024 -0600
<span style='display:block; white-space:pre;color:#404040;'> php-gd: Fix imagefontwidth/imagefontheight problem
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/69045
</span>---
lang/php/Portfile | 10 +++++++---
lang/php/files/patch-php81-ext-gd.diff | 30 ++++++++++++++++++++++++++++++
lang/php/files/patch-php82-ext-gd.diff | 30 ++++++++++++++++++++++++++++++
lang/php/files/patch-php83-ext-gd.diff | 30 ++++++++++++++++++++++++++++++
4 files changed, 97 insertions(+), 3 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/php/Portfile b/lang/php/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8cbe06cd3ae..3c850dfbfcc 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/php/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/php/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1033,9 +1033,9 @@ subport ${php}-gd {
</span> 7.3.33 {revision 0}
7.4.33 {revision 0}
8.0.30 {revision 0}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- 8.1.27 {revision 0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 8.2.14 {revision 0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 8.3.1 {revision 0}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 8.1.27 {revision 1}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 8.2.14 {revision 1}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 8.3.1 {revision 1}
</span> }
categories-append graphics
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1063,6 +1063,10 @@ subport ${php}-gd {
</span> depends_lib-append port:webp
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[vercmp ${branch} >= 8.1]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-${php}-ext-gd.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {[vercmp ${branch} < 7.4]} {
patchfiles-append patch-${php}-ext-gd-config.m4.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/php/files/patch-php81-ext-gd.diff b/lang/php/files/patch-php81-ext-gd.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f40f94ab906
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/php/files/patch-php81-ext-gd.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix issue which occurs when compiling with recent clang releases (>= 14) and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+with the '-Os' optimisation level, after using `imageloadfont` which returns a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proper GdFont class leads to a subtle bug when attempting to use via the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+imagefont* function.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/php/php-src/issues/13082
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/php/php-src/commit/1e464e5b55f81b7fb9476a55f481fe1d2a25d6d9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ext/gd/gd.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/gd/gd.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2831,8 +2831,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void php_imagefontsize(INTERNAL_FUNCTION_PARAMETERS, int arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- zend_object *font_obj;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- zend_long font_int;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ zend_object *font_obj = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ zend_long font_int = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gdFontPtr font;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ZEND_PARSE_PARAMETERS_START(1, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2900,8 +2900,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int ch = 0, col, x, y, i, l = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned char *str = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ zend_object *font_obj;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- zend_long font_int;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- gdFontPtr font;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ zend_long font_int = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gdFontPtr font = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ZEND_PARSE_PARAMETERS_START(6, 6)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Z_PARAM_OBJECT_OF_CLASS(IM, gd_image_ce)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/php/files/patch-php82-ext-gd.diff b/lang/php/files/patch-php82-ext-gd.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..1a320975ec3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/php/files/patch-php82-ext-gd.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix issue which occurs when compiling with recent clang releases (>= 14) and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+with the '-Os' optimisation level, after using `imageloadfont` which returns a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proper GdFont class leads to a subtle bug when attempting to use via the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+imagefont* function.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/php/php-src/issues/13082
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/php/php-src/commit/1e464e5b55f81b7fb9476a55f481fe1d2a25d6d9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ext/gd/gd.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/gd/gd.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2681,8 +2681,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void php_imagefontsize(INTERNAL_FUNCTION_PARAMETERS, int arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- zend_object *font_obj;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- zend_long font_int;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ zend_object *font_obj = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ zend_long font_int = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gdFontPtr font;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ZEND_PARSE_PARAMETERS_START(1, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2750,8 +2750,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int ch = 0, col, x, y, i, l = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned char *str = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ zend_object *font_obj;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- zend_long font_int;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- gdFontPtr font;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ zend_long font_int = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gdFontPtr font = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ZEND_PARSE_PARAMETERS_START(6, 6)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Z_PARAM_OBJECT_OF_CLASS(IM, gd_image_ce)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/php/files/patch-php83-ext-gd.diff b/lang/php/files/patch-php83-ext-gd.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..181412c40df
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/php/files/patch-php83-ext-gd.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix issue which occurs when compiling with recent clang releases (>= 14) and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+with the '-Os' optimisation level, after using `imageloadfont` which returns a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proper GdFont class leads to a subtle bug when attempting to use via the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+imagefont* function.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/php/php-src/issues/13082
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/php/php-src/commit/1e464e5b55f81b7fb9476a55f481fe1d2a25d6d9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ext/gd/gd.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ext/gd/gd.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2677,8 +2677,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void php_imagefontsize(INTERNAL_FUNCTION_PARAMETERS, int arg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- zend_object *font_obj;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- zend_long font_int;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ zend_object *font_obj = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ zend_long font_int = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gdFontPtr font;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ZEND_PARSE_PARAMETERS_START(1, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2746,8 +2746,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int ch = 0, col, x, y, i, l = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned char *str = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ zend_object *font_obj;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- zend_long font_int;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- gdFontPtr font;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ zend_long font_int = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ gdFontPtr font = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ZEND_PARSE_PARAMETERS_START(6, 6)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Z_PARAM_OBJECT_OF_CLASS(IM, gd_image_ce)
</span></pre><pre style='margin:0'>
</pre>