diff --git a/testing/php84/APKBUILD b/testing/php84/APKBUILD index cfbda46fd86..47dd65292a1 100644 --- a/testing/php84/APKBUILD +++ b/testing/php84/APKBUILD @@ -25,7 +25,7 @@ # json | https://wiki.php.net/rfc/always_enable_json pkgname=php84 -pkgver=8.4.0_alpha4 +pkgver=8.4.0_beta1 _pkgver=${pkgver/_/} pkgrel=0 _apiver=20230901 @@ -99,11 +99,12 @@ subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc # - https://downloads.php.net/~saki/php-${pkgver}RC1.tar.xz # - https://downloads.php.net/~calvinb/php-${pkgver}RC1.tar.xz # stable releases https://php.net/distributions/php-$pkgver.tar.xz -source="https://downloads.php.net/~saki/php-$_pkgver.tar.gz +source="https://downloads.php.net/~calvinb/php-$_pkgver.tar.gz $pkgname-fpm.initd $pkgname-fpm.logrotate $pkgname-module.conf disabled-tests.list + disabled-tests.loongarch64.list disabled-tests.x86.list disabled-tests.ppc64le.list disabled-tests.s390x.list @@ -113,6 +114,8 @@ source="https://downloads.php.net/~saki/php-$_pkgver.tar.gz $pkgname-fpm-version-suffix.patch fix-tests-devserver.patch phpinfo-avif.patch + fix-variadics.patch + fix-sha.patch " builddir="$srcdir/php-$_pkgver" @@ -603,18 +606,21 @@ _extensions_by_load_order() { } sha512sums=" -914ec8e5d623e41aee8e367fc415d3e05d075540bcf18ccf61a9bf3f709d618fac62bb6f78380de0e34432e1587d94daad6b5fb726de0654d80cc5f69b27a550 php-8.4.0alpha4.tar.gz +be4455a07952f47c2ed997a51c433d16ec8a4b2bc9a0a26625812bfeb2557eb2083e69e205b27c3973f1d89cc2dc685a80685352218e71590befb3495955b7f4 php-8.4.0beta1.tar.gz 99ac1e9f362de655803969241582792f6b8c5e84c26cd42f1deabe6e332cdc66bfe934d9854db16231e96f0c5c28e79f21415b248d18192307a81b85fb72bd1a php84-fpm.initd f01f955f17b93ee9b770ee946f7f04bc6226357d6b76966a18f48cd83aa011f08e4209b4e52adf871900ffac63bb1e6bbfa52435964b54429fc70362d0bc974c php84-fpm.logrotate b15df658e38a79ef3a06e75c93161a5c97f5e91a2c20d19b955c0ed3b4cd7a9e845614448da500abb8c7989638ab922a3d941fbd57c5f94dddb9bd033377cef4 php84-module.conf 445f26a166f2ec8f950ad4191db9c30e97b3a779b25b0fb75e4509bdd82ee329a47524606a7b1801bd0a5561ecf65043e0eca0389be8859ca636892400ec8ace disabled-tests.list +a8b68c261e69f8feafa1bd8d9d2bd64c405884db716b30b7fa7f1d285fd938a5400bd57444148541040bb0d7410b21271d737303973af085458f3b4f8ce342aa disabled-tests.loongarch64.list 3db8a8ed082bbe4d29b8583e70664cdfde4268a9360caab74207d75e979a5bc51b913876dae6dba4c69baf09a68f227904b844df9784988287732f02fe3a40b7 disabled-tests.x86.list b5be29fa98fbd1951d71f67068684114d160495c95fa4ef3271ab64ff871be1b14a2f772a8ba0c7458da68b5089f9324dbde71351e89dd521b5c94fa1503a217 disabled-tests.ppc64le.list -5bac2df0d2dc3e147f7452e1f23aaf057b9da918d8bf6118b2fd037e10959b268a83753cc7b669154e4a02c92e3c02250891baa2033901a7fcdce7f9062a9dea disabled-tests.s390x.list +4934def86c4d3817080ba152bc07d58ac6987f3070464e21c8e33e506184e760963cbf34db3aa66dbaceac1b2bf4daa49e60194b9b36290a946559a82e4590d6 disabled-tests.s390x.list ec206639d076ddac6c2d1db697a5428ed3be979157db39417af7fbe6ab837e8dc00315ae0e55aea4f92f45ca5827c88cc4933099fad9c962f029ca81bef779d7 install-pear.patch 2d88ce3c4413b9006921a21c3875d006cc9130b00d5e54d8d6a383b0bc58dafe9e0324d27348cd8d0ff8ba1863111169b06c68d370e12a4ea26c43c1b0811c03 includedir.patch 96b5027238469e45f332595e1458c1e2c0e1f04765fb1bec7052bf7561035dd6d98d0483040e4c421a90e5f34b8aa4ea5e5f9884e61ac72ea1e2b044e06dcbf4 sharedir.patch 135a23b015ec7fb5be19dc8e12c79f8c044d1e8d2931df1336abebdeacc711d305f311f7b05e750ffbf19a6244c3c03b890664e4a07691daef8e7997158ad49f php84-fpm-version-suffix.patch cc1de2f8d33fccb605c621ac90bdf9202af90006e7d07598dfbe0fece2e30ad69d575966858700d1a5ca940c670709451c421140adfe08ed535271966ccdb2b6 fix-tests-devserver.patch 8bafce5e474f96b5b54c13c92a5216fa77cdc93ad0dce84e74998ad7a7acc822c1c6dc70c0e9a80bbf5a30e0df2b34f434985b8ded96625a843df795d396b31d phpinfo-avif.patch +7f0d01a00ac5727951d834276aa36695ab6b553dce097c7a044177801eac0076dcdae8f556fc6f5b68ab9599aae5c03c16efe2b4f8af9154b840db494554178d fix-variadics.patch +0eea34af190cba0628e9747a7ef4380e12298578ea967e9c27ec1e7eeba5e61ee752b75f6d70fb005672fcfea82de77a62873e7f783d9aa8da70721f63f6a719 fix-sha.patch " diff --git a/testing/php84/disabled-tests.loongarch64.list b/testing/php84/disabled-tests.loongarch64.list new file mode 100644 index 00000000000..675e4ed2b7c --- /dev/null +++ b/testing/php84/disabled-tests.loongarch64.list @@ -0,0 +1,3 @@ +# as of 8.4.0beta1 +ext/gd/tests/avif_decode_encode.phpt +ext/gd/tests/imagecreatefromstring_avif.phpt diff --git a/testing/php84/disabled-tests.s390x.list b/testing/php84/disabled-tests.s390x.list index 3a7bebf81c3..ac3f4f926d0 100644 --- a/testing/php84/disabled-tests.s390x.list +++ b/testing/php84/disabled-tests.s390x.list @@ -1 +1,2 @@ ext/gd/tests/avif_decode_encode.phpt +ext/phar/tests/tar/bug70417.phpt diff --git a/testing/php84/fix-sha.patch b/testing/php84/fix-sha.patch new file mode 100644 index 00000000000..194cbb1ef5c --- /dev/null +++ b/testing/php84/fix-sha.patch @@ -0,0 +1,46 @@ +Patch-Source: https://github.com/php/php-src/pull/15312/commits/f32be3b28047884eab5f1fd38b6fde83c286e57c +From f32be3b28047884eab5f1fd38b6fde83c286e57c Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" +Date: Fri, 9 Aug 2024 18:36:38 +0200 +Subject: [PATCH] Support SHA256_Transform_shani() with MSVC, too + +--- + ext/hash/hash_sha_ni.c | 4 ++-- + ext/hash/php_hash_sha.h | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/ext/hash/hash_sha_ni.c b/ext/hash/hash_sha_ni.c +index 3c98786c73fd..f5784c296f6f 100644 +--- a/ext/hash/hash_sha_ni.c ++++ b/ext/hash/hash_sha_ni.c +@@ -27,11 +27,11 @@ + #include "php_hash.h" + #include "php_hash_sha.h" + +-#if (defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IMMINTRIN_H) ++#if defined(PHP_HASH_INTRIN_SHA_NATIVE) || defined(PHP_HASH_INTRIN_SHA_RESOLVER) + + # include + +-# if PHP_HASH_INTRIN_SHA_RESOLVER ++# if defined(HAVE_FUNC_ATTRIBUTE_TARGET) + static __m128i be32dec_128(const uint8_t * src) __attribute__((target("ssse3"))); + void SHA256_Transform_shani(uint32_t state[PHP_STATIC_RESTRICT 8], const uint8_t block[PHP_STATIC_RESTRICT 64]) __attribute__((target("ssse3,sha"))); + # endif +diff --git a/ext/hash/php_hash_sha.h b/ext/hash/php_hash_sha.h +index d5282026b96a..c84a0eab08b2 100644 +--- a/ext/hash/php_hash_sha.h ++++ b/ext/hash/php_hash_sha.h +@@ -56,10 +56,10 @@ PHP_HASH_API void PHP_SHA256Update(PHP_SHA256_CTX *, const unsigned char *, size + void SHA256_Transform_sse2(uint32_t state[PHP_STATIC_RESTRICT 8], const uint8_t block[PHP_STATIC_RESTRICT 64], uint32_t W[PHP_STATIC_RESTRICT 64], uint32_t S[PHP_STATIC_RESTRICT 8]); + #endif + +-#if (defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IMMINTRIN_H) ++#if ((defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IMMINTRIN_H)) || ((defined(_M_X64) || defined(_M_IX86)) && defined(ZEND_INTRIN_SSSE3_RESOLVER)) + # if defined(__SSSE3__) && defined(__SHA__) + # define PHP_HASH_INTRIN_SHA_NATIVE 1 +-# elif defined(HAVE_FUNC_ATTRIBUTE_TARGET) ++# elif defined(HAVE_FUNC_ATTRIBUTE_TARGET) || defined(_M_X64) || defined(_M_IX86) + # define PHP_HASH_INTRIN_SHA_RESOLVER 1 + # endif + diff --git a/testing/php84/fix-variadics.patch b/testing/php84/fix-variadics.patch new file mode 100644 index 00000000000..c93f7e41687 --- /dev/null +++ b/testing/php84/fix-variadics.patch @@ -0,0 +1,50 @@ +Patch-Source: https://github.com/php/php-src/commit/65c6d723199355e27151afd73dc312c3b82cb30d +From 65c6d723199355e27151afd73dc312c3b82cb30d Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" +Date: Tue, 13 Aug 2024 19:46:48 +0200 +Subject: [PATCH] Drop FASTCALL on variadic functions (GH-15389) + +This is unlikely to be properly supported by compilers anyway, see +. +--- + Zend/zend_ast.c | 4 ++-- + Zend/zend_ast.h | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c +index 81562411e6b0c..5ecda76870452 100644 +--- a/Zend/zend_ast.c ++++ b/Zend/zend_ast.c +@@ -290,7 +290,7 @@ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_va( + return ast; + } + +-ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_n(unsigned kind, ...) { ++ZEND_API zend_ast * zend_ast_create_n(unsigned kind, ...) { + va_list va; + va_start(va, kind); + zend_ast *ast = zend_ast_create_va(kind, 0, &va); +@@ -298,7 +298,7 @@ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_n(unsigned kind, ...) { + return ast; + } + +-ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_ex_n( ++ZEND_API zend_ast * zend_ast_create_ex_n( + zend_ast_kind kind, unsigned attr, ...) { + va_list va; + va_start(va, attr); +diff --git a/Zend/zend_ast.h b/Zend/zend_ast.h +index df33d5c35ef05..8d1d93f2564a7 100644 +--- a/Zend/zend_ast.h ++++ b/Zend/zend_ast.h +@@ -249,8 +249,8 @@ ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_5(zend_ast_kind kind, zend_ast + + ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_va(zend_ast_kind kind, zend_ast_attr attr, va_list *va); + /* Need to use unsigned args to avoid va promotion UB. */ +-ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_n(unsigned kind, ...); +-ZEND_API zend_ast * ZEND_FASTCALL zend_ast_create_ex_n(zend_ast_kind kind, unsigned attr, ...); ++ZEND_API zend_ast * zend_ast_create_n(unsigned kind, ...); ++ZEND_API zend_ast * zend_ast_create_ex_n(zend_ast_kind kind, unsigned attr, ...); + + static zend_always_inline zend_ast * zend_ast_create_ex_0(zend_ast_kind kind, zend_ast_attr attr) { + zend_ast *ast = zend_ast_create_0(kind);