aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Postnikov <apostnikov@gmail.com>2019-12-02 04:21:22 -0500
committerAndy Postnikov <apostnikov@gmail.com>2020-06-15 02:46:20 +0300
commitb315e28b96f16c2a8973a55a736e1e35482203dd (patch)
treefba078473d12220cecc531800b04e4a12cce9d2f
parent8231e3d86e62fbbf4b8b7bf5235e5f43d19c2e4a (diff)
downloadaports-b315e28b96f16c2a8973a55a736e1e35482203dd.tar.gz
aports-b315e28b96f16c2a8973a55a736e1e35482203dd.tar.bz2
aports-b315e28b96f16c2a8973a55a736e1e35482203dd.tar.xz
community/php7: upgrade to 7.4.7
-rw-r--r--community/php7/APKBUILD95
-rw-r--r--community/php7/allow-build-recode-and-imap-together.patch20
-rw-r--r--community/php7/disabled-tests.list88
-rw-r--r--community/php7/enchant-2.patch73
-rw-r--r--community/php7/fix-tests-devserver.patch10
-rw-r--r--community/php7/fix-tests-icu.patch28
-rw-r--r--community/php7/install-pear.patch3
-rw-r--r--community/php7/php7-fpm-version-suffix.patch12
-rw-r--r--community/php7/sharedir.patch2
9 files changed, 149 insertions, 182 deletions
diff --git a/community/php7/APKBUILD b/community/php7/APKBUILD
index 95ae31eac1..a570b73e1c 100644
--- a/community/php7/APKBUILD
+++ b/community/php7/APKBUILD
@@ -12,7 +12,6 @@
# gd | BSD | ext/gd/libgd | used
# hash | CC0-1.0 | ext/hash/sha3 | used
# libmbfl | LGPL-2.1-only | ext/mbstring/libmbfl | used
-# oniguruma | BSD-2-Clause | ext/mbstring/oniguruma | used
# pcre | BSD-3-Clause | ext/pcre/pcrelib | not used
# sqlite3 | Public | ext/sqlite3/libsqlite | not used
# libXMLRPC | BSD-3-Clause | ext/xmlrpc/libxmlrpc | used
@@ -26,18 +25,18 @@
pkgname=php7
_pkgreal=php
-pkgver=7.3.19
+pkgver=7.4.7
pkgrel=0
-_apiver=20180731
+_apiver=20190902
_suffix=${pkgname#php}
# Is this package the default (latest) PHP version?
_default_php="yes"
pkgdesc="The PHP$_suffix language runtime engine"
url="https://www.php.net/"
arch="all"
-license="PHP-3.01 BSD LGPL-2.0-or-later MIT Zend-2.0"
+license="PHP-3.01 BSD-3-Clause LGPL-2.0-or-later MIT Zend-2.0"
depends="$pkgname-common"
-depends_dev="$pkgname=$pkgver-r$pkgrel autoconf pcre2-dev"
+depends_dev="$pkgname=$pkgver-r$pkgrel autoconf pcre2-dev re2c"
# Most dependencies between extensions is auto-discovered (see _extension()).
_depends_mysqlnd="$pkgname-openssl"
_depends_pdo_mysql="$pkgname-pdo $pkgname-mysqlnd"
@@ -68,6 +67,7 @@ makedepends="
libjpeg-turbo-dev
libpng-dev
lmdb-dev
+ oniguruma-dev
openssl-dev
libsodium-dev
libwebp-dev
@@ -78,8 +78,6 @@ makedepends="
net-snmp-dev
openldap-dev
postgresql-dev
- re2c
- recode-dev
sqlite-dev
tidyhtml-dev
unixodbc-dev
@@ -101,8 +99,8 @@ source="https://php.net/distributions/$_pkgreal-$pkgver.tar.xz
includedir.patch
sharedir.patch
php7-fpm-version-suffix.patch
- allow-build-recode-and-imap-together.patch
fix-tests-devserver.patch
+ fix-tests-icu.patch
enchant-2.patch
"
builddir="$srcdir/$_pkgreal-$pkgver"
@@ -121,6 +119,7 @@ _extensions="
dom
enchant
exif
+ ffi
fileinfo
ftp
gd
@@ -148,7 +147,6 @@ _extensions="
phar
posix
pspell
- recode
session
shmop
simplexml
@@ -162,7 +160,6 @@ _extensions="
sysvshm
tidy
tokenizer
- wddx
xml
xmlreader
xmlrpc
@@ -178,9 +175,8 @@ for _ext in $_extensions; do
done
subpackages="$subpackages $pkgname-common::noarch"
-# FIXME: tests fails on s390x and x86_64
+# FIXME: tests are very slow on s390x
case "$CARCH" in
- x86_64) options="$options !check";;
s390x) options="$options !check";;
esac
@@ -247,7 +243,6 @@ esac
prepare() {
default_prepare
- update_config_sub
local vapi=$(sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h)
if [ "$vapi" != "$_apiver" ]; then
@@ -266,10 +261,10 @@ prepare() {
ext/standard/winver.h
# Fix some bogus permissions.
- find . -name \*.[ch] -exec chmod 644 {} \;
+ find . -name '*.[ch]' -exec chmod 644 {} \;
# XXX: Delete failing tests.
- sed -n '/^[^#]/p' "$srcdir"/disabled-tests.list | while read item; do
+ sed -n '/^[^#]/p' "$srcdir"/disabled-tests.list | while read -r item; do
rm -r $item # do it in this way to apply globbing...
done
@@ -279,9 +274,11 @@ prepare() {
# Notes:
# * gd-jis-conv breaks any non-latin font rendering (vakartel).
# * libxml cannot be build as shared.
-# * Doesn't work with system-provided onigurama, some tests fail (invalid code
-# point); probably because bundled onigurama is version 5.x, but we have 6.x.
+# * -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php andypost)
_build() {
+ export CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+ export CXXFLAGS="$CXXFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
local without_pcre_jit
[ "$CARCH" = "s390x" ] && without_pcre_jit="--without-pcre-jit"
@@ -314,29 +311,27 @@ _build() {
--enable-dom=shared \
--with-enchant=shared \
--enable-exif=shared \
+ --with-ffi=shared \
--enable-fileinfo=shared \
--enable-ftp=shared \
- --with-gd=shared \
- --with-freetype-dir=/usr \
+ --enable-gd=shared \
+ --with-freetype \
+ --with-jpeg \
+ --with-webp \
+ --with-xpm \
--disable-gd-jis-conv \
- --with-jpeg-dir=/usr \
- --with-png-dir=/usr \
- --with-webp-dir=/usr \
- --with-xpm-dir=/usr \
--with-gettext=shared \
--with-gmp=shared \
--with-iconv=shared \
--with-imap=shared \
--with-imap-ssl \
- --with-icu-dir=/usr \
--enable-intl=shared \
--enable-json=shared \
--with-kerberos \
--with-ldap=shared \
--with-ldap-sasl \
--with-libedit \
- --enable-libxml \
- --with-libxml-dir=/usr \
+ --with-libxml \
--enable-mbstring=shared \
--with-mysqli=shared,mysqlnd \
--with-mysql-sock=/run/mysqld/mysqld.sock \
@@ -346,20 +341,19 @@ _build() {
--with-system-ciphers \
--with-password-argon2 \
--enable-pcntl=shared \
- --with-pcre-regex=/usr \
+ --with-external-pcre \
$without_pcre_jit \
--enable-pdo=shared \
--with-pdo-dblib=shared \
--with-pdo-mysql=shared,mysqlnd \
--with-pdo-odbc=shared,unixODBC,/usr \
--with-pdo-pgsql=shared \
- --with-pdo-sqlite=shared,/usr \
+ --with-pdo-sqlite=shared \
--with-pgsql=shared \
--enable-phar=shared \
--enable-posix=shared \
--with-pspell=shared \
--without-readline \
- --with-recode=shared \
--enable-session=shared \
--enable-shmop=shared \
--enable-simplexml=shared \
@@ -367,24 +361,21 @@ _build() {
--enable-soap=shared \
--with-sodium=shared \
--enable-sockets=shared \
- --with-sqlite3=shared,/usr \
+ --with-sqlite3=shared \
--enable-sysvmsg=shared \
--enable-sysvsem=shared \
--enable-sysvshm=shared \
--with-tidy=shared \
--enable-tokenizer=shared \
--with-unixODBC=shared,/usr \
- --enable-wddx=shared \
--enable-xml=shared \
--enable-xmlreader=shared \
--with-xmlrpc=shared \
--enable-xmlwriter=shared \
--with-xsl=shared \
- --enable-zip=shared \
- --with-libzip=/usr \
+ --with-zip=shared \
--with-zlib \
- --with-zlib-dir=/usr \
- $@
+ "$@"
make
}
@@ -406,7 +397,7 @@ build() {
_build --disable-phpdbg \
--enable-fpm \
--enable-embed \
- --with-litespeed
+ --enable-litespeed
}
check() {
@@ -424,12 +415,13 @@ check() {
# Ignore it for now and continue build even on test failures.
local allow_fail='no'
case "$CARCH" in
- x86 | arm* | aarch64 | ppc64le | mips*) allow_fail='yes'
+ x86 | s390x | mips*) allow_fail='yes'
esac
NO_INTERACTION=1 REPORT_EXIT_STATUS=1 \
SKIP_SLOW_TESTS=1 SKIP_ONLINE_TESTS=1 TEST_TIMEOUT=10 \
- TZ= LANG= LC_ALL= \
+ TZ='' LANG='' LC_ALL='' \
+ TRAVIS=true SKIP_IO_CAPTURE_TESTS=1 \
make test || [ "$allow_fail" = yes ]
echo 'NOTE: We have skipped quite a lot tests, see disabled-tests.list.'
@@ -446,7 +438,7 @@ package() {
"$pkgdir"/usr/bin/$file
done
- find "$pkgdir" -name '.*' | xargs rm -rf
+ find "$pkgdir" -name '.*' -print0 | xargs -0 rm -rf
rmdir "$pkgdir"/var/run
if [ "$_default_php" = yes ]; then
@@ -479,7 +471,7 @@ doc() {
cd "$builddir"
mkdir -p "$subpkgdir"/usr/share/doc/$pkgname
- cp CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS \
+ cp CODING_STANDARDS.md EXTENSIONS LICENSE NEWS \
README* UPGRADING* \
"$subpkgdir"/usr/share/doc/$pkgname/
}
@@ -632,7 +624,7 @@ _extension() {
mkdir -p "$subpkgdir"/$_extension_confd
echo "${prefix}extension=$extname.so" \
- > "$subpkgdir"/$_extension_confd/$(printf %02d $load_order)_$extname.ini
+ > "$subpkgdir"/$_extension_confd/"$(printf %02d $load_order)"_$extname.ini
}
# Resolves dependencies of the given extension name (without $pkgname- prefix)
@@ -648,7 +640,7 @@ _resolve_extension_deps() {
| sed -En "s/.*ADD_EXTENSION_DEP\('$name', ([^)]+)\).*/\1/p" \
| tr -d "'," | tr ' ' '\n' \
| sort -u \
- | while read dep; do
+ | while read -r dep; do
if echo "$_extensions" | grep -qw "$dep"; then
echo "$pkgname-$dep"
fi
@@ -666,7 +658,6 @@ _extension_load_order() {
case "$name" in
# XXX: This must be loaded after recode, even though it does
# not depend on it. So we must use this hack...
- imap) echo 1;;
*) echo "${deps:=$(_resolve_extension_deps $name)}" | wc -w;;
esac
}
@@ -684,18 +675,18 @@ _extensions_by_load_order() {
_mv() {
local dest; for dest; do true; done # get last argument
mkdir -p "$dest"
- mv $@
+ mv "$@"
}
-sha512sums="f37800d9e1bf808ad1099f6190965cc75781e7bf6d2c341a7143aca435abc9974a2987cbfeb8c2b35805c946218343612906fde3cc84b195c2c586945869b760 php-7.3.19.tar.xz
+sha512sums="5b3ba690e610e0511675f06a10afe9edbcfa90b5b16956d22aab225cdf140b55e5a8a551e7b189d30404981c94c6921b8c4aed00102546cfa38784a719704b80 php-7.4.7.tar.xz
1c708de82d1086f272f484faf6cf6d087af7c31750cc2550b0b94ed723961b363f28a947b015b2dfc0765caea185a75f5d2c2f2b099c948b65c290924f606e4f php7-fpm.initd
cacce7bf789467ff40647b7319e3760c6c587218720538516e8d400baa75651f72165c4e28056cd0c1dc89efecb4d00d0d7823bed80b29136262c825ce816691 php7-fpm.logrotate
274bd7b0b2b7002fa84c779640af37b59258bb37b05cb7dd5c89452977d71807f628d91b523b5039608376d1f760f3425d165242ca75ee5129b2730e71c4e198 php7-module.conf
-6593accfe1ef0d9d28d257b2825823afdbfaa72bbf2e09e4ed689b644571a0d085cd4d6c92ffdff6ca9d0bb6d31cf84e5db5c4a4d88f192bba3f95a0c9b1dfd7 disabled-tests.list
-f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505 install-pear.patch
+980ba103c494b01b187fb189373cd2f1ef9603d58f88ed0ff21b7eeadaf89cd3396f7569f9b99a0e7af9946e478803fef2700809888c32b960f1721f5d366aec disabled-tests.list
+a4130d29c7fee2b8cb561b116baf603bdc3a7b5b4985ec3c9918f253d1851197539dfad72c6b36d9f7008f85982904731184c79e4cee4415c1a1b88016639225 install-pear.patch
ebf571c5e595221b9944d7e840807ebb68c1be38bf117186e19a3bd1070310ece5918bcaa5f941679f3371a2108ad57bf179c3f90e612a5a2b982db941172859 includedir.patch
-2128eb8e7e44e4f45909f2aa83c071bf7677f5c96e29a0182ac59d5850c7b3437e4b1b67c1a20f14d65f4b370985f838ea061541690ebcfbc9cb21d64744bc7a sharedir.patch
-fc680157c9bfaa600a82da0b2b8b96c9515eda653479bc9a9424e96683ea7c983190af0e54dcaf34256646069924df55f3f2d9a97fb11e971463a60f6df0e90f php7-fpm-version-suffix.patch
-a07f6f54a298be6f10caa0ce68cebdf1c7cd1404ddb6a0f2c3a77fb7af3c4172bc4474ffc784f3dc92514e4da2639e558aca6dc1cffcc2e55af0743eaad7de47 allow-build-recode-and-imap-together.patch
-695ce980ea659575ba26b8443051620e83dc806e04b3bbace791f14af5c581ae4329e2c6326b554c60dab1a13f6b7c3fde49f20032540e53f80ecfade88c5b94 fix-tests-devserver.patch
-b9b63a5fab6844cf98b7220948c94ea967b8bc9b6d76236e3b74e69f06513dd9e7c6684cda90f203adbb243c5bdfa5a51bd8dbab1bd0e266f0443480db9e31ed enchant-2.patch"
+965b52893affb666af64e00d09e0208dcd41b17ce2864cf05616c6d05a05c0121694c0b209d403b8c0c55d18e6f1528c4aba1a4fcdce7b282a13304d12cd0f9d sharedir.patch
+16399fbf6a966f9beffe00f659f9551ef8e52285bca116da5bd5b15ec99a2b0bd5fa03be0faa6c893802aa44c100d634083343a9ac0cd2467812865df66dd572 php7-fpm-version-suffix.patch
+3bfeea79f9acfaa7be5bab85cd3d02713abb569e54024a22bb2c747c06d97f83ac2c63dcd75c7c409426ac03f8bc2ccc01bcd66bc39a767930d32542349123f9 fix-tests-devserver.patch
+337c431a58f8c0bc5519bb89febc7e00cb0b9da91239347aaedcfa5e77f483df41d3e089cc194fd65b7476d9c3068e1a78bb5b44a116c58bcf2b4bcc6f823427 fix-tests-icu.patch
+7c8c3cac9efce81d525cb5a70e1402e393881b83ef4c7b5d39d3565803d21cd283daf3d74e9a8b059ecac66cf339756acc63608ffcb83d960dba86583bd45108 enchant-2.patch"
diff --git a/community/php7/allow-build-recode-and-imap-together.patch b/community/php7/allow-build-recode-and-imap-together.patch
deleted file mode 100644
index 6c79786bc9..0000000000
--- a/community/php7/allow-build-recode-and-imap-together.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Extensions recode and imap can't be loaded together, but they can be build
-together, and that's what we want.
-
-Source: https://src.fedoraproject.org/cgit/rpms/php.git/tree/php-5.3.0-recode.patch?h=f26
---- a/ext/recode/config9.m4
-+++ b/ext/recode/config9.m4
-@@ -2,13 +2,6 @@ dnl
-
- dnl Check for extensions with which Recode can not work
- if test "$PHP_RECODE" != "no"; then
-- test "$PHP_IMAP" != "no" && recode_conflict="$recode_conflict imap"
--
-- if test -n "$MYSQL_LIBNAME"; then
-- PHP_CHECK_LIBRARY($MYSQL_LIBNAME, hash_insert, [
-- recode_conflict="$recode_conflict mysql"
-- ])
-- fi
-
- if test -n "$recode_conflict"; then
- AC_MSG_ERROR([recode extension can not be configured together with:$recode_conflict])
diff --git a/community/php7/disabled-tests.list b/community/php7/disabled-tests.list
index a5edcb3e5c..fdf1bd8a3d 100644
--- a/community/php7/disabled-tests.list
+++ b/community/php7/disabled-tests.list
@@ -20,9 +20,6 @@ ext/openssl/tests/*
sapi/fpm/tests/*
-# Incorrect result.
-sapi/cli/tests/upload_2G.phpt
-
# Fails in chroot (on Travis).
sapi/cli/tests/cli_process_title_unix.phpt
@@ -40,10 +37,14 @@ ext/date/tests/bug33532.phpt
# Number overflow!?
ext/date/tests/bug53437_var5.phpt
ext/date/tests/bug53437_var6.phpt
+# fails on 32 bits
+ext/date/tests/bug53437_var3.phpt
# Incompatible version of enchant library?
ext/enchant/tests/broker_list_dicts.phpt
ext/enchant/tests/bug13181.phpt
+# no warning but expected
+ext/enchant/tests/bug53070.phpt
# Wrong charset, conversion from `UTF-8' to `ASCII//TRANSLIT' is not allowed.
ext/iconv/tests/iconv_basic_001.phpt
@@ -51,12 +52,8 @@ ext/iconv/tests/iconv_basic_001.phpt
# Wrong charset, conversion from `UTF-8' to `UTF-8//IGNORE' is not allowed.
ext/iconv/tests/bug48147.phpt
-# Float rounding error and/or different precision.
-ext/date/tests/date_time_fractions.phpt
-ext/intl/tests/bug14562.phpt
-ext/intl/tests/formatter_parse.phpt
-ext/intl/tests/formatter_parse_currency.phpt
-ext/intl/tests/msgfmt_parse.phpt
+# stream_filter_append(): unable to create or locate filter "convert.iconv.ucs-2/utf-8//IGNORE"
+ext/iconv/tests/bug76249.phpt
# Incorrect results.
ext/intl/tests/spoofchecker_001.phpt
@@ -71,11 +68,12 @@ ext/opcache/tests/issue0149.phpt
ext/pdo_odbc/tests/max_columns.phpt
# Fails in chroot (on Travis).
-ext/posix/tests/posix_errno_variation2.phpt
ext/posix/tests/posix_kill_basic.phpt
# Randomly fails.
ext/pcntl/tests/002.phpt
+# Randomly fails on arm7
+ext/standard/tests/file/bug60120.phpt
# Call to undefined function session_start().
ext/session/tests/session_regenerate_id_cookie.phpt
@@ -107,37 +105,14 @@ ext/standard/tests/strings/bug51059.phpt
# Fails in chroot (on Travis).
ext/standard/tests/general_functions/proc_nice_basic.phpt
-# Cannot find serialization handler 'wddx'.
-ext/wddx/tests/004.phpt
-ext/wddx/tests/005.phpt
-ext/wddx/tests/bug70741.phpt
-
-# Globbing in zip file does not work.
-ext/zip/tests/bug70103.phpt
-
-# ZipArchive::close() doesn't indicate errors; fails on ppc64le.
-ext/zip/tests/bug70322.phpt
-
-# Test timeouts.
-#Zend/tests/concat_003.phpt
-
# Failing tests related to locale and/or iconv.
ext/date/tests/009.phpt
-ext/gettext/tests/gettext_basic-enus.phpt
-ext/gettext/tests/gettext_basic.phpt
-ext/gettext/tests/gettext_bindtextdomain-cwd.phpt
-ext/gettext/tests/gettext_dcgettext.phpt
-ext/gettext/tests/gettext_dgettext.phpt
-ext/gettext/tests/gettext_dngettext-plural.phpt
-ext/gettext/tests/gettext_ngettext.phpt
ext/iconv/tests/bug52211.phpt
ext/intl/tests/bug67052.phpt
-ext/intl/tests/formatter_format6.phpt
ext/json/tests/bug41403.phpt
ext/pcre/tests/locales.phpt
ext/soap/tests/bugs/bug39815.phpt
ext/standard/tests/array/locale_sort.phpt
-ext/standard/tests/file/bug43008.phpt
ext/standard/tests/strings/htmlentities02.phpt
ext/standard/tests/strings/htmlentities03.phpt
ext/standard/tests/strings/moneyformat.phpt
@@ -154,41 +129,29 @@ ext/standard/tests/strings/sprintf_f_3.phpt
ext/standard/tests/strings/strtoupper.phpt
ext/standard/tests/time/strptime_basic.phpt
ext/standard/tests/time/strptime_parts.phpt
-#tests/lang/034.phpt
-#tests/lang/bug30638.phpt
+# setlocale() does not affect result of nl_langinfo(CODESET) always returns UTF-8
+ext/fileinfo/tests/bug74170.phpt
+
+# no xml header displayed
+ext/tidy/tests/020.phpt
+
+# randomly fails because of output
+ext/zip/tests/bug53885.phpt
#
# Tests that fail for known reason and/or we don't need to worry about them
#
-# Output does not match due to verbose messages from curl. Probably just
-# different curl version...
-ext/curl/tests/bug48203.phpt
-ext/curl/tests/bug48203_multi.phpt
-
# Fails due to unsupported JP charsets.
ext/iconv/tests/eucjp2iso2022jp.phpt
-ext/iconv/tests/eucjp2sjis.phpt
-ext/iconv/tests/eucjp2utf8.phpt
-ext/iconv/tests/iconv_basic.phpt
-ext/iconv/tests/iconv_mime_decode.phpt
ext/iconv/tests/iconv_mime_encode.phpt
-ext/iconv/tests/iconv_stream_filter.phpt
-ext/iconv/tests/iconv_stream_filter_delimiter.phpt
-ext/iconv/tests/iconv_strpos.phpt
-ext/iconv/tests/iconv_strrpos.phpt
-ext/iconv/tests/iconv_substr.phpt
-ext/iconv/tests/ob_iconv_handler.phpt
ext/standard/tests/strings/htmlentities04.phpt
ext/standard/tests/strings/htmlentities15.phpt
# Segfaults, it tests JIT stacklimit exhaustion.
ext/pcre/tests/preg_match_error3.phpt
-# Timeouts.
-ext/recode/tests/001.phpt
-
# Requires running SNMP server.
ext/snmp/tests/*
@@ -198,11 +161,10 @@ ext/sockets/tests/socket_set_option_bindtodevice.phpt
# Different wording of socket error messages (due to different libc).
ext/sockets/tests/socket_strerror.phpt
-# Broken test.
-ext/standard/tests/file/disk_free_space_basic.phpt
+# Expects permissions on /etc to be 40755
+ext/standard/tests/file/006_error.phpt
# Fails probably due to differencies in musl.
-ext/standard/tests/file/lstat_stat_variation9.phpt
ext/standard/tests/file/popen_pclose_error.phpt
# WTF?! getservername(true, "tcp") and similar non-senses...
@@ -217,14 +179,10 @@ ext/standard/tests/mail/mail_variation2.phpt
# Fails probably due to differencies in musl.
ext/sockets/tests/socket_create_pair-wrongparams.phpt
+# returns extra key - ai_canonname
+ext/sockets/tests/socket_addrinfo_explain.phpt
+# does not pass
+ext/sockets/tests/socket_sendrecvmsg_multi_msg.phpt
+
# Error message does not match due to some extra info.
ext/standard/tests/strings/007.phpt
-
-# Causes stack exhausion.
-#Zend/tests/bug54268.phpt
-#Zend/tests/bug68412.phpt
-
-# Fails because of locale settings.
-ext/intl/tests/dateformat_create_cal_arg_variant4.phpt
-ext/intl/tests/dateformat_get_set_calendar_variant4.phpt
-ext/intl/tests/formatter_get_locale_variant2.phpt
diff --git a/community/php7/enchant-2.patch b/community/php7/enchant-2.patch
index e60d1705d0..9d421c3bf0 100644
--- a/community/php7/enchant-2.patch
+++ b/community/php7/enchant-2.patch
@@ -1,33 +1,33 @@
-diff --git a/ext/enchant/config.m4 b/ext/enchant/config.m4
-index 81b77c9b..0fa74f29 100755
---- a/ext/enchant/config.m4
-+++ b/ext/enchant/config.m4
-@@ -12,9 +12,9 @@ if test "$PHP_ENCHANT" != "no"; then
- ENCHANT_SEARCH_DIRS="/usr/local /usr"
- fi
- for i in $ENCHANT_SEARCH_DIRS; do
-- if test -f $i/include/enchant/enchant.h; then
-+ if test -f $i/include/enchant-2/enchant.h; then
- ENCHANT_DIR=$i
-- ENCHANT_INCDIR=$i/include/enchant
-+ ENCHANT_INCDIR=$i/include/enchant-2
- elif test -f $i/include/enchant.h; then
- ENCHANT_DIR=$i
- ENCHANT_INCDIR=$i/include
-@@ -29,7 +29,7 @@ if test "$PHP_ENCHANT" != "no"; then
+--- php-7.4.4/ext/enchant/config.m4 2020-03-17 10:40:22.000000000 +0000
++++ php-7.4.4/ext/enchant/config.m4 2020-03-27 21:25:27.754470703 +0000
+@@ -4,21 +4,21 @@ PHP_ARG_WITH([enchant],
+ [Include Enchant support])])
- AC_DEFINE(HAVE_ENCHANT,1,[ ])
- PHP_SUBST(ENCHANT_SHARED_LIBADD)
-- PHP_ADD_LIBRARY_WITH_PATH(enchant, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(enchant-2, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD)
- PHP_ADD_INCLUDE($ENCHANT_INCDIR)
- PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param,
- [
-diff --git a/ext/enchant/enchant.c b/ext/enchant/enchant.c
-index 063b419b..13ff8024 100644
---- a/ext/enchant/enchant.c
+ if test "$PHP_ENCHANT" != "no"; then
+- PKG_CHECK_MODULES([ENCHANT], [enchant])
++ PKG_CHECK_MODULES([ENCHANT], [enchant-2])
+
+ PHP_EVAL_INCLINE($ENCHANT_CFLAGS)
+ PHP_EVAL_LIBLINE($ENCHANT_LIBS, ENCHANT_SHARED_LIBADD)
+
+ AC_DEFINE(HAVE_ENCHANT, 1, [ ])
+
+- PHP_CHECK_LIBRARY(enchant, enchant_get_version,
++ PHP_CHECK_LIBRARY(enchant-2, enchant_get_version,
+ [
+ AC_DEFINE(HAVE_ENCHANT_GET_VERSION, 1, [ ])
+ ], [ ], [
+ $ENCHANT_LIBS
+ ])
+
+- PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param,
++ PHP_CHECK_LIBRARY(enchant-2, enchant_broker_set_param,
+ [
+ AC_DEFINE(HAVE_ENCHANT_BROKER_SET_PARAM, 1, [ ])
+ ], [ ], [
+--- a/ext/enchant/enchant.c.orig
+++ b/ext/enchant/enchant.c
-@@ -738,7 +738,7 @@ PHP_FUNCTION(enchant_dict_quick_check)
+@@ -738,7 +738,7 @@
for (i = 0; i < n_sugg; i++) {
add_next_index_string(sugg, suggs[i]);
}
@@ -36,7 +36,7 @@ index 063b419b..13ff8024 100644
}
-@@ -795,7 +795,7 @@ PHP_FUNCTION(enchant_dict_suggest)
+@@ -793,7 +793,7 @@
add_next_index_string(return_value, suggs[i]);
}
@@ -45,7 +45,7 @@ index 063b419b..13ff8024 100644
}
}
/* }}} */
-@@ -815,7 +815,7 @@ PHP_FUNCTION(enchant_dict_add_to_personal)
+@@ -813,7 +813,7 @@
PHP_ENCHANT_GET_DICT;
@@ -54,7 +54,7 @@ index 063b419b..13ff8024 100644
}
/* }}} */
-@@ -853,7 +853,7 @@ PHP_FUNCTION(enchant_dict_is_in_session)
+@@ -851,7 +851,7 @@
PHP_ENCHANT_GET_DICT;
@@ -63,3 +63,14 @@ index 063b419b..13ff8024 100644
}
/* }}} */
+--- php-7.4.4/build/php.m4 2020-03-17 06:40:21.000000000 -0400
++++ php-7.4.4/build/php.m4 2020-04-05 09:27:14.634620646 -0400
+@@ -1541,7 +1541,7 @@ AC_DEFUN([PHP_CHECK_LIBRARY], [
+ ],[
+ LDFLAGS=$save_old_LDFLAGS
+ ext_shared=$save_ext_shared
+- unset ac_cv_lib_$1[]_$2
++ unset ac_cv_lib_[]translit($1, -, _)_$2
+ $4
+ ])dnl
+ ])
diff --git a/community/php7/fix-tests-devserver.patch b/community/php7/fix-tests-devserver.patch
index 317ceb0ffc..44e4d43c97 100644
--- a/community/php7/fix-tests-devserver.patch
+++ b/community/php7/fix-tests-devserver.patch
@@ -11,13 +11,13 @@ happens here...
--- a/run-tests.php
+++ b/run-tests.php
-@@ -1986,6 +1986,9 @@
- // Does the output match what is expected?
- $output = preg_replace("/\r\n/", "\n", trim($out));
+@@ -2503,6 +2503,9 @@
+ // Does the output match what is expected?
+ $output = preg_replace("/\r\n/", "\n", trim($out));
+ // Remove message from built-in development server.
+ $output = preg_replace("/^PHP [0-9.]+ Development Server started at .*\n\n?/m", "", $output);
+
- /* when using CGI, strip the headers from the output */
- $headers = array();
+ /* when using CGI, strip the headers from the output */
+ $headers = array();
diff --git a/community/php7/fix-tests-icu.patch b/community/php7/fix-tests-icu.patch
new file mode 100644
index 0000000000..c2159b8923
--- /dev/null
+++ b/community/php7/fix-tests-icu.patch
@@ -0,0 +1,28 @@
+diff --git b/ext/intl/tests/locale_filter_matches3.phpt a/ext/intl/tests/locale_filter_matches3.phpt
+index 2816ba5e12..8c39d189eb 100644
+--- b/ext/intl/tests/locale_filter_matches3.phpt
++++ a/ext/intl/tests/locale_filter_matches3.phpt
+@@ -1,8 +1,8 @@
+ --TEST--
+-locale_filter_matches.phpt() ICU >= 51.2
++locale_filter_matches.phpt() ICU >= 51.2 && ICU < 67.1
+ --SKIPIF--
+ <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+-<?php if (version_compare(INTL_ICU_VERSION, '51.2') < 0) die('skip for ICU >= 51.2'); ?>
++<?php if (version_compare(INTL_ICU_VERSION, '67.1') >= 0) die('skip for ICU < 67.1'); ?>
+ --FILE--
+ <?php
+
+diff --git b/ext/intl/tests/locale_lookup_variant2.phpt a/ext/intl/tests/locale_lookup_variant2.phpt
+index 75a5350abf..af104e1ba8 100644
+--- b/ext/intl/tests/locale_lookup_variant2.phpt
++++ a/ext/intl/tests/locale_lookup_variant2.phpt
+@@ -2,7 +2,7 @@
+ locale_lookup.phpt()
+ --SKIPIF--
+ <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+-<?php if (version_compare(INTL_ICU_VERSION, '51.2') < 0) die('skip for ICU >= 51.2'); ?>
++<?php if (version_compare(INTL_ICU_VERSION, '67.1') >= 0) die('skip for ICU < 67.1'); ?>
+ --FILE--
+ <?php
+
diff --git a/community/php7/install-pear.patch b/community/php7/install-pear.patch
index 18747be94b..831f60ab0c 100644
--- a/community/php7/install-pear.patch
+++ b/community/php7/install-pear.patch
@@ -1,7 +1,6 @@
--- ./pear/Makefile.frag.orig 2013-04-12 07:02:27.041602514 +0000
+++ ./pear/Makefile.frag 2013-04-12 07:04:09.065836822 +0000
-@@ -2,8 +2,11 @@
-
+@@ -1,7 +1,10 @@
peardir=$(PEAR_INSTALLDIR)
+# help the built php to find xml extension so we can install pear
diff --git a/community/php7/php7-fpm-version-suffix.patch b/community/php7/php7-fpm-version-suffix.patch
index 36911fc88c..d480f7a0c9 100644
--- a/community/php7/php7-fpm-version-suffix.patch
+++ b/community/php7/php7-fpm-version-suffix.patch
@@ -1,6 +1,6 @@
--- a/sapi/fpm/fpm/fpm_conf.c
+++ b/sapi/fpm/fpm/fpm_conf.c
-@@ -1211,7 +1211,7 @@
+@@ -1212,7 +1212,7 @@
}
if (!fpm_global_config.error_log) {
@@ -9,7 +9,7 @@
}
#ifdef HAVE_SYSTEMD
-@@ -1222,7 +1222,7 @@
+@@ -1223,7 +1223,7 @@
#ifdef HAVE_SYSLOG_H
if (!fpm_global_config.syslog_ident) {
@@ -18,7 +18,7 @@
}
if (fpm_global_config.syslog_facility < 0) {
-@@ -1720,7 +1720,7 @@
+@@ -1722,7 +1722,7 @@
if (fpm_globals.prefix == NULL) {
spprintf(&tmp, 0, "%s/php-fpm.conf", PHP_SYSCONFDIR);
} else {
@@ -51,7 +51,7 @@
--- a/sapi/fpm/www.conf.in
+++ b/sapi/fpm/www.conf.in
-@@ -256,7 +256,7 @@
+@@ -257,7 +257,7 @@
; The access log file
; Default: not set
@@ -60,7 +60,7 @@
; The access log format.
; The following syntax is allowed
-@@ -320,7 +320,7 @@
+@@ -321,7 +321,7 @@
; The log file for slow requests
; Default Value: not set
; Note: slowlog is mandatory if request_slowlog_timeout is set
@@ -69,7 +69,7 @@
; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
-@@ -425,6 +425,6 @@
+@@ -434,6 +434,6 @@
; specified at startup with the -d argument
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
;php_flag[display_errors] = off
diff --git a/community/php7/sharedir.patch b/community/php7/sharedir.patch
index f8f5b83236..2963e89da3 100644
--- a/community/php7/sharedir.patch
+++ b/community/php7/sharedir.patch
@@ -1,6 +1,6 @@
--- a/php.ini-production 2018-07-28 18:05:51.737130931 +0300
+++ b/php.ini-production 2018-07-28 18:06:45.177774666 +0300
-@@ -729,7 +729,7 @@
+@@ -733,7 +733,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"