<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>