]> TLD Linux GIT Repositories - packages/php.git/blobdiff - php.spec
- revert part of PLD merge
[packages/php.git] / php.spec
index 015ddc6962c0454b64f39b535fc1df1f0ad3c47a..17c15c81b87d75a754da3478030fd556f4c88d51 100644 (file)
--- a/php.spec
+++ b/php.spec
@@ -1,39 +1,12 @@
-# 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.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
-# 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
-#   - 2.3M fileinfo.so php-fileinfo-5.3.16-1.x86_64
-#   -  13K fileinfo.so php-pecl-fileinfo-1.0.4-8.amd64
-# - ttyname_r() misdetected http://bugs.php.net/bug.php?id=48820
-# - wddx: restore session support (not compiled in due DL extension check)
-# - modularize standard (output from pure php -m)?
-# - some mods should be shared:
-#$ php -m
-# [PHP Modules]
-# Core
-# date
-# libxml
-# Reflection
-# standard
-#
 # Conditional build:
 # - General options:
 %bcond_without embed           # disable building Embedded API
 %bcond_with    gcov            # Enable Code coverage reporting
 %bcond_without kerberos5       # without Kerberos5 support
-%bcond_with    suhosin         # with suhosin patch, has little point in PHP>=5.3, see https://github.com/stefanesser/suhosin/issues/42#issuecomment-41728178
 %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 wddx            # without WDDX extension module
 %bcond_without xmlrpc          # without XML-RPC 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_without system_libzip   # system libzip
 %bcond_without webp            # Without WebP support in GD extension (imagecreatefromwebp)
 
 %define apxs1          /usr/sbin/apxs1
@@ -196,7 +169,6 @@ Patch41:    %{orgname}-fpm-config.patch
 Patch42:       %{orgname}-fpm-shared.patch
 Patch43:       %{orgname}-silent-session-cleanup.patch
 Patch44:       %{orgname}-include_path.patch
-Patch47:       suhosin.patch
 Patch50:       extension-shared-optional-dep.patch
 Patch51:       spl-shared.patch
 Patch52:       pcre-shared.patch
@@ -216,7 +188,7 @@ BuildRequires:      autoconf >= 2.59
 BuildRequires: automake >= 1.4d
 BuildRequires: bison
 BuildRequires: bzip2-devel >= 1.0.0
-%{?with_curl:BuildRequires:    curl-devel >= 7.12.0}
+%{?with_curl:BuildRequires:    curl-devel >= 7.15.5}
 BuildRequires: cyrus-sasl-devel >= 2
 BuildRequires: db-devel >= 4.0
 BuildRequires: elfutils-devel
@@ -245,11 +217,11 @@ BuildRequires:    libpng-devel >= 1.0.8
 BuildRequires: libtool >= 2:2.4.6
 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_zip:BuildRequires:     libzip-devel >= 1.3.1}
 %{?with_snmp:%{?with_tests:BuildRequires:      mibs-net-snmp}}
 %{?with_mm:BuildRequires:      mm-devel >= 1.3.0}
-%{!?with_pdo_mysql:BuildRequires:      mysql-devel}
 %{!?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}
@@ -258,7 +230,7 @@ BuildRequires:      openssl-devel >= 1.0.1
 %endif
 %{?with_oci:%{?with_instantclient:BuildRequires:       oracle-instantclient-devel}}
 BuildRequires: pam-devel
-%{?with_pcre:BuildRequires:    pcre-devel >= 8.10}
+%{?with_pcre:BuildRequires:    pcre2-8-devel >= 10.30}
 BuildRequires: pkgconfig
 %{?with_pgsql:BuildRequires:   postgresql-devel}
 BuildRequires: readline-devel
@@ -310,7 +282,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %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
@@ -533,7 +505,7 @@ Provides:   php(libxml)
 Provides:      php(reflection)
 Provides:      php(standard)
 %{!?with_mysqlnd:Obsoletes:    %{name}-mysqlnd}
-%{?with_pcre:%requires_ge_to   pcre pcre-devel}
+%{?with_pcre:%requires_ge_to   pcre2-8 pcre2-8-devel}
 Suggests:      browscap
 Obsoletes:     php-common < 4:5.3.28-7
 # withdrawn modules
@@ -573,15 +545,17 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release}
 Requires:      autoconf >= 2.13
 Requires:      automake
 Requires:      libtool >= 2:2.4.6
-%{?with_pcre:Requires: pcre-devel >= 8.10}
+%{?with_pcre: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
 Obsoletes:     php53-devel
 Obsoletes:     php54-devel
 Obsoletes:     php55-devel
+Obsoletes:     php56-devel
 
 %description devel
 The php-devel package lets you compile dynamic extensions to PHP.
@@ -1890,7 +1864,7 @@ Summary(pl.UTF-8):        ZarzÄ…dzanie archiwami zip
 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_zip:Requires:  libzip >= 1.3.1}
 Provides:      php(zip) = %{zipver}
 Obsoletes:     php-pecl-zip < %{zipver}
 Obsoletes:     php-zip < 4:5.3.28-7
@@ -1951,9 +1925,6 @@ cp -p php.ini-production php.ini
 %endif
 %patch43 -p1
 %patch44 -p1
-%if %{with suhosin}
-%patch47 -p1
-%endif
 %patch50 -p1
 %patch51 -p1 -b .spl-shared
 %patch52 -p1 -b .pcre-shared
@@ -2177,6 +2148,11 @@ export CPPFLAGS="-DDEBUG_FASTCGI -DHAVE_STRNDUP %{rpmcppflags} \
 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}
@@ -2248,7 +2224,7 @@ for sapi in $sapis; do
        --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} \
@@ -2344,8 +2320,7 @@ for sapi in $sapis; do
        %{?with_xsl:--with-xsl=shared} \
        --with-zlib=shared \
        --with-zlib-dir=shared,/usr \
-       %{?with_system_libzip:--with-libzip} \
-       --enable-zip=shared,/usr \
+       %{?with_zip:--enable-zip=shared,/usr --with-libzip} \
 
        # save for debug
        cp -f Makefile Makefile.$sapi
@@ -2427,6 +2402,8 @@ generate_inifiles() {
                [ "$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"
@@ -3481,11 +3458,13 @@ fi
 %attr(755,root,root) %{php_extensiondir}/xsl.so
 %endif
 
+%if %{with zip}
 %files zip
 %defattr(644,root,root,755)
 %doc ext/zip/{CREDITS,examples}
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/zip.ini
 %attr(755,root,root) %{php_extensiondir}/zip.so
+%endif
 
 %files zlib
 %defattr(644,root,root,755)