%bcond_without alternatives # use alternatives system to select default phar and php-fpm
%bcond_with default_php # build this PHP as default PHP in system (disables alternatives)
# - General options:
-%bcond_with embed # disable building Embedded API
-%bcond_with gcov # Enable Code coverage reporting
-%bcond_without kerberos5 # without Kerberos5 support
+%bcond_with embed # Embedded API
+%bcond_with gcov # Code coverage reporting
+%bcond_without kerberos5 # Kerberos5 support
%bcond_with systemtap # systemtap/DTrace support
%bcond_with tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test"
%bcond_with zts # Zend Thread Safety
%bcond_with debug # Zend Debug Build
# - SAPI
-%bcond_without apache2 # disable building Apache 2.x SAPI
-%bcond_without cgi # disable CGI/FCGI SAPI
-%bcond_without fpm # disable FPM SAPI
-%bcond_without litespeed # build litespeed SAPI
-%bcond_without phpdbg # disable phpdbg SAPI
+%bcond_without apache2 # building Apache 2.x SAPI
+%bcond_without cgi # CGI/FCGI SAPI
+%bcond_without fpm # FPM SAPI
+%bcond_without litespeed # litespeed SAPI
+%bcond_without phpdbg # phpdbg SAPI
# - Extensions
-%bcond_without bcmath # without bcmath extension module
-%bcond_without bzip2 # without bz2 extension module
-%bcond_without calendar # without calendar extension module
-%bcond_without ctype # without ctype extension module
-%bcond_without curl # without CURL extension module
-%bcond_without dba # without DBA extension module
-%bcond_without dom # without DOM extension module
-%bcond_without enchant # without Enchant extension module
-%bcond_without exif # without EXIF extension module
-%bcond_without ffi # without FFI extension module
-%bcond_without fileinfo # without fileinfo extension module
-%bcond_without filter # without filter extension module
-%bcond_without ftp # without FTP extension module
-%bcond_without gd # without GD extension module
-%bcond_without gettext # without gettext extension module
-%bcond_without gmp # without gmp extension module
-%bcond_without iconv # without iconv extension module
-%bcond_without imap # without IMAP extension module
-%bcond_without intl # without Intl extension module
-%bcond_without ldap # without LDAP extension module
-%bcond_without mbstring # without mbstring extension module
-%bcond_without mhash # without mhash extension (supported by hash extension)
-%bcond_without mysqli # without mysqli support (Requires mysql >= 4.1)
-%bcond_without mysqlnd # without mysqlnd support in mysql related extensions
-%bcond_with oci # with Oracle oci8 extension module (BR: proprietary libs)
-%bcond_without odbc # without ODBC extension module
-%bcond_without opcache # without Enable Zend OPcache extension support
-%bcond_without openssl # without OpenSSL support and OpenSSL extension (module)
-%bcond_without pcntl # without pcntl extension module
+%bcond_without bcmath # bcmath extension module
+%bcond_without bzip2 # bz2 extension module
+%bcond_without calendar # calendar extension module
+%bcond_without ctype # ctype extension module
+%bcond_without curl # CURL extension module
+%bcond_without dba # DBA extension module
+%bcond_without dom # DOM extension module
+%bcond_without enchant # Enchant extension module
+%bcond_without exif # EXIF extension module
+%bcond_without ffi # FFI extension module
+%bcond_without fileinfo # fileinfo extension module
+%bcond_without filter # filter extension module
+%bcond_without ftp # FTP extension module
+%bcond_without gd # GD extension module
+%bcond_without gettext # gettext extension module
+%bcond_without gmp # gmp extension module
+%bcond_without iconv # iconv extension module
+%bcond_without imap # IMAP extension module
+%bcond_without intl # Intl extension module
+%bcond_without ldap # LDAP extension module
+%bcond_without mbstring # mbstring extension module
+%bcond_without mhash # mhash extension (supported by hash extension)
+%bcond_without mysqli # mysqli support (Requires mysql >= 4.1)
+%bcond_without mysqlnd # mysqlnd support in mysql related extensions
+%bcond_with oci # Oracle oci8 extension module (BR: proprietary libs)
+%bcond_without odbc # ODBC extension module
+%bcond_without opcache # Enable Zend OPcache extension support
+%bcond_without openssl # OpenSSL support and OpenSSL extension (module)
+%bcond_without pcntl # pcntl extension module
%bcond_without pcre_jit # PCRE JIT
-%bcond_without pdo # without PDO extension module
-%bcond_without pdo_dblib # without PDO dblib extension module
-%bcond_without pdo_firebird # without PDO Firebird extension module
-%bcond_without pdo_mysql # without PDO MySQL extension module
+%bcond_without pdo # PDO extension module
+%bcond_without pdo_dblib # PDO dblib extension module
+%bcond_without pdo_firebird # PDO Firebird extension module
+%bcond_without pdo_mysql # PDO MySQL extension module
%bcond_without pdo_oci # without PDO oci extension module
-%bcond_without pdo_odbc # without PDO ODBC extension module
-%bcond_without pdo_pgsql # without PDO pgsql extension module
-%bcond_without pdo_sqlite # without PDO SQLite extension module
-%bcond_without pgsql # without PostgreSQL extension module
-%bcond_without phar # without Phar extension module
-%bcond_without posix # without POSIX extension module
-%bcond_without pspell # without pspell extension module
-%bcond_without readline # without readline extension module
-%bcond_without session # without session extension module
-%bcond_without snmp # without SNMP extension module
-%bcond_without sodium # without sodium extension module
-%bcond_without sqlite2 # without SQLite extension module
-%bcond_without sqlite3 # without SQLite3 extension module
-%bcond_without tidy # without Tidy extension module
-%bcond_without xsl # without xsl extension module
-%bcond_without zip # without zip extension module
+%bcond_without pdo_odbc # PDO ODBC extension module
+%bcond_without pdo_pgsql # PDO pgsql extension module
+%bcond_without pdo_sqlite # PDO SQLite extension module
+%bcond_without pgsql # PostgreSQL extension module
+%bcond_without phar # Phar extension module
+%bcond_without posix # POSIX extension module
+%bcond_without pspell # pspell extension module
+%bcond_without readline # readline extension module
+%bcond_without session # session extension module
+%bcond_without snmp # SNMP extension module
+%bcond_without sodium # sodium extension module
+%bcond_without sqlite2 # SQLite extension module
+%bcond_without sqlite3 # SQLite3 extension module
+%bcond_without tidy # Tidy extension module
+%bcond_without xsl # xsl extension module
+%bcond_without zip # zip extension module
# extensions options
%bcond_without argon2 # argon2 password hashing
-%bcond_without instantclient # build Oracle oci8 extension module against oracle-instantclient package
+%bcond_without instantclient # Oracle oci8 extension module against oracle-instantclient package
%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_without webp # Without WebP support in GD extension (imagecreatefromwebp)
+%bcond_with mm # mm support for session storage
+%bcond_without system_gd # system gd library
+%bcond_without avif # AVIF support in GD extension (imagecreatefromavif and imageavif)
+%bcond_without webp # WebP support in GD extension (imagecreatefromwebp)
%define apxs2 /usr/sbin/apxs
%endif
%define orgname php
-%define ver_suffix 80
+%define ver_suffix 82
%define php_suffix %{!?with_default_php:%{ver_suffix}}
+%define subver RC4
+%define rel 2
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.12
-Release: 1
+Version: 8.2.0
+Release: 0.%{subver}.%{rel}
Epoch: 4
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
# TSRM is licensed under BSD
License: PHP 3.01 and Zend and BSD
Group: Libraries
-Source0: https://php.net/distributions/%{orgname}-%{version}.tar.xz
-# Source0-md5: 2c42ee6263c9fe01463924a063b0934f
+#Source0: https://www.php.net/distributions/%{orgname}-%{version}.tar.xz
+Source0: https://downloads.php.net/~sergey/php-%{version}%{subver}.tar.xz
+# Source0-md5: e05241f38fa79a6c1fccbf1edf59c80c
Source1: opcache.ini
Source2: %{orgname}-mod_php.conf
Source3: %{orgname}-cgi-fcgi.ini
Patch2: %{orgname}-mail.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/
+URL: https://www.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}
BuildRequires: autoconf >= 2.59
%{?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}
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 php_api_version 20220829
%define zend_module_api %{php_api_version}
%define zend_extension_api 4%{zend_module_api}
%define php_pdo_api_version 20170320
%define jsonver %{version}
%define pharver %{version}
%define sqlite3ver %{version}
-%define zipver 1.19.4
+%define zipver 1.21.1
%define phpdbgver %{version}
%define sodiumver %{version}
Group: Development/Languages/PHP
Requires: %{name}-cli = %{epoch}:%{version}-%{release}
Obsoletes: php-program < 4:5.3.28-7
-Obsoletes: php4-program
-Obsoletes: php52-program
-Obsoletes: php53-program
-Obsoletes: php54-program
-Obsoletes: php55-program
-Obsoletes: php56-program
-Obsoletes: php70-program
-Obsoletes: php71-program
-Obsoletes: php72-program
-Obsoletes: php73-program
-Obsoletes: php74-program
+Obsoletes: php4-program < 3:5
+Obsoletes: php52-program < 4:5.3
+Obsoletes: php53-program < 4:5.4
+Obsoletes: php54-program < 4:5.5
+Obsoletes: php55-program < 4:5.6
+Obsoletes: php56-program < 4:7
+Obsoletes: php70-program < 4:7.1
+Obsoletes: php71-program < 4:7.2
+Obsoletes: php72-program < 4:7.3
+Obsoletes: php73-program < 4:7.4
+Obsoletes: php74-program < 4:8
+Obsoletes: php80-program < 4:8.1
+Obsoletes: php81-program < 4:8.2
%description program
Package providing /usr/bin/php symlink to PHP CLI.
Requires: shtool
Provides: php-devel = %{epoch}:%{version}-%{release}
Obsoletes: php-devel
-Obsoletes: php-pear-devel
-Obsoletes: php4-devel
-Obsoletes: php52-devel
-Obsoletes: php53-devel
-Obsoletes: php54-devel
-Obsoletes: php55-devel
-Obsoletes: php56-devel
-Obsoletes: php70-devel
-Obsoletes: php71-devel
-Obsoletes: php73-devel
-Obsoletes: php74-devel
+Obsoletes: php-pear-devel < 3:4.3.0-1
+Obsoletes: php4-devel < 3:5
+Obsoletes: php52-devel < 4:5.3
+Obsoletes: php53-devel < 4:5.4
+Obsoletes: php54-devel < 4:5.5
+Obsoletes: php55-devel < 4:5.6
+Obsoletes: php56-devel < 4:7
+Obsoletes: php70-devel < 4:7.1
+Obsoletes: php71-devel < 4:7.2
+Obsoletes: php72-devel < 4:7.3
+Obsoletes: php73-devel < 4:7.4
+Obsoletes: php74-devel < 4:8
+Obsoletes: php80-devel < 4:8.1
+Obsoletes: php81-devel < 4:8.2
%description devel
The php-devel package lets you compile dynamic extensions to PHP.
Requires: %{name}-pcre = %{epoch}:%{version}-%{release}
Provides: php(filter)
Obsoletes: php-filter < 4:5.3.28-7
-Obsoletes: php-pecl-filter
+Obsoletes: php-pecl-filter < 0.12
%description filter
We all know that you should always check input variables, but PHP does
Provides: %{name}(PDO_API) = %{php_pdo_api_version}
Provides: php(pdo)
Obsoletes: php-pdo < 4:5.3.28-7
-Obsoletes: php-pecl-PDO
+Obsoletes: php-pecl-PDO < 1.1
%description pdo
This is a dynamic shared object (DSO) for PHP that will add PDO
Provides: php(pdo-firebird)
Provides: php(pdo_firebird)
Obsoletes: php-pdo-firebird < 4:5.3.28-7
-Obsoletes: php-pecl-PDO_FIREBIRD
+Obsoletes: php-pecl-PDO_FIREBIRD < 0.3
%description pdo-firebird
This is a dynamic shared object (DSO) for PHP that will add PDO
Provides: php(pdo-mysql)
Provides: php(pdo_mysql)
Obsoletes: php-pdo-mysql < 4:5.3.28-7
-Obsoletes: php-pecl-PDO_MYSQL
+Obsoletes: php-pecl-PDO_MYSQL < 1.1
%description pdo-mysql
This is a dynamic shared object (DSO) for PHP that will add PDO MySQL
Provides: php(pdo-oci)
Provides: php(pdo_oci)
Obsoletes: php-pdo-oci < 4:5.3.28-7
-Obsoletes: php-pecl-PDO_OCI
+Obsoletes: php-pecl-PDO_OCI < 1.1
%description pdo-oci
This is a dynamic shared object (DSO) for PHP that will add PDO Oracle
Provides: php(pdo-odbc)
Provides: php(pdo_odbc)
Obsoletes: php-pdo-odbc < 4:5.3.28-7
-Obsoletes: php-pecl-PDO_ODBC
+Obsoletes: php-pecl-PDO_ODBC < 1.1
%description pdo-odbc
This is a dynamic shared object (DSO) for PHP that will add PDO ODBC
Provides: php(pdo-sqlite)
Provides: php(pdo_sqlite)
Obsoletes: php-pdo-sqlite < 4:5.3.28-7
-Obsoletes: php-pecl-PDO_SQLITE
+Obsoletes: php-pecl-PDO_SQLITE < 1.1
%description pdo-sqlite
This is a dynamic shared object (DSO) for PHP that will add PDO SQLite
URL: http://php.net/manual/en/book.xmlwriter.php
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Provides: php(xmlwriter)
-Obsoletes: php-pecl-xmlwriter
+Obsoletes: php-pecl-xmlwriter < 2.1
Obsoletes: php-xmlwriter < 4:5.3.28-7
%description xmlwriter
#%patch2 -p1 -b .mail
%patch3 -p1
%patch4 -p1
+#%patch5 -p1 resolved upstream?
%patch7 -p1 -b .sapi-ini-file
-%patch9 -p1
%patch10 -p1 -b .ini
%patch14 -p1
%patch18 -p1
%patch67 -p1 -b .mysql-lib-ver-mismatch
#%patch68 -p1 DROP or update to 7.0 APIs
%patch71 -p1 -b .libdb-info
-%patch72 -p1
sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{__bindir}\1,' \
ext/ext_skel.php \
%{__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 \
%if %{with pdo_oci}
%files oci8
%defattr(644,root,root,755)
-%doc ext/oci8/{CREDITS,README}
+%doc ext/oci8/{CREDITS,README.md}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_oci8.ini
%attr(755,root,root) %{php_extensiondir}/oci8.so
%endif
%{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}