+# NOTES
+# - mysqlnd driver doesn't support reconnect: https://bugs.php.net/bug.php?id=52561
# TODO 7.2:
-# - https://github.com/php/php-src/blob/php-7.2.0alpha3/UPGRADING
+# - https://github.com/php/php-src/blob/php-7.2.0/UPGRADING
# TODO 5.6:
# - enable --with-fpm-systemd, but ensure it checks for sd_booted()
# TODO 5.4:
# - update imap annotations patch (needs api porting)
# - update imap myrights patch (needs api porting)
# --with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base install directory BUNDLED
-# --with-onig=DIR MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix.
# TODO:
# - fileinfo extension bundles magic db in library: data_file.c (dump of magic.mgc) is 14M
# - 2.3M fileinfo.so php54-fileinfo-5.4.6-0.15.x86_64
%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
%undefine with_filter
%endif
-%define subver RC5
%define orgname php
%define ver_suffix 72
%define php_suffix %{!?with_default_php:%{ver_suffix}}
Summary(ru.UTF-8): PHP Версии 7 - язык препроцессирования HTML-файлов, выполняемый на сервере
Summary(uk.UTF-8): PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері
Name: %{orgname}%{php_suffix}
-Version: 7.2.0
-Release: 0.22
+Version: 7.2.31
+Release: 3
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: https://downloads.php.net/~remi/php-%{version}%{subver}.tar.xz
-Source0: https://downloads.php.net/~pollita/php-%{version}%{subver}.tar.xz
-# Source0-md5: 6f6167edc4b7c9d91c7c1cf702705fc0
+Source0: https://php.net/distributions/%{orgname}-%{version}.tar.xz
+# Source0-md5: 968adcb8d0c5652b6e191b025fc8ba41
+Source1: opcache.ini
Source2: %{orgname}-mod_php.conf
Source3: %{orgname}-cgi-fcgi.ini
Source4: %{orgname}-apache.ini
BuildRequires: elfutils-devel
%{?with_enchant:BuildRequires: enchant-devel >= 1.1.3}
%{?with_kerberos5:BuildRequires: heimdal-devel}
-%{?with_argon2:BuildRequires: libargon2-devel >= 20161029}
-%{?with_sodium:BuildRequires: libsodium-devel >= 1.0.8}
%if %{with pdo_dblib}
BuildRequires: freetds-devel >= 0.82
%endif
%{?with_imap:BuildRequires: imap-devel >= 1:2007e-2}
%{?with_gcov:BuildRequires: lcov}
%{?with_fpm:BuildRequires: libapparmor-devel}
+%{?with_argon2:BuildRequires: libargon2-devel >= 20161029}
%{?with_intl:BuildRequires: libicu-devel >= 4.4}
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}
%{?with_webp:BuildRequires: libwebp-devel}
%if "%{pld_release}" != "ac"
%endif
BuildRequires: libxml2-devel >= 1:2.7.6-4
%{?with_xsl:BuildRequires: libxslt-devel >= 1.1.0}
-%{?with_system_libzip:BuildRequires: libzip-devel >= 1.2.0}
+%{?with_system_libzip: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_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
# Extension versions
%define bz2ver 1.0
-%define enchantver 1.1.0
+%define enchantver %{version}
%define fileinfover 1.0.5
%define hashver 1.0
%define intlver 1.1.0
%define jsonver 1.6.0
%define pharver 2.0.2
%define sqlite3ver %{version}
-%define zipver 1.15.1
+%define zipver 1.15.4
%define phpdbgver 0.5.0
%define sodiumver %{version}
%define _zend_zts %{!?with_zts:0}%{?with_zts:1}
-%define php_debug %{!?debug:0}%{?debug:1}
+%define php_debug %{!?with_debug:0}%{?with_debug:1}
%if %{with gcov}
%undefine with_ccache
Obsoletes: php55-devel
Obsoletes: php56-devel
Obsoletes: php70-devel
+Obsoletes: php71-devel
+Obsoletes: php73-devel
%description devel
The php-devel package lets you compile dynamic extensions to PHP.
%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}
%description sodium
A simple, low-level PHP extension for libsodium.
+%description sodium -l pl.UTF-8
+Proste, niskopoziomowe rozszerzenie PHP wykorzystując libsodium.
+
%package spl
Summary: Standard PHP Library module for PHP
Summary(pl.UTF-8): Moduł biblioteki standardowej (Standard PHP Library) dla PHP
Group: Libraries
URL: http://php.net/manual/en/book.zip.php
Requires: %{name}-common = %{epoch}:%{version}-%{release}
-%{?with_system_libzip:Requires: libzip >= 1.2.0}
+%{?with_system_libzip:Requires: libzip >= 1.3.1}
Provides: php(zip) = %{zipver}
Obsoletes: php-pecl-zip < %{zipver}
Obsoletes: php-zip < 4:5.3.28-7
cp -p php.ini-production php.ini
%patch0 -p1
%patch1 -p1
-#%patch2 -p1 NEEDS PORTING
+%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch71 -p1
%patch72 -p1 -b .phar-shared
+sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{__bindir}\1,' \
+ run-tests.php
+
%{__sed} -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4
# cleanup backups after patching
#%{__rm} -r ext/dba/libinifile
#%{__rm} -r ext/gd/libgd
#%{__rm} -r ext/mbstring/libmbfl
-#%{__rm} -r ext/mbstring/oniguruma
+%{__rm} -r ext/mbstring/oniguruma
%{__rm} -r ext/pcre/pcrelib
#%{__rm} -r ext/soap/interop
%{__rm} -r ext/xmlrpc/libxmlrpc
: Update the bz2ver macro and rebuild.
exit 1
fi
-ver=$(sed -n '/#define PHP_ENCHANT_VERSION /{s/.* "//;s/".*$//;p}' ext/enchant/php_enchant.h)
-if test "$ver" != "%{enchantver}"; then
- : Error: Upstream Enchant version is now ${ver}, expecting %{enchantver}.
- : Update the enchantver macro and rebuild.
+ver=$(awk '/#define PHP_ENCHANT_VERSION/ {print $3}' ext/enchant/php_enchant.h | xargs)
+if test "$ver" != "PHP_VERSION"; then
exit 1
fi
ver=$(awk '/#define PHP_HASH_VERSION/ {print $3}' ext/hash/php_hash.h | xargs)
--with-config-file-scan-dir=%{_sysconfdir}/conf.d \
--with-system-tzdata \
%{?with_argon2:--with-password-argon2} \
- --%{!?debug:dis}%{?debug:en}able-debug \
+ --%{!?with_debug:dis}%{?with_debug:en}able-debug \
%{?with_zts:--enable-maintainer-zts} \
--enable-inline-optimization \
%{__enable_disable bcmath bcmath shared} \
%{?with_intl:--enable-intl=shared} \
--enable-libxml \
%{__enable_disable mbstring mbstring shared,all} \
+ --with-onig=/usr \
--enable-mbregex \
%{__enable_disable pcntl pcntl shared} \
%{__enable_disable pdo pdo shared} \
[ "$mod" = "spl" ] && conf="SPL.ini"
# session needs to be loaded before php-pecl-http, php-pecl-memcache, php-pecl-session_mysql
[ "$mod" = "session" ] && conf="Session.ini"
+ # hash needs to be loaded before mysqlnd
+ [ "$mod" = "hash" ] && conf="Hash.ini"
# mysqlnd needs to be loaded before mysqli,pdo_mysqli
[ "$mod" = "mysqlnd" ] && conf="MySQLND.ini"
echo "+ $conf"
done
}
generate_inifiles
+cp -p %{_sourcedir}/opcache.ini conf.d
# Check that the module inner-dependencies are intact
PHP=./sapi/cli/php EXTENSION_DIR=modules CONFIG_DIR=conf.d ./dep-tests.sh > dep-tests.log
%files common
%defattr(644,root,root,755)
-%doc CREDITS EXTENSIONS LICENSE NEWS UPGRADING* Zend/{LICENSE.Zend,README*} php.ini-*
+%doc CREDITS EXTENSIONS LICENSE NEWS UPGRADING* Zend/{LICENSE.Zend,README*} php.ini-* .gdbinit
%dir %{_sysconfdir}
%dir %{_sysconfdir}/conf.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini
%files hash
%defattr(644,root,root,755)
%doc ext/hash/{CREDITS,README}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/hash.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/Hash.ini
%attr(755,root,root) %{php_extensiondir}/hash.so
%endif