commit: 8187eb32d10a53a0c837eadb02625329310b3582 Author: Brian Evans <grknight <AT> gentoo <DOT> org> AuthorDate: Wed Apr 4 13:20:44 2018 +0000 Commit: Brian Evans <grknight <AT> gentoo <DOT> org> CommitDate: Wed Apr 4 13:21:39 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8187eb32
dev-lang/php: Fix compilation with dev-libs/oniguruma-6.8.1 Include upstream patch for all 7.0 versions Limit version in 5.6.35-r1 as the patch is not the same there Closes: https://bugs.gentoo.org/652352 Package-Manager: Portage-2.3.28, Repoman-2.3.9 dev-lang/php/files/mbstring-oniguruma-6.8.patch | 30 ++++++++++++++++++++++ .../{php-5.6.35.ebuild => php-5.6.35-r1.ebuild} | 2 +- dev-lang/php/php-7.0.27.ebuild | 2 ++ dev-lang/php/php-7.0.28.ebuild | 2 ++ dev-lang/php/php-7.0.29.ebuild | 2 ++ dev-lang/php/php-7.1.13.ebuild | 2 ++ dev-lang/php/php-7.1.14.ebuild | 2 ++ dev-lang/php/php-7.1.15.ebuild | 2 ++ dev-lang/php/php-7.1.16.ebuild | 2 ++ dev-lang/php/php-7.2.4.ebuild | 2 ++ 10 files changed, 47 insertions(+), 1 deletion(-) diff --git a/dev-lang/php/files/mbstring-oniguruma-6.8.patch b/dev-lang/php/files/mbstring-oniguruma-6.8.patch new file mode 100644 index 00000000000..c238f88007c --- /dev/null +++ b/dev-lang/php/files/mbstring-oniguruma-6.8.patch @@ -0,0 +1,30 @@ +From 4072b2787074ee8e247a6639585b49e10c5a55fe Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" <[email protected]> +Date: Tue, 20 Mar 2018 16:35:39 +0100 +Subject: [PATCH] Fix #76113: mbstring does not build with Oniguruma 6.8.1 + +As of Oniguruma 6.8.1, the regex structure has been moved from the +public `oniguruma.h` to the private `regint.h`. Thus, it is no longer +possible to directly access the struct's members, and actually, there +is no need to, since there are respective accessor functions available +at least of 2.3.1. +--- + ext/mbstring/php_mbregex.c | 2 +- + 1 file changed, 1 insertions(+), 1 deletion(-) + +diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c +index a5a6cd0..7a70c63 100644 +--- a/ext/mbstring/php_mbregex.c ++++ b/ext/mbstring/php_mbregex.c +@@ -452,7 +452,7 @@ static php_mb_regex_t *php_mbregex_compile_pattern(const char *pattern, int patl + OnigUChar err_str[ONIG_MAX_ERROR_MESSAGE_LEN]; + + rc = zend_hash_str_find_ptr(&MBREX(ht_rc), (char *)pattern, patlen); +- if (!rc || rc->options != options || rc->enc != enc || rc->syntax != syntax) { ++ if (!rc || onig_get_options(rc) != options || onig_get_encoding(rc) != enc || onig_get_syntax(rc) != syntax) { + if ((err_code = onig_new(&retval, (OnigUChar *)pattern, (OnigUChar *)(pattern + patlen), options, enc, syntax, &err_info)) != ONIG_NORMAL) { + onig_error_code_to_str(err_str, err_code, &err_info); + php_error_docref(NULL, E_WARNING, "mbregex compile err: %s", err_str); +-- +2.1.4 + diff --git a/dev-lang/php/php-5.6.35.ebuild b/dev-lang/php/php-5.6.35-r1.ebuild similarity index 99% rename from dev-lang/php/php-5.6.35.ebuild rename to dev-lang/php/php-5.6.35-r1.ebuild index 0cbd2484dc0..ebf59c207d5 100644 --- a/dev-lang/php/php-5.6.35.ebuild +++ b/dev-lang/php/php-5.6.35-r1.ebuild @@ -113,7 +113,7 @@ COMMON_DEPEND=" !gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= ) ) - unicode? ( dev-libs/oniguruma:= ) + unicode? ( <dev-libs/oniguruma-6.8.0:= ) vpx? ( media-libs/libvpx:0= ) wddx? ( >=dev-libs/libxml2-2.6.8 ) xml? ( >=dev-libs/libxml2-2.6.8 ) diff --git a/dev-lang/php/php-7.0.27.ebuild b/dev-lang/php/php-7.0.27.ebuild index 07116183964..88d8e93bc68 100644 --- a/dev-lang/php/php-7.0.27.ebuild +++ b/dev-lang/php/php-7.0.27.ebuild @@ -163,6 +163,8 @@ REQUIRED_USE=" mysql? ( || ( mysqli pdo ) ) " +PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" ) + PHP_MV="$(get_major_version)" php_install_ini() { diff --git a/dev-lang/php/php-7.0.28.ebuild b/dev-lang/php/php-7.0.28.ebuild index 889e707ffc3..7964fdcd189 100644 --- a/dev-lang/php/php-7.0.28.ebuild +++ b/dev-lang/php/php-7.0.28.ebuild @@ -163,6 +163,8 @@ REQUIRED_USE=" mysql? ( || ( mysqli pdo ) ) " +PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" ) + PHP_MV="$(get_major_version)" php_install_ini() { diff --git a/dev-lang/php/php-7.0.29.ebuild b/dev-lang/php/php-7.0.29.ebuild index 45b3218e4f6..ec866bd84ba 100644 --- a/dev-lang/php/php-7.0.29.ebuild +++ b/dev-lang/php/php-7.0.29.ebuild @@ -163,6 +163,8 @@ REQUIRED_USE=" mysql? ( || ( mysqli pdo ) ) " +PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" ) + PHP_MV="$(get_major_version)" php_install_ini() { diff --git a/dev-lang/php/php-7.1.13.ebuild b/dev-lang/php/php-7.1.13.ebuild index 4fc386497f8..65425f9dc6a 100644 --- a/dev-lang/php/php-7.1.13.ebuild +++ b/dev-lang/php/php-7.1.13.ebuild @@ -145,6 +145,8 @@ REQUIRED_USE=" mysql? ( || ( mysqli pdo ) ) " +PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" ) + PHP_MV="$(get_major_version)" php_install_ini() { diff --git a/dev-lang/php/php-7.1.14.ebuild b/dev-lang/php/php-7.1.14.ebuild index 682890dc86d..ee42a9c8acb 100644 --- a/dev-lang/php/php-7.1.14.ebuild +++ b/dev-lang/php/php-7.1.14.ebuild @@ -145,6 +145,8 @@ REQUIRED_USE=" mysql? ( || ( mysqli pdo ) ) " +PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" ) + PHP_MV="$(get_major_version)" php_install_ini() { diff --git a/dev-lang/php/php-7.1.15.ebuild b/dev-lang/php/php-7.1.15.ebuild index d3c61673621..7624b2d8a8a 100644 --- a/dev-lang/php/php-7.1.15.ebuild +++ b/dev-lang/php/php-7.1.15.ebuild @@ -145,6 +145,8 @@ REQUIRED_USE=" mysql? ( || ( mysqli pdo ) ) " +PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" ) + PHP_MV="$(get_major_version)" php_install_ini() { diff --git a/dev-lang/php/php-7.1.16.ebuild b/dev-lang/php/php-7.1.16.ebuild index 34ff2d2648d..26afb4343b5 100644 --- a/dev-lang/php/php-7.1.16.ebuild +++ b/dev-lang/php/php-7.1.16.ebuild @@ -145,6 +145,8 @@ REQUIRED_USE=" mysql? ( || ( mysqli pdo ) ) " +PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" ) + PHP_MV="$(get_major_version)" php_install_ini() { diff --git a/dev-lang/php/php-7.2.4.ebuild b/dev-lang/php/php-7.2.4.ebuild index 5407f131e1a..9db1463e3a1 100644 --- a/dev-lang/php/php-7.2.4.ebuild +++ b/dev-lang/php/php-7.2.4.ebuild @@ -150,6 +150,8 @@ REQUIRED_USE=" zip-encryption? ( zip ) " +PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" ) + PHP_MV="$(get_major_version)" php_install_ini() {
