summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--0001-support-8.2.patch120
-rw-r--r--php-pecl-zip.spec9
2 files changed, 128 insertions, 1 deletions
diff --git a/0001-support-8.2.patch b/0001-support-8.2.patch
new file mode 100644
index 0000000..dd3f061
--- /dev/null
+++ b/0001-support-8.2.patch
@@ -0,0 +1,120 @@
+From 7afdbe2fc07b0e862b6e79190f9ff7f1ff3f61f9 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Wed, 11 May 2022 14:02:38 +0200
+Subject: [PATCH] support 8.2
+
+---
+ config.m4 | 4 ++--
+ config.w32 | 2 ++
+ php81/php_zip.c | 4 ++++
+ tests/bug53603.phpt | 1 +
+ tests/bug53885_php8.phpt | 2 +-
+ tests/bug70752.phpt | 2 +-
+ tests/oo_getstatusstring.phpt | 4 ++--
+ 7 files changed, 13 insertions(+), 6 deletions(-)
+
+diff --git a/config.m4 b/config.m4
+index 3737db2..390108b 100644
+--- a/config.m4
++++ b/config.m4
+@@ -27,8 +27,8 @@ if test "$PHP_ZIP" != "no"; then
+ elif test $PHP_VERSION -lt 80100; then
+ AC_MSG_RESULT(8.0)
+ subdir=php8
+- elif test $PHP_VERSION -lt 80200; then
+- AC_MSG_RESULT(8.1)
++ elif test $PHP_VERSION -lt 80300; then
++ AC_MSG_RESULT(8.1/8.2)
+ subdir=php81
+ else
+ AC_MSG_ERROR(PHP version $PHP_VERSION is not supported yet)
+diff --git a/config.w32 b/config.w32
+index 2d45fb6..1d1c3e0 100644
+--- a/config.w32
++++ b/config.w32
+@@ -30,6 +30,8 @@ if (PHP_ZIP != "no") {
+ configure_module_dirname = configure_module_dirname + "\\php8";
+ } else if (PHP_VERSION == 8 && PHP_MINOR_VERSION == 1) {
+ configure_module_dirname = configure_module_dirname + "\\php81";
++ } else if (PHP_VERSION == 8 && PHP_MINOR_VERSION == 2) {
++ configure_module_dirname = configure_module_dirname + "\\php81";
+ } else {
+ ERROR("PHP " + PHP_VERSION + "." + PHP_MINOR_VERSION + " not supported");
+ }
+diff --git a/php81/php_zip.c b/php81/php_zip.c
+index ca040b5..9be5a9b 100644
+--- a/php81/php_zip.c
++++ b/php81/php_zip.c
+@@ -993,7 +993,11 @@ static HashTable *php_zip_get_properties(zend_object *object)/* {{{ */
+ return NULL;
+ }
+
++#if PHP_VERSION_ID < 80200
+ ZEND_HASH_FOREACH_STR_KEY_PTR(obj->prop_handler, key, hnd) {
++#else
++ ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(obj->prop_handler, key, hnd) {
++#endif
+ zval *ret, val;
+ ret = php_zip_property_reader(obj, hnd, &val);
+ if (ret == NULL) {
+diff --git a/tests/bug53603.phpt b/tests/bug53603.phpt
+index b1058b0..76b8ad9 100644
+--- a/tests/bug53603.phpt
++++ b/tests/bug53603.phpt
+@@ -8,6 +8,7 @@ if(!extension_loaded('zip')) die('skip');
+ <?php
+
+ class TestStream {
++ public $context;
+ function url_stat($path, $flags) {
+ if (!($flags & STREAM_URL_STAT_QUIET))
+ trigger_error("not quiet");
+diff --git a/tests/bug53885_php8.phpt b/tests/bug53885_php8.phpt
+index 19fb350..f976d9a 100644
+--- a/tests/bug53885_php8.phpt
++++ b/tests/bug53885_php8.phpt
+@@ -19,7 +19,7 @@ $nx->statName("a",ZIPARCHIVE::FL_UNCHANGED);
+ --CLEAN--
+ <?php
+ $fname = __DIR__."/test53885.zip";
+-unlink($fname);
++@unlink($fname);
+ ?>
+ --EXPECTF--
+ Deprecated: ZipArchive::open(): Using empty file as ZipArchive is deprecated in %s
+diff --git a/tests/bug70752.phpt b/tests/bug70752.phpt
+index f006fbe..46546b5 100644
+--- a/tests/bug70752.phpt
++++ b/tests/bug70752.phpt
+@@ -27,5 +27,5 @@ bool(false)
+ --CLEAN--
+ <?php
+ $filename = __DIR__ . DIRECTORY_SEPARATOR . 'bug70752.txt';
+-unlink($filename);
++@unlink($filename);
+ ?>
+diff --git a/tests/oo_getstatusstring.phpt b/tests/oo_getstatusstring.phpt
+index efd19e3..5860b64 100644
+--- a/tests/oo_getstatusstring.phpt
++++ b/tests/oo_getstatusstring.phpt
+@@ -8,7 +8,7 @@ Ole-Petter Wikene <olepw@redpill-linpro.com>
+ --FILE--
+ <?php
+
+-$dirname = dirname(__FILE__) . '/';
++$dirname = __DIR__ . '/';
+ $arch = new ZipArchive;
+ $arch->open($dirname.'foo.zip',ZIPARCHIVE::CREATE);
+ var_dump($arch->getStatusString());
+@@ -20,7 +20,7 @@ $arch->close();
+ ?>
+ --CLEAN--
+ <?php
+-unlink($dirname.'foo.zip');
++@unlink(__DIR__ . '/foo.zip');
+ ?>
+ --EXPECT--
+ string(8) "No error"
+--
+2.35.3
+
diff --git a/php-pecl-zip.spec b/php-pecl-zip.spec
index 446d07b..60ef394 100644
--- a/php-pecl-zip.spec
+++ b/php-pecl-zip.spec
@@ -34,13 +34,15 @@
Summary: A ZIP archive management extension
Name: %{?scl_prefix}php-pecl-zip
Version: %{upstream_version}%{?upstream_prever:~%{upstream_lower}}
-Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
License: PHP
Group: Development/Languages
URL: https://pecl.php.net/package/zip
Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz
+Patch0: 0001-support-8.2.patch
+
BuildRequires: make
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel
@@ -144,6 +146,8 @@ sed -e 's/role="test"/role="src"/' \
-i package.xml
cd NTS
+%patch0 -p1
+
# Sanity check, really often broken
extver=$(sed -n '/#define PHP_ZIP_VERSION/{s/.* "//;s/".*$//;p}' php7/php_zip.h)
if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}" -a "x${extver}" != "x%{upstream_version}-%{?upstream_prever}"; then
@@ -281,6 +285,9 @@ fi
%changelog
+* Wed May 11 2022 Remi Collet <remi@remirepo.net> - 1.20.1-2
+- add upstream patch for PHP 8.2
+
* Mon May 2 2022 Remi Collet <remi@remirepo.net> - 1.20.1-1
- update to 1.20.1