diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-07-11 12:25:19 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-07-11 12:25:19 +0100 |
commit | 496ef6155c315ac3628b472dc9b4146fa2684286 (patch) | |
tree | a0201d7a6c3a6e30410307544281465381970f4b /dev-lang/php | |
parent | e810ac4a0e6af9f763f4433863042b34609075a7 (diff) |
gentoo auto-resync : 11:07:2024 - 12:25:19
Diffstat (limited to 'dev-lang/php')
-rw-r--r-- | dev-lang/php/Manifest | 8 | ||||
-rw-r--r-- | dev-lang/php/files/php-8.3.9-gd-cachevars.patch | 68 | ||||
-rw-r--r-- | dev-lang/php/files/php-8.3.9-optional-png-testfixen.patch | 1277 | ||||
-rw-r--r-- | dev-lang/php/metadata.xml | 3 | ||||
-rw-r--r-- | dev-lang/php/php-8.3.9.ebuild (renamed from dev-lang/php/php-8.3.8.ebuild) | 89 |
5 files changed, 1410 insertions, 35 deletions
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index 3c959cc0fa62..8bccd8fd2d11 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -4,6 +4,8 @@ AUX php-8.1.27-gcc14-libxml.patch 1982 BLAKE2B dcb329e5bae787aa0d47f70e7d60f5a18 AUX php-8.1.27-implicit-decls.patch 2163 BLAKE2B 0164d973ae9b6851014bcccd0deb92add72fa92d9a7c830695841768fb1998c2b49d649503ca324d9735f893974884438b922deab5a4c6c46275057a139ee3ea SHA512 f02d9668ceea39be7b4a6a9c3026d3d0e5230e74aadab09a454a2447a93ea1a4098982d714353c64ec1beb69fe387e9b3575c60fc14e4749298ea674f81401c2 AUX php-8.2.20-implicit-printf.patch 2226 BLAKE2B 859cd38c6687b517a372973a8d282494f43bc5739ffa00c829de4a43ad72a752195657ededc7d4705699c0bd1ab249e588a74f6be85e1937c55de00d2844213d SHA512 95e4f535066b72e1497673dd633aa33beaf49c5a967ca2ad04e837ddea546f935717b3095d61cef8310138d77a3d18372139af3f979030b25b9ec2dc38318fb0 AUX php-8.2.8-openssl-tests.patch 790 BLAKE2B fcfa6f361470f2baa65d2bbbde7c9629841546a560aa6f88d85b68727004e24949f9516340eba0339e575dcf06077d08540a7a6d58a0cda42d5cd26bf48d9e46 SHA512 d29b5334abee8bcbef62c88c01c9eaf887f25901763db75e754f6690e24138c9e45783943d32402f693bd7e4564d737521a8b0b8034d5401bac73ff30f453050 +AUX php-8.3.9-gd-cachevars.patch 2287 BLAKE2B 7e9fe2192937dfcd000bdb0a8f0236582e95e97c6f7c1e5973a9bc48e8d0d1ae71c2fb4be3c507dae977d0fae96503b3bb02825a334581aca70d97cdd0545627 SHA512 3ec68bff7fd365307f41a04835c80f3acdd053924fde3e09e301349079db161318f68ac226ae1d99eaf14ee7527abe5226a0e3a7b601e0a804019b2ce8c099d8 +AUX php-8.3.9-optional-png-testfixen.patch 39893 BLAKE2B 8ae371db716ee433570024cdfa41bd93c022d615ac582eff7596e8498eda37c4552e85b74bdabda3180c0691a1701d78d9ce97df6ada0ef7d86ed20bd42a65af SHA512 51b903fca04a98d41fd30f4e183efe71d21ab839d817f9482fad029ed37d25ed7af4cff3f57a298d9f0539dcd5a10dceb4ce7b77b11d575417cd91c34388d2ab AUX php-capstone-optional.patch 2497 BLAKE2B f23236130be88d28d933d5482f1925c4e32e09c5022544ac2dec62465e9296baabe64f57fedd7ccb9f4499d354bd466d10cfb66596e8be029be6fa4f82dbc1a1 SHA512 a9000d789a7bc54d4b6cf8ed287dcfd71958dfc85c6417737dcd66b9461be5b1aa2568a19f5a9cd29927fe9d955ac24d04e2f64f1c4018110a8f81a6eb4813c5 AUX php-fpm_at-simple.service 316 BLAKE2B 0ba10f3e3b004fbf14956e1e4f04f59b8a127e6717fe6b92c09b9f931033a11551c75fbbee9010f6b694c5a8758ca0eec9eed457ae304ba0dea8f2c256c3b8d4 SHA512 7367a3f8d3874f8e0c76f331ba613a0250db02f60ad9f87affaf448dcb5bc34bcecb91d88f415764a12b24b46ae3d1b738a002af9f77a4b707e916e83a0021fd AUX php-fpm_at.service 317 BLAKE2B f13fc38fcc0575a8517ee8d07b120efda37eabd2355061d0fdc303604c6b02ad42d7301180d86c977d5e585f5dd685343c592e37a6e0f44933707be79e0b77e0 SHA512 27982f9e2d958bfa75c89c7d3531e48d17fc388b1cdcbc8e09051b236b1184ee2baabdfcc567c19d9fcd067d4b3b86f171015616d8da42fccdabd89432d865e8 @@ -14,12 +16,12 @@ DIST php-8.1.29.tar.xz 11826292 BLAKE2B 471f85504531c61e534c857a854de2ce9935b263 DIST php-8.2.15.tar.xz 12075384 BLAKE2B cef15868968538e232093bd66d862a88f0960325f2274eaf53a3d114d01787c58844aa3bce8bc09a723acd95801e1935a60e79fc189317e7f1ba19196dbfcdc4 SHA512 56c94bcafe07cf4bf5eb5fc6c67fcf16654c44a262ffb18188fc3ffac5e9bb11d39093bfb26c26bc8d2dec7e530d1a175180909262c9b5c30130cf5a4a293166 DIST php-8.2.18.tar.xz 12089400 BLAKE2B 82a4ef0aee7fa66018cb528e6fc2da40f67be2a75449ed85c54881e6725cfa9fe82d6d5655c12d2e92f3fd685479367b7c038df5af0d7a0a122d627c78c50514 SHA512 8bdd6e5aa19dac80745d258a43f7330a3096d47dc66cbef0054b8f9eb9ace5e87d841a4001185a783241a416975753c922425e977f50b2716ce643b6a7bf351f DIST php-8.2.20.tar.xz 12097568 BLAKE2B 1e38e48ea9c28abfe2c3bd860bc5d959fbe327669c007f2e2a665ae14f5a045f6ad8a0a972f32618f88ea1ff3636c2692504478b5b094b48404d6c4a214f863b SHA512 c659ed4809b6507aa428b483c85c7322815ac9d7d8e4bfe575513a5e69c5a680b8d089fd98a19f83d3a00df3de61468809f21408455913aa24d519776e44abc5 -DIST php-8.3.8.tar.xz 12480896 BLAKE2B 477129fcd766f2235e3d776c923ba51b76539f074245e8041a861db09ebbc648658b2756e6a23051a75a512fdc6e5c129633d1471213dec6f7e24d4da0d317e8 SHA512 1a2840f0b5dcbea6dfcc3894cb9e38d103bf4110c1b956438199deee0b60e5ae63cce34be25ca6f03ac8d26581a852657f8800f92fefe38345e20443b646bb3e +DIST php-8.3.9.tar.xz 12470616 BLAKE2B 44cc360c91b121f6fe1c768134d2e5e355fe1ab23ebefb98e60e878755e79b0bd31fa46a435eb5c3dabf034fb7b4bd785db014dc63f40331a6b168a14d849571 SHA512 f6291b71cf2c66f9effc2a8a7b0365364481cd5532551161194376893074f1f20dc7e9dbd628727e3b07460ac63b6d38bf4871bf4976e2b3b290f230b0111360 EBUILD php-8.1.26-r1.ebuild 21992 BLAKE2B 6a2d19aefc689f44603bf95a14b21e345ae739a5dd66a620a065f36e4b72233753a8144f41434211de28ee49ac0e3c0dda3dd712749215a721007126104cddfc SHA512 928b5d071618a69d398c15223c8885924c5dbe6581bacc93f041a27c6caf4384ae43e0aeeb6f2bf31582b5d1838a6656a8e6cb24d18ddddf44e9df1e18694c93 EBUILD php-8.1.28.ebuild 22549 BLAKE2B d09d8749f4daa08f6aae974f79a0726dca5890058d7678e378da48c330a69c9e71b9f8468ae6924d2369aa56db164fb88c98928729996792c6dc9350232a5937 SHA512 0928681d7a843f97c4084fd6050407eadb3253eb3b33bfb76725feaad9ef2e3b6763a66cdd174e689cf8b4606ef37f29628e073d990b8526b6ae6cd19fd58dde EBUILD php-8.1.29.ebuild 22547 BLAKE2B b087d99d25da6da7a6cea1619782fc66f926b8f06ae2fca802b9a4ab63699578bccfd46f50bfd9a916df68f2028b6267694a46c423c580ed836de9f1a054f7a7 SHA512 e46a9f3a296c8052a0ef7db8de88ee69837065cfb91c51f2639ebc2b49260d4894b83d1f27dbcb259f82d6e9daa93d86ec06656af49868ff9ffeb0b9a0840384 EBUILD php-8.2.15.ebuild 25370 BLAKE2B 48ace575c7542824739c35e836e7213008d355214c0ad77e358e4e70887aa76a990f0bc4a583097a1cd16c6b37f7da6ca6fe20b419d7ca628838be0f89557d80 SHA512 266d3c538548bd124a828eaa4ab2b9f4daaf954005f589f83fc4b66bb1a6b7a980c2fbf056d8a86fc5c956ea0231fd76deca57861661274c3693b561397c1e1d EBUILD php-8.2.18.ebuild 25786 BLAKE2B b6c8acb63663a8cc0e4adc7cc79b285e95add4308a5686523d3808b5ac21ed075091cddf17854733fa429ec8ff0210a580352d727358fd281acb7238d18fad44 SHA512 0480657861f695fd3ab011720c7dfdbd59c9fcb297dcf1e72c10877235e2e131c12bfa184268a6602834b9a5502befebd569d4184ba7a3f35166c89e2959fdfd EBUILD php-8.2.20.ebuild 26473 BLAKE2B ac859f939dc6d05ec1f0892f99fbf531431ce4cb667c20dbb4d83b194e70f341ed44483c93d985076a8c548ef86bee3665411fa82ba4e5089906da95b83d0515 SHA512 e257b6ec490df75935c4c3fd0cda4b2e3f74a8104f317af2e4dc505f705db32afc9242edc9a19f747b3f20962ef803678e4f56ef1738596438541ebf85868876 -EBUILD php-8.3.8.ebuild 23570 BLAKE2B 8a233faa961fa0a18c735a2c7b3ae1fb727c9ebea64cfdc20bb3b6a9abaa2a915e6e0dbc588ca2484b714fe3ca6d2ce6a18d2028fe3272016f2471f102e62c24 SHA512 b42e259799e820e2dcff8e23b06258c3366616599cf28fc3cc06b6a62d359ca6715fb9cedaa062ade8522d629e428dadd9a86bce5bb15384335164f0301a9ea4 -MISC metadata.xml 4134 BLAKE2B 62c1c5052c50db537586edc1db639fa94e24609ea027208177566ae7f7f9199103bb3ef5b636766508027e8e7aacb8451d25b57e981b582bc42299e199696a68 SHA512 b059c7552c18dfcabe82170c1ae5978421284f3ea9ea9505359c1441ccc76b668a5555919251c6ca55f1f450da9363a8ac7b30c393a8506921f790e0f4197dbb +EBUILD php-8.3.9.ebuild 24491 BLAKE2B c15272414cfb9a9ac441881f2d9b213fdabcaf8191086338e39bbc8d0f16bc04e055b28ad737872b5d01c83e0dfdaa72485f5eda1baa48b5a24284db0589b98c SHA512 edf6fab8192fd2ea7f4bb26a92270deaf7c64951e6f30dda6bf7d1df9a6acf71dc298099f943118f10ce590c05934406b23483513a005616b3b1b5116b4fc9c1 +MISC metadata.xml 4249 BLAKE2B 11f9270fbc0cae280ec3ec62c9e6acfc643f4c7952822537664e8bcdbdfed64805b0e83fcbfb83111123745fadf64b276b51e1e27c9b5eb38ef8ffc30965d12b SHA512 39c59d31de21a66ca55a4816bebd901c8f2b28b7d1340605845c535cc979bca4d8641280bf45782d5d3eb94820e054e7f52491a23a4d1cf692774e11becc55c1 diff --git a/dev-lang/php/files/php-8.3.9-gd-cachevars.patch b/dev-lang/php/files/php-8.3.9-gd-cachevars.patch new file mode 100644 index 000000000000..cb6ae9f3479d --- /dev/null +++ b/dev-lang/php/files/php-8.3.9-gd-cachevars.patch @@ -0,0 +1,68 @@ +From b5e5a42d145be30be3856ff4be9af7978adec5c5 Mon Sep 17 00:00:00 2001 +From: Peter Kokot <peterkokot@gmail.com> +Date: Sun, 2 Jun 2024 19:47:39 +0200 +Subject: [PATCH] Wrap gdImageCreateFrom* checks in AC_CACHE_CHECK + +This enables cross-compiling edge cases to manually override the checks +with the php_cv_lib_gd_gdImageCreateFrom* cache variables. +--- + ext/gd/config.m4 | 39 ++++++++++++++++++++------------------- + 1 file changed, 20 insertions(+), 19 deletions(-) + +diff --git a/ext/gd/config.m4 b/ext/gd/config.m4 +index d9c6d4f6ee0c2..5c1c7a867c2f8 100644 +--- a/ext/gd/config.m4 ++++ b/ext/gd/config.m4 +@@ -147,14 +147,15 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function + dnl even when it does not support the Foo format. Those junk functions + dnl display a warning but eventually return normally, making a simple link + dnl or run test insufficient. +-AC_DEFUN([PHP_GD_CHECK_FORMAT],[ +- old_LIBS="${LIBS}" +- LIBS="${LIBS} ${GD_SHARED_LIBADD}" +- old_CFLAGS="${CFLAGS}" +- CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}" +- AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd]) +- AC_LANG_PUSH([C]) +- AC_RUN_IFELSE([AC_LANG_SOURCE([ ++AC_DEFUN([PHP_GD_CHECK_FORMAT], ++[AS_VAR_PUSHDEF([php_var], [php_cv_lib_gd_gdImageCreateFrom$1]) ++old_LIBS="${LIBS}" ++LIBS="${LIBS} ${GD_SHARED_LIBADD}" ++old_CFLAGS="${CFLAGS}" ++CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}" ++AC_LANG_PUSH([C]) ++AC_CACHE_CHECK([for working gdImageCreateFrom$1 in libgd], [php_var], ++ [AC_RUN_IFELSE([AC_LANG_SOURCE([ + #include <stdio.h> + #include <unistd.h> + #include <gd.h> +@@ -173,17 +174,17 @@ int main(int argc, char** argv) { + gdSetErrorMethod(exit1); + gdImagePtr p = gdImageCreateFrom$1(f); + return 0; +-}])],[ +- AC_MSG_RESULT([yes]) +- AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?]) +- ],[ +- AC_MSG_RESULT([no]) +- ],[ +- AC_MSG_RESULT([no]) +- ]) +- AC_LANG_POP([C]) +- CFLAGS="${old_CFLAGS}" +- LIBS="${old_LIBS}" ++}])], ++ [AS_VAR_SET([php_var], [yes])], ++ [AS_VAR_SET([php_var], [no])], ++ [AS_VAR_SET([php_var], [no])])]) ++AS_VAR_IF([php_var], [yes], ++ [AC_DEFINE_UNQUOTED([$2], [1], ++ [Define to 1 if GD library has 'gdImageCreateFrom$1'.])]) ++AC_LANG_POP([C]) ++CFLAGS="${old_CFLAGS}" ++LIBS="${old_LIBS}" ++AS_VAR_POPDEF([php_var]) + ]) + + AC_DEFUN([PHP_GD_CHECK_VERSION],[ diff --git a/dev-lang/php/files/php-8.3.9-optional-png-testfixen.patch b/dev-lang/php/files/php-8.3.9-optional-png-testfixen.patch new file mode 100644 index 000000000000..04b55b3b6b81 --- /dev/null +++ b/dev-lang/php/files/php-8.3.9-optional-png-testfixen.patch @@ -0,0 +1,1277 @@ +From e25636b087c507bf12922c8faf9f526aa87153a6 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Wed, 23 Aug 2023 18:42:17 -0400 +Subject: [PATCH 1/3] ext/gd/tests: fix three misleading die() messages + +Three of our gd tests could be skipped with a message about requiring +bundled GD, but those tests don't actually require bundled GD. We +update the messages to mention the specific functions that are +required. +--- + ext/gd/tests/bug24155.phpt | 2 +- + ext/gd/tests/bug39366.phpt | 2 +- + ext/gd/tests/imagefilter.phpt | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ext/gd/tests/bug24155.phpt b/ext/gd/tests/bug24155.phpt +index 42c5e3d7926f5..7c12c38a1a6d7 100644 +--- a/ext/gd/tests/bug24155.phpt ++++ b/ext/gd/tests/bug24155.phpt +@@ -4,7 +4,7 @@ Bug #24155 (gdImageRotate270 rotation problem). + gd + --SKIPIF-- + <?php +- if (!function_exists("imagerotate")) die("skip requires bundled GD library\n"); ++ if (!function_exists("imagerotate")) die("skip requires imagerotate function"); + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug39366.phpt b/ext/gd/tests/bug39366.phpt +index 2fedbcef43dfe..81e81059c27e8 100644 +--- a/ext/gd/tests/bug39366.phpt ++++ b/ext/gd/tests/bug39366.phpt +@@ -4,7 +4,7 @@ Bug #39366 (imagerotate does not respect alpha with angles>45) + gd + --SKIPIF-- + <?php +- if (!function_exists("imagerotate")) die("skip requires bundled GD library\n"); ++ if (!function_exists("imagerotate")) die("skip requires imagerotate function"); + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagefilter.phpt b/ext/gd/tests/imagefilter.phpt +index 156f465da6016..79a73472511c7 100644 +--- a/ext/gd/tests/imagefilter.phpt ++++ b/ext/gd/tests/imagefilter.phpt +@@ -4,7 +4,7 @@ imagefilter() function test + gd + --SKIPIF-- + <?php +- if (!function_exists("imagefilter")) die("skip requires bundled GD library\n"); ++ if (!function_exists("imagefilter")) die("skip requires imagefilter function"); + ?> + --FILE-- + <?php + +From 68a5f3f0a8e6299dddaafa2118ff322c532f1ae1 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Wed, 23 Aug 2023 19:56:10 -0400 +Subject: [PATCH 2/3] ext/gd/tests: add SKIPIF stanzas for missing PNG support + +The bundled libgd always has PNG support, but an external one may not. +--- + ext/gd/tests/bug22544-mb.phpt | 6 ++++++ + ext/gd/tests/bug22544.phpt | 6 ++++++ + ext/gd/tests/bug24155.phpt | 3 +++ + ext/gd/tests/bug27582_1.phpt | 6 ++++++ + ext/gd/tests/bug39780_extern.phpt | 3 +++ + ext/gd/tests/bug43073.phpt | 3 +++ + ext/gd/tests/bug43475.phpt | 3 +++ + ext/gd/tests/bug43828.phpt | 3 +++ + ext/gd/tests/bug45799.phpt | 6 ++++++ + ext/gd/tests/bug47946.phpt | 3 +++ + ext/gd/tests/bug48732-mb.phpt | 3 +++ + ext/gd/tests/bug48732.phpt | 4 ++++ + ext/gd/tests/bug50194.phpt | 4 +++- + ext/gd/tests/bug51498.phpt | 3 +++ + ext/gd/tests/bug52070.phpt | 6 ++++++ + ext/gd/tests/bug53504.phpt | 3 +++ + ext/gd/tests/bug64641.phpt | 3 +++ + ext/gd/tests/bug66005.phpt | 6 ++++++ + ext/gd/tests/bug72482_2.phpt | 6 ++++++ + ext/gd/tests/bug72604.phpt | 6 ++++++ + ext/gd/tests/bug72913.phpt | 6 ++++++ + ext/gd/tests/bug73213.phpt | 6 ++++++ + ext/gd/tests/bug73272.phpt | 6 ++++++ + ext/gd/tests/bug73549.phpt | 6 ++++++ + ext/gd/tests/bug73614.phpt | 3 +++ + ext/gd/tests/bug74031.phpt | 6 ++++++ + ext/gd/tests/bug75124.phpt | 3 +++ + ext/gd/tests/bug77943.phpt | 6 ++++++ + ext/gd/tests/bug79945.phpt | 3 +++ + ext/gd/tests/imagearc_basic.phpt | 6 ++++++ + ext/gd/tests/imagearc_variation1.phpt | 6 ++++++ + ext/gd/tests/imagearc_variation2.phpt | 6 ++++++ + ext/gd/tests/imagechar_basic.phpt | 6 ++++++ + ext/gd/tests/imagecharup_basic.phpt | 6 ++++++ + ext/gd/tests/imagecolorallocatealpha_basic.phpt | 3 +++ + ext/gd/tests/imagecolorset_basic.phpt | 6 ++++++ + ext/gd/tests/imageconvolution_basic.phpt | 6 ++++++ + ext/gd/tests/imagecopyresampled_basic.phpt | 6 ++++++ + ext/gd/tests/imagecreatefrombmp_basic.phpt | 3 +++ + ext/gd/tests/imagecreatefromstring_bmp.phpt | 3 +++ + ext/gd/tests/imagecreatefromtga_basic.phpt | 3 +++ + ext/gd/tests/imagecreatefromtga_variation.phpt | 3 +++ + ext/gd/tests/imagecreatetruecolor_basic.phpt | 3 +++ + ext/gd/tests/imagecrop_auto.phpt | 3 +++ + ext/gd/tests/imagedashedline_basic.phpt | 3 +++ + ext/gd/tests/imageellipse_basic.phpt | 6 ++++++ + ext/gd/tests/imagefilledarc_basic.phpt | 3 +++ + ext/gd/tests/imagefilledarc_variation1.phpt | 3 +++ + ext/gd/tests/imagefilledarc_variation2.phpt | 3 +++ + ext/gd/tests/imagefilledellipse_basic.phpt | 6 ++++++ + ext/gd/tests/imagefilledpolygon_basic.phpt | 3 +++ + ext/gd/tests/imagefilltoborder_basic.phpt | 6 ++++++ + ext/gd/tests/imagefilter.phpt | 3 +++ + ext/gd/tests/imagegammacorrect_basic.phpt | 3 +++ + ext/gd/tests/imagegammacorrect_variation1.phpt | 3 +++ + ext/gd/tests/imagegammacorrect_variation2.phpt | 6 ++++++ + ext/gd/tests/imageopenpolygon_basic.phpt | 6 ++++++ + ext/gd/tests/imagepolygon_aa.phpt | 6 ++++++ + ext/gd/tests/imagepolygon_basic.phpt | 3 +++ + ext/gd/tests/imagerectangle_basic.phpt | 6 ++++++ + ext/gd/tests/imageresolution_png.phpt | 6 ++++++ + ext/gd/tests/imagesetbrush_basic.phpt | 6 ++++++ + ext/gd/tests/imagesetthickness_basic.phpt | 3 +++ + ext/gd/tests/imagestring_basic.phpt | 6 ++++++ + ext/gd/tests/imagestringup_basic.phpt | 6 ++++++ + ext/gd/tests/imagetruecolortopalette_basic.phpt | 3 +++ + ext/gd/tests/libgd00086_extern.phpt | 3 +++ + ext/gd/tests/test_image_equals_file_palette.phpt | 6 ++++++ + 68 files changed, 307 insertions(+), 1 deletion(-) + +diff --git a/ext/gd/tests/bug22544-mb.phpt b/ext/gd/tests/bug22544-mb.phpt +index b67478e558c47..f99307df1212b 100644 +--- a/ext/gd/tests/bug22544-mb.phpt ++++ b/ext/gd/tests/bug22544-mb.phpt +@@ -2,6 +2,12 @@ + Bug #22544 (TrueColor transparency in PNG images). + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imageCreateTruecolor(640, 100); +diff --git a/ext/gd/tests/bug22544.phpt b/ext/gd/tests/bug22544.phpt +index 1fba04d93739c..28fc6bdfbb0c1 100644 +--- a/ext/gd/tests/bug22544.phpt ++++ b/ext/gd/tests/bug22544.phpt +@@ -2,6 +2,12 @@ + Bug #22544 (TrueColor transparency in PNG images). + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imageCreateTruecolor(640, 100); +diff --git a/ext/gd/tests/bug24155.phpt b/ext/gd/tests/bug24155.phpt +index 7c12c38a1a6d7..d78ee9b77816f 100644 +--- a/ext/gd/tests/bug24155.phpt ++++ b/ext/gd/tests/bug24155.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists("imagerotate")) die("skip requires imagerotate function"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug27582_1.phpt b/ext/gd/tests/bug27582_1.phpt +index 2604c5fcaa9fd..1f15474f50d4b 100644 +--- a/ext/gd/tests/bug27582_1.phpt ++++ b/ext/gd/tests/bug27582_1.phpt +@@ -2,6 +2,12 @@ + Bug #27582 (ImageFillToBorder() on alphablending image looses alpha on fill color) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $dest = dirname(realpath(__FILE__)) . '/bug27582.png'; +diff --git a/ext/gd/tests/bug39780_extern.phpt b/ext/gd/tests/bug39780_extern.phpt +index 2330bd65e57ab..438816fe22c6a 100644 +--- a/ext/gd/tests/bug39780_extern.phpt ++++ b/ext/gd/tests/bug39780_extern.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (GD_BUNDLED) die("skip requires extern GD\n"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug43073.phpt b/ext/gd/tests/bug43073.phpt +index 5c54d8770f86b..80c6480fea576 100644 +--- a/ext/gd/tests/bug43073.phpt ++++ b/ext/gd/tests/bug43073.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if(!function_exists('imagettftext')) die('skip imagettftext() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug43475.phpt b/ext/gd/tests/bug43475.phpt +index 8944b57e3cde7..454d2daad0f1a 100644 +--- a/ext/gd/tests/bug43475.phpt ++++ b/ext/gd/tests/bug43475.phpt +@@ -7,6 +7,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug43828.phpt b/ext/gd/tests/bug43828.phpt +index 8a0caf5decc35..8bc3f9bbcaf83 100644 +--- a/ext/gd/tests/bug43828.phpt ++++ b/ext/gd/tests/bug43828.phpt +@@ -7,6 +7,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug45799.phpt b/ext/gd/tests/bug45799.phpt +index 8576b4d007822..f7124ce5b9713 100644 +--- a/ext/gd/tests/bug45799.phpt ++++ b/ext/gd/tests/bug45799.phpt +@@ -2,6 +2,12 @@ + Bug #45799 (imagepng() crashes on empty image). + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $img = imagecreate(500,500); +diff --git a/ext/gd/tests/bug47946.phpt b/ext/gd/tests/bug47946.phpt +index 39e5aef9edffc..a87300568326f 100644 +--- a/ext/gd/tests/bug47946.phpt ++++ b/ext/gd/tests/bug47946.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.5', '<=')) die('skip upstream fix not yet released'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug48732-mb.phpt b/ext/gd/tests/bug48732-mb.phpt +index 13a881254c203..361c1ac4d88f8 100644 +--- a/ext/gd/tests/bug48732-mb.phpt ++++ b/ext/gd/tests/bug48732-mb.phpt +@@ -6,6 +6,9 @@ gd + <?php + if(!function_exists('imagefttext')) die('skip imagefttext() not available'); + if (substr(PHP_OS, 0, 3) == 'WIN') die('skip UTF-8 font file names not yet supported on Windows'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug48732.phpt b/ext/gd/tests/bug48732.phpt +index 44e4204503ef7..ed73954de3337 100644 +--- a/ext/gd/tests/bug48732.phpt ++++ b/ext/gd/tests/bug48732.phpt +@@ -2,9 +2,13 @@ + Bug #48732 (TTF Bounding box wrong for letters below baseline) + --EXTENSIONS-- + gd ++ + --SKIPIF-- + <?php + if(!function_exists('imagefttext')) die('skip imagefttext() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug50194.phpt b/ext/gd/tests/bug50194.phpt +index 2addfe0e8325d..33d2400c46e80 100644 +--- a/ext/gd/tests/bug50194.phpt ++++ b/ext/gd/tests/bug50194.phpt +@@ -5,7 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists('imagettftext')) die('skip imagettftext() not available'); +-//die('skip freetype issues'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug51498.phpt b/ext/gd/tests/bug51498.phpt +index 808444376525e..756ba1f71dc33 100644 +--- a/ext/gd/tests/bug51498.phpt ++++ b/ext/gd/tests/bug51498.phpt +@@ -7,6 +7,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, "2.3.0") < 0) { + die("skip test requires GD 2.3.0 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug52070.phpt b/ext/gd/tests/bug52070.phpt +index 1ba28affdbfcd..6bbe2363a650b 100644 +--- a/ext/gd/tests/bug52070.phpt ++++ b/ext/gd/tests/bug52070.phpt +@@ -2,6 +2,12 @@ + Bug #52070 (imagedashedline() - dashed line sometimes is not visible) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $im = imagecreate(1200, 800); +diff --git a/ext/gd/tests/bug53504.phpt b/ext/gd/tests/bug53504.phpt +index bb74497af05ab..5bd81f35aa0cb 100644 +--- a/ext/gd/tests/bug53504.phpt ++++ b/ext/gd/tests/bug53504.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if(!function_exists('imageftbbox')) die('skip imageftbbox() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug64641.phpt b/ext/gd/tests/bug64641.phpt +index d300bd8fc6a0a..edfebee99c92a 100644 +--- a/ext/gd/tests/bug64641.phpt ++++ b/ext/gd/tests/bug64641.phpt +@@ -7,6 +7,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug66005.phpt b/ext/gd/tests/bug66005.phpt +index 78e0f481dab17..3f3b421b8856a 100644 +--- a/ext/gd/tests/bug66005.phpt ++++ b/ext/gd/tests/bug66005.phpt +@@ -2,6 +2,12 @@ + Bug #66005 (imagecopy does not support 1bit transparency on truecolor images) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $dest = imagecreatetruecolor(150, 50); +diff --git a/ext/gd/tests/bug72482_2.phpt b/ext/gd/tests/bug72482_2.phpt +index 89f5bb28a77bd..0583fa4dedde3 100644 +--- a/ext/gd/tests/bug72482_2.phpt ++++ b/ext/gd/tests/bug72482_2.phpt +@@ -2,6 +2,12 @@ + Bug 72482 (Ilegal write/read access caused by gdImageAALine overflow) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/bug72604.phpt b/ext/gd/tests/bug72604.phpt +index 706d7891c3220..a7d24e78dfefe 100644 +--- a/ext/gd/tests/bug72604.phpt ++++ b/ext/gd/tests/bug72604.phpt +@@ -2,6 +2,12 @@ + Bug #72604 (imagearc() ignores thickness for full arcs) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $im = imagecreatetruecolor(100, 100); +diff --git a/ext/gd/tests/bug72913.phpt b/ext/gd/tests/bug72913.phpt +index c3a7e9f9f56cf..9eb9c24653530 100644 +--- a/ext/gd/tests/bug72913.phpt ++++ b/ext/gd/tests/bug72913.phpt +@@ -2,6 +2,12 @@ + Bug #72913 (imagecopy() loses single-color transparency on palette images) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $base64 = 'iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAAABnRSTlMAAAAAAABu' +diff --git a/ext/gd/tests/bug73213.phpt b/ext/gd/tests/bug73213.phpt +index c4c4bd6feeaf1..47fe8043135f8 100644 +--- a/ext/gd/tests/bug73213.phpt ++++ b/ext/gd/tests/bug73213.phpt +@@ -2,6 +2,12 @@ + Bug #73213 (Integer overflow in imageline() with antialiasing) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/bug73272.phpt b/ext/gd/tests/bug73272.phpt +index cf10eb227ae11..0f0920b2687db 100644 +--- a/ext/gd/tests/bug73272.phpt ++++ b/ext/gd/tests/bug73272.phpt +@@ -2,6 +2,12 @@ + Bug #73272 (imagescale() is not affected by, but affects imagesetinterpolation()) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/bug73549.phpt b/ext/gd/tests/bug73549.phpt +index d25941dd565d3..26a7474b7d5b4 100644 +--- a/ext/gd/tests/bug73549.phpt ++++ b/ext/gd/tests/bug73549.phpt +@@ -2,6 +2,12 @@ + Bug #73549 (Use after free when stream is passed to imagepng) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $stream = fopen(__DIR__ . DIRECTORY_SEPARATOR . 'bug73549.png', 'w'); +diff --git a/ext/gd/tests/bug73614.phpt b/ext/gd/tests/bug73614.phpt +index def4d37421160..e1261643f7116 100644 +--- a/ext/gd/tests/bug73614.phpt ++++ b/ext/gd/tests/bug73614.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.5', '<=')) die('skip upstream bugfix not yet released'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug74031.phpt b/ext/gd/tests/bug74031.phpt +index b4efa6b749e8e..6dfb351fcff97 100644 +--- a/ext/gd/tests/bug74031.phpt ++++ b/ext/gd/tests/bug74031.phpt +@@ -2,6 +2,12 @@ + (Bug #74031) ReflectionFunction for imagepng returns wrong number of parameters + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/bug75124.phpt b/ext/gd/tests/bug75124.phpt +index 47b36157fec90..26e44f1d6a011 100644 +--- a/ext/gd/tests/bug75124.phpt ++++ b/ext/gd/tests/bug75124.phpt +@@ -7,6 +7,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.5', '<')) { + die('skip only for bundled libgd or external libgd >= 2.2.5'); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/bug77943.phpt b/ext/gd/tests/bug77943.phpt +index 8ed4114128f25..d7d71ceca84ae 100644 +--- a/ext/gd/tests/bug77943.phpt ++++ b/ext/gd/tests/bug77943.phpt +@@ -2,6 +2,12 @@ + Bug #77943 (imageantialias($image, false); does not work) + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . '/func.inc'; +diff --git a/ext/gd/tests/bug79945.phpt b/ext/gd/tests/bug79945.phpt +index b985ddd48be31..5db958e36d358 100644 +--- a/ext/gd/tests/bug79945.phpt ++++ b/ext/gd/tests/bug79945.phpt +@@ -4,6 +4,9 @@ Bug #79945 (using php wrappers in imagecreatefrompng causes segmentation fault) + gd + --SKIPIF-- + <?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + set_error_handler(function($errno, $errstr) { + if (str_contains($errstr, 'Cannot cast a filtered stream on this system')) { + die('skip: fopencookie not support on this system'); +diff --git a/ext/gd/tests/imagearc_basic.phpt b/ext/gd/tests/imagearc_basic.phpt +index be80f6c5f2317..339ea0b79d18d 100644 +--- a/ext/gd/tests/imagearc_basic.phpt ++++ b/ext/gd/tests/imagearc_basic.phpt +@@ -5,6 +5,12 @@ Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagearc_variation1.phpt b/ext/gd/tests/imagearc_variation1.phpt +index 89719aa60b494..bf20c74f0ce40 100644 +--- a/ext/gd/tests/imagearc_variation1.phpt ++++ b/ext/gd/tests/imagearc_variation1.phpt +@@ -5,6 +5,12 @@ Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagearc_variation2.phpt b/ext/gd/tests/imagearc_variation2.phpt +index 4597cf3a8ff89..c23bca840bf4e 100644 +--- a/ext/gd/tests/imagearc_variation2.phpt ++++ b/ext/gd/tests/imagearc_variation2.phpt +@@ -5,6 +5,12 @@ Edgar Ferreira da Silva <contato [at] edgarfs [dot] com [dot] br> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagechar_basic.phpt b/ext/gd/tests/imagechar_basic.phpt +index 3195eb82d4d4f..649dcccc2de87 100644 +--- a/ext/gd/tests/imagechar_basic.phpt ++++ b/ext/gd/tests/imagechar_basic.phpt +@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imagecreatetruecolor(180, 30); +diff --git a/ext/gd/tests/imagecharup_basic.phpt b/ext/gd/tests/imagecharup_basic.phpt +index 82bc18d6ad609..7ebbb8fce9a07 100644 +--- a/ext/gd/tests/imagecharup_basic.phpt ++++ b/ext/gd/tests/imagecharup_basic.phpt +@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imagecreatetruecolor(180, 30); +diff --git a/ext/gd/tests/imagecolorallocatealpha_basic.phpt b/ext/gd/tests/imagecolorallocatealpha_basic.phpt +index cc02aaed0d8b3..24ac882d550d5 100644 +--- a/ext/gd/tests/imagecolorallocatealpha_basic.phpt ++++ b/ext/gd/tests/imagecolorallocatealpha_basic.phpt +@@ -9,6 +9,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecolorset_basic.phpt b/ext/gd/tests/imagecolorset_basic.phpt +index cb9b3683aa8ee..5ed9a1ab8600e 100644 +--- a/ext/gd/tests/imagecolorset_basic.phpt ++++ b/ext/gd/tests/imagecolorset_basic.phpt +@@ -5,6 +5,12 @@ Erick Belluci Tedeschi <erickbt86 [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + // Create a 300x100 image +diff --git a/ext/gd/tests/imageconvolution_basic.phpt b/ext/gd/tests/imageconvolution_basic.phpt +index aa8347884999a..d8204e2d7eb28 100644 +--- a/ext/gd/tests/imageconvolution_basic.phpt ++++ b/ext/gd/tests/imageconvolution_basic.phpt +@@ -5,6 +5,12 @@ Guilherme Blanco <guilhermeblanco [at] hotmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imagecreatetruecolor(180, 30); +diff --git a/ext/gd/tests/imagecopyresampled_basic.phpt b/ext/gd/tests/imagecopyresampled_basic.phpt +index a3200b3537809..9fb1178e540ae 100644 +--- a/ext/gd/tests/imagecopyresampled_basic.phpt ++++ b/ext/gd/tests/imagecopyresampled_basic.phpt +@@ -2,6 +2,12 @@ + imagecopyresampled() + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagecreatefrombmp_basic.phpt b/ext/gd/tests/imagecreatefrombmp_basic.phpt +index 51eb22c71adf0..4989e617b4719 100644 +--- a/ext/gd/tests/imagecreatefrombmp_basic.phpt ++++ b/ext/gd/tests/imagecreatefrombmp_basic.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!(imagetypes() & IMG_BMP)) die('skip BMP support required'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecreatefromstring_bmp.phpt b/ext/gd/tests/imagecreatefromstring_bmp.phpt +index 8f9e1dd675b91..34db04297e3aa 100644 +--- a/ext/gd/tests/imagecreatefromstring_bmp.phpt ++++ b/ext/gd/tests/imagecreatefromstring_bmp.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!(imagetypes() & IMG_BMP)) die('skip BMP support required'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecreatefromtga_basic.phpt b/ext/gd/tests/imagecreatefromtga_basic.phpt +index 25f034878b0c6..c66f66efbd638 100644 +--- a/ext/gd/tests/imagecreatefromtga_basic.phpt ++++ b/ext/gd/tests/imagecreatefromtga_basic.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!(imagetypes() & IMG_TGA)) die('skip TGA support required'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecreatefromtga_variation.phpt b/ext/gd/tests/imagecreatefromtga_variation.phpt +index 0948f978f2f6a..be9c7977bd6a7 100644 +--- a/ext/gd/tests/imagecreatefromtga_variation.phpt ++++ b/ext/gd/tests/imagecreatefromtga_variation.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!(imagetypes() & IMG_TGA)) die('skip TGA support required'); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecreatetruecolor_basic.phpt b/ext/gd/tests/imagecreatetruecolor_basic.phpt +index 5af8a0a1a32bc..2e8a1ef983bd3 100644 +--- a/ext/gd/tests/imagecreatetruecolor_basic.phpt ++++ b/ext/gd/tests/imagecreatetruecolor_basic.phpt +@@ -7,6 +7,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagecrop_auto.phpt b/ext/gd/tests/imagecrop_auto.phpt +index 5d3d50b3ef317..5ed8e446a7f26 100644 +--- a/ext/gd/tests/imagecrop_auto.phpt ++++ b/ext/gd/tests/imagecrop_auto.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists('imagecrop')) die( 'skip GD imagecropauto not present; skipping test' ); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagedashedline_basic.phpt b/ext/gd/tests/imagedashedline_basic.phpt +index b36ffbfc6f593..d9ca69ad5f0b8 100644 +--- a/ext/gd/tests/imagedashedline_basic.phpt ++++ b/ext/gd/tests/imagedashedline_basic.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists('imagedashedline')) die('skip imagedashedline() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imageellipse_basic.phpt b/ext/gd/tests/imageellipse_basic.phpt +index 0c86e7cfcb859..da1e0e9926086 100644 +--- a/ext/gd/tests/imageellipse_basic.phpt ++++ b/ext/gd/tests/imageellipse_basic.phpt +@@ -5,6 +5,12 @@ Ivan Rosolen <contato [at] ivanrosolen [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagefilledarc_basic.phpt b/ext/gd/tests/imagefilledarc_basic.phpt +index f3b8c7ac8e89e..006ed4aaa23b4 100644 +--- a/ext/gd/tests/imagefilledarc_basic.phpt ++++ b/ext/gd/tests/imagefilledarc_basic.phpt +@@ -10,6 +10,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagefilledarc_variation1.phpt b/ext/gd/tests/imagefilledarc_variation1.phpt +index d25d2afc87987..d00c9b6c0be1e 100644 +--- a/ext/gd/tests/imagefilledarc_variation1.phpt ++++ b/ext/gd/tests/imagefilledarc_variation1.phpt +@@ -10,6 +10,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagefilledarc_variation2.phpt b/ext/gd/tests/imagefilledarc_variation2.phpt +index fb4675ec5dd69..61157a0173158 100644 +--- a/ext/gd/tests/imagefilledarc_variation2.phpt ++++ b/ext/gd/tests/imagefilledarc_variation2.phpt +@@ -10,6 +10,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagefilledellipse_basic.phpt b/ext/gd/tests/imagefilledellipse_basic.phpt +index 19a94b1200e24..a494b15c28e2e 100644 +--- a/ext/gd/tests/imagefilledellipse_basic.phpt ++++ b/ext/gd/tests/imagefilledellipse_basic.phpt +@@ -2,6 +2,12 @@ + Testing imagefilledellipse() of GD library + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagefilledpolygon_basic.phpt b/ext/gd/tests/imagefilledpolygon_basic.phpt +index 6cba5238d3246..bbb8f9c2eb044 100644 +--- a/ext/gd/tests/imagefilledpolygon_basic.phpt ++++ b/ext/gd/tests/imagefilledpolygon_basic.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists('imagefilledpolygon')) die('skip imagefilledpolygon() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagefilltoborder_basic.phpt b/ext/gd/tests/imagefilltoborder_basic.phpt +index 7e79ea47b46b6..f8ebe86bb2c6d 100644 +--- a/ext/gd/tests/imagefilltoborder_basic.phpt ++++ b/ext/gd/tests/imagefilltoborder_basic.phpt +@@ -5,6 +5,12 @@ Ivan Rosolen <contato [at] ivanrosolen [dot] com> + #testfest PHPSP on 2009-06-30 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + // Create a image +diff --git a/ext/gd/tests/imagefilter.phpt b/ext/gd/tests/imagefilter.phpt +index 79a73472511c7..c8cf182d9d4eb 100644 +--- a/ext/gd/tests/imagefilter.phpt ++++ b/ext/gd/tests/imagefilter.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists("imagefilter")) die("skip requires imagefilter function"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagegammacorrect_basic.phpt b/ext/gd/tests/imagegammacorrect_basic.phpt +index 67b2a36a1657a..4f52309c825bf 100644 +--- a/ext/gd/tests/imagegammacorrect_basic.phpt ++++ b/ext/gd/tests/imagegammacorrect_basic.phpt +@@ -10,6 +10,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagegammacorrect_variation1.phpt b/ext/gd/tests/imagegammacorrect_variation1.phpt +index 1c41a257b9ec4..55370aa49cf87 100644 +--- a/ext/gd/tests/imagegammacorrect_variation1.phpt ++++ b/ext/gd/tests/imagegammacorrect_variation1.phpt +@@ -10,6 +10,9 @@ gd + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.2.2', '<')) { + die("skip test requires GD 2.2.2 or higher"); + } ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagegammacorrect_variation2.phpt b/ext/gd/tests/imagegammacorrect_variation2.phpt +index c75c728296bec..33c89d205a1a7 100644 +--- a/ext/gd/tests/imagegammacorrect_variation2.phpt ++++ b/ext/gd/tests/imagegammacorrect_variation2.phpt +@@ -2,6 +2,12 @@ + Apply imagegammacorrect() to a step wedge + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/imageopenpolygon_basic.phpt b/ext/gd/tests/imageopenpolygon_basic.phpt +index 6ed6d63a5ac47..ed8d3b698d11c 100644 +--- a/ext/gd/tests/imageopenpolygon_basic.phpt ++++ b/ext/gd/tests/imageopenpolygon_basic.phpt +@@ -2,6 +2,12 @@ + imageopenpolygon(): basic test + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/imagepolygon_aa.phpt b/ext/gd/tests/imagepolygon_aa.phpt +index 77fef3beed9a5..a0fded6e5e06c 100644 +--- a/ext/gd/tests/imagepolygon_aa.phpt ++++ b/ext/gd/tests/imagepolygon_aa.phpt +@@ -2,6 +2,12 @@ + antialiased imagepolygon() + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; +diff --git a/ext/gd/tests/imagepolygon_basic.phpt b/ext/gd/tests/imagepolygon_basic.phpt +index 4d17b30eacfa9..c41b0710ef435 100644 +--- a/ext/gd/tests/imagepolygon_basic.phpt ++++ b/ext/gd/tests/imagepolygon_basic.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists('imagepolygon')) die('skip imagepolygon() not available'); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagerectangle_basic.phpt b/ext/gd/tests/imagerectangle_basic.phpt +index d71c44156f98c..a40b130cba7d2 100644 +--- a/ext/gd/tests/imagerectangle_basic.phpt ++++ b/ext/gd/tests/imagerectangle_basic.phpt +@@ -5,6 +5,12 @@ Ivan Rosolen <contato [at] ivanrosolen [dot] com> + #testfest PHPSP on 2009-06-30 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + // Create a image +diff --git a/ext/gd/tests/imageresolution_png.phpt b/ext/gd/tests/imageresolution_png.phpt +index a72f351a156bf..13f51cd8f3a4a 100644 +--- a/ext/gd/tests/imageresolution_png.phpt ++++ b/ext/gd/tests/imageresolution_png.phpt +@@ -2,6 +2,12 @@ + Set and get image resolution of PNG images + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $filename = __DIR__ . DIRECTORY_SEPARATOR . 'imageresolution_png.png'; +diff --git a/ext/gd/tests/imagesetbrush_basic.phpt b/ext/gd/tests/imagesetbrush_basic.phpt +index be8a3d33e4ad7..5142e3690b85f 100644 +--- a/ext/gd/tests/imagesetbrush_basic.phpt ++++ b/ext/gd/tests/imagesetbrush_basic.phpt +@@ -5,6 +5,12 @@ Erick Belluci Tedeschi <erickbt86 [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + // Create the brush image +diff --git a/ext/gd/tests/imagesetthickness_basic.phpt b/ext/gd/tests/imagesetthickness_basic.phpt +index 88f7803dcf610..745dfcf905b92 100644 +--- a/ext/gd/tests/imagesetthickness_basic.phpt ++++ b/ext/gd/tests/imagesetthickness_basic.phpt +@@ -7,6 +7,9 @@ gd + --SKIPIF-- + <?php + if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/imagestring_basic.phpt b/ext/gd/tests/imagestring_basic.phpt +index 1a71ba173c820..8a8e247eb0731 100644 +--- a/ext/gd/tests/imagestring_basic.phpt ++++ b/ext/gd/tests/imagestring_basic.phpt +@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imagecreatetruecolor(180, 30); +diff --git a/ext/gd/tests/imagestringup_basic.phpt b/ext/gd/tests/imagestringup_basic.phpt +index 85b85e1e31c51..f1e30a782fb88 100644 +--- a/ext/gd/tests/imagestringup_basic.phpt ++++ b/ext/gd/tests/imagestringup_basic.phpt +@@ -5,6 +5,12 @@ Rafael Dohms <rdohms [at] gmail [dot] com> + #testfest PHPSP on 2009-06-20 + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + $image = imagecreatetruecolor(180, 30); +diff --git a/ext/gd/tests/imagetruecolortopalette_basic.phpt b/ext/gd/tests/imagetruecolortopalette_basic.phpt +index ae4555bb2ad72..2f1c2961a603c 100644 +--- a/ext/gd/tests/imagetruecolortopalette_basic.phpt ++++ b/ext/gd/tests/imagetruecolortopalette_basic.phpt +@@ -10,6 +10,9 @@ gd + die("skip test requires GD 2.2.2 or higher"); + } + if (!function_exists("imagecreatetruecolor")) die("skip GD Version not compatible"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/libgd00086_extern.phpt b/ext/gd/tests/libgd00086_extern.phpt +index 8d2b0b7d8dbe8..a3585180b83e8 100644 +--- a/ext/gd/tests/libgd00086_extern.phpt ++++ b/ext/gd/tests/libgd00086_extern.phpt +@@ -5,6 +5,9 @@ gd + --SKIPIF-- + <?php + if (GD_BUNDLED) die("skip requires external GD library\n"); ++ if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++ } + ?> + --FILE-- + <?php +diff --git a/ext/gd/tests/test_image_equals_file_palette.phpt b/ext/gd/tests/test_image_equals_file_palette.phpt +index a1022138230f6..2e294c04c4066 100644 +--- a/ext/gd/tests/test_image_equals_file_palette.phpt ++++ b/ext/gd/tests/test_image_equals_file_palette.phpt +@@ -2,6 +2,12 @@ + test_image_equals_file(): comparing palette images + --EXTENSIONS-- + gd ++--SKIPIF-- ++<?php ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} ++?> + --FILE-- + <?php + require_once __DIR__ . DIRECTORY_SEPARATOR . 'func.inc'; + +From 14d9f2349274597bfc81c46222ea7e808d372bdb Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 30 Dec 2023 16:13:40 -0500 +Subject: [PATCH 3/3] ext/gd/tests: imagerotate() is always available + +Following 59ec80c5, the imagerotate() function is always available. We +may therefore remove its function_exists() checks without harm. +--- + ext/gd/tests/bug24155.phpt | 1 - + ext/gd/tests/bug39366.phpt | 4 ---- + ext/gd/tests/imagerotate_overflow.phpt | 6 ------ + 3 files changed, 11 deletions(-) + +diff --git a/ext/gd/tests/bug24155.phpt b/ext/gd/tests/bug24155.phpt +index d78ee9b77816f..c93c3bbbcb586 100644 +--- a/ext/gd/tests/bug24155.phpt ++++ b/ext/gd/tests/bug24155.phpt +@@ -4,7 +4,6 @@ Bug #24155 (gdImageRotate270 rotation problem). + gd + --SKIPIF-- + <?php +- if (!function_exists("imagerotate")) die("skip requires imagerotate function"); + if (!(imagetypes() & IMG_PNG)) { + die("skip No PNG support"); + } +diff --git a/ext/gd/tests/bug39366.phpt b/ext/gd/tests/bug39366.phpt +index 81e81059c27e8..3c8b0130a410a 100644 +--- a/ext/gd/tests/bug39366.phpt ++++ b/ext/gd/tests/bug39366.phpt +@@ -2,10 +2,6 @@ + Bug #39366 (imagerotate does not respect alpha with angles>45) + --EXTENSIONS-- + gd +---SKIPIF-- +-<?php +- if (!function_exists("imagerotate")) die("skip requires imagerotate function"); +-?> + --FILE-- + <?php + +diff --git a/ext/gd/tests/imagerotate_overflow.phpt b/ext/gd/tests/imagerotate_overflow.phpt +index 29cc89c1c56eb..a7be335ca92a6 100644 +--- a/ext/gd/tests/imagerotate_overflow.phpt ++++ b/ext/gd/tests/imagerotate_overflow.phpt +@@ -2,12 +2,6 @@ + imagerotate() overflow with negative numbers + --EXTENSIONS-- + gd +---SKIPIF-- +-<?php +- if (!function_exists('imagerotate')) { +- die("skip imagerotate() not available."); +- } +-?> + --FILE-- + <?php + +From fa043f4716dcbd21630e16584e2d8d6baf17c77d Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Wed, 10 Jul 2024 08:20:31 -0400 +Subject: [PATCH 1/1] ext/gd/tests/gh10614.phpt: skip if no PNG support + +This test uses imagecreatefrompng(), which won't be there if libgd was +built without PNG support. +--- + ext/gd/tests/gh10614.phpt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/ext/gd/tests/gh10614.phpt b/ext/gd/tests/gh10614.phpt +index c068914183..1b91115d74 100644 +--- a/ext/gd/tests/gh10614.phpt ++++ b/ext/gd/tests/gh10614.phpt +@@ -5,6 +5,9 @@ + --SKIPIF-- + <?php + if (!GD_BUNDLED && version_compare(GD_VERSION, '2.3.4', '>=')) die("skip test requires GD 2.3.4 or older"); ++if (!(imagetypes() & IMG_PNG)) { ++ die("skip No PNG support"); ++} + ?> + --FILE-- + <?php +-- +2.44.2 + diff --git a/dev-lang/php/metadata.xml b/dev-lang/php/metadata.xml index b903ac6d3745..ca91577505a3 100644 --- a/dev-lang/php/metadata.xml +++ b/dev-lang/php/metadata.xml @@ -86,6 +86,9 @@ <flag name="opcache"> Enables built-in opcode cache, replacing pecl-apc et al. </flag> + <flag name="opcache-jit"> + Enable Just In Time (JIT) compilation within the opcache extension + </flag> <flag name="pcntl"> Enable the Process Control extension </flag> diff --git a/dev-lang/php/php-8.3.8.ebuild b/dev-lang/php/php-8.3.9.ebuild index 8ea0dd1af24f..f0b4e07fb29d 100644 --- a/dev-lang/php/php-8.3.8.ebuild +++ b/dev-lang/php/php-8.3.9.ebuild @@ -5,7 +5,7 @@ EAPI=8 WANT_AUTOMAKE="none" -inherit flag-o-matic multilib systemd +inherit autotools flag-o-matic multilib systemd DESCRIPTION="The PHP language runtime engine" HOMEPAGE="https://www.php.net/" @@ -16,7 +16,6 @@ LICENSE="PHP-3.01 Zend-2.0 bcmath? ( LGPL-2.1+ ) fpm? ( BSD-2 ) - gd? ( gd ) unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" @@ -31,13 +30,13 @@ IUSE="${IUSE} threads" IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar - capstone cdb cjk +ctype curl debug + capstone cdb +ctype curl debug enchant exif ffi +fileinfo +filter firebird +flatfile ftp gd gdbm gmp +iconv imap inifile - intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb + intl iodbc ipv6 +jit jpeg kerberos ldap ldap-sasl libedit lmdb mhash mssql mysql mysqli nls - odbc +opcache pcntl pdo +phar +posix postgres qdbm - readline selinux +session session-mm sharedmem + odbc +opcache +opcache-jit pcntl pdo +phar +posix postgres png + qdbm readline selinux +session session-mm sharedmem +simplexml snmp soap sockets sodium spell sqlite ssl sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode valgrind webp +xml xmlreader xmlwriter xpm xslt zip zlib" @@ -45,14 +44,8 @@ IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar # Without USE=readline or libedit, the interactive "php -a" CLI will hang. REQUIRED_USE=" || ( cli cgi fpm apache2 embed phpdbg ) - avif? ( gd zlib ) cli? ( ^^ ( readline libedit ) ) !cli? ( ?? ( readline libedit ) ) - truetype? ( gd zlib ) - webp? ( gd zlib ) - cjk? ( gd zlib ) - exif? ( gd zlib ) - xpm? ( gd zlib ) gd? ( zlib ) simplexml? ( xml ) soap? ( xml ) @@ -80,7 +73,6 @@ COMMON_DEPEND=" fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) selinux? ( sys-libs/libselinux ) ) apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) argon2? ( app-crypt/argon2:= ) - avif? ( media-libs/libavif:= ) berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) ) bzip2? ( app-arch/bzip2:0= ) capstone? ( dev-libs/capstone ) @@ -89,7 +81,9 @@ COMMON_DEPEND=" enchant? ( app-text/enchant:2 ) ffi? ( dev-libs/libffi:= ) firebird? ( dev-db/firebird ) - gd? ( media-libs/libjpeg-turbo:0= media-libs/libpng:0= ) + gd? ( + >=media-libs/gd-2.3.3-r4[avif?,jpeg?,png?,truetype?,webp?,xpm?] + ) gdbm? ( sys-libs/gdbm:0= ) gmp? ( dev-libs/gmp:0= ) iconv? ( virtual/libiconv ) @@ -117,9 +111,7 @@ COMMON_DEPEND=" truetype? ( media-libs/freetype ) unicode? ( dev-libs/oniguruma:= ) valgrind? ( dev-debug/valgrind ) - webp? ( media-libs/libwebp:0= ) xml? ( >=dev-libs/libxml2-2.12.5 ) - xpm? ( x11-libs/libXpm ) xslt? ( dev-libs/libxslt ) zip? ( dev-libs/libzip:= ) zlib? ( sys-libs/zlib:0= ) @@ -142,6 +134,11 @@ DEPEND="${COMMON_DEPEND} BDEPEND="virtual/pkgconfig" +PATCHES=( + "${FILESDIR}/php-8.3.9-optional-png-testfixen.patch" + "${FILESDIR}/php-8.3.9-gd-cachevars.patch" +) + PHP_MV="$(ver_cut 1)" # ARM/Windows functions (bug 923335) @@ -254,13 +251,6 @@ src_prepare() { # be running pre-install, in my opinion. Bug 927461. rm ext/fileinfo/tests/bug78987.phpt || die - # The expected warnings aren't triggered in this test because we - # define session.save_path on the CLI: - # - # https://github.com/php/php-src/issues/14368 - # - rm ext/session/tests/gh13856.phpt || die - # Bug 935382, fixed eventually by # # - https://github.com/php/php-src/pull/14788 @@ -275,6 +265,26 @@ src_prepare() { # - https://github.com/php/php-src/issues/14786 # rm ext/dba/tests/dba_gdbm.phpt || die + + # Most tests failing with an external libgd have been fixed, + # but there are a few stragglers: + # + # * https://github.com/php/php-src/issues/11252 + # + rm ext/gd/tests/bug43073.phpt \ + ext/gd/tests/bug48732.phpt \ + ext/gd/tests/bug48732-mb.phpt \ + ext/gd/tests/bug48801.phpt \ + ext/gd/tests/bug48801-mb.phpt \ + ext/gd/tests/bug53504.phpt \ + ext/gd/tests/bug65148.phpt \ + ext/gd/tests/bug73272.phpt \ + || die + + # One-off, somebody forgot to update a version constant + rm ext/reflection/tests/ReflectionZendExtension.phpt || die + + eautoconf --force } src_configure() { @@ -313,7 +323,6 @@ src_configure() { our_conf+=( $(use_with apparmor fpm-apparmor) $(use_with argon2 password-argon2 "${EPREFIX}/usr") - $(use_with avif) $(use_enable bcmath) $(use_with bzip2 bz2 "${EPREFIX}/usr") $(use_enable calendar) @@ -342,6 +351,7 @@ src_configure() { $(use_enable phar) $(use_enable pdo) $(use_enable opcache) + $(use_enable opcache-jit) $(use_with postgres pgsql "${EPREFIX}/usr") $(use_enable posix) $(use_with selinux fpm-selinux) @@ -368,6 +378,17 @@ src_configure() { $(use_with valgrind) ) + # Override autoconf cache variables for libcrypt algorithms.These + # otherwise cannot be detected when cross-compiling. Bug 931884. + our_conf+=( + ac_cv_crypt_blowfish=yes + ac_cv_crypt_des=yes + ac_cv_crypt_ext_des=yes + ac_cv_crypt_md5=yes + ac_cv_crypt_sha512=yes + ac_cv_crypt_sha256=yes + ) + # DBA support if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ || use qdbm || use lmdb || use tokyocabinet ; then @@ -386,16 +407,20 @@ src_configure() { $(use_with lmdb lmdb "${EPREFIX}/usr") ) - # Support for the GD graphics library + # Use the system copy of GD. The autoconf cache variable overrides + # allow cross-compilation to proceed since the corresponding + # features cannot be detected by running a program. our_conf+=( - $(use_with truetype freetype) - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg) - $(use_with xpm) - $(use_with webp) + $(use_enable gd gd) + $(use_with gd external-gd) + php_cv_lib_gd_gdImageCreateFromAvif=$(usex avif) + php_cv_lib_gd_gdImageCreateFromBmp=yes + php_cv_lib_gd_gdImageCreateFromJpeg=$(usex jpeg) + php_cv_lib_gd_gdImageCreateFromPng=$(usex png) + php_cv_lib_gd_gdImageCreateFromTga=yes + php_cv_lib_gd_gdImageCreateFromWebp=$(usex webp) + php_cv_lib_gd_gdImageCreateFromXpm=$(usex xpm) ) - # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_enable gd) ) # IMAP support if use imap ; then |