Commit 2f6fd11671e for php

commit 2f6fd11671e1a34067d8d63ed30eb2cacf7b281d
Author: Weilin Du <weilindu@php.net>
Date:   Sun Oct 25 21:53:59 2026 +0800

    ext/zip: Exclude broken libzip 1.12 (#24358)

    libzip 1.12 introduced a regression that prevents adding or replacing files in TorrentZip archives,
    causing oo_torrentzip.phpt to fail. This was fixed in libzip 1.12.1.

    Exclude both 1.12 and 1.12.0 at configure time, as pkg-config treats them as distinct versions.

    See https://github.com/nih-at/libzip/issues/617.

diff --git a/NEWS b/NEWS
index 6ddb492d18b..5116cc1aa16 100644
--- a/NEWS
+++ b/NEWS
@@ -184,6 +184,8 @@ PHP                                                                        NEWS
     tidy::repairFile() rejecting null for $encoding. (lacatoire)

 - Zip:
+  . Excluded libzip 1.12.0 due to a regression preventing additions and
+    replacements in torrentzip archives. (Weilin Du)
   . Fixed use-after-free when re-entering ZipArchive during destruction or
     a close warning, and rejected opening streams while closing. (jvoisin)
   . Fixed a use-after-free when a ZipArchive method that modifies the archive
diff --git a/ext/zip/config.m4 b/ext/zip/config.m4
index 643397c1972..d0fbb4d856d 100644
--- a/ext/zip/config.m4
+++ b/ext/zip/config.m4
@@ -4,7 +4,7 @@ PHP_ARG_WITH([zip],
     [Include Zip read/write support])])

 if test "$PHP_ZIP" != "no"; then
-  PKG_CHECK_MODULES([LIBZIP], [libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0])
+  PKG_CHECK_MODULES([LIBZIP], [libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0 libzip != 1.12 libzip != 1.12.0])

   PHP_EVAL_INCLINE([$LIBZIP_CFLAGS])
   PHP_EVAL_LIBLINE([$LIBZIP_LIBS], [ZIP_SHARED_LIBADD])