Apply the following patch and it builds with gd-2.3.3:
diff --git a/PKGBUILD b/PKGBUILD
index dd2d621..03c7e95 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -66,6 +66,7 @@ source=(
'php.ini.patch'
'phpize.m4.patch'
'enchant-2.patch'
+ 'gd-2.3.3.patch'
)
sha256sums=(
'cea52313fcffe56343bcd3c66dbb23cd5507dc559cc2e3547cf8f5452e88a05d'
@@ -77,6 +78,8 @@ sha256sums=(
'3a6d101962db9d311d9bba3b561b9dfd417701d9d2b607b70b9df218f6e029d7'
'354b1d5fd83e9902c6a4f7ca5d2101631bd67404f3c55a7194d9a6862656b479'
'd94d22ad8bcd13829addda84e9de6b73fa04be9bc6da8622086c7e19c97ab724'
+ 'baa45823805da7f908a3d9cf800b0ddb1cd8c8fb1a605542fbdc7bc7596f0a96'
+
)
validpgpkeys=(
@@ -92,6 +95,7 @@ prepare() {
patch -p0 -i ${srcdir}/php.ini.patch
patch -p0 -i ${srcdir}/phpize.m4.patch
patch -p0 -i ${srcdir}/enchant-2.patch
+ patch -p0 -i ${srcdir}/gd-2.3.3.patch
autoconf
rm tests/output/stream_isatty_*.phpt
diff --git a/gd-2.3.3.patch b/gd-2.3.3.patch
new file mode 100644
index 0000000..f265f6e
--- /dev/null
+++ b/gd-2.3.3.patch
@@ -0,0 +1,47 @@
+diff --git a/ext/gd/gd.c b/ext/gd/gd.c
+index 336a739692..a32dfaa64b 100644
+--- ext/gd/gd.c
++++ ext/gd/gd.c
+@@ -91,6 +91,10 @@ static int le_gd, le_gd_font;
+ #define M_PI 3.14159265358979323846
+ #endif
+
++/* don't used libgd constants, not used, so going to be removed */
++#define PHP_GD_FLIP_HORIZONTAL 1
++#define PHP_GD_FLIP_VERTICAL 2
++#define PHP_GD_FLIP_BOTH 3
+ #ifdef HAVE_GD_FREETYPE
+ static void php_imagettftext_common(INTERNAL_FUNCTION_PARAMETERS, int, int);
+ #endif
+@@ -1137,9 +1141,9 @@ PHP_MINIT_FUNCTION(gd)
+ /* GD2 image format types */
+ REGISTER_LONG_CONSTANT("IMG_GD2_RAW", GD2_FMT_RAW, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMG_GD2_COMPRESSED", GD2_FMT_COMPRESSED, CONST_CS | CONST_PERSISTENT);
+- REGISTER_LONG_CONSTANT("IMG_FLIP_HORIZONTAL", GD_FLIP_HORINZONTAL, CONST_CS | CONST_PERSISTENT);
+- REGISTER_LONG_CONSTANT("IMG_FLIP_VERTICAL", GD_FLIP_VERTICAL, CONST_CS | CONST_PERSISTENT);
+- REGISTER_LONG_CONSTANT("IMG_FLIP_BOTH", GD_FLIP_BOTH, CONST_CS | CONST_PERSISTENT);
++ REGISTER_LONG_CONSTANT("IMG_FLIP_HORIZONTAL", PHP_GD_FLIP_HORIZONTAL, CONST_CS | CONST_PERSISTENT);
++ REGISTER_LONG_CONSTANT("IMG_FLIP_VERTICAL", PHP_GD_FLIP_VERTICAL, CONST_CS | CONST_PERSISTENT);
++ REGISTER_LONG_CONSTANT("IMG_FLIP_BOTH", PHP_GD_FLIP_BOTH, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMG_EFFECT_REPLACE", gdEffectReplace, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMG_EFFECT_ALPHABLEND", gdEffectAlphaBlend, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMG_EFFECT_NORMAL", gdEffectNormal, CONST_CS | CONST_PERSISTENT);
+@@ -4696,15 +4700,15 @@ PHP_FUNCTION(imageflip)
+ }
+
+ switch (mode) {
+- case GD_FLIP_VERTICAL:
++ case PHP_GD_FLIP_VERTICAL:
+ gdImageFlipVertical(im);
+ break;
+
+- case GD_FLIP_HORINZONTAL:
++ case PHP_GD_FLIP_HORIZONTAL:
+ gdImageFlipHorizontal(im);
+ break;
+
+- case GD_FLIP_BOTH:
++ case PHP_GD_FLIP_BOTH:
+ gdImageFlipBoth(im);
+ break;
+
It's a backport of the patch applied to 8.1+
Pinned Comments
el_aur commented on 2022-01-27 12:06 (UTC) (edited on 2022-02-01 21:33 (UTC) by el_aur)
Read Carefully! Breaking changes in compare with native PHP package
Console version
/usr/bin/php74
is installed withphp74-cli
subpackage,php74
doesn't include it anymore!!!PEAR and PECL are available as
php74-pear
andphp74-pecl
subpackagesAll shared modules are respresented as stand-alone subpackages and are not included with
php74
package anymore.No more extensions in php.ini itself! Separate INI files for each extension are placed in
/etc/php74/conf.d
They are loaded in correct order according to priorityModules: mysqlnd, mysqli and pdo_mysql are moved to single package
php74-mysql
php74-xsl
requiresphp74-xml
andphp74-dom
to be installedphp74-enchant
build with dependencies:libvoikko
,hspell
,hunspell
,nuspell
,aspell