# NOTES
# - mysqlnd driver doesn't support reconnect: https://bugs.php.net/bug.php?id=52561
-# TODO 7.4:
-# - follow upstream: drop spl, pcre, hash subpackages (tired of maintaining them)
-# TODO 7.3:
-# - branch php-7.2 and merge dev-7.3 into head once official announcement ready
-# 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:
%bcond_without gd # without GD extension module
%bcond_without gettext # without gettext extension module
%bcond_without gmp # without gmp extension module
-%bcond_without hash # without hash extension module
%bcond_without iconv # without iconv extension module
%bcond_without imap # without IMAP extension module
%bcond_without intl # without Intl extension module
%bcond_without opcache # without Enable Zend OPcache extension support
%bcond_without openssl # without OpenSSL support and OpenSSL extension (module)
%bcond_without pcntl # without pcntl extension module
-%bcond_without pcre # without PCRE extension module
%bcond_without pdo # without PDO extension module
%bcond_without pdo_dblib # without PDO dblib extension module
%bcond_without pdo_firebird # without PDO Firebird extension module
%undefine with_fpm
%endif
-# filter depends on pcre
-%if %{without pcre}
-%undefine with_filter
-%endif
-
%if %{without pdo}
%undefine with_pdo_dblib
%undefine with_pdo_firebird
Patch45: %{orgname}-imap-annotations.patch
Patch46: %{orgname}-imap-myrights.patch
Patch50: extension-shared-optional-dep.patch
-Patch51: spl-shared.patch
-Patch52: pcre-shared.patch
Patch53: fix-test-run.patch
Patch55: bug-52078-fileinode.patch
Patch59: %{orgname}-systzdata.patch
Patch68: php-mysql-ssl-context.patch
Patch70: mysqlnd-ssl.patch
Patch71: libdb-info.patch
-Patch72: phar-hash-shared.patch
URL: http://php.net/
%{?with_pdo_firebase:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}}
%{?with_pspell:BuildRequires: aspell-devel >= 2:0.50.0}
%{?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
%endif
%{?with_oci:%{?with_instantclient:BuildRequires: oracle-instantclient-devel}}
BuildRequires: pam-devel
-%{?with_pcre:BuildRequires: pcre2-8-devel >= 10.30}
+BuildRequires: pcre2-8-devel >= 10.30
BuildRequires: pkgconfig
%{?with_pgsql:BuildRequires: postgresql-devel}
BuildRequires: readline-devel
Provides: %{name}(zend_module_api) = %{zend_module_api}
Provides: %{name}-core
Provides: %{name}-date
+Provides: %{name}-hash = %{epoch}:%{version}-%{release}
+Provides: %{name}-pcre = %{epoch}:%{version}-%{release}
+Provides: %{name}-spl = %{epoch}:%{version}-%{release}
Provides: %{name}-reflection
Provides: %{name}-standard
Provides: php(core) = %{version}
Provides: php(date)
+Provides: php(hash) = %{hashver}
Provides: php(libxml)
+Provides: php(pcre)
Provides: php(reflection)
+Provides: php(spl)
Provides: php(standard)
%{!?with_mysqlnd:Obsoletes: %{name}-mysqlnd}
-%{?with_pcre:%requires_ge_to pcre2-8 pcre2-8-devel}
+%requires_ge_to pcre2-8 pcre2-8-devel
Suggests: browscap
Obsoletes: php-common < 4:5.3.28-7
-# withdrawn modules
Obsoletes: php-filepro < 4:5.2.0
+Obsoletes: php-hash < 4:5.3.28-7
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
Conflicts: rpm < 4.4.2-0.2
+%if %{with mhash}
+Provides: php(mhash)
+Provides: php-mhash = %{epoch}:%{version}-%{release}
+Obsoletes: php-mhash < 4:5.3.0
+%endif
%description common
Common files needed by both Apache modules and CGI/CLI SAPIs.
%else
Requires: libtool
%endif
-%{?with_pcre:Requires: pcre2-8-devel >= 10.30}
+Requires: pcre2-8-devel >= 10.30
Requires: shtool
Provides: php-devel = %{epoch}:%{version}-%{release}
Obsoletes: php-devel
Moduł PHP umożliwiający korzystanie z biblioteki gmp do obliczeń na
liczbach o dowolnej długości.
-%package hash
-Summary: HASH Message Digest Framework
-Summary(pl.UTF-8): Szkielet do obliczania skrótów wiadomości
-Group: Libraries
-URL: http://php.net/manual/en/book.gmp.php
-Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Provides: php(hash) = %{hashver}
-%if %{with mhash}
-Provides: php(mhash)
-Provides: php-mhash = %{epoch}:%{version}-%{release}
-Obsoletes: php-mhash < 4:5.3.0
-%endif
-Obsoletes: php-hash < 4:5.3.28-7
-Obsoletes: php-pecl-hash < %{hashver}
-
-%description hash
-Native implementations of common message digest algorithms using a
-generic factory method.
-
-%description hash -l pl.UTF-8
-Natywne implementacje popularnych algorytmów obliczania skrótów
-wiadomości przy użyciu wspólnego interfejsu.
-
%package iconv
Summary: iconv extension module for PHP
Summary(pl.UTF-8): Moduł iconv dla PHP
Moduł PHP umożliwiający tworzenie nowych procesów i kontrolę nad nimi.
Obsługuje funkcje takie jak fork(), waitpid(), signal() i podobne.
-%package pcre
-Summary: PCRE extension module for PHP
-Summary(pl.UTF-8): Moduł PCRE dla PHP
-Group: Libraries
-Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Provides: php(pcre)
-Obsoletes: php-pcre < 4:5.3.28-7
-
-%description pcre
-This is a dynamic shared object (DSO) for PHP that will add Perl
-Compatible Regular Expression support.
-
-%description pcre -l pl.UTF-8
-Moduł PHP umożliwiający korzystanie z perlowych wyrażeń regularnych
-(Perl Compatible Regular Expressions)
-
%package pdo
Summary: PHP Data Objects (PDO)
Summary(pl.UTF-8): Obsługa PHP Data Objects (PDO)
%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
#%patch45 -p1 # imap annotations. fixme
#%patch46 -p1 # imap myrights. fixme
%patch50 -p1
-%patch51 -p1 -b .spl-shared
-%patch52 -p1 -b .pcre-shared
+
%patch53 -p1
%undos ext/spl/tests/SplFileInfo_getInode_basic.phpt
%patch55 -p1
#%patch68 -p1 DROP or update to 7.0 APIs
%patch70 -p1
%patch71 -p1
-%patch72 -p1 -b .phar-shared
%{__sed} -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4
%{__enable_disable pcntl pcntl shared} \
%{__enable_disable pdo pdo shared} \
%{__enable_disable json json shared} \
- %{__enable_disable hash hash shared} \
--enable-xmlwriter=shared \
%if %{with fpm}
--with-fpm-user=http \
%{?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:--with-webp-dir=/usr --with-webp} \
--without-libexpat-dir \
%{__enable_disable posix posix shared} \
--enable-shared \
%{?with_enchant:--with-enchant=shared,/usr} \
--with-freetype-dir=shared \
%{__with_without gettext gettext shared} \
- %{__with_without gd gd shared%{?with_system_gd:,/usr}} \
+ %{__enable_disable gd gd shared%{?with_system_gd:,/usr}} \
+ %{?with_system_gd:--with-external-gd} \
--with-gdbm \
%{__with_without gmp gmp shared} \
%{?with_imap:--with-imap=shared --with-imap-ssl} \
%{?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_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,/usr} \
# save for debug
cp -f Makefile Makefile.$sapi
# opcache.so is zend extension
nm $so | grep -q zend_extension_entry && ext=zend_extension
conf="$mod.ini"
- # pre needs to be loaded before SPL
- [ "$mod" = "pcre" ] && conf="PCRE.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"
- # 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"
%extension_scripts gd
%extension_scripts gettext
%extension_scripts gmp
-%extension_scripts hash
%extension_scripts iconv
%extension_scripts imap
%extension_scripts intl
%extension_scripts odbc
%extension_scripts opcache
%extension_scripts openssl
-%extension_scripts pcre
%extension_scripts pdo
%extension_scripts pdo-dblib
%extension_scripts pdo-firebird
%extension_scripts soap
%extension_scripts sockets
%extension_scripts sodium
-%extension_scripts spl
%extension_scripts sqlite3
%extension_scripts sysvmsg
%extension_scripts sysvsem
%attr(755,root,root) %{php_extensiondir}/gmp.so
%endif
-%if %{with hash}
-%files hash
-%defattr(644,root,root,755)
-%doc ext/hash/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/Hash.ini
-%attr(755,root,root) %{php_extensiondir}/hash.so
-%endif
-
%if %{with iconv}
%files iconv
%defattr(644,root,root,755)
%attr(755,root,root) %{php_extensiondir}/pcntl.so
%endif
-%if %{with pcre}
-%files pcre
-%defattr(644,root,root,755)
-%doc ext/pcre/CREDITS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/PCRE.ini
-%attr(755,root,root) %{php_extensiondir}/pcre.so
-%endif
-
%if %{with pdo}
%files pdo
%defattr(644,root,root,755)
%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)