]> git.pld-linux.org Git - packages/php.git/blobdiff - php.spec
cleanup configure options not accepting directory
[packages/php.git] / php.spec
index e666677dd66991ef038c98c999df413c169e988e..897907740ca5c8a201e802c69070499af57737d0 100644 (file)
--- a/php.spec
+++ b/php.spec
@@ -1,27 +1,13 @@
 # NOTES
 # - mysqlnd driver doesn't support reconnect: https://bugs.php.net/bug.php?id=52561
-# TODO 7.4:
-# - follow upstream: drop spl, subpackages (tired of maintaining them)
 # 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)
 # 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
-# - modularize standard (output from pure php -m)?
-# - some mods should be shared:
-#$ php -m
-# [PHP Modules]
-# Core
-# date
-# libxml
-# Reflection
-# standard
 #
 # Conditional build:
 # - packaging options
@@ -52,6 +38,7 @@
 %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
@@ -166,7 +153,7 @@ Summary(ru.UTF-8):  PHP Версии 7 - язык препроцессирова
 Summary(uk.UTF-8):     PHP Версії 7 - мова препроцесування HTML-файлів, виконувана на сервері
 Name:          %{orgname}%{php_suffix}
 Version:       7.4.0
-Release:       0.1
+Release:       1
 Epoch:         4
 # All files licensed under PHP version 3.01, except
 # Zend is licensed under Zend
@@ -191,7 +178,6 @@ Patch1:             %{orgname}-pldlogo.patch
 Patch2:                %{orgname}-mail.patch
 Patch3:                %{orgname}-link-libs.patch
 Patch4:                intl-stdc++.patch
-
 Patch7:                %{orgname}-sapi-ini-file.patch
 Patch8:                milter.patch
 Patch9:                libtool-tag.patch
@@ -205,20 +191,15 @@ Patch22:  %{orgname}-both-apxs.patch
 Patch23:       %{orgname}-builddir.patch
 Patch24:       %{orgname}-zlib-for-getimagesize.patch
 Patch25:       %{orgname}-stupidapache_version.patch
-Patch26:       %{orgname}-pear.patch
 Patch27:       %{orgname}-config-dir.patch
 Patch29:       %{orgname}-fcgi-graceful.patch
 Patch31:       %{orgname}-fcgi-error_log-no-newlines.patch
-Patch34:       %{orgname}-libtool.patch
 Patch39:       %{orgname}-use-prog_sendmail.patch
 Patch41:       %{orgname}-fpm-config.patch
 Patch42:       %{orgname}-fpm-shared.patch
 Patch43:       %{orgname}-silent-session-cleanup.patch
 Patch44:       %{orgname}-include_path.patch
-Patch45:       %{orgname}-imap-annotations.patch
-Patch46:       %{orgname}-imap-myrights.patch
 Patch50:       extension-shared-optional-dep.patch
-Patch51:       spl-shared.patch
 Patch53:       fix-test-run.patch
 Patch55:       bug-52078-fileinode.patch
 Patch59:       %{orgname}-systzdata.patch
@@ -230,7 +211,7 @@ Patch68:    php-mysql-ssl-context.patch
 Patch70:       mysqlnd-ssl.patch
 Patch71:       libdb-info.patch
 URL:           http://php.net/
-%{?with_pdo_firebase:%{!?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
@@ -243,6 +224,7 @@ 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
@@ -256,17 +238,13 @@ BuildRequires:    gmp-devel >= 4.2
 %{?with_imap:BuildRequires:    imap-devel >= 1:2007e-2}
 %{?with_gcov:BuildRequires:    lcov}
 %{?with_fpm:BuildRequires:     libapparmor-devel}
-%{?with_intl:BuildRequires:    libicu-devel >= 4.4}
+%{?with_intl:BuildRequires:    libicu-devel >= 50.1}
 BuildRequires: libjpeg-devel
 BuildRequires: libltdl-devel >= 1.4
 BuildRequires: libpng-devel >= 1.0.8
 %{?with_intl:BuildRequires:    libstdc++-devel}
-%{?with_webp:BuildRequires:    libwebp-devel}
-%if "%{pld_release}" != "ac"
 BuildRequires: libtool >= 2:2.4.6
-%else
-BuildRequires: libtool >= 1.4.3
-%endif
+%{?with_webp:BuildRequires:    libwebp-devel}
 BuildRequires: libxml2-devel >= 1:2.7.6-4
 %{?with_xsl:BuildRequires:     libxslt-devel >= 1.1.0}
 %{?with_zip:BuildRequires:     libzip-devel >= 1.3.1}
@@ -579,6 +557,7 @@ Provides:   %{name}-date
 Provides:      %{name}-hash = %{epoch}:%{version}-%{release}
 Provides:      %{name}-pcre = %{epoch}:%{version}-%{release}
 Provides:      %{name}-reflection
+Provides:      %{name}-spl = %{epoch}:%{version}-%{release}
 Provides:      %{name}-standard
 Provides:      php(core) = %{version}
 Provides:      php(date)
@@ -586,6 +565,7 @@ Provides:   php(hash) = %{hashver}
 Provides:      php(libxml)
 Provides:      php(pcre)
 Provides:      php(reflection)
+Provides:      php(spl)
 Provides:      php(standard)
 %{!?with_mysqlnd:Obsoletes:    %{name}-mysqlnd}
 %requires_ge_to        pcre2-8 pcre2-8-devel
@@ -597,12 +577,13 @@ Obsoletes:        php-hwapi < 4:5.2.0
 Obsoletes:     php-hyperwave < 3:5.0.0
 Obsoletes:     php-java < 3:5.0.0
 Obsoletes:     php-mcal < 3:5.0.0
+Obsoletes:     php-pcre < 4:5.3.28-7
 Obsoletes:     php-pecl-domxml
 Obsoletes:     php-pecl-hash < %{hashver}
 Obsoletes:     php-qtdom < 3:5.0.0
+Obsoletes:     php-spl < 4:5.3.28-7
 Conflicts:     php4-common < 3:4.4.4-8
 Conflicts:     php55-common < 4:5.5.10-4
-Obsoletes:     php-pcre < 4:5.3.28-7
 Conflicts:     rpm < 4.4.2-0.2
 %if %{with mhash}
 Provides:      php(mhash)
@@ -632,13 +613,9 @@ Summary(ru.UTF-8): Пакет разработки для построения 
 Summary(uk.UTF-8):     Пакет розробки для побудови розширень PHP
 Group:         Development/Languages/PHP
 Requires:      %{name}-common = %{epoch}:%{version}-%{release}
-Requires:      autoconf >= 2.13
-Requires:      automake
-%if "%{pld_release}" != "ac"
+Requires:      autoconf >= 2.59
+Requires:      automake >= 1.4d
 Requires:      libtool >= 2:2.4.6
-%else
-Requires:      libtool
-%endif
 Requires:      pcre2-8-devel >= 10.30
 Requires:      shtool
 Provides:      php-devel = %{epoch}:%{version}-%{release}
@@ -859,6 +836,17 @@ support in image files.
 %description exif -l pl.UTF-8
 Moduł PHP dodający obsługę znaczników EXIF w plikach obrazków.
 
+%package ffi
+Summary:       %{modname} - Foreign Function Interface
+Group:         Libraries
+URL:           https://www.php.net/manual/en/book.ffi.php
+Requires:      %{name}-common = %{epoch}:%{version}-%{release}
+Provides:      php(ffi) = %{version}
+
+%description ffi
+FFI is a multi-platform extension for PHP that allows you to bind to
+functions from arbitrary shared libraries and call them.
+
 %package fileinfo
 Summary:       libmagic bindings
 Summary(pl.UTF-8):     Wiązania do libmagic
@@ -1637,24 +1625,6 @@ Provides:        php(sodium) = %{sodiumver}
 %description sodium
 A simple, low-level PHP extension for 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.spl.php
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
-Requires:      %{name}-pcre = %{epoch}:%{version}-%{release}
-Requires:      %{name}-simplexml = %{epoch}:%{version}-%{release}
-Provides:      php(spl)
-Obsoletes:     php-spl < 4:5.3.28-7
-
-%description spl
-This is a dynamic shared object (DSO) for PHP that will add Standard
-PHP Library support.
-
-%description spl -l pl.UTF-8
-Moduł PHP z biblioteką standardową PHP (SPL - Standard PHP Library).
-
 %package sqlite3
 Summary:       SQLite3 extension module for PHP
 Summary(pl.UTF-8):     Moduł SQLite3 dla PHP
@@ -1933,22 +1903,16 @@ cp -p php.ini-production php.ini
 %patch23 -p1
 %patch24 -p1
 %patch25 -p1
-%patch26 -p1
 %patch27 -p1
 %patch29 -p1
 %patch31 -p1
-%if "%{pld_release}" != "ac"
-%patch34 -p1
-%endif
 %patch39 -p1
 %patch41 -p1
 %patch42 -p1
 %patch43 -p1
 %patch44 -p1
-#%patch45 -p1 # imap annotations. fixme
-#%patch46 -p1 # imap myrights. fixme
 %patch50 -p1
-%patch51 -p1 -b .spl-shared
+
 %patch53 -p1
 %undos ext/spl/tests/SplFileInfo_getInode_basic.phpt
 %patch55 -p1
@@ -1982,7 +1946,7 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
 #%{__rm} -r ext/dba/libinifile
 #%{__rm} -r ext/gd/libgd
 #%{__rm} -r ext/mbstring/libmbfl
-%{__rm} -r ext/pcre/pcre2lib
+#%{__rm} -r ext/pcre/pcre2lib
 #%{__rm} -r ext/soap/interop
 %{__rm} -r ext/xmlrpc/libxmlrpc
 #%{__rm} -r ext/zip/lib
@@ -2156,6 +2120,11 @@ if test "$ver" != "PHP_VERSION"; then
 fi
 
 export EXTENSION_DIR="%{php_extensiondir}"
+
+# Set PEAR_INSTALLDIR to ensure that the hard-coded include_path
+# includes the PEAR directory even though pear is packaged separately.
+export PEAR_INSTALLDIR=%{php_pear_dir}
+
 # configure once (for faster debugging purposes)
 if [ ! -f _built-conf ]; then
        # now remove Makefile copies
@@ -2285,7 +2254,7 @@ for sapi in $sapis; do
        --with-pdo-dblib=shared \
 %endif
 %if %{with pdo_firebird}
-       --with-pdo-firebird=shared,/usr \
+       --with-pdo-firebird=shared \
 %endif
        %{?with_mhash:--with-mhash=yes} \
        --with-mysql-sock=/var/lib/mysql/mysql.sock \
@@ -2293,9 +2262,8 @@ for sapi in $sapis; do
        %{?with_pdo_oci:--with-pdo-oci=shared%{?with_instantclient:,instantclient,%{_libdir}}} \
        %{?with_pdo_odbc:--with-pdo-odbc=shared,unixODBC,/usr} \
        %{?with_pdo_pgsql:--with-pdo-pgsql=shared} \
-       %{?with_pdo_sqlite:--with-pdo-sqlite=shared,/usr} \
-       %{?with_webp:--with-webp-dir=/usr --with-webp} \
-       --without-libexpat-dir \
+       %{?with_pdo_sqlite:--with-pdo-sqlite=shared} \
+       %{?with_webp:--with-webp} \
        %{__enable_disable posix posix shared} \
        --enable-shared \
        %{__enable_disable session session shared} \
@@ -2314,15 +2282,16 @@ for sapi in $sapis; do
        %{__with_without curl curl shared} \
        --with-db4 \
        %{__with_without iconv iconv shared} \
-       %{?with_enchant:--with-enchant=shared,/usr} \
-       --with-freetype-dir=shared \
+       %{?with_enchant:--with-enchant=shared} \
+       --with-freetype \
        %{__with_without gettext gettext shared} \
-       %{__enable_disable gd gd shared%{?with_system_gd:,/usr}} \
+       %{__enable_disable gd gd shared} \
        %{?with_system_gd:--with-external-gd} \
        --with-gdbm \
        %{__with_without gmp gmp shared} \
+       %{__with_without ffi ffi shared} \
        %{?with_imap:--with-imap=shared --with-imap-ssl} \
-       --with-jpeg-dir=/usr \
+       --with-jpeg \
        %{?with_ldap:--with-ldap=shared --with-ldap-sasl} \
        %{?with_mm:--with-mm} \
        %{?with_mysqlnd:--enable-mysqlnd=shared} \
@@ -2332,26 +2301,22 @@ for sapi in $sapis; do
        %{?with_openssl:--with-openssl=shared} \
        %{?with_kerberos5:--with-kerberos} \
        --with-tcadb=/usr \
-       %{__with_without pcre pcre-regex /usr} \
        %{?with_pcre:--with-external-pcre} \
        %{__enable_disable filter filter shared} \
-       --with-pear=%{php_pear_dir} \
-       %{__with_without pgsql pgsql shared,/usr} \
+       %{__with_without pgsql pgsql shared} \
        %{__enable_disable phar phar shared} \
-       --with-png-dir=/usr \
        %{?with_pspell:--with-pspell=shared} \
        %{__with_without readline readline shared} \
        %{?with_recode:--with-recode=shared} \
        %{?with_snmp:--with-snmp=shared} \
        %{!?with_pdo_sqlite:--without-pdo-sqlite} \
-       %{__with_without sqlite3 sqlite3 shared,/usr} \
+       %{__with_without sqlite3 sqlite3 shared} \
        %{?with_tidy:--with-tidy=shared} \
-       %{?with_odbc:--with-unixODBC=shared,/usr} \
+       %{?with_odbc:--with-unixODBC=shared} \
        %{__with_without xmlrpc xmlrpc shared,/usr} \
        %{?with_xsl:--with-xsl=shared} \
        --with-zlib=shared \
-       --with-zlib-dir=shared,/usr \
-       %{?with_zip:--enable-zip=shared,/usr --with-libzip} \
+       %{?with_zip:--with-zip=shared} \
 
        # save for debug
        cp -f Makefile Makefile.$sapi
@@ -2425,8 +2390,6 @@ generate_inifiles() {
                # opcache.so is zend extension
                nm $so | grep -q zend_extension_entry && ext=zend_extension
                conf="$mod.ini"
-               # spl needs to be loaded before mysqli
-               [ "$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"
                # mysqlnd needs to be loaded before mysqli,pdo_mysqli
@@ -2625,20 +2588,6 @@ install -d $RPM_BUILD_ROOT%{_sysconfdir}/{cgi-fcgi,cli,apache,apache2handler}.d
 # for CLI SAPI only
 %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/{conf.d/readline.ini,cli.d}
 
-# use system automake and {lib,sh}tool
-ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/%{name}/build
-ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/%{name}/build
-for fn in libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4; do
-       f=%{_aclocaldir}/$fn
-       test -f $f || continue
-       ln -snf $f $RPM_BUILD_ROOT%{_libdir}/%{name}/build
-done
-for fn in ltmain.sh config/ltmain.sh build-aux/ltmain.sh; do
-       f=/usr/share/libtool/$fn
-       test -f $f || continue
-       ln -snf $f $RPM_BUILD_ROOT%{_libdir}/%{name}/build
-       break
-done
 sed -i -e '/^phpdir/ s,/php/build,/%{name}/build,' $RPM_BUILD_ROOT%{_bindir}/phpize
 
 # for php-pecl-mailparse
@@ -2652,8 +2601,6 @@ 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.la
-# better solution?
-sed -i -e 's|libphp_common.la|$(libdir)/libphp_common.la|' $RPM_BUILD_ROOT%{_libdir}/%{name}/build/acinclude.m4
 
 install -p ext/ext_skel.php $RPM_BUILD_ROOT%{_bindir}
 
@@ -2783,6 +2730,7 @@ fi \
 %extension_scripts dom
 %extension_scripts enchant
 %extension_scripts exif
+%extension_scripts ffi
 %extension_scripts fileinfo
 %extension_scripts filter
 %extension_scripts ftp
@@ -2801,16 +2749,16 @@ fi \
 %extension_scripts odbc
 %extension_scripts opcache
 %extension_scripts openssl
+%extension_scripts pcntl
 %extension_scripts pdo
 %extension_scripts pdo-dblib
 %extension_scripts pdo-firebird
-%extension_scripts pdo-oci
 %extension_scripts pdo-mysql
+%extension_scripts pdo-oci
 %extension_scripts pdo-odbc
 %extension_scripts pdo-pgsql
 %extension_scripts pdo-sqlite
 %extension_scripts pgsql
-%extension_scripts pcntl
 %extension_scripts posix
 %extension_scripts pspell
 %extension_scripts recode
@@ -2821,7 +2769,6 @@ fi \
 %extension_scripts soap
 %extension_scripts sockets
 %extension_scripts sodium
-%extension_scripts spl
 %extension_scripts sqlite3
 %extension_scripts sysvmsg
 %extension_scripts sysvsem
@@ -3022,6 +2969,14 @@ fi
 %attr(755,root,root) %{php_extensiondir}/exif.so
 %endif
 
+%if %{with ffi}
+%files ffi
+%defattr(644,root,root,755)
+%doc ext/ffi/CREDITS
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/ffi.ini
+%attr(755,root,root) %{php_extensiondir}/ffi.so
+%endif
+
 %if %{with fileinfo}
 %files fileinfo
 %defattr(644,root,root,755)
@@ -3342,12 +3297,6 @@ fi
 %attr(755,root,root) %{php_extensiondir}/sodium.so
 %endif
 
-%files spl
-%defattr(644,root,root,755)
-%doc ext/spl/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/SPL.ini
-%attr(755,root,root) %{php_extensiondir}/spl.so
-
 %if %{with sqlite3}
 %files sqlite3
 %defattr(644,root,root,755)
This page took 0.047242 seconds and 4 git commands to generate.