Browse Source
This reverts commit 10b32d19fc
.
yeah eh. no. i need to change deps so this doesn't work.
master
14 changed files with 3195 additions and 0 deletions
@ -0,0 +1 @@ |
|||
DIST php-5.6.38.tar.xz 12467408 BLAKE2B d9ee47e193d80bce8a9ed6ffd3eb13e67ba6d1f597ece2803cd92fddc6245f46cdfe644d6cda12a6bb409b92c1fe748610cc5eb43dea0bf063fda81188ee8b3d SHA512 66c51a8e954b1496c0bad0a2864a2a1537dd1c1c573b553991d6d5bce85fc7bc340e56a21109bc5e9a03799e703204b980b569c95a5c0a1bddb01c8947e7a682 |
@ -0,0 +1,2 @@ |
|||
MANPATH="/usr/lib/php5/man/" |
|||
CONFIG_PROTECT_MASK="/etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/" |
@ -0,0 +1,12 @@ |
|||
diff -aurN a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c
|
|||
--- a/ext/mbstring/php_mbregex.c 2018-03-28 17:28:58.000000000 -0400
|
|||
+++ b/ext/mbstring/php_mbregex.c 2018-04-04 12:53:23.268296387 -0400
|
|||
@@ -454,7 +454,7 @@
|
|||
OnigUChar err_str[ONIG_MAX_ERROR_MESSAGE_LEN]; |
|||
|
|||
found = zend_hash_find(&MBREX(ht_rc), (char *)pattern, patlen+1, (void **) &rc); |
|||
- if (found == FAILURE || (*rc)->options != options || (*rc)->enc != enc || (*rc)->syntax != syntax) {
|
|||
+ if (found == FAILURE || 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 TSRMLS_CC, E_WARNING, "mbregex compile err: %s", err_str); |
@ -0,0 +1,65 @@ |
|||
--- a/ext/openssl/openssl.c 2018-04-04 14:26:34.583000000 +0000
|
|||
+++ b/ext/openssl/openssl.c 2018-04-04 14:20:16.907000000 +0000
|
|||
@@ -73,7 +73,7 @@
|
|||
#ifdef HAVE_OPENSSL_MD2_H |
|||
#define OPENSSL_ALGO_MD2 4 |
|||
#endif |
|||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
|
|||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
|||
#define OPENSSL_ALGO_DSS1 5 |
|||
#endif |
|||
#define OPENSSL_ALGO_SHA224 6 |
|||
@@ -560,7 +560,7 @@
|
|||
#endif |
|||
|
|||
/* {{{ OpenSSL compatibility functions and macros */ |
|||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
|
|||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
|||
#define EVP_PKEY_get0_RSA(_pkey) _pkey->pkey.rsa |
|||
#define EVP_PKEY_get0_DH(_pkey) _pkey->pkey.dh |
|||
#define EVP_PKEY_get0_DSA(_pkey) _pkey->pkey.dsa |
|||
@@ -677,7 +677,7 @@
|
|||
return M_ASN1_STRING_data(asn1); |
|||
} |
|||
|
|||
-#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined (LIBRESSL_VERSION_NUMBER)
|
|||
+#if OPENSSL_VERSION_NUMBER < 0x10002000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
|||
|
|||
static int X509_get_signature_nid(const X509 *x) |
|||
{ |
|||
@@ -1324,7 +1324,7 @@
|
|||
mdtype = (EVP_MD *) EVP_md2(); |
|||
break; |
|||
#endif |
|||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
|
|||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
|||
case OPENSSL_ALGO_DSS1: |
|||
mdtype = (EVP_MD *) EVP_dss1(); |
|||
break; |
|||
@@ -1450,7 +1450,7 @@
|
|||
#ifdef HAVE_OPENSSL_MD2_H |
|||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT); |
|||
#endif |
|||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
|
|||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
|||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_CS|CONST_PERSISTENT); |
|||
#endif |
|||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS|CONST_PERSISTENT); |
|||
@@ -3620,7 +3620,7 @@
|
|||
RETURN_FALSE; |
|||
} |
|||
|
|||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
|||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !(defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
|||
/* Due to changes in OpenSSL 1.1 related to locking when decoding CSR, |
|||
* the pub key is not changed after assigning. It means if we pass |
|||
* a private key, it will be returned including the private part. |
|||
@@ -3631,7 +3631,7 @@
|
|||
/* Retrieve the public key from the CSR */ |
|||
tpubkey = X509_REQ_get_pubkey(csr); |
|||
|
|||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
|||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !(defined (LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
|
|||
/* We need to free the CSR as it was duplicated */ |
|||
X509_REQ_free(csr); |
|||
#endif |
@ -0,0 +1,17 @@ |
|||
diff -up a/ext/recode/config9.m4.recode b/ext/recode/config9.m4
|
|||
--- a/ext/recode/config9.m4.recode 2008-12-02 00:30:21.000000000 +0100
|
|||
+++ b/ext/recode/config9.m4 2009-02-28 09:46:50.000000000 +0100
|
|||
@@ -4,13 +4,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]) |
@ -0,0 +1,42 @@ |
|||
From d3466a04345b31dfc62d94fe994b40321a6418ec Mon Sep 17 00:00:00 2001 |
|||
From: Michael Orlitzky <michael@orlitzky.com> |
|||
Date: Thu, 29 Sep 2016 15:43:06 -0400 |
|||
Subject: [PATCH 1/1] Zend/acinclude.m4: don't warn about >=bison-3.0.1 |
|||
versions. |
|||
|
|||
The PHP configure script will emit a warning if it thinks your bison |
|||
version is insufficient: |
|||
|
|||
WARNING: This bison version is not supported for regeneration of |
|||
the Zend/PHP parsers (found: 3.0, min: 204, excluded: 3.0). |
|||
|
|||
However, there is an error in the test that causes it to treat all |
|||
3.0.x versions as if they were 3.0. The result is that users get |
|||
warned about a perfectly acceptable version of bison. |
|||
|
|||
This patch is meant only for Gentoo, where we can require a working |
|||
version of bison (something newer than 3.0.1). Having done so, this |
|||
patch removes the check and the WARNING. |
|||
|
|||
Gentoo-Bug: 593278 |
|||
PHP-Bug: 69055 |
|||
---
|
|||
Zend/acinclude.m4 | 2 +- |
|||
1 file changed, 1 insertion(+), 1 deletion(-) |
|||
|
|||
diff --git a/Zend/acinclude.m4 b/Zend/acinclude.m4
|
|||
index 7fa8c99..9d6cb1d 100644
|
|||
--- a/Zend/acinclude.m4
|
|||
+++ b/Zend/acinclude.m4
|
|||
@@ -9,7 +9,7 @@ AC_DEFUN([LIBZEND_BISON_CHECK],[
|
|||
# non-working versions, e.g. "3.0 3.2"; |
|||
# remove "none" when introducing the first incompatible bison version an |
|||
# separate any following additions by spaces |
|||
- bison_version_exclude="3.0"
|
|||
+ bison_version_exclude=""
|
|||
|
|||
# for standalone build of Zend Engine |
|||
test -z "$SED" && SED=sed |
|||
--
|
|||
2.7.3 |
|||
|
@ -0,0 +1,169 @@ |
|||
Adapted for 5.6 from |
|||
|
|||
From 397bedcc7c3545510a22b7db8dc6444e0a05b085 Mon Sep 17 00:00:00 2001 |
|||
From: Remi Collet <remi@php.net> |
|||
Date: Wed, 16 Nov 2016 10:45:59 +0100 |
|||
Subject: [PATCH] Fixed bug #73512 Fails to find firebird headers |
|||
|
|||
- use fb_config output instead of relying on hardoded path
|
|||
|
|||
diff -up ./ext/interbase/config.m4.fb_config ./ext/interbase/config.m4
|
|||
--- ./ext/interbase/config.m4.fb_config 2017-03-17 08:58:57.061708947 +0100
|
|||
+++ ./ext/interbase/config.m4 2017-03-17 09:04:53.389584385 +0100
|
|||
@@ -3,39 +3,54 @@ PHP_ARG_WITH(interbase,for InterBase sup
|
|||
install directory [/usr/interbase]]) |
|||
|
|||
if test "$PHP_INTERBASE" != "no"; then |
|||
- if test "$PHP_INTERBASE" = "yes"; then
|
|||
- IBASE_INCDIR=/usr/interbase/include
|
|||
- IBASE_LIBDIR=/usr/interbase/lib
|
|||
+
|
|||
+ AC_PATH_PROG(FB_CONFIG, fb_config, no)
|
|||
+
|
|||
+ if test -x "$FB_CONFIG" && test "$PHP_INTERBASE" = "yes"; then
|
|||
+ AC_MSG_CHECKING(for libfbconfig)
|
|||
+ FB_CFLAGS=`$FB_CONFIG --cflags`
|
|||
+ FB_LIBDIR=`$FB_CONFIG --libs`
|
|||
+ FB_VERSION=`$FB_CONFIG --version`
|
|||
+ AC_MSG_RESULT(version $FB_VERSION)
|
|||
+ PHP_EVAL_LIBLINE($FB_LIBDIR, INTERBASE_SHARED_LIBADD)
|
|||
+ PHP_EVAL_INCLINE($FB_CFLAGS)
|
|||
+
|
|||
else |
|||
- IBASE_INCDIR=$PHP_INTERBASE/include
|
|||
- IBASE_LIBDIR=$PHP_INTERBASE/$PHP_LIBDIR
|
|||
- fi
|
|||
+ if test "$PHP_INTERBASE" = "yes"; then
|
|||
+ IBASE_INCDIR=/usr/interbase/include
|
|||
+ IBASE_LIBDIR=/usr/interbase/lib
|
|||
+ else
|
|||
+ IBASE_INCDIR=$PHP_INTERBASE/include
|
|||
+ IBASE_LIBDIR=$PHP_INTERBASE/$PHP_LIBDIR
|
|||
+ fi
|
|||
|
|||
- PHP_CHECK_LIBRARY(fbclient, isc_detach_database,
|
|||
- [
|
|||
- IBASE_LIBNAME=fbclient
|
|||
- ], [
|
|||
- PHP_CHECK_LIBRARY(gds, isc_detach_database,
|
|||
+ PHP_CHECK_LIBRARY(fbclient, isc_detach_database,
|
|||
[ |
|||
- IBASE_LIBNAME=gds
|
|||
+ IBASE_LIBNAME=fbclient
|
|||
], [ |
|||
- PHP_CHECK_LIBRARY(ib_util, isc_detach_database,
|
|||
+ PHP_CHECK_LIBRARY(gds, isc_detach_database,
|
|||
[ |
|||
- IBASE_LIBNAME=ib_util
|
|||
+ IBASE_LIBNAME=gds
|
|||
], [ |
|||
- AC_MSG_ERROR([libgds, libib_util or libfbclient not found! Check config.log for more information.])
|
|||
+ PHP_CHECK_LIBRARY(ib_util, isc_detach_database,
|
|||
+ [
|
|||
+ IBASE_LIBNAME=ib_util
|
|||
+ ], [
|
|||
+ AC_MSG_ERROR([libgds, libib_util or libfbclient not found! Check config.log for more information.])
|
|||
+ ], [
|
|||
+ -L$IBASE_LIBDIR
|
|||
+ ])
|
|||
], [ |
|||
-L$IBASE_LIBDIR |
|||
]) |
|||
], [ |
|||
-L$IBASE_LIBDIR |
|||
]) |
|||
- ], [
|
|||
- -L$IBASE_LIBDIR
|
|||
- ])
|
|||
|
|||
- PHP_ADD_LIBRARY_WITH_PATH($IBASE_LIBNAME, $IBASE_LIBDIR, INTERBASE_SHARED_LIBADD)
|
|||
- PHP_ADD_INCLUDE($IBASE_INCDIR)
|
|||
+ PHP_ADD_LIBRARY_WITH_PATH($IBASE_LIBNAME, $IBASE_LIBDIR, INTERBASE_SHARED_LIBADD)
|
|||
+ PHP_ADD_INCLUDE($IBASE_INCDIR)
|
|||
+ fi
|
|||
+
|
|||
AC_DEFINE(HAVE_IBASE,1,[ ]) |
|||
PHP_NEW_EXTENSION(interbase, interbase.c ibase_query.c ibase_service.c ibase_events.c ibase_blobs.c, $ext_shared) |
|||
PHP_SUBST(INTERBASE_SHARED_LIBADD) |
|||
diff -up ./ext/pdo_firebird/config.m4.fb_config ./ext/pdo_firebird/config.m4
|
|||
--- ./ext/pdo_firebird/config.m4.fb_config 2017-01-19 01:17:47.000000000 +0100
|
|||
+++ ./ext/pdo_firebird/config.m4 2017-03-17 08:58:57.061708947 +0100
|
|||
@@ -8,43 +8,56 @@ if test "$PHP_PDO_FIREBIRD" != "no"; the
|
|||
AC_MSG_ERROR([PDO is not enabled! Add --enable-pdo to your configure line.]) |
|||
fi |
|||
|
|||
- if test "$PHP_PDO_FIREBIRD" = "yes"; then
|
|||
- FIREBIRD_INCDIR=
|
|||
- FIREBIRD_LIBDIR=
|
|||
- FIREBIRD_LIBDIR_FLAG=
|
|||
+ AC_PATH_PROG(FB_CONFIG, fb_config, no)
|
|||
+
|
|||
+ if test -x "$FB_CONFIG" && test "$PHP_PDO_FIREBIRD" = "yes"; then
|
|||
+ AC_MSG_CHECKING(for libfbconfig)
|
|||
+ FB_CFLAGS=`$FB_CONFIG --cflags`
|
|||
+ FB_LIBDIR=`$FB_CONFIG --libs`
|
|||
+ FB_VERSION=`$FB_CONFIG --version`
|
|||
+ AC_MSG_RESULT(version $FB_VERSION)
|
|||
+ PHP_EVAL_LIBLINE($FB_LIBDIR, PDO_FIREBIRD_SHARED_LIBADD)
|
|||
+ PHP_EVAL_INCLINE($FB_CFLAGS)
|
|||
+
|
|||
else |
|||
- FIREBIRD_INCDIR=$PHP_PDO_FIREBIRD/include
|
|||
- FIREBIRD_LIBDIR=$PHP_PDO_FIREBIRD/$PHP_LIBDIR
|
|||
- FIREBIRD_LIBDIR_FLAG=-L$FIREBIRD_LIBDIR
|
|||
- fi
|
|||
+ if test "$PHP_PDO_FIREBIRD" = "yes"; then
|
|||
+ FIREBIRD_INCDIR=
|
|||
+ FIREBIRD_LIBDIR=
|
|||
+ FIREBIRD_LIBDIR_FLAG=
|
|||
+ else
|
|||
+ FIREBIRD_INCDIR=$PHP_PDO_FIREBIRD/include
|
|||
+ FIREBIRD_LIBDIR=$PHP_PDO_FIREBIRD/$PHP_LIBDIR
|
|||
+ FIREBIRD_LIBDIR_FLAG=-L$FIREBIRD_LIBDIR
|
|||
+ fi
|
|||
|
|||
- PHP_CHECK_LIBRARY(fbclient, isc_detach_database,
|
|||
- [
|
|||
- FIREBIRD_LIBNAME=fbclient
|
|||
- ], [
|
|||
- PHP_CHECK_LIBRARY(gds, isc_detach_database,
|
|||
+ PHP_CHECK_LIBRARY(fbclient, isc_detach_database,
|
|||
[ |
|||
- FIREBIRD_LIBNAME=gds
|
|||
+ FIREBIRD_LIBNAME=fbclient
|
|||
], [ |
|||
- PHP_CHECK_LIBRARY(ib_util, isc_detach_database,
|
|||
+ PHP_CHECK_LIBRARY(gds, isc_detach_database,
|
|||
[ |
|||
- FIREBIRD_LIBNAME=ib_util
|
|||
+ FIREBIRD_LIBNAME=gds
|
|||
], [ |
|||
- AC_MSG_ERROR([libfbclient, libgds or libib_util not found! Check config.log for more information.])
|
|||
+ PHP_CHECK_LIBRARY(ib_util, isc_detach_database,
|
|||
+ [
|
|||
+ FIREBIRD_LIBNAME=ib_util
|
|||
+ ], [
|
|||
+ AC_MSG_ERROR([libfbclient, libgds or libib_util not found! Check config.log for more information.])
|
|||
+ ], [
|
|||
+ $FIREBIRD_LIBDIR_FLAG
|
|||
+ ])
|
|||
], [ |
|||
$FIREBIRD_LIBDIR_FLAG |
|||
]) |
|||
], [ |
|||
$FIREBIRD_LIBDIR_FLAG |
|||
]) |
|||
- ], [
|
|||
- $FIREBIRD_LIBDIR_FLAG
|
|||
- ])
|
|||
+ PHP_ADD_LIBRARY_WITH_PATH($FIREBIRD_LIBNAME, $FIREBIRD_LIBDIR, PDO_FIREBIRD_SHARED_LIBADD)
|
|||
+ PHP_ADD_INCLUDE($FIREBIRD_INCDIR)
|
|||
+ fi
|
|||
|
|||
PHP_CHECK_PDO_INCLUDES |
|||
|
|||
- PHP_ADD_LIBRARY_WITH_PATH($FIREBIRD_LIBNAME, $FIREBIRD_LIBDIR, PDO_FIREBIRD_SHARED_LIBADD)
|
|||
- PHP_ADD_INCLUDE($FIREBIRD_INCDIR)
|
|||
AC_DEFINE(HAVE_PDO_FIREBIRD,1,[ ]) |
|||
PHP_NEW_EXTENSION(pdo_firebird, pdo_firebird.c firebird_driver.c firebird_statement.c, $ext_shared,,-I$pdo_cv_inc_path) |
|||
PHP_SUBST(PDO_FIREBIRD_SHARED_LIBADD) |
File diff suppressed because it is too large
@ -0,0 +1,589 @@ |
|||
Backported from 7.1 for 5.6 by Remi |
|||
|
|||
|
|||
From 710284cbc4a54cac0a9ec4ea29a7486e0d99a33b Mon Sep 17 00:00:00 2001 |
|||
From: Anatol Belski <ab@php.net> |
|||
Date: Wed, 28 Mar 2018 18:00:28 +0200 |
|||
Subject: [PATCH] Fixed bug #76153 Intl compilation fails with icu4c 61.1 |
|||
|
|||
Additionally, ICU >= 59.1 requires C++11, so add the flags. Some |
|||
refactoring is needed to comply with the latest recommended build |
|||
options, such as automatic icu namespace addition. |
|||
---
|
|||
acinclude.m4 | 3 +++ |
|||
ext/intl/config.m4 | 2 +- |
|||
ext/intl/config.w32 | 2 +- |
|||
3 files changed, 5 insertions(+), 2 deletions(-) |
|||
|
|||
diff --git a/acinclude.m4 b/acinclude.m4
|
|||
index 0e6fb5de855c..3881b2da93d6 100644
|
|||
--- a/acinclude.m4
|
|||
+++ b/acinclude.m4
|
|||
@@ -2244,6 +2244,9 @@ AC_DEFUN([PHP_SETUP_ICU],[
|
|||
ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio` |
|||
PHP_EVAL_INCLINE($ICU_INCS) |
|||
PHP_EVAL_LIBLINE($ICU_LIBS, $1) |
|||
+
|
|||
+ ICU_EXTRA_FLAGS=`$ICU_CONFIG --cxxflags`
|
|||
+ ICU_EXTRA_FLAGS="$ICU_EXTRA_FLAGS -DU_USING_ICU_NAMESPACE=1"
|
|||
fi |
|||
]) |
|||
|
|||
diff --git a/ext/intl/config.m4 b/ext/intl/config.m4
|
|||
index ca2cd822f483..a496d8d70c3f 100644
|
|||
--- a/ext/intl/config.m4
|
|||
+++ b/ext/intl/config.m4
|
|||
@@ -85,7 +85,7 @@ if test "$PHP_INTL" != "no"; then
|
|||
breakiterator/codepointiterator_internal.cpp \ |
|||
breakiterator/codepointiterator_methods.cpp \ |
|||
idn/idn.c \ |
|||
- $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings)
|
|||
+ $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings $ICU_EXTRA_FLAGS,cxx)
|
|||
PHP_ADD_BUILD_DIR($ext_builddir/collator) |
|||
PHP_ADD_BUILD_DIR($ext_builddir/converter) |
|||
PHP_ADD_BUILD_DIR($ext_builddir/common) |
|||
From 398f56dbc85464c95671cbe491c951eccc1f665a Mon Sep 17 00:00:00 2001 |
|||
From: Anatol Belski <ab@php.net> |
|||
Date: Thu, 29 Mar 2018 14:12:19 +0200 |
|||
Subject: [PATCH] Adjust tests for ICU 61.1 compatibility |
|||
|
|||
---
|
|||
ext/intl/tests/formatter_format6.phpt | 3 +- |
|||
ext/intl/tests/formatter_format7.phpt | 130 ++++++++++++++++++ |
|||
.../tests/rbbiter_getBinaryRules_basic.phpt | 3 +- |
|||
.../tests/rbbiter_getBinaryRules_basic2.phpt | 57 ++++++++ |
|||
.../tests/rbbiter_getRuleStatusVec_basic.phpt | 4 +- |
|||
ext/intl/tests/rbbiter_getRules_basic.phpt | 7 +- |
|||
ext/intl/tests/rbbiter_getRules_basic2.phpt | 40 ++++++ |
|||
7 files changed, 236 insertions(+), 8 deletions(-) |
|||
create mode 100644 ext/intl/tests/formatter_format7.phpt |
|||
create mode 100644 ext/intl/tests/rbbiter_getBinaryRules_basic2.phpt |
|||
create mode 100644 ext/intl/tests/rbbiter_getRules_basic2.phpt |
|||
|
|||
diff --git a/ext/intl/tests/formatter_format6.phpt b/ext/intl/tests/formatter_format6.phpt
|
|||
index 80894c332ba4..70703785c140 100644
|
|||
--- a/ext/intl/tests/formatter_format6.phpt
|
|||
+++ b/ext/intl/tests/formatter_format6.phpt
|
|||
@@ -1,7 +1,8 @@
|
|||
--TEST-- |
|||
-numfmt_format() icu >= 56.1
|
|||
+numfmt_format() icu >= 56.1 && icu < 61.1
|
|||
--SKIPIF-- |
|||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> |
|||
+<?php if (version_compare(INTL_ICU_VERSION, '61.1') >= 0) die('skip for ICU < 61.1'); ?>
|
|||
<?php if (version_compare(INTL_ICU_VERSION, '56.1') < 0) die('skip for ICU >= 56.1'); ?> |
|||
--FILE-- |
|||
<?php |
|||
diff --git a/ext/intl/tests/formatter_format7.phpt b/ext/intl/tests/formatter_format7.phpt
|
|||
new file mode 100644 |
|||
index 000000000000..088c526c7022
|
|||
--- /dev/null
|
|||
+++ b/ext/intl/tests/formatter_format7.phpt
|
|||
@@ -0,0 +1,130 @@
|
|||
+--TEST--
|
|||
+numfmt_format() icu >= 61.1
|
|||
+--SKIPIF--
|
|||
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|||
+<?php if (version_compare(INTL_ICU_VERSION, '61.1') < 0) die('skip for ICU >= 61.1'); ?>
|
|||
+--FILE--
|
|||
+<?php
|
|||
+
|
|||
+/*
|
|||
+ * Format a number using misc locales/patterns.
|
|||
+ */
|
|||
+
|
|||
+/*
|
|||
+ * TODO: doesn't pass on ICU 3.6 because 'ru' and 'de' locales changed
|
|||
+ * currency and percent formatting.
|
|||
+ */
|
|||
+
|
|||
+function ut_main()
|
|||
+{
|
|||
+ $styles = array(
|
|||
+ NumberFormatter::PATTERN_DECIMAL => '##.#####################',
|
|||
+ NumberFormatter::DECIMAL => '',
|
|||
+ NumberFormatter::CURRENCY => '',
|
|||
+ NumberFormatter::PERCENT => '',
|
|||
+ NumberFormatter::SCIENTIFIC => '',
|
|||
+ NumberFormatter::SPELLOUT => '@@@@@@@',
|
|||
+ NumberFormatter::ORDINAL => '',
|
|||
+ NumberFormatter::DURATION => '',
|
|||
+ NumberFormatter::PATTERN_RULEBASED => '#####.###',
|
|||
+ 1234999, // bad one
|
|||
+ );
|
|||
+
|
|||
+ $integer = array(
|
|||
+ NumberFormatter::ORDINAL => '',
|
|||
+ NumberFormatter::DURATION => '',
|
|||
+ );
|
|||
+ $locales = array(
|
|||
+ 'en_US',
|
|||
+ 'ru_UA',
|
|||
+ 'de',
|
|||
+ 'fr',
|
|||
+ 'en_UK'
|
|||
+ );
|
|||
+
|
|||
+ $str_res = '';
|
|||
+ $number = 1234567.891234567890000;
|
|||
+
|
|||
+ foreach( $locales as $locale )
|
|||
+ {
|
|||
+ $str_res .= "\nLocale is: $locale\n";
|
|||
+ foreach( $styles as $style => $pattern )
|
|||
+ {
|
|||
+ $fmt = ut_nfmt_create( $locale, $style, $pattern );
|
|||
+
|
|||
+ if(!$fmt) {
|
|||
+ $str_res .= "Bad formatter!\n";
|
|||
+ continue;
|
|||
+ }
|
|||
+ $str_res .= dump( isset($integer[$style])?ut_nfmt_format( $fmt, $number, NumberFormatter::TYPE_INT32):ut_nfmt_format( $fmt, $number ) ) . "\n";
|
|||
+ }
|
|||
+ }
|
|||
+ return $str_res;
|
|||
+}
|
|||
+
|
|||
+include_once( 'ut_common.inc' );
|
|||
+
|
|||
+// Run the test
|
|||
+ut_run();
|
|||
+
|
|||
+?>
|
|||
+--EXPECTREGEX--
|
|||
+Locale is: en_US
|
|||
+'1234567.8912345\d+'
|
|||
+'1,234,567.891'
|
|||
+'\$1,234,567.89'
|
|||
+'123,456,789%'
|
|||
+'1.2345678912345\d+E6'
|
|||
+'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five( six)? seven( nine)?'
|
|||
+'1,234,567(th|ᵗʰ)'
|
|||
+'342:56:07'
|
|||
+'#####.###'
|
|||
+'USD1,234,567.89'
|
|||
+
|
|||
+Locale is: ru_UA
|
|||
+'1234567.8912345\d+'
|
|||
+'1 234 567,891'
|
|||
+'1 234 567,89 ?(грн\.|₴)'
|
|||
+'123 456 789 ?%'
|
|||
+'1.2345678912345\d+E6'
|
|||
+'один миллион двести тридцать четыре тысячи пятьсот шестьдесят семь целых восемьдесят девять миллионов сто двадцать три тысячи четыреста пятьдесят семь стомиллионных'
|
|||
+'1 234 567.?'
|
|||
+'1 234 567'
|
|||
+'#####.###'
|
|||
+'1 234 567,89 UAH'
|
|||
+
|
|||
+Locale is: de
|
|||
+'1234567.8912345\d+'
|
|||
+'1.234.567,891'
|
|||
+'(¤ )?1.234.567,89( ¤)?'
|
|||
+'123\.456\.789 %'
|
|||
+'1.2345678912345\d+E6'
|
|||
+'eine Million zweihundertvierunddreißigtausendfünfhundertsiebenundsechzig Komma acht neun eins zwei drei vier fünf( sechs)? sieben( neun)?'
|
|||
+'1.234.567.?'
|
|||
+'1.234.567'
|
|||
+'#####.###'
|
|||
+'1.234.567,89 ¤¤'
|
|||
+
|
|||
+Locale is: fr
|
|||
+'1234567.8912345\d+'
|
|||
+'1 234 567,891'
|
|||
+'1 234 567,89 ¤'
|
|||
+'123 456 789 ?%'
|
|||
+'1.2345678912345\d+E6'
|
|||
+'un million deux cent trente-quatre mille cinq cent soixante-sept virgule huit neuf un deux trois quatre cinq( six)? sept( neuf)?'
|
|||
+'1 234 567e'
|
|||
+'1 234 567'
|
|||
+'#####.###'
|
|||
+'1 234 567,89 ¤¤'
|
|||
+
|
|||
+Locale is: en_UK
|
|||
+'1234567.8912345\d+'
|
|||
+'1,234,567.891'
|
|||
+'¤1,234,567.89'
|
|||
+'123,456,789%'
|
|||
+'1.2345678912345\d+E6'
|
|||
+'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five( six)? seven( nine)?'
|
|||
+'1,234,567(th|ᵗʰ)'
|
|||
+'342:56:07'
|
|||
+'#####.###'
|
|||
+'¤¤1,234,567.89'
|
|||
diff --git a/ext/intl/tests/rbbiter_getBinaryRules_basic.phpt b/ext/intl/tests/rbbiter_getBinaryRules_basic.phpt
|
|||
index dce0714d4dd4..95ea31108804 100644
|
|||
--- a/ext/intl/tests/rbbiter_getBinaryRules_basic.phpt
|
|||
+++ b/ext/intl/tests/rbbiter_getBinaryRules_basic.phpt
|
|||
@@ -2,6 +2,7 @@
|
|||
IntlRuleBasedBreakIterator::getBinaryRules(): basic test |
|||
--SKIPIF-- |
|||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> |
|||
+<?php if (version_compare(INTL_ICU_VERSION, '61.1') >= 0) die('skip for ICU < 61.1'); ?>
|
|||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip ICU >= 4.8 only'; ?> |
|||
--FILE-- |
|||
<?php |
|||
@@ -22,7 +23,7 @@ $rules = <<<RULES
|
|||
!!safe_reverse; |
|||
RULES; |
|||
$rbbi = new IntlRuleBasedBreakIterator($rules); |
|||
-$rbbi->setText('sdfkjsdf88á.... ,;');;
|
|||
+$rbbi->setText('sdfkjsdf88á.... ,;');
|
|||
|
|||
$br = $rbbi->getBinaryRules(); |
|||
|
|||
diff --git a/ext/intl/tests/rbbiter_getBinaryRules_basic2.phpt b/ext/intl/tests/rbbiter_getBinaryRules_basic2.phpt
|
|||
new file mode 100644 |
|||
index 000000000000..f3b6c6cb34c0
|
|||
--- /dev/null
|
|||
+++ b/ext/intl/tests/rbbiter_getBinaryRules_basic2.phpt
|
|||
@@ -0,0 +1,57 @@
|
|||
+--TEST--
|
|||
+IntlRuleBasedBreakIterator::getBinaryRules(): basic test
|
|||
+--SKIPIF--
|
|||
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|||
+<?php if(version_compare(INTL_ICU_VERSION, '61.1') < 0) print 'skip ICU >= 61.1 only'; ?>
|
|||
+--FILE--
|
|||
+<?php
|
|||
+ini_set("intl.error_level", E_WARNING);
|
|||
+ini_set("intl.default_locale", "pt_PT");
|
|||
+
|
|||
+$rules = <<<RULES
|
|||
+\$LN = [[:letter:] [:number:]];
|
|||
+\$S = [.;,:];
|
|||
+
|
|||
+!!forward;
|
|||
+\$LN+ {1};
|
|||
+\$S+ {42};
|
|||
+!!reverse;
|
|||
+\$LN+ {1};
|
|||
+\$S+ {42};
|
|||
+!!safe_forward;
|
|||
+!!safe_reverse;
|
|||
+RULES;
|
|||
+$rbbi = new IntlRuleBasedBreakIterator($rules);
|
|||
+$rbbi->setText('sdfkjsdf88á.... ,;');
|
|||
+
|
|||
+$br = $rbbi->getBinaryRules();
|
|||
+
|
|||
+$rbbi2 = new IntlRuleBasedBreakIterator($br, true);
|
|||
+
|
|||
+var_dump($rbbi->getRules(), $rbbi2->getRules());
|
|||
+var_dump($rbbi->getRules() == $rbbi2->getRules());
|
|||
+?>
|
|||
+==DONE==
|
|||
+--EXPECT--
|
|||
+string(137) "$LN = [[:letter:] [:number:]];
|
|||
+$S = [.;,:];
|
|||
+!!forward;
|
|||
+$LN+ {1};
|
|||
+$S+ {42};
|
|||
+!!reverse;
|
|||
+$LN+ {1};
|
|||
+$S+ {42};
|
|||
+!!safe_forward;
|
|||
+!!safe_reverse;"
|
|||
+string(137) "$LN = [[:letter:] [:number:]];
|
|||
+$S = [.;,:];
|
|||
+!!forward;
|
|||
+$LN+ {1};
|
|||
+$S+ {42};
|
|||
+!!reverse;
|
|||
+$LN+ {1};
|
|||
+$S+ {42};
|
|||
+!!safe_forward;
|
|||
+!!safe_reverse;"
|
|||
+bool(true)
|
|||
+==DONE==
|
|||
diff --git a/ext/intl/tests/rbbiter_getRuleStatusVec_basic.phpt b/ext/intl/tests/rbbiter_getRuleStatusVec_basic.phpt
|
|||
index a56f6bc48867..4a654508cc13 100644
|
|||
--- a/ext/intl/tests/rbbiter_getRuleStatusVec_basic.phpt
|
|||
+++ b/ext/intl/tests/rbbiter_getRuleStatusVec_basic.phpt
|
|||
@@ -25,7 +25,7 @@ $rules = <<<RULES
|
|||
!!safe_reverse; |
|||
RULES; |
|||
$rbbi = new IntlRuleBasedBreakIterator($rules); |
|||
-$rbbi->setText('sdfkjsdf88á.... ,;');;
|
|||
+$rbbi->setText('sdfkjsdf88á.... ,;');
|
|||
|
|||
do { |
|||
var_dump($rbbi->current(), $rbbi->getRuleStatusVec()); |
|||
@@ -56,4 +56,4 @@ array(1) {
|
|||
[0]=> |
|||
int(4) |
|||
} |
|||
-==DONE==
|
|||
\ No newline at end of file |
|||
+==DONE==
|
|||
diff --git a/ext/intl/tests/rbbiter_getRules_basic.phpt b/ext/intl/tests/rbbiter_getRules_basic.phpt
|
|||
index 2f7a40eb716b..3ad1a9231151 100644
|
|||
--- a/ext/intl/tests/rbbiter_getRules_basic.phpt
|
|||
+++ b/ext/intl/tests/rbbiter_getRules_basic.phpt
|
|||
@@ -1,9 +1,8 @@
|
|||
--TEST-- |
|||
IntlRuleBasedBreakIterator::getRules(): basic test |
|||
--SKIPIF-- |
|||
-<?php
|
|||
-if (!extension_loaded('intl'))
|
|||
- die('skip intl extension not enabled');
|
|||
+<?php if (!extension_loaded('intl')) die('skip intl extension not enabled'); ?>
|
|||
+<?php if (version_compare(INTL_ICU_VERSION, '61.1') >= 0) die('skip for ICU < 61.1'); ?>
|
|||
--FILE-- |
|||
<?php |
|||
ini_set("intl.error_level", E_WARNING); |
|||
@@ -29,4 +28,4 @@ var_dump($rbbi->getRules());
|
|||
==DONE== |
|||
--EXPECT-- |
|||
string(128) "$LN = [[:letter:] [:number:]];$S = [.;,:];!!forward;$LN+ {1};$S+ {42};!!reverse;$LN+ {1};$S+ {42};!!safe_forward;!!safe_reverse;" |
|||
-==DONE==
|
|||
\ No newline at end of file |
|||
+==DONE==
|
|||
diff --git a/ext/intl/tests/rbbiter_getRules_basic2.phpt b/ext/intl/tests/rbbiter_getRules_basic2.phpt
|
|||
new file mode 100644 |
|||
index 000000000000..67b3831aa2f3
|
|||
--- /dev/null
|
|||
+++ b/ext/intl/tests/rbbiter_getRules_basic2.phpt
|
|||
@@ -0,0 +1,40 @@
|
|||
+--TEST--
|
|||
+IntlRuleBasedBreakIterator::getRules(): basic test
|
|||
+--SKIPIF--
|
|||
+<?php if (!extension_loaded('intl')) die('skip intl extension not enabled'); ?>
|
|||
+<?php if (version_compare(INTL_ICU_VERSION, '61.1') < 0) die('skip for ICU >= 61.1'); ?>
|
|||
+--FILE--
|
|||
+<?php
|
|||
+ini_set("intl.error_level", E_WARNING);
|
|||
+ini_set("intl.default_locale", "pt_PT");
|
|||
+
|
|||
+$rules = <<<RULES
|
|||
+\$LN = [[:letter:] [:number:]];
|
|||
+\$S = [.;,:];
|
|||
+
|
|||
+!!forward;
|
|||
+\$LN+ {1};
|
|||
+\$S+ {42};
|
|||
+!!reverse;
|
|||
+\$LN+ {1};
|
|||
+\$S+ {42};
|
|||
+!!safe_forward;
|
|||
+!!safe_reverse;
|
|||
+RULES;
|
|||
+$rbbi = new IntlRuleBasedBreakIterator($rules);
|
|||
+var_dump($rbbi->getRules());
|
|||
+
|
|||
+?>
|
|||
+==DONE==
|
|||
+--EXPECT--
|
|||
+string(137) "$LN = [[:letter:] [:number:]];
|
|||
+$S = [.;,:];
|
|||
+!!forward;
|
|||
+$LN+ {1};
|
|||
+$S+ {42};
|
|||
+!!reverse;
|
|||
+$LN+ {1};
|
|||
+$S+ {42};
|
|||
+!!safe_forward;
|
|||
+!!safe_reverse;"
|
|||
+==DONE==
|
|||
From 8b104d789317d96f6d3e23e635f0ca288c0a23ee Mon Sep 17 00:00:00 2001 |
|||
From: Anatol Belski <ab@php.net> |
|||
Date: Fri, 30 Mar 2018 14:14:35 +0200 |
|||
Subject: [PATCH] Fix clang build, ref buf #76153 |
|||
|
|||
Clang only allows -std=c++11 for C++ source. |
|||
---
|
|||
ext/intl/config.m4 | 27 +++++++++++++++------------ |
|||
1 file changed, 15 insertions(+), 12 deletions(-) |
|||
|
|||
diff --git a/ext/intl/config.m4 b/ext/intl/config.m4
|
|||
index a496d8d70c3f..aea57102f6b8 100644
|
|||
--- a/ext/intl/config.m4
|
|||
+++ b/ext/intl/config.m4
|
|||
@@ -20,7 +20,6 @@ if test "$PHP_INTL" != "no"; then
|
|||
PHP_NEW_EXTENSION(intl, php_intl.c \ |
|||
intl_error.c \ |
|||
intl_convert.c \ |
|||
- intl_convertcpp.cpp \
|
|||
collator/collator.c \ |
|||
collator/collator_class.c \ |
|||
collator/collator_sort.c \ |
|||
@@ -32,8 +31,6 @@ if test "$PHP_INTL" != "no"; then
|
|||
collator/collator_is_numeric.c \ |
|||
collator/collator_error.c \ |
|||
common/common_error.c \ |
|||
- common/common_enum.cpp \
|
|||
- common/common_date.cpp \
|
|||
converter/converter.c \ |
|||
formatter/formatter.c \ |
|||
formatter/formatter_main.c \ |
|||
@@ -53,17 +50,12 @@ if test "$PHP_INTL" != "no"; then
|
|||
dateformat/dateformat_attr.c \ |
|||
dateformat/dateformat_data.c \ |
|||
dateformat/dateformat_format.c \ |
|||
- dateformat/dateformat_format_object.cpp \
|
|||
dateformat/dateformat_parse.c \ |
|||
- dateformat/dateformat_create.cpp \
|
|||
- dateformat/dateformat_attrcpp.cpp \
|
|||
- dateformat/dateformat_helpers.cpp \
|
|||
msgformat/msgformat.c \ |
|||
msgformat/msgformat_attr.c \ |
|||
msgformat/msgformat_class.c \ |
|||
msgformat/msgformat_data.c \ |
|||
msgformat/msgformat_format.c \ |
|||
- msgformat/msgformat_helpers.cpp \
|
|||
msgformat/msgformat_parse.c \ |
|||
grapheme/grapheme_string.c \ |
|||
grapheme/grapheme_util.c \ |
|||
@@ -73,6 +65,17 @@ if test "$PHP_INTL" != "no"; then
|
|||
transliterator/transliterator.c \ |
|||
transliterator/transliterator_class.c \ |
|||
transliterator/transliterator_methods.c \ |
|||
+ idn/idn.c \
|
|||
+ $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings,cxx)
|
|||
+
|
|||
+ PHP_ADD_SOURCES(PHP_EXT_DIR(intl), intl_convertcpp.cpp \
|
|||
+ common/common_enum.cpp \
|
|||
+ common/common_date.cpp \
|
|||
+ dateformat/dateformat_format_object.cpp \
|
|||
+ dateformat/dateformat_create.cpp \
|
|||
+ dateformat/dateformat_attrcpp.cpp \
|
|||
+ dateformat/dateformat_helpers.cpp \
|
|||
+ msgformat/msgformat_helpers.cpp \
|
|||
timezone/timezone_class.cpp \ |
|||
timezone/timezone_methods.cpp \ |
|||
calendar/calendar_class.cpp \ |
|||
@@ -83,9 +87,9 @@ if test "$PHP_INTL" != "no"; then
|
|||
breakiterator/breakiterator_methods.cpp \ |
|||
breakiterator/rulebasedbreakiterator_methods.cpp \ |
|||
breakiterator/codepointiterator_internal.cpp \ |
|||
- breakiterator/codepointiterator_methods.cpp \
|
|||
- idn/idn.c \
|
|||
- $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings $ICU_EXTRA_FLAGS,cxx)
|
|||
+ breakiterator/codepointiterator_methods.cpp, \
|
|||
+ $ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS $ICU_EXTRA_FLAGS)
|
|||
+
|
|||
PHP_ADD_BUILD_DIR($ext_builddir/collator) |
|||
PHP_ADD_BUILD_DIR($ext_builddir/converter) |
|||
PHP_ADD_BUILD_DIR($ext_builddir/common) |
|||
From 2bd299f7318492fd7e5cafffa562d76ba60e69d4 Mon Sep 17 00:00:00 2001 |
|||
From: Anatol Belski <ab@php.net> |
|||
Date: Tue, 3 Apr 2018 10:42:14 +0200 |
|||
Subject: [PATCH] Fix shared ext/intl compilation |
|||
|
|||
---
|
|||
ext/intl/config.m4 | 11 ++++++++--- |
|||
1 file changed, 8 insertions(+), 3 deletions(-) |
|||
|
|||
diff --git a/ext/intl/config.m4 b/ext/intl/config.m4
|
|||
index aea57102f6b8..959ecd2b26a9 100644
|
|||
--- a/ext/intl/config.m4
|
|||
+++ b/ext/intl/config.m4
|
|||
@@ -68,7 +68,7 @@ if test "$PHP_INTL" != "no"; then
|
|||
idn/idn.c \ |
|||
$icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings,cxx) |
|||
|
|||
- PHP_ADD_SOURCES(PHP_EXT_DIR(intl), intl_convertcpp.cpp \
|
|||
+ PHP_INTL_CPP_SOURCES="intl_convertcpp.cpp \
|
|||
common/common_enum.cpp \ |
|||
common/common_date.cpp \ |
|||
dateformat/dateformat_format_object.cpp \ |
|||
@@ -86,8 +86,13 @@ if test "$PHP_INTL" != "no"; then
|
|||
breakiterator/breakiterator_methods.cpp \ |
|||
breakiterator/rulebasedbreakiterator_methods.cpp \ |
|||
breakiterator/codepointiterator_internal.cpp \ |
|||
- breakiterator/codepointiterator_methods.cpp, \
|
|||
- $ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS $ICU_EXTRA_FLAGS)
|
|||
+ breakiterator/codepointiterator_methods.cpp"
|
|||
+ PHP_INTL_CPP_FLAGS="$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS $ICU_EXTRA_FLAGS"
|
|||
+ if test "$ext_shared" = "no"; then
|
|||
+ PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS)
|
|||
+ else
|
|||
+ PHP_ADD_SOURCES_X(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS, shared_objects_intl, yes)
|
|||
+ fi
|
|||
|
|||
PHP_ADD_BUILD_DIR($ext_builddir/collator) |
|||
PHP_ADD_BUILD_DIR($ext_builddir/converter) |
|||
From ed5aabe8b78d8487ffc6091e0670753d59bb7f5a Mon Sep 17 00:00:00 2001 |
|||
From: Anatol Belski <ab@php.net> |
|||
Date: Thu, 5 Apr 2018 14:52:40 +0200 |
|||
Subject: [PATCH] Rename var |
|||
|
|||
---
|
|||
acinclude.m4 | 4 ++-- |
|||
ext/intl/config.m4 | 2 +- |
|||
2 files changed, 3 insertions(+), 3 deletions(-) |
|||
|
|||
diff --git a/acinclude.m4 b/acinclude.m4
|
|||
index 3881b2da93d6..c63edd309e9f 100644
|
|||
--- a/acinclude.m4
|
|||
+++ b/acinclude.m4
|
|||
@@ -2245,8 +2245,8 @@ AC_DEFUN([PHP_SETUP_ICU],[
|
|||
PHP_EVAL_INCLINE($ICU_INCS) |
|||
PHP_EVAL_LIBLINE($ICU_LIBS, $1) |
|||
|
|||
- ICU_EXTRA_FLAGS=`$ICU_CONFIG --cxxflags`
|
|||
- ICU_EXTRA_FLAGS="$ICU_EXTRA_FLAGS -DU_USING_ICU_NAMESPACE=1"
|
|||
+ ICU_CXXFLAGS=`$ICU_CONFIG --cxxflags`
|
|||
+ ICU_CXXFLAGS="$ICU_CXXFLAGS -DU_USING_ICU_NAMESPACE=1"
|
|||
fi |
|||
]) |
|||
|
|||
diff --git a/ext/intl/config.m4 b/ext/intl/config.m4
|
|||
index 959ecd2b26a9..e8428e1cbbe8 100644
|
|||
--- a/ext/intl/config.m4
|
|||
+++ b/ext/intl/config.m4
|
|||
@@ -87,7 +87,7 @@ if test "$PHP_INTL" != "no"; then
|
|||
breakiterator/rulebasedbreakiterator_methods.cpp \ |
|||
breakiterator/codepointiterator_internal.cpp \ |
|||
breakiterator/codepointiterator_methods.cpp" |
|||
- PHP_INTL_CPP_FLAGS="$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS $ICU_EXTRA_FLAGS"
|
|||
+ PHP_INTL_CPP_FLAGS="$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS $ICU_CXXFLAGS"
|
|||
if test "$ext_shared" = "no"; then |
|||
PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS) |
|||
else |
|||
From 09d7ffabcd99fe9b99c4206f321fecc506635072 Mon Sep 17 00:00:00 2001 |
|||
From: Anatol Belski <ab@php.net> |
|||
Date: Thu, 5 Apr 2018 16:44:12 +0200 |
|||
Subject: [PATCH] Group common flags |
|||
|
|||
---
|
|||
ext/intl/config.m4 | 11 ++++++----- |
|||
1 file changed, 6 insertions(+), 5 deletions(-) |
|||
|
|||
diff --git a/ext/intl/config.m4 b/ext/intl/config.m4
|
|||
index e8428e1cbbe8..52408f8e9183 100644
|
|||
--- a/ext/intl/config.m4
|
|||
+++ b/ext/intl/config.m4
|
|||
@@ -9,6 +9,7 @@ if test "$PHP_INTL" != "no"; then
|
|||
PHP_SETUP_ICU(INTL_SHARED_LIBADD) |
|||
PHP_SUBST(INTL_SHARED_LIBADD) |
|||
PHP_REQUIRE_CXX() |
|||
+ INTL_COMMON_FLAGS="$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS"
|
|||
if test "$icu_version" -ge "4002"; then |
|||
icu_spoof_src=" spoofchecker/spoofchecker_class.c \ |
|||
spoofchecker/spoofchecker.c\ |
|||
@@ -66,9 +67,9 @@ if test "$PHP_INTL" != "no"; then
|
|||
transliterator/transliterator_class.c \ |
|||
transliterator/transliterator_methods.c \ |
|||
idn/idn.c \ |
|||
- $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings,cxx)
|
|||
+ $icu_spoof_src, $ext_shared,,$INTL_COMMON_FLAGS,cxx)
|
|||
|
|||
- PHP_INTL_CPP_SOURCES="intl_convertcpp.cpp \
|
|||
+ PHP_INTL_CXX_SOURCES="intl_convertcpp.cpp \
|
|||
common/common_enum.cpp \ |
|||
common/common_date.cpp \ |
|||
dateformat/dateformat_format_object.cpp \ |
|||
@@ -87,11 +88,11 @@ if test "$PHP_INTL" != "no"; then
|
|||
breakiterator/rulebasedbreakiterator_methods.cpp \ |
|||
breakiterator/codepointiterator_internal.cpp \ |
|||
breakiterator/codepointiterator_methods.cpp" |
|||
- PHP_INTL_CPP_FLAGS="$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS $ICU_CXXFLAGS"
|
|||
+ PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $ICU_CXXFLAGS"
|
|||
if test "$ext_shared" = "no"; then |
|||
- PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS)
|
|||
+ PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CXX_SOURCES, $PHP_INTL_CXX_FLAGS)
|
|||
else |
|||
- PHP_ADD_SOURCES_X(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS, shared_objects_intl, yes)
|
|||
+ PHP_ADD_SOURCES_X(PHP_EXT_DIR(intl), $PHP_INTL_CXX_SOURCES, $PHP_INTL_CXX_FLAGS, shared_objects_intl, yes)
|
|||
fi |
|||
|
|||
PHP_ADD_BUILD_DIR($ext_builddir/collator) |
@ -0,0 +1,13 @@ |
|||
[Unit] |
|||
Description=The PHP FastCGI Process Manager |
|||
After=network.target |
|||
|
|||
[Service] |
|||
Type=simple |
|||
PIDFile=/run/php-fpm/php-fpm-%I.pid |
|||
ExecStart=/usr/libexec/php-fpm-launcher php%I -y /etc/php/fpm-php%I/php-fpm.conf --nodaemonize |
|||
ExecReload=/bin/kill -USR2 $MAINPID |
|||
PrivateTmp=true |
|||
|
|||
[Install] |
|||
WantedBy=multi-user.target |
@ -0,0 +1,14 @@ |
|||
[Unit] |
|||
Description=The PHP FastCGI Process Manager |
|||
After=network.target |
|||
|
|||
[Service] |
|||
Type=notify |
|||
PIDFile=/run/php-fpm/php-fpm-%I.pid |
|||
ExecStart=/usr/libexec/php-fpm-launcher php%I -y /etc/php/fpm-php%I/php-fpm.conf --nodaemonize |
|||
ExecReload=/bin/kill -USR2 $MAINPID |
|||
PrivateTmp=true |
|||
|
|||
[Install] |
|||
WantedBy=multi-user.target |
|||
|
@ -0,0 +1,233 @@ |
|||
--- a/ext/gd/config.m4 2018-04-24 11:09:54.000000000 -0400
|
|||
+++ b/ext/gd/config.m4 2018-05-04 15:18:49.867283889 -0400
|
|||
@@ -186,21 +186,36 @@
|
|||
AC_DEFUN([PHP_GD_FREETYPE2],[ |
|||
if test "$PHP_FREETYPE_DIR" != "no"; then |
|||
|
|||
- for i in $PHP_FREETYPE_DIR /usr/local /usr; do
|
|||
- if test -f "$i/bin/freetype-config"; then
|
|||
- FREETYPE2_DIR=$i
|
|||
- FREETYPE2_CONFIG="$i/bin/freetype-config"
|
|||
- break
|
|||
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
|
|||
+ AC_MSG_CHECKING(for freetype2)
|
|||
+
|
|||
+ if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists freetype2 ; then
|
|||
+
|
|||
+ FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags freetype2`
|
|||
+ FREETYPE2_LIBS=`$PKG_CONFIG --libs freetype2`
|
|||
+ FREETYPE2_VERSION=`$PKG_CONFIG --modversion freetype2`
|
|||
+ FREETYPE2_DIR="found"
|
|||
+
|
|||
+ AC_MSG_RESULT(from pkgconfig: version $FREETYPE2_VERSION found)
|
|||
+ else
|
|||
+
|
|||
+ for i in $PHP_FREETYPE_DIR /usr/local /usr; do
|
|||
+ if test -f "$i/bin/freetype-config"; then
|
|||
+ FREETYPE2_DIR=$i
|
|||
+ FREETYPE2_CONFIG="$i/bin/freetype-config"
|
|||
+ break
|
|||
+ fi
|
|||
+ done
|
|||
+
|
|||
+ if test -z "$FREETYPE2_DIR"; then
|
|||
+ AC_MSG_ERROR([freetype-config not found.])
|
|||
fi |
|||
- done
|
|||
|
|||
- if test -z "$FREETYPE2_DIR"; then
|
|||
- AC_MSG_ERROR([freetype-config not found.])
|
|||
+ FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
|
|||
+ FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
|
|||
+ AC_MSG_RESULT(found via freetype-config)
|
|||
fi |
|||
|
|||
- FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
|
|||
- FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
|
|||
-
|
|||
PHP_EVAL_INCLINE($FREETYPE2_CFLAGS) |
|||
PHP_EVAL_LIBLINE($FREETYPE2_LIBS, GD_SHARED_LIBADD) |
|||
AC_DEFINE(HAVE_LIBFREETYPE,1,[ ]) |
|||
--- a/configure 2018-04-24 11:10:05.000000000 -0400
|
|||
+++ b/configure 2018-05-04 15:18:45.626367913 -0400
|
|||
@@ -34348,21 +34348,79 @@
|
|||
|
|||
if test "$PHP_FREETYPE_DIR" != "no"; then |
|||
|
|||
- for i in $PHP_FREETYPE_DIR /usr/local /usr; do
|
|||
- if test -f "$i/bin/freetype-config"; then
|
|||
- FREETYPE2_DIR=$i
|
|||
- FREETYPE2_CONFIG="$i/bin/freetype-config"
|
|||
- break
|
|||
+ # Extract the first word of "pkg-config", so it can be a program name with args.
|
|||
+set dummy pkg-config; ac_word=$2
|
|||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
|||
+$as_echo_n "checking for $ac_word... " >&6; }
|
|||
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
|
|||
+ $as_echo_n "(cached) " >&6
|
|||
+else
|
|||
+ case $PKG_CONFIG in
|
|||
+ [\\/]* | ?:[\\/]*)
|
|||
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
|
|||
+ ;;
|
|||
+ *)
|
|||
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
|||
+for as_dir in $PATH
|
|||
+do
|
|||
+ IFS=$as_save_IFS
|
|||
+ test -z "$as_dir" && as_dir=.
|
|||
+ for ac_exec_ext in '' $ac_executable_extensions; do
|
|||
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
|||
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
|||
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
|||
+ break 2
|
|||
+ fi
|
|||
+done
|
|||
+ done
|
|||
+IFS=$as_save_IFS
|
|||
+
|
|||
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
|
|||
+ ;;
|
|||
+esac
|
|||
+fi
|
|||
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
|
|||
+if test -n "$PKG_CONFIG"; then
|
|||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
|
|||
+$as_echo "$PKG_CONFIG" >&6; }
|
|||
+else
|
|||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|||
+$as_echo "no" >&6; }
|
|||
+fi
|
|||
+
|
|||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype2" >&5
|
|||
+$as_echo_n "checking for freetype2... " >&6; }
|
|||
+
|
|||
+
|
|||
+ if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists freetype2 ; then
|
|||
+
|
|||
+ FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags freetype2`
|
|||
+ FREETYPE2_LIBS=`$PKG_CONFIG --libs freetype2`
|
|||
+ FREETYPE2_VERSION=`$PKG_CONFIG --modversion freetype2`
|
|||
+ FREETYPE2_DIR="found"
|
|||
+
|
|||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: from pkgconfig: version $FREETYPE2_VERSION found" >&5
|
|||
+$as_echo "from pkgconfig: version $FREETYPE2_VERSION found" >&6; }
|
|||
+ else
|
|||
+
|
|||
+ for i in $PHP_FREETYPE_DIR /usr/local /usr; do
|
|||
+ if test -f "$i/bin/freetype-config"; then
|
|||
+ FREETYPE2_DIR=$i
|
|||
+ FREETYPE2_CONFIG="$i/bin/freetype-config"
|
|||
+ break
|
|||
+ fi
|
|||
+ done
|
|||
+
|
|||
+ if test -z "$FREETYPE2_DIR"; then
|
|||
+ as_fn_error $? "freetype-config not found." "$LINENO" 5
|
|||
fi |
|||
- done
|
|||
|
|||
- if test -z "$FREETYPE2_DIR"; then
|
|||
- as_fn_error $? "freetype-config not found." "$LINENO" 5
|
|||
+ FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
|
|||
+ FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
|
|||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found via freetype-config" >&5
|
|||
+$as_echo "found via freetype-config" >&6; }
|
|||
fi |
|||
|
|||
- FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
|
|||
- FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
|
|||
-
|
|||
|
|||
for ac_i in $FREETYPE2_CFLAGS; do |
|||
case $ac_i in |
|||
@@ -36019,21 +36076,78 @@
|
|||
|
|||
if test "$PHP_FREETYPE_DIR" != "no"; then |
|||
|
|||
- for i in $PHP_FREETYPE_DIR /usr/local /usr; do
|
|||
- if test -f "$i/bin/freetype-config"; then
|
|||
- FREETYPE2_DIR=$i
|
|||
- FREETYPE2_CONFIG="$i/bin/freetype-config"
|
|||
- break
|
|||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype2" >&5
|
|||
+$as_echo_n "checking for freetype2... " >&6; }
|
|||
+ # Extract the first word of "pkg-config", so it can be a program name with args.
|
|||
+set dummy pkg-config; ac_word=$2
|
|||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
|||
+$as_echo_n "checking for $ac_word... " >&6; }
|
|||
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
|
|||
+ $as_echo_n "(cached) " >&6
|
|||
+else
|
|||
+ case $PKG_CONFIG in
|
|||
+ [\\/]* | ?:[\\/]*)
|
|||
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
|
|||
+ ;;
|
|||
+ *)
|
|||
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
|||
+for as_dir in $PATH
|
|||
+do
|
|||
+ IFS=$as_save_IFS
|
|||
+ test -z "$as_dir" && as_dir=.
|
|||
+ for ac_exec_ext in '' $ac_executable_extensions; do
|
|||
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
|||
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
|||
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
|||
+ break 2
|
|||
+ fi
|
|||
+done
|
|||
+ done
|
|||
+IFS=$as_save_IFS
|
|||
+
|
|||
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
|
|||
+ ;;
|
|||
+esac
|
|||
+fi
|
|||
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
|
|||
+if test -n "$PKG_CONFIG"; then
|
|||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
|
|||
+$as_echo "$PKG_CONFIG" >&6; }
|
|||
+else
|
|||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|||
+$as_echo "no" >&6; }
|
|||
+fi
|
|||
+
|
|||
+
|
|||
+
|
|||
+ if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists freetype2 ; then
|
|||
+
|
|||
+ FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags freetype2`
|
|||
+ FREETYPE2_LIBS=`$PKG_CONFIG --libs freetype2`
|
|||
+ FREETYPE2_VERSION=`$PKG_CONFIG --modversion freetype2`
|
|||
+
|
|||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: from pkgconfig: version $FREETYPE_VERSON found" >&5
|
|||
+$as_echo "from pkgconfig: version $FREETYPE_VERSON found" >&6; }
|
|||
+ else
|
|||
+
|
|||
+ for i in $PHP_FREETYPE_DIR /usr/local /usr; do
|
|||
+ if test -f "$i/bin/freetype-config"; then
|
|||
+ FREETYPE2_DIR=$i
|
|||
+ FREETYPE2_CONFIG="$i/bin/freetype-config"
|
|||
+ break
|
|||
+ fi
|
|||
+ done
|
|||
+
|
|||
+ if test -z "$FREETYPE2_DIR"; then
|
|||
+ as_fn_error $? "freetype-config not found." "$LINENO" 5
|
|||
fi |
|||
- done
|
|||
|
|||
- if test -z "$FREETYPE2_DIR"; then
|
|||
- as_fn_error $? "freetype-config not found." "$LINENO" 5
|
|||
+ FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
|
|||
+ FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
|
|||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found via freetype-config" >&5
|
|||
+$as_echo "found via freetype-config" >&6; }
|
|||
fi |
|||
|
|||
- FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
|
|||
- FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
|
|||
-
|
|||
|
|||
for ac_i in $FREETYPE2_CFLAGS; do |
|||
case $ac_i in |
@ -0,0 +1,57 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
|||
<pkgmetadata> |
|||
<maintainer type="project"> |
|||
<email>php-bugs@gentoo.org</email> |
|||
<name>PHP</name> |
|||
</maintainer> |
|||
<use> |
|||
<flag name="argon2">Enable password hashing algorithm from <pkg>app-crypt/argon2</pkg></flag> |
|||
<flag name="cli">Enable CLI SAPI</flag> |
|||
<flag name="coverage"> |
|||
Include gcov symbols for test coverage and lcov reports. Only |
|||
useful for extension developers, and requires GCC. |
|||
</flag> |
|||
<flag name="embed">Enable embed SAPI </flag> |
|||
<flag name="enchant">Add supports Enchant spelling library. </flag> |
|||
<flag name="fileinfo"> Add fileinfo extension support</flag> |
|||
<flag name="filter">Add filter extension support</flag> |
|||
<flag name="fpm">Enable the FastCGI Process Manager SAPI</flag> |
|||
<flag name="gd">Adds support for gd (bundled with PHP)</flag> |
|||
<flag name="hash">Enable the hash extension</flag> |
|||
<flag name="json">Enable JSON support</flag> |
|||
<flag name="ldap-sasl">Add SASL support for the PHP LDAP extension</flag> |
|||
<flag name="libmysqlclient"> |
|||
Use libmyslclient driver for mysql, mysqli, PDO_Mysql (not recommended) |
|||
</flag> |
|||
<flag name="lmdb">Enable support for <pkg>dev-db/lmdb</pkg> db backend</flag> |
|||
<flag name="intl"> |
|||
Enables the intl extension for extended internalization support |
|||
</flag> |
|||
<flag name="opcache"> |
|||
Enables built-in opcode cache, replacing pecl-apc et al. |
|||
</flag> |
|||
<flag name="pdo">Enable the bundled PDO extensions</flag> |
|||
<flag name="phar"> |
|||
Enables the phar extension to provide phar archive support |
|||
</flag> |
|||
<flag name="phpdbg"> |
|||
Enable the PHP Debug Command Line SAPI (like gdb for php) |
|||
</flag> |
|||
<flag name="session-mm"> |
|||
Include <pkg>dev-libs/mm</pkg> support for session storage |
|||
</flag> |
|||
<flag name="sodium"> |
|||
Enable support for crypto through <pkg>dev-libs/libsodium</pkg> |
|||
</flag> |
|||
<flag name="tokyocabinet"> |
|||
Enable support for <pkg>dev-db/tokyocabinet</pkg> db backend</flag> |
|||
<flag name="xmlreader">Enable XMLReader support</flag> |
|||
<flag name="xmlwriter">Enable XMLWriter support</flag> |
|||
<flag name="xslt">Enable the XSL extension</flag> |
|||
<flag name="vpx">Enable webp support for GD in php-5.x</flag> |
|||
<flag name="webp">Enable webp support for GD in php-7.x</flag> |
|||
<flag name="zip">Enable ZIP file support</flag> |
|||
<flag name="zip-encryption">Enable ZIP file encryption from <pkg>dev-libs/libzip</pkg></flag> |
|||
</use> |
|||
</pkgmetadata> |
@ -0,0 +1,783 @@ |
|||
# Copyright 1999-2018 Gentoo Foundation |
|||
# Distributed under the terms of the GNU General Public License v2 |
|||
|
|||
EAPI=6 |
|||
|
|||
inherit autotools flag-o-matic eapi7-ver systemd |
|||
|
|||
DESCRIPTION="The PHP language runtime engine" |
|||
HOMEPAGE="https://secure.php.net/" |
|||
SRC_URI="https://php.net/distributions/${P}.tar.xz" |
|||
|
|||
LICENSE="PHP-3.01 |
|||
BSD |
|||
Zend-2.0 |
|||
bcmath? ( LGPL-2.1+ ) |
|||
fpm? ( BSD-2 ) |
|||
gd? ( gd ) |
|||
unicode? ( BSD-2 LGPL-2.1 )" |
|||
|
|||
SLOT="$(ver_cut 1-2)" |
|||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" |
|||
|
|||
# We can build the following SAPIs in the given order |
|||
SAPIS="embed cli cgi fpm apache2" |
|||
|
|||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on): |
|||
IUSE="${IUSE} |
|||
${SAPIS/cli/+cli} |
|||
threads" |
|||
|
|||
IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk |
|||
coverage crypt +ctype curl debug |
|||
enchant exif +fileinfo +filter firebird |
|||
flatfile ftp gd gdbm gmp +hash +iconv imap inifile |
|||
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl |
|||
mhash mssql mysql libmysqlclient mysqli nls |
|||
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm |
|||
readline recode selinux +session sharedmem |
|||
+simplexml snmp soap sockets spell sqlite ssl |
|||
sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx |
|||
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" |
|||
|
|||
# The supported (that is, autodetected) versions of BDB are listed in |
|||
# the ./configure script. Other versions *work*, but we need to stick to |
|||
# the ones that can be detected to avoid a repeat of bug #564824. |
|||
COMMON_DEPEND=" |
|||
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?] |
|||
>=dev-libs/libpcre-8.32[unicode] |
|||
fpm? ( acl? ( sys-apps/acl ) ) |
|||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] |
|||
<www-servers/apache-2.4[threads=] ) ) |
|||
berkdb? ( || ( sys-libs/db:5.3 |
|||
sys-libs/db:5.1 |
|||
sys-libs/db:4.8 |
|||
sys-libs/db:4.7 |
|||
sys-libs/db:4.6 |
|||
sys-libs/db:4.5 ) ) |
|||
bzip2? ( app-arch/bzip2:0= ) |
|||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) |
|||
cjk? ( !gd? ( |
|||
virtual/jpeg:0 |
|||
media-libs/libpng:0= |
|||
sys-libs/zlib:0= |
|||
) ) |
|||
coverage? ( dev-util/lcov ) |
|||
crypt? ( >=dev-libs/libmcrypt-2.4 ) |
|||
curl? ( >=net-misc/curl-7.10.5 ) |
|||
enchant? ( app-text/enchant ) |
|||
exif? ( !gd? ( |
|||
virtual/jpeg:0 |
|||
media-libs/libpng:0= |
|||
sys-libs/zlib:0= |
|||
) ) |
|||
firebird? ( dev-db/firebird ) |
|||
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= ) |
|||
gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) |
|||
gmp? ( dev-libs/gmp:0= ) |
|||
iconv? ( virtual/libiconv ) |
|||
imap? ( virtual/imap-c-client[kerberos=,ssl=] ) |
|||
intl? ( >=dev-libs/icu-62.1:= ) |
|||
iodbc? ( dev-db/libiodbc ) |
|||
kerberos? ( virtual/krb5 ) |
|||
ldap? ( >=net-nds/openldap-1.2.11 ) |
|||
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) |
|||
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) |
|||
mssql? ( dev-db/freetds[mssql] ) |
|||
libmysqlclient? ( |
|||
mysql? ( virtual/libmysqlclient:= ) |
|||
mysqli? ( virtual/libmysqlclient:= ) |
|||
) |
|||
nls? ( sys-devel/gettext ) |
|||
oci8-instant-client? ( dev-db/oracle-instantclient-basic ) |
|||
odbc? ( >=dev-db/unixODBC-1.8.13 ) |
|||
postgres? ( dev-db/postgresql:* ) |
|||
qdbm? ( dev-db/qdbm ) |
|||
readline? ( sys-libs/readline:0= ) |
|||
recode? ( app-text/recode ) |
|||
sharedmem? ( dev-libs/mm ) |
|||
simplexml? ( >=dev-libs/libxml2-2.6.8 ) |
|||
snmp? ( >=net-analyzer/net-snmp-5.2 ) |
|||
soap? ( >=dev-libs/libxml2-2.6.8 ) |
|||
spell? ( >=app-text/aspell-0.50 ) |
|||
sqlite? ( >=dev-db/sqlite-3.7.6.3 ) |
|||
ssl? ( |
|||
!libressl? ( dev-libs/openssl:0= ) |
|||
libressl? ( dev-libs/libressl:0= ) |
|||
) |
|||
sybase-ct? ( dev-db/freetds ) |
|||
tidy? ( app-text/htmltidy ) |
|||
truetype? ( |
|||
=media-libs/freetype-2* |
|||
>=media-libs/t1lib-5.0.0 |
|||
!gd? ( |
|||
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= ) |
|||
) |
|||
unicode? ( dev-libs/oniguruma:= ) |
|||
vpx? ( media-libs/libvpx:0= ) |
|||
wddx? ( >=dev-libs/libxml2-2.6.8 ) |
|||
xml? ( >=dev-libs/libxml2-2.6.8 ) |
|||
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) |
|||
xmlreader? ( >=dev-libs/libxml2-2.6.8 ) |
|||
xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) |
|||
xpm? ( |
|||
x11-libs/libXpm |
|||
virtual/jpeg:0 |
|||
media-libs/libpng:0= sys-libs/zlib:0= |
|||
) |
|||
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) |
|||
zip? ( sys-libs/zlib:0= ) |
|||
zlib? ( sys-libs/zlib:0= ) |
|||
" |
|||
|
|||
RDEPEND="${COMMON_DEPEND} |
|||
virtual/mta |
|||
fpm? ( |
|||
selinux? ( sec-policy/selinux-phpfpm ) |
|||
systemd? ( sys-apps/systemd ) )" |
|||
|
|||
DEPEND="${COMMON_DEPEND} |
|||
app-arch/xz-utils |
|||
>=sys-devel/bison-3.0.1 |
|||
sys-devel/flex |
|||
>=sys-devel/m4-1.4.3 |
|||
>=sys-devel/libtool-1.5.18" |
|||
|
|||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang. |
|||
REQUIRED_USE=" |
|||
|| ( cli cgi fpm apache2 embed ) |
|||
cli? ( ^^ ( readline libedit ) ) |
|||
truetype? ( gd zlib ) |
|||
vpx? ( gd zlib ) |
|||
cjk? ( gd zlib ) |
|||
exif? ( gd zlib ) |
|||
xpm? ( gd zlib ) |
|||
gd? ( zlib ) |
|||
simplexml? ( xml ) |
|||
soap? ( xml ) |
|||
wddx? ( xml ) |
|||
xmlrpc? ( || ( xml iconv ) ) |
|||
xmlreader? ( xml ) |
|||
xslt? ( xml ) |
|||
ldap-sasl? ( ldap ) |
|||
mhash? ( hash ) |
|||
phar? ( hash ) |
|||
recode? ( !imap !mysql !mysqli !libmysqlclient ) |
|||
libmysqlclient? ( || ( |
|||
mysql |
|||
mysqli |
|||
pdo |
|||
) ) |
|||
|
|||
qdbm? ( !gdbm ) |
|||
readline? ( !libedit ) |
|||
sharedmem? ( !threads ) |
|||
" |
|||
|
|||
PHP_MV="$(ver_cut 1)" |
|||
|
|||
php_install_ini() { |
|||
local phpsapi="${1}" |
|||
|
|||
# work out where we are installing the ini file |
|||
php_set_ini_dir "${phpsapi}" |
|||
|
|||
# Always install the production INI file, bug 611214. |
|||
local phpinisrc="php.ini-production-${phpsapi}" |
|||
cp php.ini-production "${phpinisrc}" || die |
|||
|
|||
# default to /tmp for save_path, bug #282768 |
|||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die |
|||
|
|||
# Set the extension dir |
|||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ |
|||
-i "${phpinisrc}" || die |
|||
|
|||
# Set the include path to point to where we want to find PEAR packages |
|||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die |
|||
|
|||
dodir "${PHP_INI_DIR#${EPREFIX}}" |
|||
insinto "${PHP_INI_DIR#${EPREFIX}}" |
|||
newins "${phpinisrc}" php.ini |
|||
|
|||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" |
|||
elog |
|||
|
|||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" |
|||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" |
|||
|
|||
if use opcache; then |
|||
elog "Adding opcache to $PHP_EXT_INI_DIR" |
|||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ |
|||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini |
|||
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ |
|||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" |
|||
fi |
|||
|
|||
# SAPI-specific handling |
|||
if [[ "${sapi}" == "fpm" ]] ; then |
|||
einfo "Installing FPM config file php-fpm.conf" |
|||
insinto "${PHP_INI_DIR#${EPREFIX}}" |
|||
doins sapi/fpm/php-fpm.conf |
|||
fi |
|||
|
|||
dodoc php.ini-{development,production} |
|||
} |
|||
|
|||
php_set_ini_dir() { |
|||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" |
|||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" |
|||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" |
|||
} |
|||
|
|||
src_prepare() { |
|||
eapply "${FILESDIR}/php-${SLOT}-no-bison-warnings.patch" |
|||
eapply "${FILESDIR}/5.6-mbstring-oniguruma-6.8.patch" |
|||
eapply "${FILESDIR}/php-freetype-2.9.1.patch" |
|||
|
|||
# build fixes from fedora SRPM from remi |
|||
eapply "${FILESDIR}/php-5.3.0-recode.patch" |
|||
eapply "${FILESDIR}/php-5.6.30-interbase.patch" |
|||
eapply "${FILESDIR}/php-5.6.31-openssl11.patch" |
|||
eapply "${FILESDIR}/php-5.6.37-icu62.patch" |
|||
|
|||
# Change PHP branding |
|||
# Get the alpha/beta/rc version |
|||
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \ |
|||
-i configure.in || die "Unable to change PHP branding" |
|||
|
|||
# Patch PHP to show Gentoo as the server platform |
|||
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \ |
|||
-i configure.in || die "Failed to fix server platform name" |
|||
|
|||
# Prevent PHP from activating the Apache config, |
|||
# as we will do that ourselves |
|||
sed -i \ |
|||
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \ |
|||
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \ |
|||
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \ |
|||
|| die |
|||
|
|||
# Patch PHP to support heimdal instead of mit-krb5 |
|||
if has_version "app-crypt/heimdal" ; then |
|||
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \ |
|||
|| die "Failed to fix heimdal libname" |
|||
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \ |
|||
|| die "Failed to fix heimdal crypt library reference" |
|||
fi |
|||
|
|||
eapply_user |
|||
|
|||
# Force rebuilding aclocal.m4 |
|||
rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" |
|||
eautoreconf |
|||
|
|||
if [[ ${CHOST} == *-darwin* ]] ; then |
|||
# http://bugs.php.net/bug.php?id=48795, bug #343481 |
|||
sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die |
|||
fi |
|||
} |
|||
|
|||
src_configure() { |
|||
addpredict /usr/share/snmp/mibs/.index #nowarn |
|||
addpredict /var/lib/net-snmp/mib_indexes #nowarn |
|||
|
|||
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" |
|||
|
|||
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var |
|||
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. |
|||
local our_conf=( |
|||
--prefix="${PHP_DESTDIR}" |
|||
--mandir="${PHP_DESTDIR}/man" |
|||
--infodir="${PHP_DESTDIR}/info" |
|||
--libdir="${PHP_DESTDIR}/lib" |
|||
--with-libdir="$(get_libdir)" |
|||
--localstatedir="${EPREFIX}/var" |
|||
--without-pear |
|||
$(use_enable threads maintainer-zts) |
|||
) |
|||
|
|||
our_conf+=( |
|||
$(use_enable bcmath bcmath) |
|||
$(use_with bzip2 bz2 "${EPREFIX}/usr") |
|||
$(use_enable calendar calendar) |
|||
$(use_enable coverage gcov) |
|||
$(use_enable ctype ctype) |
|||
$(use_with curl curl "${EPREFIX}/usr") |
|||
$(use_enable xml dom) |
|||
$(use_with enchant enchant "${EPREFIX}/usr") |
|||
$(use_enable exif exif) |
|||
$(use_enable fileinfo fileinfo) |
|||
$(use_enable filter filter) |
|||
$(use_enable ftp ftp) |
|||
$(use_with nls gettext "${EPREFIX}/usr") |
|||
$(use_with gmp gmp "${EPREFIX}/usr") |
|||
$(use_enable hash hash) |
|||
$(use_with mhash mhash "${EPREFIX}/usr") |
|||
$(use_with iconv iconv \ |
|||
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) |
|||
$(use_enable intl intl) |
|||
$(use_enable ipv6 ipv6) |
|||
$(use_enable json json) |
|||
$(use_with kerberos kerberos "${EPREFIX}/usr") |
|||
$(use_enable xml libxml) |
|||
$(use_with xml libxml-dir "${EPREFIX}/usr") |
|||
$(use_enable unicode mbstring) |
|||
$(use_with crypt mcrypt "${EPREFIX}/usr") |
|||
$(use_with mssql mssql "${EPREFIX}/usr") |
|||
$(use_with unicode onig "${EPREFIX}/usr") |
|||
$(use_with ssl openssl "${EPREFIX}/usr") |
|||
$(use_with ssl openssl-dir "${EPREFIX}/usr") |
|||
$(use_enable pcntl pcntl) |
|||
$(use_enable phar phar) |
|||
$(use_enable pdo pdo) |
|||
$(use_enable opcache opcache) |
|||
$(use_with postgres pgsql "${EPREFIX}/usr") |
|||
$(use_enable posix posix) |
|||
$(use_with spell pspell "${EPREFIX}/usr") |
|||
$(use_with recode recode "${EPREFIX}/usr") |
|||
$(use_enable simplexml simplexml) |
|||
$(use_enable sharedmem shmop) |
|||
$(use_with snmp snmp "${EPREFIX}/usr") |
|||
$(use_enable soap soap) |
|||
$(use_enable sockets sockets) |
|||
$(use_with sqlite sqlite3 "${EPREFIX}/usr") |
|||
$(use_with sybase-ct sybase-ct "${EPREFIX}/usr") |
|||
$(use_enable sysvipc sysvmsg) |
|||
$(use_enable sysvipc sysvsem) |
|||
$(use_enable sysvipc sysvshm) |
|||
$(use_with tidy tidy "${EPREFIX}/usr") |
|||
$(use_enable tokenizer tokenizer) |
|||
$(use_enable wddx wddx) |
|||
$(use_enable xml xml) |
|||
$(use_enable xmlreader xmlreader) |
|||
$(use_enable xmlwriter xmlwriter) |
|||
$(use_with xmlrpc xmlrpc) |
|||
$(use_with xslt xsl "${EPREFIX}/usr") |
|||
$(use_enable zip zip) |
|||
$(use_with zlib zlib "${EPREFIX}/usr") |
|||
$(use_enable debug debug) |
|||
) |
|||
|
|||
# DBA support |
|||
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ |
|||
|| use qdbm ; then |
|||
our_conf+=( "--enable-dba${shared}" ) |
|||
fi |
|||
|
|||
# DBA drivers support |
|||
our_conf+=( |
|||
$(use_with cdb cdb) |
|||
$(use_with berkdb db4 "${EPREFIX}/usr") |
|||
$(use_enable flatfile flatfile) |
|||
$(use_with gdbm gdbm "${EPREFIX}/usr") |
|||
$(use_enable inifile inifile) |
|||
$(use_with qdbm qdbm "${EPREFIX}/usr") |
|||
) |
|||
|
|||
# Support for the GD graphics library |
|||
our_conf+=( |
|||
$(use_with truetype freetype-dir "${EPREFIX}/usr") |
|||
$(use_with truetype t1lib "${EPREFIX}/usr") |
|||
$(use_enable cjk gd-jis-conv) |
|||
$(use_with gd jpeg-dir "${EPREFIX}/usr") |
|||
$(use_with gd png-dir "${EPREFIX}/usr") |
|||
$(use_with xpm xpm-dir "${EPREFIX}/usr") |
|||
$(use_with vpx vpx-dir "${EPREFIX}/usr") |
|||
) |
|||
# enable gd last, so configure can pick up the previous settings |
|||
our_conf+=( $(use_with gd gd) ) |
|||
|
|||
# IMAP support |
|||
if use imap ; then |
|||
our_conf+=( |
|||
$(use_with imap imap "${EPREFIX}/usr") |
|||
$(use_with ssl imap-ssl "${EPREFIX}/usr") |
|||
) |
|||
fi |
|||
|
|||
# Interbase/firebird support |
|||
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) |
|||
|
|||
# LDAP support |
|||
if use ldap ; then |
|||
our_conf+=( |
|||
$(use_with ldap ldap "${EPREFIX}/usr") |
|||
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") |
|||
) |
|||
fi |
|||
|
|||
# MySQL support |
|||
local mysqllib="mysqlnd" |
|||
local mysqlilib="mysqlnd" |
|||
use libmysqlclient && mysqllib="${EPREFIX}/usr" |
|||
use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config" |
|||
|
|||
our_conf+=( $(use_with mysql mysql "${mysqllib}") ) |
|||
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) |
|||
|
|||
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" |
|||
if use mysql || use mysqli ; then |
|||
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) |
|||
fi |
|||
|
|||
# ODBC support |
|||
our_conf+=( |
|||
$(use_with odbc unixODBC "${EPREFIX}/usr") |
|||
$(use_with iodbc iodbc "${EPREFIX}/usr") |
|||
) |
|||
|
|||
# Oracle support |
|||
our_conf+=( $(use_with oci8-instant-client oci8) ) |
|||
|
|||
# PDO support |
|||
if use pdo ; then |
|||
our_conf+=( |
|||
$(use_with mssql pdo-dblib) |
|||
$(use_with mysql pdo-mysql "${mysqllib}") |
|||
$(use_with postgres pdo-pgsql) |
|||
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr") |
|||
$(use_with firebird pdo-firebird "${EPREFIX}/usr") |
|||
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") |
|||
$(use_with oci8-instant-client pdo-oci) |
|||
) |
|||
fi |
|||
|
|||
# readline/libedit support |
|||
our_conf+=( |
|||
$(use_with readline readline "${EPREFIX}/usr") |
|||
$(use_with libedit libedit "${EPREFIX}/usr") |
|||
) |
|||
|
|||
# Session support |
|||
if use session ; then |
|||
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") ) |
|||
else |
|||
our_conf+=( $(use_enable session session) ) |
|||
fi |
|||
|
|||
# Use pic for shared modules such as apache2's mod_php |
|||
our_conf+=( --with-pic ) |
|||
|
|||
# we use the system copy of pcre |
|||
# --with-pcre-regex affects ext/pcre |
|||
# --with-pcre-dir affects ext/filter and ext/zip |
|||
our_conf+=( |
|||
--with-pcre-regex="${EPREFIX}/usr" |
|||
--with-pcre-dir="${EPREFIX}/usr" |
|||
) |
|||
|
|||
# Catch CFLAGS problems |
|||
# Fixes bug #14067. |
|||
# Changed order to run it in reverse for bug #32022 and #12021. |
|||
replace-cpu-flags "k6*" "i586" |
|||
|
|||
# Cache the ./configure test results between SAPIs. |
|||
our_conf+=( --cache-file="${T}/config.cache" ) |
|||
|
|||
# Support user-passed configuration parameters |
|||
our_conf+=( ${EXTRA_ECONF:-} ) |
|||
|
|||
# Support the Apache2 extras, they must be set globally for all |
|||
# SAPIs to work correctly, especially for external PHP extensions |
|||
|
|||
mkdir -p "${WORKDIR}/sapis-build" || die |
|||
for one_sapi in $SAPIS ; do |
|||
use "${one_sapi}" || continue |
|||
php_set_ini_dir "${one_sapi}" |
|||
|
|||
# The BUILD_DIR variable is used to determine where to output |
|||
# the files that autotools creates. This was all originally |
|||
# based on the autotools-utils eclass. |
|||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" |
|||
cp -a "${S}" "${BUILD_DIR}" || die |
|||
cd "${BUILD_DIR}" || die |
|||
|
|||
local sapi_conf=( |
|||
--with-config-file-path="${PHP_INI_DIR}" |
|||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" |
|||
) |
|||
|
|||
for sapi in $SAPIS ; do |
|||
case "$sapi" in |
|||
cli|cgi|embed|fpm) |
|||
if [[ "${one_sapi}" == "${sapi}" ]] ; then |
|||
sapi_conf+=( "--enable-${sapi}" ) |
|||
if [[ "fpm" == "${sapi}" ]] ; then |
|||
sapi_conf+=( |
|||
$(use_with acl fpm-acl) |
|||
$(use_with systemd fpm-systemd) |
|||
) |
|||
fi |
|||
else |
|||
sapi_conf+=( "--disable-${sapi}" ) |
|||
fi |
|||
;; |
|||
|
|||
apache2) |
|||
if [[ "${one_sapi}" == "${sapi}" ]] ; then |
|||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) |
|||
else |
|||
sapi_conf+=( --without-apxs2 ) |
|||
fi |
|||
;; |
|||
esac |
|||
done |
|||
|
|||
# Construct the $myeconfargs array by concatenating $our_conf |
|||
# (the common args) and $sapi_conf (the SAPI-specific args). |
|||
local myeconfargs=( "${our_conf[@]}" ) |
|||
myeconfargs+=( "${sapi_conf[@]}" ) |
|||
|
|||
pushd "${BUILD_DIR}" > /dev/null || die |
|||
econf "${myeconfargs[@]}" |
|||
popd > /dev/null || die |
|||
done |
|||
} |
|||
|
|||
src_compile() { |
|||
# snmp seems to run during src_compile, too (bug #324739) |
|||
addpredict /usr/share/snmp/mibs/.index #nowarn |
|||
addpredict /var/lib/net-snmp/mib_indexes #nowarn |
|||
|
|||
for sapi in ${SAPIS} ; do |
|||
if use "${sapi}"; then |
|||
cd "${WORKDIR}/sapis-build/$sapi" || \ |
|||
die "Failed to change dir to ${WORKDIR}/sapis-build/$1" |
|||
emake |
|||
fi |
|||
done |
|||
} |
|||
|
|||
src_install() { |
|||
# see bug #324739 for what happens when we don't have that |
|||
addpredict /usr/share/snmp/mibs/.index #nowarn |
|||
|
|||
# grab the first SAPI that got built and install common files from there |
|||
local first_sapi="" |
|||
for sapi in $SAPIS ; do |
|||
if use $sapi ; then |
|||
first_sapi=$sapi |
|||
break |
|||
fi |
|||
done |
|||
|
|||
# Makefile forgets to create this before trying to write to it... |
|||
dodir "${PHP_DESTDIR#${EPREFIX}}/bin" |
|||
|
|||
# Install php environment (without any sapis) |
|||
cd "${WORKDIR}/sapis-build/$first_sapi" || die |
|||
emake INSTALL_ROOT="${D}" \ |
|||
install-build install-headers install-programs |
|||
|
|||
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" |
|||
|
|||
# Create the directory where we'll put version-specific php scripts |
|||
keepdir "/usr/share/php${PHP_MV}" |
|||
|
|||