commit:     523dcfa9e646dacf81f8e43bb9f1262bff211473
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 30 14:22:37 2016 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Fri Sep 30 15:05:12 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=523dcfa9

dev-lang/php: new 5.6 and 7.0 revisions with bison dependencies.

The PHP build system checks for the presence of bison (even if it will
not be needed), and it emits a warning if an appropriate version is
not found. In the 7.0.x series, this is easy to address by simply
adding a newish version of bison to DEPEND.

In the 5.6.x series, however, there is a bug in the bison version
check. A warning is emitted even when a suitable version of bison
(>= 3.0.1) is present on the system. So in that series, we have added
>=sys-devel/bison-3.0.1 to DEPEND, but also added a new patch. The
patch disables the buggy bison version check, eliminating the
warning. There should be no danger in doing so now that a newer bison
is in DEPEND.

Gentoo-Bug: 593278

Package-Manager: portage-2.3.0

 dev-lang/php/files/php-5.6-no-bison-warnings.patch | 42 ++++++++++++
 .../{php-7.0.11.ebuild => php-5.6.26-r1.ebuild}    | 76 ++++++++++++----------
 .../{php-7.0.11.ebuild => php-7.0.11-r1.ebuild}    |  1 +
 3 files changed, 86 insertions(+), 33 deletions(-)

diff --git a/dev-lang/php/files/php-5.6-no-bison-warnings.patch 
b/dev-lang/php/files/php-5.6-no-bison-warnings.patch
new file mode 100644
index 00000000..1896659
--- /dev/null
+++ b/dev-lang/php/files/php-5.6-no-bison-warnings.patch
@@ -0,0 +1,42 @@
+From d3466a04345b31dfc62d94fe994b40321a6418ec Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <mich...@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
+

diff --git a/dev-lang/php/php-7.0.11.ebuild b/dev-lang/php/php-5.6.26-r1.ebuild
similarity index 93%
copy from dev-lang/php/php-7.0.11.ebuild
copy to dev-lang/php/php-5.6.26-r1.ebuild
index 71c2ec4..420cbd7 100644
--- a/dev-lang/php/php-7.0.11.ebuild
+++ b/dev-lang/php/php-5.6.26-r1.ebuild
@@ -14,7 +14,7 @@ SLOT="$(get_version_component_range 1-2)"
 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc 
~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-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 phpdbg"
+SAPIS="embed cli cgi fpm apache2"
 
 # SAPIs and SAPI-specific USE flags (cli SAPI is default on):
 IUSE="${IUSE}
@@ -26,11 +26,11 @@ IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
        enchant exif frontbase +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 mysqli nls
+       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
-       sysvipc systemd tidy +tokenizer truetype unicode wddx webp
+       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
@@ -75,6 +75,10 @@ COMMON_DEPEND="
        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 )
@@ -89,18 +93,20 @@ COMMON_DEPEND="
        spell? ( >=app-text/aspell-0.50 )
        sqlite? ( >=dev-db/sqlite-3.7.6.3 )
        ssl? (
-               !libressl? ( dev-libs/openssl:0 )
+               !libressl? ( dev-libs/openssl:0= )
                libressl? ( dev-libs/libressl )
        )
+       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 )
        )
        unicode? ( dev-libs/oniguruma )
+       vpx? ( media-libs/libvpx )
        wddx? ( >=dev-libs/libxml2-2.6.8 )
-       webp? ( media-libs/libwebp )
        xml? ( >=dev-libs/libxml2-2.6.8 )
        xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
        xmlreader? ( >=dev-libs/libxml2-2.6.8 )
@@ -123,6 +129,7 @@ RDEPEND="${COMMON_DEPEND}
 
 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"
@@ -131,9 +138,10 @@ DEPEND="${COMMON_DEPEND}
 REQUIRED_USE="
        cli? ( ^^ ( readline libedit ) )
        truetype? ( gd )
-       webp? ( gd )
+       vpx? ( gd )
        cjk? ( gd )
        exif? ( gd )
+
        xpm? ( gd )
        gd? ( zlib )
        simplexml? ( xml )
@@ -145,12 +153,18 @@ REQUIRED_USE="
        ldap-sasl? ( ldap )
        mhash? ( hash )
        phar? ( hash )
+       libmysqlclient? ( || (
+               mysql
+               mysqli
+               pdo
+       ) )
+
        qdbm? ( !gdbm )
        readline? ( !libedit )
-       recode? ( !imap !mysqli )
+       recode? ( !imap !mysql !mysqli )
        sharedmem? ( !threads )
-       mysql? ( || ( mysqli pdo ) )
-       || ( cli cgi fpm apache2 embed phpdbg )"
+
+       !cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
 
 PHP_MV="$(get_major_version)"
 
@@ -199,11 +213,9 @@ php_install_ini() {
 
        # SAPI-specific handling
        if [[ "${sapi}" == "fpm" ]] ; then
-               einfo "Installing FPM config files php-fpm.conf and www.conf"
+               einfo "Installing FPM config file php-fpm.conf"
                insinto "${PHP_INI_DIR#${EPREFIX}}"
                doins sapi/fpm/php-fpm.conf
-               insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-               doins sapi/fpm/www.conf
        fi
 
        dodoc php.ini-development
@@ -217,8 +229,7 @@ php_set_ini_dir() {
 }
 
 src_prepare() {
-       # Disable some assembly on x86.
-       eapply "${FILESDIR}/fix-x86-build-bug_571658.patch"
+       eapply "${FILESDIR}/php-${SLOT}-no-bison-warnings.patch"
 
        # Change PHP branding
        # Get the alpha/beta/rc version
@@ -229,6 +240,14 @@ src_prepare() {
        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 \
@@ -247,16 +266,6 @@ src_prepare() {
                # http://bugs.php.net/bug.php?id=48795, bug #343481
                sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
        fi
-
-       # In php-7.x, the FPM pool configuration files have been split off
-       # of the main config. By default the pool config files go in
-       # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-       # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-       # we'll install the pool configuration file "www.conf" there.
-       php_set_ini_dir fpm
-       sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-               sapi/fpm/php-fpm.conf.in \
-               || die 'failed to move the include directory in php-fpm.conf'
 }
 
 src_configure() {
@@ -304,6 +313,7 @@ src_configure() {
                $(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")
@@ -321,6 +331,7 @@ src_configure() {
                $(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)
@@ -357,14 +368,13 @@ src_configure() {
        # 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")
        )
-       if use webp; then
-               our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
-       fi
        # enable gd last, so configure can pick up the previous settings
        our_conf+=( $(use_with gd gd) )
 
@@ -390,7 +400,10 @@ src_configure() {
        # 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"
@@ -410,7 +423,7 @@ src_configure() {
        # PDO support
        if use pdo ; then
                our_conf+=(
-                       $(use_with mssql pdo-dblib "${EPREFIX}/usr")
+                       $(use_with mssql pdo-dblib)
                        $(use_with mysql pdo-mysql "${mysqllib}")
                        $(use_with postgres pdo-pgsql)
                        $(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
@@ -474,7 +487,7 @@ src_configure() {
 
                for sapi in $SAPIS ; do
                        case "$sapi" in
-                               cli|cgi|embed|fpm|phpdbg)
+                               cli|cgi|embed|fpm)
                                        if [[ "${one_sapi}" == "${sapi}" ]] ; 
then
                                                sapi_conf+=( "--enable-${sapi}" 
)
                                        else
@@ -555,7 +568,7 @@ src_install() {
                                # We're specifically not using emake 
install-sapi as libtool
                                # may cause unnecessary relink failures (see 
bug #351266)
                                insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-                               newins ".libs/libphp${PHP_MV}$(get_libname)" \
+                               newins ".libs/libphp5$(get_libname)" \
                                           "libphp${PHP_MV}$(get_libname)"
                                keepdir "/usr/$(get_libdir)/apache2/modules"
                        else
@@ -575,9 +588,6 @@ src_install() {
                                        embed)
                                                
source="libs/libphp${PHP_MV}$(get_libname)"
                                                ;;
-                                       phpdbg)
-                                               source="sapi/phpdbg/phpdbg"
-                                               ;;
                                        *)
                                                die "unhandled sapi in 
src_install"
                                                ;;

diff --git a/dev-lang/php/php-7.0.11.ebuild b/dev-lang/php/php-7.0.11-r1.ebuild
similarity index 99%
rename from dev-lang/php/php-7.0.11.ebuild
rename to dev-lang/php/php-7.0.11-r1.ebuild
index 71c2ec4..7464406 100644
--- a/dev-lang/php/php-7.0.11.ebuild
+++ b/dev-lang/php/php-7.0.11-r1.ebuild
@@ -123,6 +123,7 @@ RDEPEND="${COMMON_DEPEND}
 
 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"

Reply via email to