From patchwork Tue Feb 7 21:57:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Lepiller X-Patchwork-Id: 46731 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A091A16CC0; Tue, 7 Feb 2023 21:58:24 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8F3C316336 for ; Tue, 7 Feb 2023 21:58:22 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pPVyY-0002zu-Cv; Tue, 07 Feb 2023 16:58:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pPVyV-0002yh-HY for guix-patches@gnu.org; Tue, 07 Feb 2023 16:58:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pPVyV-0001dC-0g for guix-patches@gnu.org; Tue, 07 Feb 2023 16:58:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pPVyU-0006V9-AM for guix-patches@gnu.org; Tue, 07 Feb 2023 16:58:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#61123] [PATCH v3] gnu: php: Update to 8.2.2. References: In-Reply-To: Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 07 Feb 2023 21:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61123 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 61123@debbugs.gnu.org Received: via spool by 61123-submit@debbugs.gnu.org id=B61123.167580707224973 (code B ref 61123); Tue, 07 Feb 2023 21:58:02 +0000 Received: (at 61123) by debbugs.gnu.org; 7 Feb 2023 21:57:52 +0000 Received: from localhost ([127.0.0.1]:54190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pPVyJ-0006Ui-Aw for submit@debbugs.gnu.org; Tue, 07 Feb 2023 16:57:52 -0500 Received: from lepiller.eu ([89.234.186.109]:45984) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pPVyG-0006UY-0j for 61123@debbugs.gnu.org; Tue, 07 Feb 2023 16:57:49 -0500 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 4a477ae7 for <61123@debbugs.gnu.org>; Tue, 7 Feb 2023 21:57:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:mime-version:content-transfer-encoding; s=dkim; bh=rs30b2gj7232OCNik02dTQu6w1CpUc63RVBwMPeExrI=; b=JgyL bHzAM892bXDRGlvODgbWjj9nfs+vge3SwcLnXBqaM9tV5BIwMWr+AWIfADWjqgAF QQu97d2OXzIKWLWD/kc4l4je0h1T0lYe1tLGdeE8XCvsrhUq2gBmmomTiG0TsoAH GFKq9cixmN7LBc/pfRE8ihFvtWwRMksD0If2xwEmcIJbw9pgrbF612hzq4JqQtwN 9zMYvD6Z433xCEdO0nqWd4XaxEz+F3BJF02hpBntIaDyRW4ldCxx7MsgAwYLHw0R j7vQU2TFjiQzVVmMVp8YYEZ1ivPuN267dtjc3wkxPjM5sOqjYnp0tcbw5BruQ/OF +mUL89eQX1HwAGmIlw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 06e3b424 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO) for <61123@debbugs.gnu.org>; Tue, 7 Feb 2023 21:57:45 +0000 (UTC) From: Julien Lepiller Date: Tue, 7 Feb 2023 22:57:38 +0100 Message-Id: <9260309a95293b44b177dfdbc95dcc856de5cd65.1675807058.git.julien@lepiller.eu> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/php.scm (php): Update to 8.2.2. * gnu/packages/patches/php-curl-compat.patch: Remove file. * gnu/packages/patches/php-bug-74093-test.patch: Remove file. * gnu/packages/patches/php-fix-streams-copy-length.patch: New file. * gnu/local.mk (dist_patch_DATA): Remove them. Add it. --- gnu/local.mk | 3 +- gnu/packages/patches/php-bug-74093-test.patch | 48 ----------------- gnu/packages/patches/php-curl-compat.patch | 17 ------ .../patches/php-fix-streams-copy-length.patch | 52 +++++++++++++++++++ gnu/packages/php.scm | 28 ++++++---- 5 files changed, 72 insertions(+), 76 deletions(-) delete mode 100644 gnu/packages/patches/php-bug-74093-test.patch delete mode 100644 gnu/packages/patches/php-curl-compat.patch create mode 100644 gnu/packages/patches/php-fix-streams-copy-length.patch base-commit: 37fdb382dad47149d8f5be41af108478800e9d30 diff --git a/gnu/local.mk b/gnu/local.mk index 7433654f0b..76e0a8f16c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1627,6 +1627,7 @@ dist_patch_DATA = \ %D%/packages/patches/pciutils-hurd-configure.patch \ %D%/packages/patches/pciutils-hurd-fix.patch \ %D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \ + %D%/packages/patches/php-fix-streams-copy-length.patch \ %D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \ %D%/packages/patches/pocketfft-cpp-prefer-preprocessor-if.patch \ %D%/packages/patches/pokerth-boost.patch \ @@ -1668,8 +1669,6 @@ dist_patch_DATA = \ %D%/packages/patches/perl-www-curl-fix-struct-void.patch \ %D%/packages/patches/perl-www-curl-remove-symbol.patch \ %D%/packages/patches/phoronix-test-suite-fsdg.patch \ - %D%/packages/patches/php-bug-74093-test.patch \ - %D%/packages/patches/php-curl-compat.patch \ %D%/packages/patches/picprog-non-intel-support.patch \ %D%/packages/patches/pidgin-add-search-path.patch \ %D%/packages/patches/pinball-system-ltdl.patch \ diff --git a/gnu/packages/patches/php-bug-74093-test.patch b/gnu/packages/patches/php-bug-74093-test.patch deleted file mode 100644 index 07b1949cef..0000000000 --- a/gnu/packages/patches/php-bug-74093-test.patch +++ /dev/null @@ -1,48 +0,0 @@ -From c641825c64e42627a2c9cac969b371ed532e0b57 Mon Sep 17 00:00:00 2001 -From: Ryan Sundberg -Date: Mon, 4 Oct 2021 20:12:25 -0700 -Subject: [PATCH] Zend/tests/bug74093.phpt: Fix failing test case - -This test case fails (on non-Windows hosts, where it is enabled) due -to mismatching output in the error log language. This fixes the -expectation, and also rewrites the test procedure in a more stable -fashion. - -The objective of the test case is to run a program that exceeds -the max_execution_time and verify that the process was aborted. The -previous implementation tested this using a loop on array_intersect with -large enough inputs to "probably" take enough time to trigger -max_execution_time to abort it. With faster CPUs, over time this test -can become flaky. Instead we simply spin a loop until enough -wall clock time has passed to check our assertion. ---- - Zend/tests/bug74093.phpt | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/Zend/tests/bug74093.phpt b/Zend/tests/bug74093.phpt -index 7f20285805..32eb445ddc 100644 ---- a/Zend/tests/bug74093.phpt -+++ b/Zend/tests/bug74093.phpt -@@ -1,5 +1,5 @@ - --TEST-- --Bug #74093 (Maximum execution time of n+2 seconds exceed not written in error_log) -+Bug #74093 (Maximum execution time exceeded not written in error_log) - --SKIPIF-- - - --EXPECTF-- --Fatal error: Maximum execution time of 1+1 seconds exceeded %s -+Fatal error: Maximum execution time of 1 second exceeded in %s --- -2.31.1 diff --git a/gnu/packages/patches/php-curl-compat.patch b/gnu/packages/patches/php-curl-compat.patch deleted file mode 100644 index 0617251194..0000000000 --- a/gnu/packages/patches/php-curl-compat.patch +++ /dev/null @@ -1,17 +0,0 @@ -Fix test result with cURL 7.83 and later. - -Taken from upstream: - - https://github.com/php/php-src/commit/a4179e4c92b6365d39e09cb9cd63c476848013af - -diff --git a/ext/curl/tests/curl_basic_007.phpt b/ext/curl/tests/curl_basic_007.phpt -index 3b53658d6a7e..3834e4674f82 100644 ---- a/ext/curl/tests/curl_basic_007.phpt -+++ b/ext/curl/tests/curl_basic_007.phpt -@@ -20,5 +20,5 @@ curl_close($ch); - - ?> - --EXPECTF-- --string(%d) "No URL set!%w" -+string(%d) "No URL set%A" - int(3) diff --git a/gnu/packages/patches/php-fix-streams-copy-length.patch b/gnu/packages/patches/php-fix-streams-copy-length.patch new file mode 100644 index 0000000000..d68f658071 --- /dev/null +++ b/gnu/packages/patches/php-fix-streams-copy-length.patch @@ -0,0 +1,52 @@ +From cddcc10becb013ae498ea9c2836792f407b61678 Mon Sep 17 00:00:00 2001 +From: Julien Lepiller +Date: Tue, 7 Feb 2023 22:55:59 +0100 +Subject: [PATCH] Fix file corruption when using copy_file_range. + +This patch is adapted from https://github.com/php/php-src/pull/10440. +--- + main/streams/streams.c | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) + +diff --git a/main/streams/streams.c b/main/streams/streams.c +index 20029fc7..68dc76c5 100644 +--- a/main/streams/streams.c ++++ b/main/streams/streams.c +@@ -1634,8 +1634,21 @@ PHPAPI zend_result _php_stream_copy_to_stream_ex(php_stream *src, php_stream *de + char *p; + + do { +- size_t chunk_size = (maxlen == 0 || maxlen > PHP_STREAM_MMAP_MAX) ? PHP_STREAM_MMAP_MAX : maxlen; +- size_t mapped; ++ /* We must not modify maxlen here, because otherwise the file copy fallback below can fail */ ++ size_t chunk_size, must_read, mapped; ++ if (maxlen == 0) { ++ /* Unlimited read */ ++ must_read = chunk_size = PHP_STREAM_MMAP_MAX; ++ } else { ++ must_read = maxlen - haveread; ++ if (must_read >= PHP_STREAM_MMAP_MAX) { ++ chunk_size = PHP_STREAM_MMAP_MAX; ++ } else { ++ /* In case the length we still have to read from the file could be smaller than the file size, ++ * chunk_size must not get bigger the size we're trying to read. */ ++ chunk_size = must_read; ++ } ++ } + + p = php_stream_mmap_range(src, php_stream_tell(src), chunk_size, PHP_STREAM_MAP_MODE_SHARED_READONLY, &mapped); + +@@ -1667,8 +1680,8 @@ PHPAPI zend_result _php_stream_copy_to_stream_ex(php_stream *src, php_stream *de + return SUCCESS; + } + if (maxlen != 0) { +- maxlen -= mapped; +- if (maxlen == 0) { ++ must_read -= mapped; ++ if (must_read == 0) { + return SUCCESS; + } + } +-- +2.38.1 + diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 645a8edee1..e93ba0491c 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -61,17 +61,17 @@ (define-module (gnu packages php) (define-public php (package (name "php") - (version "7.4.30") - (home-page "https://secure.php.net/") + (version "8.2.2") + (home-page "https://www.php.net/") (source (origin (method url-fetch) (uri (string-append home-page "distributions/" "php-" version ".tar.xz")) (sha256 (base32 - "03d7icwys4ikl45q3rgsxv1m3i7kfxhykpx75nn7jzn6697s6wpa")) - (patches (search-patches "php-bug-74093-test.patch" - "php-curl-compat.patch")) + "0czflx9ikxymjfgnzaifjx9kc30ww2x4063075hcifjjwqwami5x")) + (patches + (search-patches "php-fix-streams-copy-length.patch")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -83,8 +83,7 @@ (define-public php ;;"bcmath/libbcmath" ;;"fileinfo/libmagic" ; a patched version of libmagic '("gd/libgd" - "pcre/pcre2lib" - "xmlrpc/libxmlrpc")))))) + "pcre/pcre2lib")))))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -272,8 +271,6 @@ (define-public php ;; Some WebP related tests fail. "ext/gd/tests/webp_basic.phpt" "ext/gd/tests/imagecreatefromstring_webp.phpt" - ;; Expected error message, but from the wrong function - "ext/gd/tests/bug77269.phpt" ;; TODO: Enable these when libgd is built with xpm support. "ext/gd/tests/xpm2gd.phpt" "ext/gd/tests/xpm2jpg.phpt" @@ -291,6 +288,14 @@ (define-public php ;; The following test fails with "The image size ;; differs: expected 114x115, got 117x117". "ext/gd/tests/bug79068.phpt" + ;; AVIF support disabled + "ext/gd/tests/avif_decode_encode.phpt" + ;; Typo in expected outputs + "ext/gd/tests/bug72339.phpt" + "ext/gd/tests/bug77272.phpt" + "ext/gd/tests/bug66356.phpt" + ;; AVIF support disabled + "ext/gd/tests/imagecreatefromstring_avif.phpt" ;; XXX: These iconv tests have the expected outcome, ;; but with different error messages. @@ -310,6 +315,11 @@ (define-public php ;; XXX: These test failures appear legitimate, needs investigation. ;; open_basedir() restriction failure. "ext/curl/tests/bug61948-unix.phpt" + ;; Same error reason but error code slightly different + "ext/curl/tests/curl_setopt_ssl.phpt" + + ;; Wrong error name + "ext/dba/tests/dba_gdbm_creation_matrix.phpt" ;; Expects a false boolean, gets empty array from glob(). "ext/standard/tests/file/bug41655_1.phpt" "ext/standard/tests/file/glob_variation5.phpt"