]> TLD Linux GIT Repositories - packages/php.git/commitdiff
- partial PLD merge
authorMarcin Krol <hawk@tld-linux.org>
Thu, 12 Dec 2019 22:33:19 +0000 (23:33 +0100)
committerMarcin Krol <hawk@tld-linux.org>
Thu, 12 Dec 2019 22:33:19 +0000 (23:33 +0100)
php.spec

index 015ddc6962c0454b64f39b535fc1df1f0ad3c47a..cea872273bbc8d6093712c8aaa2dff7b66694e05 100644 (file)
--- a/php.spec
+++ b/php.spec
 %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 +196,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 +215,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 +244,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 +257,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 +309,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 +532,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 +572,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 +1891,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 +1952,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
@@ -2069,6 +2067,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."
@@ -2100,7 +2103,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.
@@ -2134,7 +2137,7 @@ if test "$ver" != "%{phpdbgver}"; then
        : 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.
@@ -2144,13 +2147,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.
@@ -2177,6 +2180,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 +2256,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 +2352,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 +2434,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 +3490,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)