diff options
| -rw-r--r-- | ion-php84.patch | 101 | ||||
| -rw-r--r-- | php-pecl-ion.spec | 54 | 
2 files changed, 115 insertions, 40 deletions
diff --git a/ion-php84.patch b/ion-php84.patch new file mode 100644 index 0000000..fef1c36 --- /dev/null +++ b/ion-php84.patch @@ -0,0 +1,101 @@ +From fc5e95874bc8c56c398399b85f17663919c8e904 Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@remirepo.net> +Date: Tue, 1 Oct 2024 09:18:00 +0200 +Subject: [PATCH] Relax test for 8.4 "refcount" vs "packed refcount" + +--- + tests/serialize/backref.phpt      | 18 +++++++++--------- + tests/serialize/serializable.phpt |  2 +- + 2 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/tests/serialize/backref.phpt b/tests/serialize/backref.phpt +index 4538ab5..44ce077 100644 +--- a/tests/serialize/backref.phpt ++++ b/tests/serialize/backref.phpt +@@ -30,16 +30,16 @@ array(1) { +   *RECURSION* + } + [[R::r::1],["a",r::4,o::{},r::5,[1,2,3],r::6],r::3,r::4,r::5,r::6] +-array(6) refcount(2){ ++array(6) %srefcount(2){ +   [0]=> +-  array(1) refcount(2){ ++  array(1) %srefcount(2){ +     [0]=> +     reference refcount(1) { +       *RECURSION* +     } +   } +   [1]=> +-  array(6) refcount(2){ ++  array(6) %srefcount(2){ +     [0]=> +     string(1) "a" refcount(3) +     [1]=> +@@ -51,7 +51,7 @@ array(6) refcount(2){ +     object(stdClass)#%d (0) refcount(3){ +     } +     [4]=> +-    array(3) refcount(3){ ++    array(3) %srefcount(3){ +       [0]=> +       int(1) +       [1]=> +@@ -60,7 +60,7 @@ array(6) refcount(2){ +       int(3) +     } +     [5]=> +-    array(3) refcount(3){ ++    array(3) %srefcount(3){ +       [0]=> +       int(1) +       [1]=> +@@ -70,7 +70,7 @@ array(6) refcount(2){ +     } +   } +   [2]=> +-  array(6) refcount(2){ ++  array(6) %srefcount(2){ +     [0]=> +     string(1) "a" refcount(3) +     [1]=> +@@ -82,7 +82,7 @@ array(6) refcount(2){ +     object(stdClass)#%d (0) refcount(3){ +     } +     [4]=> +-    array(3) refcount(3){ ++    array(3) %srefcount(3){ +       [0]=> +       int(1) +       [1]=> +@@ -91,7 +91,7 @@ array(6) refcount(2){ +       int(3) +     } +     [5]=> +-    array(3) refcount(3){ ++    array(3) %srefcount(3){ +       [0]=> +       int(1) +       [1]=> +@@ -106,7 +106,7 @@ array(6) refcount(2){ +   object(stdClass)#%d (0) refcount(3){ +   } +   [5]=> +-  array(3) refcount(3){ ++  array(3) %srefcount(3){ +     [0]=> +     int(1) +     [1]=> +diff --git a/tests/serialize/serializable.phpt b/tests/serialize/serializable.phpt +index 5f66227..aa93347 100644 +--- a/tests/serialize/serializable.phpt ++++ b/tests/serialize/serializable.phpt +@@ -85,7 +85,7 @@ Deprecated: recursive implements the Serializable interface, which is deprecated + Deprecated: except implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in %sserialize/serializable.php on line %d +  + [S::test::{{"foobar"}},r::1] +-array(2) refcount(2){ ++array(2) %srefcount(2){ +   [0]=> +   object(test)#%d (1) refcount(2){ +     ["data":protected]=> diff --git a/php-pecl-ion.spec b/php-pecl-ion.spec index 7c3b64a..1a469aa 100644 --- a/php-pecl-ion.spec +++ b/php-pecl-ion.spec @@ -37,7 +37,7 @@  Summary:        Amazon ION support  Name:           %{?scl_prefix}php-pecl-%{pecl_name}  Version:        %{upstream_version}%{?upstream_prever:~%{upstream_prever}} -Release:        4%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release:        5%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}  License:        BSD-2-Clause  URL:            https://pecl.php.net/package/%{pecl_name} @@ -45,13 +45,10 @@ Source0:        https://pecl.php.net/get/%{sources}.tgz  Source1:        https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{gh_version}-%{gh_short}.tar.gz  Patch0:         %{pecl_name}-php82.patch +Patch1:         %{pecl_name}-php84.patch  BuildRequires:  make -%if 0%{?rhel} == 7 -BuildRequires:  cmake3 >= 3.6 -%else  BuildRequires:  cmake >= 3.6 -%endif  BuildRequires:  %{?dtsprefix}gcc  BuildRequires:  %{?scl_prefix}php-devel >= 8.1  BuildRequires:  %{?scl_prefix}php-pear @@ -66,11 +63,6 @@ Provides:       %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}  # Bundled library  Provides:       bundled(ion-c) = %{gh_version} -%if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} -# Other third party repo stuff -Obsoletes:      php81-pecl-%{pecl_name} <= %{version} -%endif -  %description  This PHP extension  provides support for the Amazon ION serialization format. @@ -85,11 +77,12 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO  # Don't install/register tests  sed -e 's/role="test"/role="src"/' \ -    %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ +    -e '/LICENSE/s/role="doc"/role="src"/' \      -i package.xml  cd %{sources}  %patch -P0 -p1 -b .php82 +%patch -P1 -p1 -b .php84  # use bundled library  ln -s ../%{gh_project}-%{gh_commit} ion-c @@ -123,10 +116,6 @@ EOF  %build  %{?dtsenable} -%if 0%{?rhel} == 7 -export CMAKE=%{_root_bindir}/cmake3 -%endif -  # See https://github.com/awesomized/ext-ion/issues/9  export CFLAGS="%{optflags} -Wno-incompatible-pointer-types" @@ -138,15 +127,16 @@ peclconf() {  cd %{sources}  %{__phpize} +sed -e 's/INSTALL_ROOT/DESTDIR/' -i build/Makefile.global  cd ../NTS  peclconf %{__phpconfig} -make %{?_smp_mflags} +%make_build  %if %{with_zts}  cd ../ZTS  peclconf %{__ztsphpconfig} -make %{?_smp_mflags} +%make_build  %endif @@ -154,7 +144,7 @@ make %{?_smp_mflags}  %{?dtsenable}  # Install the NTS stuff -make -C NTS install INSTALL_ROOT=%{buildroot} +%make_install -C NTS  install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}  # Install XML package description @@ -162,7 +152,7 @@ install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml  # Install the ZTS stuff  %if %{with_zts} -make -C ZTS install INSTALL_ROOT=%{buildroot} +%make_install -C ZTS  install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}  %endif @@ -194,28 +184,8 @@ TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \  %endif -%if 0%{?fedora} < 24 && 0%{?rhel} < 8 -# when pear installed alone, after us -%triggerin -- %{?scl_prefix}php-pear -if [ -x %{__pecl} ] ; then -    %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -# posttrans as pear can be installed after us -%posttrans -if [ -x %{__pecl} ] ; then -    %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -%postun -if [ $1 -eq 0 -a -x %{__pecl} ] ; then -    %{pecl_uninstall} %{pecl_name} >/dev/null || : -fi -%endif - -  %files -%{?_licensedir:%license %{sources}/LICENSE} +%license %{sources}/LICENSE  %doc %{pecl_docdir}/%{pecl_name}  %{pecl_xmldir}/%{name}.xml @@ -229,6 +199,10 @@ fi  %changelog +* Tue Oct  1 2024 Remi Collet <remi@remirepo.net> - 0.2.1-5 +- fix test suite with 8.4 using patch from +  https://github.com/awesomized/ext-ion/pull/10 +  * Fri Feb 16 2024 Remi Collet <remi@remirepo.net> - 0.2.1-4  - F40: ignore [-Wincompatible-pointer-types]    reported as https://github.com/awesomized/ext-ion/issues/9  | 
