]> TLD Linux GIT Repositories - packages/php.git/blobdiff - php.spec
- updated to 8.3.6
[packages/php.git] / php.spec
index ea874b7b2795e2bf2e6d520d655b7205568e049e..d345342768d7cc6c937835d1156f659b103b10ca 100644 (file)
--- a/php.spec
+++ b/php.spec
@@ -1,6 +1,6 @@
 # Conditional build:
 # - General options:
-%bcond_without embed           # disable building Embedded API
+%bcond_with    embed           # disable building Embedded API
 %bcond_with    gcov            # Enable Code coverage reporting
 %bcond_without kerberos5       # without Kerberos5 support
 %bcond_with    systemtap       # systemtap/DTrace support
@@ -15,7 +15,7 @@
 %bcond_without phpdbg          # disable phpdbg SAPI
 # - Extensions
 %bcond_without bcmath          # without bcmath extension module
-%bcond_without bz2             # without bz2 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
@@ -31,9 +31,8 @@
 %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_with    imap            # without IMAP extension module
 %bcond_without intl            # without Intl extension module
-%bcond_without json            # without json 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)
@@ -49,7 +48,7 @@
 %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_oci         # without PDO oci 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 sqlite2         # without SQLite extension module
 %bcond_without sqlite3         # without SQLite3 extension module
 %bcond_without tidy            # without Tidy extension module
-%bcond_without xmlrpc          # without XML-RPC extension module
-%bcond_without xsl             # without xsl extension module
-%bcond_without zip             # without zip extension module
+%bcond_without xsl                     # without xsl extension module
+%bcond_without zip                     # without zip extension module
 # extensions options
 %bcond_without argon2          # argon2 password hashing
 %bcond_without instantclient   # build 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_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 74
+%define                php_suffix 83
 Summary:       PHP: Hypertext Preprocessor
 Summary(fr.UTF-8):     Le langage de script embarque-HTML PHP
 Summary(pl.UTF-8):     Język skryptowy PHP
 Summary(pt_BR.UTF-8):  A linguagem de script PHP
-Summary(ru.UTF-8):     PHP Версии 7 - язык препроцессирования HTML-файлов, выполняемый на сервере
-Summary(uk.UTF-8):     PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері
+Summary(ru.UTF-8):     PHP - язык препроцессирования HTML-файлов, выполняемый на сервере
+Summary(uk.UTF-8):     PHP - мова препроцесування HTML-файлів, виконувана на сервері
 Name:          %{orgname}%{php_suffix}
-Version:       7.4.3
+Version:       8.3.6
 Release:       1
 Epoch:         4
 # All files licensed under PHP version 3.01, except
@@ -133,8 +132,8 @@ Epoch:              4
 # TSRM is licensed under BSD
 License:       PHP 3.01 and Zend and BSD
 Group:         Libraries
-Source0:       http://php.net/distributions/%{orgname}-%{version}.tar.xz
-# Source0-md5: 853df4727b2dcde52e9cc9d944f87498
+Source0:       https://php.net/distributions/%{orgname}-%{version}.tar.xz
+# Source0-md5: 0b8809e3bbb7f00b90f775d28846197d
 Source1:       opcache.ini
 Source2:       %{orgname}-mod_php.conf
 Source3:       %{orgname}-cgi-fcgi.ini
@@ -149,12 +148,12 @@ Patch0:           %{orgname}-shared.patch
 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
-Patch17:       %{orgname}-readline.patch
 Patch18:       %{orgname}-nohttpd.patch
 Patch21:       %{orgname}-dba-link.patch
 Patch22:       %{orgname}-both-apxs.patch
@@ -163,23 +162,21 @@ Patch24:  %{orgname}-zlib-for-getimagesize.patch
 Patch25:       %{orgname}-stupidapache_version.patch
 Patch27:       %{orgname}-config-dir.patch
 Patch29:       %{orgname}-fcgi-graceful.patch
-Patch31:       %{orgname}-fcgi-error_log-no-newlines.patch
-Patch37:       %{orgname}-mysqli-charsetphpini.patch
-Patch38:       %{orgname}-pdo_mysql-charsetphpini.patch
 Patch39:       %{orgname}-use-prog_sendmail.patch
 Patch41:       %{orgname}-fpm-config.patch
 Patch43:       %{orgname}-silent-session-cleanup.patch
 Patch44:       %{orgname}-include_path.patch
 Patch50:       extension-shared-optional-dep.patch
 Patch53:       fix-test-run.patch
-Patch55:       bug-52078-fileinode.patch
 Patch59:       %{orgname}-systzdata.patch
+Patch60:       %{orgname}-oracle-instantclient.patch
 Patch66:       php-db.patch
 Patch67:       mysql-lib-ver-mismatch.patch
-Patch69:       fpm-conf-split.patch
+# https://bugs.php.net/bug.php?id=68344
+Patch68:       php-mysql-ssl-context.patch
 Patch71:       libdb-info.patch
 URL:           http://php.net/
-%{?with_firebird:%{!?with_interbase_inst:BuildRequires:        Firebird-devel >= 1.0.2.908-2}}
+%{?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
 BuildRequires: automake >= 1.4d
@@ -190,10 +187,6 @@ BuildRequires:     cyrus-sasl-devel >= 2
 BuildRequires: db-devel >= 4.0
 BuildRequires: elfutils-devel
 %{?with_enchant:BuildRequires: enchant-devel >= 1.1.3}
-%{?with_kerberos5:BuildRequires:       heimdal-devel}
-%{?with_argon2:BuildRequires:  libargon2-devel >= 20161029}
-%{?with_ffi:BuildRequires:     libffi-devel}
-%{?with_sodium:BuildRequires:  libsodium-devel >= 1.0.8}
 %if %{with pdo_dblib}
 BuildRequires: freetds-devel >= 0.82
 %endif
@@ -203,28 +196,33 @@ BuildRequires:    gd-devel >= 2.1
 %endif
 BuildRequires: gdbm-devel
 BuildRequires: gmp-devel >= 4.2
+%{?with_kerberos5:BuildRequires:       heimdal-devel}
 %{?with_imap:BuildRequires:    imap-devel >= 1:2007e-2}
 %{?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
 BuildRequires: libltdl-devel >= 1.4
 BuildRequires: libpng-devel >= 1.0.8
+%{?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
+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
@@ -237,14 +235,13 @@ BuildRequires:    rpm-build >= 4.4.0
 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
 %{?with_tidy:BuildRequires:    tidy-devel}
 BuildRequires: tokyocabinet-devel
 %{?with_odbc:BuildRequires:    unixODBC-devel}
-%{?with_xmlrpc:BuildRequires:  xmlrpc-epi-devel >= 0.54.1}
 BuildRequires: xz
 BuildRequires: zlib-devel >= 1.2.0.4
 %if %{with apache2}
@@ -255,14 +252,14 @@ BuildRequires:    apr-util-devel >= 1:1.0.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                php_sysconfdir          /etc/%{name}
-%define                php_extensiondir        %{_libdir}/%{name}
-%define                php_datadir             /usr/share/php/%{name}
+%define                php_extensiondir        %{_libdir}/php/%{name}
+%define                php_data_dir            /usr/share/php/%{name}
 %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         20190902
-%define                zend_module_api         20190902
-%define                zend_extension_api      320190902
+%define                php_api_version         20230831
+%define                zend_module_api         20230831
+%define                zend_extension_api      420230831
 %define                php_pdo_api_version     20170320
 
 # Extension versions
@@ -274,7 +271,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                jsonver         %{version}
 %define                pharver         %{version}
 %define                sqlite3ver      %{version}
-%define                zipver          1.15.6
+%define                zipver          1.22.3
 %define                phpdbgver       %{version}
 %define                sodiumver       %{version}
 
@@ -515,6 +512,7 @@ Provides:   %{name}-standard
 Provides:      php(core) = %{version}
 Provides:      php(date)
 Provides:      php(hash) = %{hashver}
+Provides:      php(json)
 Provides:      php(libxml)
 Provides:      php(pcre)
 Provides:      php(reflection)
@@ -572,7 +570,6 @@ Requires:   libtool >= 2:2.4.6
 Requires:      pcre2-8-devel >= 10.30
 Requires:      shtool
 Provides:      php-devel = %{epoch}:%{version}-%{release}
-Obsoletes:     php-devel
 Obsoletes:     php-pear-devel
 Obsoletes:     php4-devel
 Obsoletes:     php52-devel
@@ -787,7 +784,8 @@ support in image files.
 Moduł PHP dodający obsługę znaczników EXIF w plikach obrazków.
 
 %package ffi
-Summary:       %{modname} - Foreign Function Interface
+Summary:       Foreign Function Interface module for PHP
+Summary(pl.UTF-8):     Moduł Foreign Function Interface (interfejsu do obcych języków) dla PHP
 Group:         Libraries
 URL:           https://www.php.net/manual/en/book.ffi.php
 Requires:      %{name}-common = %{epoch}:%{version}-%{release}
@@ -797,6 +795,10 @@ Provides:  php(ffi) = %{version}
 FFI is a multi-platform extension for PHP that allows you to bind to
 functions from arbitrary shared libraries and call them.
 
+%description ffi -l pl.UTF-8
+FFI to wieloplatformowe rozszerzenie dla PHP pozwalające dowiązywać
+funkcje z dowolnych bibliotek współdzielonych i wywoływać je.
+
 %package fileinfo
 Summary:       libmagic bindings
 Summary(pl.UTF-8):     Wiązania do libmagic
@@ -982,24 +984,6 @@ interfejsem do biblioteki ICU, pozwalającym programistom PHP na
 wykonywanie w skryptach porównań zgodnych z UCA oraz formatowania
 daty/czasu/walut.
 
-%package json
-Summary:       PHP C extension for JSON serialization
-Summary(pl.UTF-8):     Rozszerzenie C PHP dla serializacji JSON
-Group:         Libraries
-URL:           http://php.net/manual/en/book.json.php
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
-Provides:      php(json) = %{jsonver}
-Obsoletes:     php-json < 4:5.3.28-7
-Obsoletes:     php-pecl-json < %{jsonver}
-
-%description json
-php-json is an extremely fast PHP C extension for JSON (JavaScript
-Object Notation) serialisation.
-
-%description json -l pl.UTF-8
-php-json to bardzo szybkie rozszerzenie C PHP dla serializacji JSON
-(JavaScript Object Notation).
-
 %package ldap
 Summary:       LDAP extension module for PHP
 Summary(pl.UTF-8):     Moduł LDAP dla PHP
@@ -1044,7 +1028,7 @@ URL:              http://php.net/manual/en/book.mysqli.php
 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
 
@@ -1549,6 +1533,7 @@ Moduł PHP dodający obsługę gniazdek.
 
 %package sodium
 Summary:       Wrapper for the Sodium cryptographic library
+Summary(pl.UTF-8):     Interfejs do biblioteki kryptograficznej Sodium
 Group:         Libraries
 URL:           https://paragonie.com/book/pecl-libsodium
 Requires:      %{name}-common = %{epoch}:%{version}-%{release}
@@ -1557,6 +1542,9 @@ Provides: php(sodium) = %{sodiumver}
 %description sodium
 A simple, low-level PHP extension for libsodium.
 
+%description sodium -l pl.UTF-8
+Proste, niskopoziomowe rozszerzenie PHP wykorzystując libsodium.
+
 %package sqlite3
 Summary:       SQLite3 extension module for PHP
 Summary(pl.UTF-8):     Moduł SQLite3 dla PHP
@@ -1640,6 +1628,7 @@ Summary(pl.UTF-8):        Zawiera pliki testów jednostkowych dla PHP i rozszerzeń
 Group:         Libraries
 URL:           http://qa.php.net/
 Requires:      %{name}-cli
+BuildArch:     noarch
 
 %description tests
 This package contains unit tests for PHP and its extensions.
@@ -1720,23 +1709,6 @@ Moduł PHP umożliwiający analizę plików XML w trybie Pull. Czytnik
 działa jako kursor przechodzący przez strumień dokumentu i
 zatrzymujący się na każdym węźle po drodze.
 
-%package xmlrpc
-Summary:       xmlrpc extension module for PHP
-Summary(pl.UTF-8):     Moduł xmlrpc dla PHP
-Group:         Libraries
-URL:           http://php.net/manual/en/book.xmlrpc.php
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
-Requires:      %{name}-xml = %{epoch}:%{version}-%{release}
-Provides:      php(xmlrpc)
-Obsoletes:     php-xmlrpc < 4:5.3.28-7
-
-%description xmlrpc
-This is a dynamic shared object (DSO) for PHP that will add XMLRPC
-support.
-
-%description xmlrpc -l pl.UTF-8
-Moduł PHP dodający obsługę XMLRPC.
-
 %package xmlwriter
 Summary:       Fast, non-cached, forward-only means to write XML data
 Summary(pl.UTF-8):     Szybka, nie cachowana metoda zapisu danych w formacie XML
@@ -1812,16 +1784,18 @@ compression support to PHP.
 Moduł PHP umożliwiający używanie kompresji zlib.
 
 %prep
-%setup -q -n %{orgname}-%{version}
+%setup -q -n %{orgname}-%{version}%{?subver}
+
 cp -p php.ini-production php.ini
 %patch0 -p1
 %patch1 -p1
 %patch3 -p1
+%patch4 -p1
+%patch5 -p1
+
 %patch7 -p1
-%patch9 -p1
 %patch10 -p1
 %patch14 -p1
-%patch17 -p1
 %patch18 -p1
 %patch21 -p1
 %patch22 -p1
@@ -1830,25 +1804,24 @@ cp -p php.ini-production php.ini
 %patch25 -p1
 %patch27 -p1
 %patch29 -p1
-%patch31 -p1
-%patch37 -p1
-%patch38 -p1
 %patch39 -p1
-%if %{with fpm}
 %patch41 -p1
-%endif
 %patch43 -p1
 %patch44 -p1
 %patch50 -p1
 %patch53 -p1
-%undos ext/spl/tests/SplFileInfo_getInode_basic.phpt
-%patch55 -p1
-%patch59 -p1 -b .systzdata
+%patch59 -p1
+%if %{with instantclient}
+%patch60 -p1
+%endif
 %patch66 -p1
 %patch67 -p1
+#%patch68 -p1 DROP or update to 7.0 APIs
 %patch71 -p1
 
-%{__sed} -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4
+sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{_bindir}/\1%{php_suffix},' \
+      ext/ext_skel.php \
+      run-tests.php
 
 # cleanup backups after patching
 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
@@ -1857,7 +1830,17 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
 %{__rm} -r ext/com_dotnet
 
 # remove all bundled libraries not to link with them accidentally
-%{__rm} -r ext/xmlrpc/libxmlrpc
+#%{__rm} -r ext/bcmath/libbcmath
+#%{__rm} -r ext/date/lib
+#%{__rm} -r ext/fileinfo/libmagic
+#%{__rm} -r ext/dba/libcdb
+#%{__rm} -r ext/dba/libflatfile
+#%{__rm} -r ext/dba/libinifile
+#%{__rm} -r ext/gd/libgd
+#%{__rm} -r ext/mbstring/libmbfl
+#%{__rm} -r ext/pcre/pcre2lib
+#%{__rm} -r ext/soap/interop
+#%{__rm} -r ext/zip/lib
 %{__rm} ext/date/lib/timezonedb.h
 
 cp -pf Zend/LICENSE{,.Zend}
@@ -1934,6 +1917,11 @@ ix86=: x8664=: \
        sh -xe %{_sourcedir}/skip-tests.sh
 
 %build
+get_version() {
+       local define="$1" filename="$2"
+       awk -vdefine="$define" '/#define/ && $2 == define {print $3}' "$filename" | xargs
+}
+
 API=$(awk '/#define PHP_API_VERSION/{print $3}' main/php.h)
 if [ $API != %{php_api_version} ]; then
        echo "Set %%define php_api_version to $API and re-run."
@@ -1965,7 +1953,7 @@ if test "$ver" != "PHP_VERSION"; then
        : Update the fileinfover macro and rebuild.
        exit 1
 fi
-ver=$(awk '/#define PHP_PHAR_VERSION/ {print $3}' ext/phar/php_phar.h | xargs)
+ver=$(get_version PHP_PHAR_VERSION ext/phar/php_phar.h)
 if test "$ver" != "PHP_VERSION"; then
        : Error: Upstream PHAR version is now ${ver}, expecting %{pharver}.
        : Update the pharver macro and rebuild.
@@ -1987,19 +1975,19 @@ if test "$ver" != "%{zipver}"; then
        : Update the zipver macro and rebuild.
        exit 1
 fi
-ver=$(awk '/#define PHP_JSON_VERSION/ {print $3}' ext/json/php_json.h | xargs)
+ver=$(get_version PHP_JSON_VERSION ext/json/php_json.h)
 if test "$ver" != "PHP_VERSION"; then
        : Error: Upstream JSON version is now ${ver}, expecting %{jsonver}.
        : Update the jsonver macro and rebuild.
        exit 1
 fi
-ver=$(awk '/#define PHPDBG_VERSION/ {print $3}' sapi/phpdbg/phpdbg.h | xargs)
+ver=$(get_version PHPDBG_VERSION sapi/phpdbg/phpdbg.h)
 if test "$ver" != "PHP_VERSION"; then
        : Error: Upstream phpdbg version is now ${ver}, expecting %{phpdbgver}.
        : Update the phpdbgver macro and rebuild.
        exit 1
 fi
-ver=$(awk '/#define PHP_BZ2_VERSION/ {print $3}' ext/bz2/php_bz2.h | xargs)
+ver=$(get_version PHP_BZ2_VERSION ext/bz2/php_bz2.h)
 if test "$ver" != "PHP_VERSION"; then
        : Error: Upstream BZIP2 version is now ${ver}, expecting %{bz2ver}.
        : Update the bz2ver macro and rebuild.
@@ -2009,13 +1997,13 @@ ver=$(awk '/#define PHP_ENCHANT_VERSION/ {print $3}' ext/enchant/php_enchant.h |
 if test "$ver" != "PHP_VERSION"; then
        exit 1
 fi
-ver=$(awk '/#define PHP_HASH_VERSION/ {print $3}' ext/hash/php_hash.h | xargs)
+ver=$(get_version PHP_HASH_VERSION ext/hash/php_hash.h)
 if test "$ver" != "PHP_VERSION"; then
        : Error: Upstream HASH version is now ${ver}, expecting %{hashver}.
        : Update the hashver macro and rebuild.
        exit 1
 fi
-ver=$(awk '/#define PHP_INTL_VERSION/ {print $3}' ext/intl/php_intl.h | xargs)
+ver=$(get_version PHP_INTL_VERSION ext/intl/php_intl.h)
 if test "$ver" != "PHP_VERSION"; then
        : Error: Upstream Intl version is now ${ver}, expecting %{intlver}.
        : Update the intlver macro and rebuild.
@@ -2044,8 +2032,7 @@ if [ ! -f _built-conf ]; then
        touch _built-conf
 fi
 export PROG_SENDMAIL="/usr/lib/sendmail"
-export CPPFLAGS="-DDEBUG_FASTCGI -DHAVE_STRNDUP %{rpmcppflags} \
-       -I%{_includedir}/xmlrpc-epi"
+export CPPFLAGS="-DDEBUG_FASTCGI -DHAVE_STRNDUP %{rpmcppflags}"
 
 # This should be detected by configure and set there,
 # but looks like the build system is hosed on 7.3
@@ -2086,37 +2073,40 @@ for sapi in $sapis; do
        sapi_args=''
        case $sapi in
        cgi-fcgi)
-               sapi_args='--disable-cli'
+               sapi_args='--enable-cgi'
        ;;
        cli)
-               sapi_args='--disable-cgi %{?with_gcov:--enable-gcov}'
+               sapi_args='--enable-cli %{?with_gcov:--enable-gcov}'
        ;;
        fpm)
-               sapi_args='--disable-cli --disable-cgi --enable-fpm'
+               sapi_args='--enable-fpm'
                ;;
        embed)
-               sapi_args='--disable-cli --disable-cgi --enable-embed'
+               sapi_args='--enable-embed'
                ;;
        apxs2)
                ver=$(rpm -q --qf '%{V}' apache-devel)
-               sapi_args="--disable-cli --disable-cgi --with-apxs2=%{apxs2} --with-apache-version=$ver"
+               sapi_args="--with-apxs2=%{apxs2} --with-apache-version=$ver"
        ;;
        litespeed)
-               sapi_args='--disable-cli --disable-cgi --enable-litespeed'
+               sapi_args='--enable-litespeed'
        ;;
        phpdbg)
-               sapi_args='--disable-cli --disable-cgi --enable-phpdbg %{?debug:--enable-phpdbg-debug}'
+               sapi_args='--enable-phpdbg %{?debug:--enable-phpdbg-debug}'
        ;;
        esac
 
        %configure \
        EXTRA_LDFLAGS="%{rpmldflags}" \
        --program-suffix=%{php_suffix} \
+       --disable-cgi \
+       --disable-cli \
+       --disable-phpdbg \
        $sapi_args \
 %if "%{!?configure_cache:0}%{?configure_cache}" == "0"
        --cache-file=config.cache \
 %endif
-       --datadir=%{php_datadir} \
+       --datadir=%{php_data_dir} \
        --with-libdir=%{_lib} \
        --with-config-file-path=%{_sysconfdir} \
        --with-config-file-scan-dir=%{_sysconfdir}/conf.d \
@@ -2124,7 +2114,7 @@ for sapi in $sapis; do
        %{?with_argon2:--with-password-argon2} \
        --%{!?with_debug:dis}%{?with_debug:en}able-debug \
        %{?with_zts:--enable-maintainer-zts} \
-       --enable-inline-optimization \
+       --enable-option-checking=fatal \
        %{__enable_disable bcmath bcmath shared} \
        %{__enable_disable calendar calendar shared} \
        %{__enable_disable ctype ctype shared} \
@@ -2140,8 +2130,8 @@ for sapi in $sapis; do
        --enable-mbregex \
        %{__enable_disable pcntl pcntl shared} \
        %{__enable_disable pdo pdo shared} \
-       %{__enable_disable json json shared} \
        --enable-xmlwriter=shared \
+       %{?with_avif:--with-avif} \
 %if %{with fpm}
        --with-fpm-user=http \
        --with-fpm-group=http \
@@ -2174,7 +2164,7 @@ for sapi in $sapis; do
        --enable-tokenizer=shared \
        --enable-xml=shared \
        --enable-xmlreader=shared \
-       %{__with_without bz2 bz2 shared} \
+       %{__with_without bzip2 bz2 shared} \
        %{__with_without curl curl shared} \
        --with-db4 \
        %{__with_without iconv iconv shared} \
@@ -2209,7 +2199,6 @@ for sapi in $sapis; do
        %{__with_without sqlite3 sqlite3 shared} \
        %{?with_tidy:--with-tidy=shared} \
        %{?with_odbc:--with-unixODBC=shared} \
-       %{__with_without xmlrpc xmlrpc shared,/usr} \
        %{?with_xsl:--with-xsl=shared} \
        --with-zlib=shared \
        %{?with_zip:--with-zip=shared} \
@@ -2233,7 +2222,7 @@ cp -af Makefile.cli Makefile
        MYSQLND_SHARED_LIBADD="-lssl -lcrypto"
 
 %if %{with apache2}
-%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache2handler/libphp7.la -f Makefile.apxs2
+%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache2handler/libphp8.la -f Makefile.apxs2
 %endif
 
 %if %{with litespeed}
@@ -2241,7 +2230,7 @@ cp -af Makefile.cli Makefile
 %endif
 
 %if %{with embed}
-%{__make} -f Makefile.embed libphp7.la
+%{__make} -f Makefile.embed libphp8.la
 %endif
 
 %if %{with phpdbg}
@@ -2336,14 +2325,10 @@ install -d \
 cp -pf php_config.h.cli main/php_config.h
 cp -pf Makefile.cli Makefile
 %{__make} install \
-       phpbuilddir=%{_libdir}/%{name}/build \
+       phpbuilddir=%{_libdir}/php/php%{php_suffix}/build \
        INSTALL_ROOT=$RPM_BUILD_ROOT
 
-# version the .phar files
-%{__mv} $RPM_BUILD_ROOT%{_bindir}/phar{,%{php_suffix}}.phar
-%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/phar{,%{php_suffix}}.1
 # touch for ghost
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/phar
 touch $RPM_BUILD_ROOT%{_bindir}/phar
 touch $RPM_BUILD_ROOT%{_mandir}/man1/phar.1
 
@@ -2353,10 +2338,10 @@ v=$(echo %{version} | cut -d. -f1-2)
 # install Apache2 DSO module
 %if %{with apache2}
 # versioned libphp
-libtool --mode=install install -p sapi/apache2handler/libphp7.la $RPM_BUILD_ROOT%{_libdir}/apache
-%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp7.la $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la
-%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp7.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.so
-sed -i -e "s|libphp7|libphp%{php_suffix}|g" $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la
+libtool --mode=install install -p sapi/apache2handler/libphp8.la $RPM_BUILD_ROOT%{_libdir}/apache
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp8.la $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/apache/libphp8.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.so
+sed -i -e "s|libphp8|libphp%{php_suffix}|g" $RPM_BUILD_ROOT%{_libdir}/apache/libphp%{php_suffix}.la
 ln -s libphp%{php_suffix}.so $RPM_BUILD_ROOT%{_libdir}/apache/mod_php.so
 %endif
 
@@ -2420,7 +2405,7 @@ touch $RPM_BUILD_ROOT%{_sbindir}/php-fpm
 # we could use install-headers from Makefile.embed, but that would reinstall all headers
 # install-sapi installs to wrong dir, so just do it all manually
 install -d $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/sapi/embed
-install -p libs/libphp7.so $RPM_BUILD_ROOT%{_libdir}/libphp%{php_suffix}.so
+install -p libs/libphp8.so $RPM_BUILD_ROOT%{_libdir}/libphp%{php_suffix}.so
 cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/sapi/embed
 %endif
 
@@ -2461,14 +2446,14 @@ install -d $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/ext/mbstring
 cp -p ext/mbstring/libmbfl/mbfl/*.h $RPM_BUILD_ROOT%{_includedir}/php/php%{php_suffix}/ext/mbstring
 
 # tests
-install -d $RPM_BUILD_ROOT%{php_datadir}/tests/php
-install -p run-tests.php $RPM_BUILD_ROOT%{php_datadir}/tests/php/run-tests.php
-cp -a tests/* $RPM_BUILD_ROOT%{php_datadir}/tests/php
+install -d $RPM_BUILD_ROOT%{php_data_dir}/tests/php
+install -p run-tests.php $RPM_BUILD_ROOT%{php_data_dir}/tests/php/run-tests.php
+cp -a tests/* $RPM_BUILD_ROOT%{php_data_dir}/tests/php
 
 # 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
@@ -2486,7 +2471,7 @@ fi
 %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
@@ -2499,10 +2484,12 @@ fi
 %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
@@ -2516,7 +2503,9 @@ fi
 %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
@@ -2555,7 +2544,14 @@ fi
 # restart webserver at the end of transaction
 [ ! -f /etc/httpd/conf.d/??_mod_php.conf ] || %service -q httpd restart
 
-%triggerpostun common -- php-common < 4:5.3.28-7
+%triggerpostun common -- %{name}-common < 4:5.6.4-2, php-common < 4:5.6.4-2
+# switch to browscap package if the ini file has original value
+%{__sed} -i -e 's#%{_sysconfdir}/browscap.ini#/usr/share/browscap/php_browscap.ini#' %{_sysconfdir}/php.ini
+# disable browscap, if optional package not present
+if [ ! -e /usr/share/browscap/php_browscap.ini ]; then
+       %{__sed} -i -e 's#^browscap = /usr/share/browscap/php_browscap.ini#;&#' %{_sysconfdir}/php.ini
+fi
+
 # migrate configs /etc/php/conf.d -> /etc/phpXY/conf.d/
 # do config migration in php-common trigger, as the trigger is ran after all packages are upgraded
 # this way we can stick to one trigger, instead of attaching one for each (sub)package!
@@ -2576,14 +2572,6 @@ for f in /etc/php/*.ini.rpmsave /etc/php/*.d/*.ini.rpmsave; do
        ' $nf
 done
 
-%triggerpostun common -- %{name}-common < 4:5.6.4-2, php-common < 4:5.6.4-2
-# switch to browscap package if the ini file has original value
-%{__sed} -i -e 's#%{_sysconfdir}/browscap.ini#/usr/share/browscap/php_browscap.ini#' %{_sysconfdir}/php.ini
-# disable browscap, if optional package not present
-if [ ! -e /usr/share/browscap/php_browscap.ini ]; then
-       %{__sed} -i -e 's#^browscap = /usr/share/browscap/php_browscap.ini#;&#' %{_sysconfdir}/php.ini
-fi
-
 %triggerpostun -n apache-mod_%{name} -- apache-mod_%{name} < 4:7.0.0-2.RC4
 sed -i -e 's#modules/libphp[57].so#modules/mod_php.so#g' /etc/httpd/conf.d/*_mod_php.conf
 
@@ -2628,7 +2616,6 @@ fi \
 %extension_scripts iconv
 %extension_scripts imap
 %extension_scripts intl
-%extension_scripts json
 %extension_scripts ldap
 %extension_scripts mbstring
 %extension_scripts mysqli
@@ -2664,7 +2651,6 @@ fi \
 %extension_scripts tokenizer
 %extension_scripts xml
 %extension_scripts xmlreader
-%extension_scripts xmlrpc
 %extension_scripts xmlwriter
 %extension_scripts xsl
 %extension_scripts zip
@@ -2674,7 +2660,7 @@ fi \
 %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
@@ -2753,7 +2739,7 @@ fi
 %dir %{_sysconfdir}/conf.d
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini
 %attr(755,root,root) %{_libdir}/libphp_common%{php_suffix}-*.so
-%dir %{php_datadir}
+%dir %{php_data_dir}
 %dir %{php_extensiondir}
 
 %doc ext/session/mod_files.sh
@@ -2761,7 +2747,7 @@ fi
 %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
@@ -2769,7 +2755,7 @@ fi
 %attr(755,root,root) %{_libdir}/libphp_common%{php_suffix}.so
 %{_libdir}/libphp_common%{php_suffix}.la
 %{_includedir}/php/php%{php_suffix}
-%{_libdir}/%{name}/build
+%{_libdir}/php/php%{php_suffix}/build
 %{_mandir}/man1/php-config%{php_suffix}.1*
 %ghost %{_mandir}/man1/php-config.1*
 %{_mandir}/man1/phpize%{php_suffix}.1*
@@ -2782,7 +2768,7 @@ fi
 %attr(755,root,root) %{php_extensiondir}/bcmath.so
 %endif
 
-%if %{with bz2}
+%if %{with bzip2}
 %files bz2
 %defattr(644,root,root,755)
 %doc ext/bz2/CREDITS
@@ -2926,14 +2912,6 @@ fi
 %attr(755,root,root) %{php_extensiondir}/intl.so
 %endif
 
-%if %{with json}
-%files json
-%defattr(644,root,root,755)
-%doc ext/json/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_json.ini
-%attr(755,root,root) %{php_extensiondir}/json.so
-%endif
-
 %if %{with ldap}
 %files ldap
 %defattr(644,root,root,755)
@@ -2966,7 +2944,7 @@ fi
 %attr(755,root,root) %{php_extensiondir}/mysqlnd.so
 %endif
 
-%if %{with oci}
+%if %{with pdo_oci}
 %files oci8
 %defattr(644,root,root,755)
 %doc ext/oci8/{CREDITS,README}
@@ -3038,7 +3016,7 @@ fi
 %attr(755,root,root) %{php_extensiondir}/pdo_mysql.so
 %endif
 
-%if %{with pdo_oci}
+%if %{with oci}
 %files pdo-oci
 %defattr(644,root,root,755)
 %doc ext/pdo_oci/CREDITS
@@ -3086,7 +3064,6 @@ fi
 %attr(755,root,root) %{php_extensiondir}/phar.so
 %attr(755,root,root) %{_bindir}/phar%{php_suffix}.phar
 %{_mandir}/man1/phar%{php_suffix}.1*
-%{_mandir}/man1/phar.phar.1*
 %ghost %{_bindir}/phar
 %ghost %{_mandir}/man1/phar.1*
 %endif
@@ -3102,7 +3079,6 @@ fi
 %if %{with pspell}
 %files pspell
 %defattr(644,root,root,755)
-%doc ext/pspell/CREDITS
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_pspell.ini
 %attr(755,root,root) %{php_extensiondir}/pspell.so
 %endif
@@ -3192,18 +3168,17 @@ fi
 
 %files tests
 %defattr(644,root,root,755)
-%dir %{php_datadir}/tests
-%dir %{php_datadir}/tests/php
-%{php_datadir}/tests/php/basic
-%{php_datadir}/tests/php/classes
-%{php_datadir}/tests/php/func
-%{php_datadir}/tests/php/lang
-%{php_datadir}/tests/php/output
-%{php_datadir}/tests/php/run-test
-%{php_datadir}/tests/php/security
-%{php_datadir}/tests/php/strings
-%{php_datadir}/tests/php/quicktester.inc
-%attr(755,root,root) %{php_datadir}/tests/php/run-tests.php
+%dir %{php_data_dir}/tests
+%dir %{php_data_dir}/tests/php
+%{php_data_dir}/tests/php/basic
+%{php_data_dir}/tests/php/classes
+%{php_data_dir}/tests/php/func
+%{php_data_dir}/tests/php/lang
+%{php_data_dir}/tests/php/output
+%{php_data_dir}/tests/php/run-test
+%{php_data_dir}/tests/php/security
+%{php_data_dir}/tests/php/strings
+%attr(755,root,root) %{php_data_dir}/tests/php/run-tests.php
 
 %if %{with tidy}
 %files tidy
@@ -3231,14 +3206,6 @@ fi
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_xmlreader.ini
 %attr(755,root,root) %{php_extensiondir}/xmlreader.so
 
-%if %{with xmlrpc}
-%files xmlrpc
-%defattr(644,root,root,755)
-%doc ext/xmlrpc/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_xmlrpc.ini
-%attr(755,root,root) %{php_extensiondir}/xmlrpc.so
-%endif
-
 %files xmlwriter
 %defattr(644,root,root,755)
 %doc ext/xmlwriter/CREDITS
@@ -3256,7 +3223,8 @@ fi
 %if %{with zip}
 %files zip
 %defattr(644,root,root,755)
-%doc ext/zip/{CREDITS,examples}
+%doc ext/zip/CREDITS
+%doc ext/zip/examples
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/??_zip.ini
 %attr(755,root,root) %{php_extensiondir}/zip.so
 %endif