%bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs)
%bcond_with mm # without mm support for session storage
%bcond_without system_gd # system gd
+%bcond_with avif # Without AVIF support in GD extension (imagecreatefromavif and imageavif)
%bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp)
%define apxs2 /usr/sbin/apxs
%endif
%define orgname php
-%define php_suffix 80
+%define php_suffix 82
Summary: PHP: Hypertext Preprocessor
Summary(fr.UTF-8): Le langage de script embarque-HTML PHP
Summary(pl.UTF-8): Język skryptowy PHP
Summary(ru.UTF-8): PHP - язык препроцессирования HTML-файлов, выполняемый на сервере
Summary(uk.UTF-8): PHP - мова препроцесування HTML-файлів, виконувана на сервері
Name: %{orgname}%{php_suffix}
-Version: 8.0.17
+Version: 8.2.20
Release: 1
Epoch: 4
# All files licensed under PHP version 3.01, except
License: PHP 3.01 and Zend and BSD
Group: Libraries
Source0: https://php.net/distributions/%{orgname}-%{version}.tar.xz
-# Source0-md5: fa88b5f436ad81235b0856144abb0035
+# Source0-md5: 9478294cb87946891f70d5aa5f959bc3
Source1: opcache.ini
Source2: %{orgname}-mod_php.conf
Source3: %{orgname}-cgi-fcgi.ini
Patch1: %{orgname}-tld.patch
Patch3: %{orgname}-link-libs.patch
Patch4: intl-stdc++.patch
+# https://bugs.php.net/bug.php?id=79589
+Patch5: openssl.patch
Patch7: %{orgname}-sapi-ini-file.patch
-Patch9: libtool-tag.patch
Patch10: %{orgname}-ini.patch
Patch11: embed.patch
Patch14: %{orgname}-no_pear_install.patch
# https://bugs.php.net/bug.php?id=68344
Patch68: php-mysql-ssl-context.patch
Patch71: libdb-info.patch
-Patch72: openssl.patch
URL: http://php.net/
%{?with_pdo_firebird:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}}
%{?with_pspell:BuildRequires: aspell-devel >= 2:0.50.0}
%{?with_gcov:BuildRequires: lcov}
%{?with_fpm:BuildRequires: libapparmor-devel}
%{?with_argon2:BuildRequires: libargon2-devel >= 20161029}
+%{?with_avif:BuildRequires: libavif-devel >= 0.8.2}
%{?with_ffi:BuildRequires: libffi-devel}
%{?with_intl:BuildRequires: libicu-devel >= 50.1}
BuildRequires: libjpeg-devel
%{?with_sodium:BuildRequires: libsodium-devel >= 1.0.8}
%{?with_intl:BuildRequires: libstdc++-devel}
BuildRequires: libtool >= 2:2.4.6
-%{?with_webp:BuildRequires: libwebp-devel}
+%{?with_webp:BuildRequires: libwebp-devel >= 0.2.0}
BuildRequires: libxml2-devel >= 1:2.7.6-4
%{?with_xsl:BuildRequires: libxslt-devel >= 1.1.0}
%{?with_zip:BuildRequires: libzip-devel >= 1.3.1}
%{?with_snmp:%{?with_tests:BuildRequires: mibs-net-snmp}}
%{?with_mm:BuildRequires: mm-devel >= 1.3.0}
-%{!?with_mysqli:BuildRequires: mysql-devel >= 4.1.13}
+%{!?with_mysqli:BuildRequires: mysql-devel}
%{!?with_pdo_mysql:BuildRequires: mysql-devel}
%{?with_snmp:BuildRequires: net-snmp-devel >= 5.3}
BuildRequires: oniguruma-devel
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
%if %{with openssl} || %{with ldap}
-BuildRequires: openssl-devel >= 1.0.1
+BuildRequires: openssl-devel >= 1.0.2
%endif
%{?with_oci:%{?with_instantclient:BuildRequires: oracle-instantclient-devel}}
BuildRequires: pam-devel
BuildRequires: rpmbuild(macros) >= 1.566
BuildRequires: sed >= 4.0
%if %{with sqlite3} || %{with pdo_sqlite}
-BuildRequires: sqlite3-devel >= 3.7.4
+BuildRequires: sqlite3-devel >= 3.7.7
%endif
%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
BuildRequires: tar >= 1:1.22
%define _sysconfdir %{php_sysconfdir}
# must be in sync with source. extra check ensuring that it is so is done in %%build
-%define php_api_version 20200930
-%define zend_module_api 20200930
-%define zend_extension_api 420200930
+%define php_api_version 20220829
+%define zend_module_api 20220829
+%define zend_extension_api 420220829
%define php_pdo_api_version 20170320
# Extension versions
%define jsonver %{version}
%define pharver %{version}
%define sqlite3ver %{version}
-%define zipver 1.19.5
+%define zipver 1.21.1
%define phpdbgver %{version}
%define sodiumver %{version}
Provides: php(core) = %{version}
Provides: php(date)
Provides: php(hash) = %{hashver}
+Provides: php(json)
Provides: php(libxml)
Provides: php(pcre)
Provides: php(reflection)
Requires: %{name}-common = %{epoch}:%{version}-%{release}
%{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}}
Requires: %{name}-spl = %{epoch}:%{version}-%{release}
-Requires: mysql-libs >= 4.1.13
+Requires: mysql-libs
Provides: php(mysqli)
Obsoletes: php-mysqli < 4:5.3.28-7
%patch1 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p1
%patch7 -p1
-%patch9 -p1
%patch10 -p1
%patch14 -p1
%patch18 -p1
%patch67 -p1
#%patch68 -p1 DROP or update to 7.0 APIs
%patch71 -p1
-%patch72 -p1
-sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{__bindir}\1,' \
+sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{_bindir}/\1%{php_suffix},' \
ext/ext_skel.php \
run-tests.php
export CXXFLAGS="%{rpmcxxflags} -fPIC -DPIC"
export CFLAGS="%{rpmcflags} -fPIC -DPIC"
-%if %{with intl}
-# icu 59+ C++ API requires C++ >= 11
-CXXFLAGS="$CXXFLAGS -std=c++11"
-%endif
-
sapis="
cli
%if %{with cgi}
%{__enable_disable pcntl pcntl shared} \
%{__enable_disable pdo pdo shared} \
--enable-xmlwriter=shared \
+ %{?with_avif:--with-avif} \
%if %{with fpm}
--with-fpm-user=http \
--with-fpm-group=http \
# fix install paths, avoid evil rpaths
sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" $RPM_BUILD_ROOT%{_libdir}/libphp_common%{php_suffix}.la
-install -p ext/ext_skel.php $RPM_BUILD_ROOT%{_bindir}
+install -p ext/ext_skel.php $RPM_BUILD_ROOT%{_bindir}/ext_skel%{php_suffix}
%clean
rm -rf $RPM_BUILD_ROOT
%post cli
update-alternatives \
--install %{_bindir}/php php %{_bindir}/php%{php_suffix} %{php_suffix} \
- --slave %{_mandir}/man1/php.1 php.1 %{_mandir}/man1/php%{php_suffix}.1* || :
+ --slave %{_mandir}/man1/php.1.gz php.1.gz %{_mandir}/man1/php%{php_suffix}.1.gz || :
%postun cli
if [ $1 -eq 0 ]; then
%post devel
update-alternatives \
--install %{_bindir}/phpize phpize %{_bindir}/phpize%{php_suffix} %{php_suffix} \
- --slave %{_mandir}/man1/php.1 php.1 %{_mandir}/man1/php%{php_suffix}.1* || :
+ --slave %{_mandir}/man1/phpize.1.gz phpize.1.gz %{_mandir}/man1/phpize%{php_suffix}.1.gz || :
update-alternatives \
--install %{_bindir}/php-config php-config %{_bindir}/php-config%{php_suffix} %{php_suffix} \
- --slave %{_mandir}/man1/php.1 php.1 %{_mandir}/man1/php%{php_suffix}.1* || :
+ --slave %{_mandir}/man1/php-config.1.gz php-config.1.gz %{_mandir}/man1/php-config%{php_suffix}.1.gz || :
+update-alternatives \
+ --install %{_bindir}/ext_skel ext_skel %{_bindir}/ext_skel%{php_suffix} %{php_suffix} || :
%postun devel
if [ $1 -eq 0 ]; then
%post fpm
/sbin/chkconfig --add %{name}-fpm
%service %{name}-fpm restart
-update-alternatives --install %{_sbindir}/php-fpm php-fpm %{_sbindir}/php%{php_suffix}-fpm %{php_suffix} || :
+update-alternatives \
+ --install %{_sbindir}/php-fpm php-fpm %{_sbindir}/php%{php_suffix}-fpm %{php_suffix} \
+ --slave %{_mandir}/man8/php-fpm.8.gz php-fpm.8.gz %{_mandir}/man8/php-fpm%{php_suffix}.8.gz || :
%preun fpm
if [ "$1" = "0" ]; then
%ext_post
update-alternatives \
--install %{_bindir}/phar phar %{_bindir}/phar%{php_suffix}.phar %{php_suffix} \
- --slave %{_mandir}/man1/phar.1 phar.1 %{_mandir}/man1/phar%{php_suffix}.1* || :
+ --slave %{_mandir}/man1/phar.1.gz phar.1.gz %{_mandir}/man1/phar%{php_suffix}.1.gz || :
%postun phar
%ext_postun
%files devel
%defattr(644,root,root,755)
%doc CODING_STANDARDS.md docs/*.md
-%attr(755,root,root) %{_bindir}/ext_skel.php
+%attr(755,root,root) %{_bindir}/ext_skel%{php_suffix}
%attr(755,root,root) %{_bindir}/phpize%{php_suffix}
%attr(755,root,root) %{_bindir}/php-config%{php_suffix}
%ghost %{_bindir}/phpize
%{php_data_dir}/tests/php/run-test
%{php_data_dir}/tests/php/security
%{php_data_dir}/tests/php/strings
-%{php_data_dir}/tests/php/quicktester.inc
%attr(755,root,root) %{php_data_dir}/tests/php/run-tests.php
%if %{with tidy}