diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-07-31 04:44:07 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-07-31 04:44:07 +0100 |
commit | 358368569cfce7dc6be9a6faed29805babe0e371 (patch) | |
tree | 174e69d79cb877a860b4768fd7ba8def89e271d3 /dev-lang | |
parent | 3b4199328e240d392ef1f03900219cb88bdafcff (diff) |
gentoo auto-resync : 31:07:2023 - 04:44:07
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/Manifest.gz | bin | 19674 -> 19675 bytes | |||
-rw-r--r-- | dev-lang/php/Manifest | 3 | ||||
-rw-r--r-- | dev-lang/php/files/php-8.2.8-openssl-tests.patch | 21 | ||||
-rw-r--r-- | dev-lang/php/php-8.2.8-r2.ebuild (renamed from dev-lang/php/php-8.2.8.ebuild) | 200 |
4 files changed, 157 insertions, 67 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz Binary files differindex bf0dbaf66398..109b570ba5b8 100644 --- a/dev-lang/Manifest.gz +++ b/dev-lang/Manifest.gz diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index c9709a4757ec..e3f174f212b6 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -4,6 +4,7 @@ AUX php-7.4.33-CVE-2022-31631.patch 1836 BLAKE2B 63a250c6ec5c1b3608f5e2b61118d89 AUX php-7.4.33-CVE-2023-0567.patch 2780 BLAKE2B a35b8f7d24cfb8a325f65e465bd440930876f4b188d1ea5c12d616da39ec75809c13f9e37d08dc5245c7412f21899018f867681ecf89213fc5e7a1b01cb0dd41 SHA512 cdbbe235791027b804c8bbc71a203f954628cbf27af99be34c750dab3c8bf8e3928af87adb87ffe09b2d011c19ed5b339e345d5a55a7053fc82d4c72ba08e8b7 AUX php-7.4.33-CVE-2023-0568.patch 1327 BLAKE2B ab7ad1f83bfeef8da091f159d41371d0f89e3dbcb79c1b7bec7bb76b329c60d2d10e0c6ef9c5c959a57846466a778345e697099e5c2a9555733918cc2faf41f4 SHA512 6015f6025e4e5e29aa699ef9a4b4b28a8f756cca0e83a4e2311c1735f25ef89395d4ea2c143ec45b375128f66b99a4b788e8bfb28d9ee74566345696a1a3c2f0 AUX php-7.4.33-CVE-2023-0662.patch 1992 BLAKE2B d436b763a0131c1992e69821df1f8c5d7cfdc151c9470671189dd76acdf295d3108030a273d2c3314bf97c0e06a286541a64312a95d6b9bdea0c912a90db7e0d SHA512 71cda55f019b7dd3d74c598dc93e81674bf6954bee4fb37c325ca4b8449b6a1340d61ccd1f9b9f0ba86b9cb3069221614f9b50a01de674c157bf47d7906e25a7 +AUX php-8.2.8-openssl-tests.patch 790 BLAKE2B fcfa6f361470f2baa65d2bbbde7c9629841546a560aa6f88d85b68727004e24949f9516340eba0339e575dcf06077d08540a7a6d58a0cda42d5cd26bf48d9e46 SHA512 d29b5334abee8bcbef62c88c01c9eaf887f25901763db75e754f6690e24138c9e45783943d32402f693bd7e4564d737521a8b0b8034d5401bac73ff30f453050 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 @@ -28,5 +29,5 @@ EBUILD php-8.1.12.ebuild 21815 BLAKE2B c1610ff5a4e439954b228744cd0223a4205dd1b53 EBUILD php-8.1.16.ebuild 21818 BLAKE2B 1782dc5c71cef2ac3ca067f4d53fcf64e61850044384dfe9bc0e64a025ab1dcf328a455b2aadbd17dd8c92cc65029337598763e3644f488122cde39a913d3343 SHA512 2215fb5851cfd28ffff620ffe86b0d924f61e9a24ff724fa019be7c788fb7de3c53f23489d21553fd81670887cd463b959f9f9857a53cc872e72f70478e330d9 EBUILD php-8.1.20-r1.ebuild 21914 BLAKE2B 5c44d372707fb544587f2f854fec25b07d54ffb6faebed85520803da507d56b0177020a938f7589a869098e8327bc24ff328a79384e9c3b793a30c02249bedfe SHA512 1764f5a1b4bc74c2a03df4a7712226412a47d1f23549547f97447714f381110ceae7aa01183e844931a25cc8cf06627f8ed645e27b45878470170c1596042264 EBUILD php-8.1.21.ebuild 21917 BLAKE2B 87783761a2113250800e1999e517319622b6ab82ca7fca86259e61683a567771e7c7b0a269326a341cc26ba0559ccf6c80c71265f5ac1d791f016b30d1f8f314 SHA512 dc1bfef40b29e5a161b500e8f8162c45446c49295b97254cac48e8373410c4df861768f7e06207136dcdeb8cca891ed761f4993624b09390c798d1e01b5c88ed -EBUILD php-8.2.8.ebuild 21957 BLAKE2B 3b0d77db4e42d852c92888ea93cf8a7b35344ca9d9e0e80c184edec509e68bb3e6e7ea82234f629b26367e2fd4c173f1c31a44da9e1d603ddf149ab7175fc1aa SHA512 ccb6a15c480874521d510331f5b7a5d375380a5f8275e605cd292aea5e42dfce819c07e775bfaf3aea7d4dc9f2859426815e271653648f34614afbcedd08e353 +EBUILD php-8.2.8-r2.ebuild 24720 BLAKE2B 76cf420b8095415621e82e2447baf3bb9224a61491a20685e73016498a15cf5e5cb2e486191b73f033db2304b8195bdcf7cd4a7a892dbfd5962cdcce4a1c2bc0 SHA512 428716e470348b046da8fbe8c83380dde37c8afcf94049aed4ce13cef239507d904f3e9627d1b9963f48db5522bdf368e860c6fa79dab1094323de222488c382 MISC metadata.xml 4018 BLAKE2B a2413be53cf35069736693b31b2ef8d4277c25c1cb4ea75d949e3a50809e77b9fae2dceeb8a71bcd0ea4c74131cfcaeaefa09ca67f312bd7eb934c2e07156502 SHA512 ba8385d8596d5e71d6b5cc7e225d2afbbed0cde36ea1b49a43efd16c03141d63baa26b440ddfeb39dea04313467077353c5ac6b8b75307bb64ea0c09fe456933 diff --git a/dev-lang/php/files/php-8.2.8-openssl-tests.patch b/dev-lang/php/files/php-8.2.8-openssl-tests.patch new file mode 100644 index 000000000000..ebade4c0cd45 --- /dev/null +++ b/dev-lang/php/files/php-8.2.8-openssl-tests.patch @@ -0,0 +1,21 @@ +commit 5a4083181b970411d6f3b1c1e3bdd199d5cd1a5e +Author: Jakub Holubansky <jakub.holubansky@team.bumble.com> +Date: Fri Mar 31 17:20:35 2023 +0200 + + ext/openssl: pass ini options to extra processes in tests + +diff --git a/ext/openssl/tests/ServerClientTestCase.inc b/ext/openssl/tests/ServerClientTestCase.inc +index 753366df6f..1b140b63f6 100644 +--- a/ext/openssl/tests/ServerClientTestCase.inc ++++ b/ext/openssl/tests/ServerClientTestCase.inc +@@ -72,8 +72,9 @@ class ServerClientTestCase + ); + } else { + $cmd = sprintf( +- '%s "%s" %s %s', ++ '%s %s "%s" %s %s', + PHP_BINARY, ++ getenv('TEST_PHP_EXTRA_ARGS'), + __FILE__, + WORKER_ARGV_VALUE, + $worker diff --git a/dev-lang/php/php-8.2.8.ebuild b/dev-lang/php/php-8.2.8-r2.ebuild index 11169ef1de48..98c074915afd 100644 --- a/dev-lang/php/php-8.2.8.ebuild +++ b/dev-lang/php/php-8.2.8-r2.ebuild @@ -31,7 +31,7 @@ IUSE="${IUSE} threads" IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar - cdb cjk coverage +ctype curl debug + cdb cjk +ctype curl debug enchant exif ffi +fileinfo +filter firebird +flatfile ftp gd gdbm gmp +iconv imap inifile intl iodbc +jit kerberos ldap ldap-sasl libedit lmdb @@ -39,8 +39,8 @@ IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm readline selinux +session session-mm sharedmem +simplexml snmp soap sockets sodium spell sqlite ssl - sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp - +xml xmlreader xmlwriter xpm xslt zip zlib" + sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode + valgrind webp +xml xmlreader xmlwriter xpm xslt zip zlib" # Without USE=readline or libedit, the interactive "php -a" CLI will hang. # The Oracle instant client provides its own incompatible ldap library. @@ -67,6 +67,7 @@ REQUIRED_USE=" mysql? ( || ( mysqli pdo ) ) firebird? ( pdo ) mssql? ( pdo ) + test? ( cli ) " RESTRICT="!test? ( test )" @@ -85,7 +86,6 @@ COMMON_DEPEND=" berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) ) bzip2? ( app-arch/bzip2:0= ) cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) - coverage? ( dev-util/lcov ) curl? ( >=net-misc/curl-7.29.0 ) enchant? ( app-text/enchant:2 ) ffi? ( >=dev-libs/libffi-3.0.11:= ) @@ -118,6 +118,7 @@ COMMON_DEPEND=" tokyocabinet? ( dev-db/tokyocabinet ) truetype? ( =media-libs/freetype-2* ) unicode? ( dev-libs/oniguruma:= ) + valgrind? ( dev-util/valgrind ) webp? ( media-libs/libwebp:0= ) xml? ( >=dev-libs/libxml2-2.9.0 ) xpm? ( x11-libs/libXpm ) @@ -148,6 +149,7 @@ PHP_MV="$(ver_cut 1)" PATCHES=( "${FILESDIR}/php-iodbc-header-location.patch" "${FILESDIR}/php-capstone-optional.patch" + "${FILESDIR}/php-8.2.8-openssl-tests.patch" ) php_install_ini() { @@ -224,19 +226,85 @@ src_prepare() { eautoconf --force eautoheader - # Remove false positive test failures - # stream_isatty fails due to portage redirects - # curl tests here fail for network sandbox issues - # session tests here fail because we set the session directory to $T - rm tests/output/stream_isatty_err.phpt \ - tests/output/stream_isatty_out-err.phpt \ - tests/output/stream_isatty_out.phpt \ - ext/curl/tests/bug76675.phpt \ - ext/curl/tests/bug77535.phpt \ - ext/curl/tests/curl_error_basic.phpt \ - ext/session/tests/bug74514.phpt \ - ext/session/tests/bug74936.phpt || die + # missing skipif; fixed upstream already + rm sapi/cgi/tests/005.phpt || die + # These three get BORKED on no-ipv6 systems, + # + # https://github.com/php/php-src/pull/11651 + # + rm ext/sockets/tests/mcast_ipv6_recv.phpt \ + ext/sockets/tests/mcast_ipv6_recv_limited.phpt \ + ext/sockets/tests/mcast_ipv6_send.phpt \ + || die + + # fails in a network sandbox, + # + # https://github.com/php/php-src/issues/11662 + # + rm ext/sockets/tests/bug63000.phpt || die + + # expected output needs to be updated, + # + # https://github.com/php/php-src/pull/11648 + # + rm ext/dba/tests/dba_tcadb.phpt || die + + # Two IMAP tests missing SKIPIFs, + # + # https://github.com/php/php-src/pull/11654 + # + rm ext/imap/tests/imap_mutf7_to_utf8.phpt \ + ext/imap/tests/imap_utf8_to_mutf7_basic.phpt \ + || die + + # broken upstream with icu-73.x, + # + # https://github.com/php/php-src/issues/11128 + # + rm ext/intl/tests/calendar_clear_variation1.phpt || die + + # overly sensitive to INI values; fixes sent upstream: + # + # https://github.com/php/php-src/pull/11631 + # + rm ext/session/tests/{bug74514,bug74936,gh7787}.phpt || die + + # This is sensitive to the current "nice" level: + # + # https://github.com/php/php-src/issues/11630 + # + rm ext/standard/tests/general_functions/proc_nice_basic.phpt || die + + # Tests ignoring the "-n" flag we pass to run-tests.php, + # + # https://github.com/php/php-src/pull/11669 + # + rm ext/standard/tests/file/bug60120.phpt \ + ext/standard/tests/general_functions/proc_open_null.phpt \ + ext/standard/tests/general_functions/proc_open_redirect.phpt \ + ext/standard/tests/general_functions/proc_open_sockets1.phpt \ + ext/standard/tests/general_functions/proc_open_sockets2.phpt \ + ext/standard/tests/general_functions/proc_open_sockets3.phpt \ + ext/standard/tests/ini_info/php_ini_loaded_file.phpt \ + sapi/cli/tests/016.phpt \ + sapi/cli/tests/023.phpt \ + sapi/cli/tests/bug65275.phpt \ + sapi/cli/tests/bug74600.phpt \ + sapi/cli/tests/bug78323.phpt \ + || die + + # Same TEST_PHP_EXTRA_ARGS (-n) issue with this one, but it's + # already been fixed upstream. + rm sapi/cli/tests/017.phpt || die + + # Most Oracle tests are borked, + # + # * https://github.com/php/php-src/issues/11804 + # * https://github.com/php/php-src/pull/11820 + # * https://github.com/php/php-src/issues/11819 + # + rm ext/oci8/tests/*.phpt || die } src_configure() { @@ -245,6 +313,11 @@ src_configure() { PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + # Don't allow ./configure to detect and use an existing version + # of PHP; this can lead to all sorts of weird unpredictability + # as in bug 900210. + export ac_cv_prog_PHP="" + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. local our_conf=( @@ -267,7 +340,6 @@ src_configure() { $(use_enable bcmath) $(use_with bzip2 bz2 "${EPREFIX}/usr") $(use_enable calendar) - $(use_enable coverage gcov) $(use_enable ctype) $(use_with curl) $(use_enable xml dom) @@ -314,6 +386,7 @@ src_configure() { $(use_with zip) $(use_with zlib zlib "${EPREFIX}/usr") $(use_enable debug) + $(use_with valgrind) ) # DBA support @@ -442,9 +515,16 @@ src_configure() { # Support the Apache2 extras, they must be set globally for all # SAPIs to work correctly, especially for external PHP extensions + # Create separate build trees for each enabled SAPI. The upstream + # build system doesn't do this, but we have to do it to use a + # different php.ini for each SAPI (see --with-config-file-path and + # --with-config-file-scan-dir below). The path winds up define'd + # in main/build-defs.h which is included in main/php.h which is + # included by basically everything; so, avoiding a rebuild after + # changing it is not an easy job. local one_sapi local sapi - mkdir -p "${WORKDIR}/sapis-build" || die + mkdir "${WORKDIR}/sapis-build" || die for one_sapi in $SAPIS ; do use "${one_sapi}" || continue php_set_ini_dir "${one_sapi}" @@ -454,7 +534,6 @@ src_configure() { # based on the autotools-utils eclass. BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" cp -a "${S}" "${BUILD_DIR}" || die - cd "${BUILD_DIR}" || die local sapi_conf=( --with-config-file-path="${PHP_INI_DIR}" @@ -493,6 +572,7 @@ src_configure() { myeconfargs+=( "${sapi_conf[@]}" ) pushd "${BUILD_DIR}" > /dev/null || die + einfo "Running econf in ${BUILD_DIR}" econf "${myeconfargs[@]}" popd > /dev/null || die done @@ -503,13 +583,20 @@ src_compile() { addpredict /usr/share/snmp/mibs/.index #nowarn addpredict /var/lib/net-snmp/mib_indexes #nowarn + if use oci8-instant-client && use kerberos && use imap && use phar; then + # A conspiracy takes place when the first three of these flags + # are set together, causing the newly-built "php" to open + # /dev/urandom with mode rw when it starts. That's not actually + # a problem... unless you also have USE=phar, which runs that + # "php" to build some phar thingy in src_compile(). Later in + # src_test(), portage (at least) sets "addpredict /" so the + # problem does not repeat. + addpredict /dev/urandom #nowarn + fi + local sapi for sapi in ${SAPIS} ; do - if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || \ - die "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake - fi + use "${sapi}" && emake -C "${WORKDIR}/sapis-build/${sapi}" done } @@ -632,14 +719,13 @@ src_install() { } src_test() { - echo ">>> Test phase [test]: ${CATEGORY}/${PF}" - PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" - if [[ ! -x "${PHP_BIN}" ]] ; then - ewarn "Test phase requires USE=cli, skipping" - return - else - export TEST_PHP_EXECUTABLE="${PHP_BIN}" - fi + export TEST_PHP_EXECUTABLE="${WORKDIR}/sapis-build/cli/sapi/cli/php" + + # Sometimes when the sub-php launches a sub-sub-php, it uses these. + # Without an "-n" in all instances, the *live* php.ini can be loaded, + # pulling in *live* zend extensions. And those can be incompatible + # with the thing we just built. + export TEST_PHP_EXTRA_ARGS="-n" if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" @@ -649,40 +735,22 @@ src_test() { export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" fi - SKIP_ONLINE_TESTS=1 REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ - "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ - "session.save_path=${T}" - - for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die - done - - local failed="$(find -name '*.out')" - if [[ ${failed} != "" ]] ; then - ewarn "The following test cases failed unexpectedly:" - for name in ${failed}; do - ewarn " ${name/.out/}" - done - else - einfo "No unexpected test failures, all fine" - fi - - if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then - local passed="" - for name in ${EXPECTED_TEST_FAILURES}; do - [[ -f "${name}.diff" ]] && continue - passed="${passed} ${name}" - done - if [[ ${passed} != "" ]] ; then - einfo "The following test cases passed unexpectedly:" - for name in ${passed}; do - ewarn " ${passed}" - done - else - einfo "None of the known-to-fail tests passed, all fine" - fi - fi + # The sendmail override prevents ext/imap/tests/bug77020.phpt from + # actually trying to send mail, and will be fixed upstream soon: + # + # https://github.com/php/php-src/issues/11629 + # + # The IO capture tests need to be disabled because they fail when + # std{in,out,err} are redirected (as they are within portage). + # + # One -n applies to the top-level "php", while the other applies + # to any sub-php that get invoked by the test runner. + SKIP_IO_CAPTURE_TESTS=1 SKIP_PERF_SENSITIVE=1 REPORT_EXIT_STATUS=1 \ + "${TEST_PHP_EXECUTABLE}" -n \ + "${WORKDIR}/sapis-build/cli/run-tests.php" --offline -n -q \ + -d "session.save_path=${T}" \ + -d "sendmail_path=echo >/dev/null" \ + || die "tests failed" } pkg_postinst() { |