]> gitweb.michael.orlitzky.com - mjo-overlay.git/blobdiff - dev-lang/php/php-5.6.4-r1.ebuild
Fix MySQL socket path when USE=mysqli or USE=pdo-mysql.
[mjo-overlay.git] / dev-lang / php / php-5.6.4-r1.ebuild
index 8d1918f9c66004a6784f24c473a5616c6c3a2316..d3a34aa13f1f5a093ed73102a8d8cabd61825086 100644 (file)
@@ -69,12 +69,14 @@ IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
        flatfile ftp gd gdbm gmp +hash +iconv imap inifile
        intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
        mssql mysql libmysqlclient mysqli nls
-       oci8-instant-client odbc +opcache pcntl pdo pdo-dblib +phar +posix
-       postgres qdbm readline recode selinux +session sharedmem
-       +simplexml snmp soap sockets spell sqlite ssl
+       oci8-instant-client odbc +opcache pcntl pdo pdo-dblib pdo-mysql pdo-oci
+       pdo-odbc pdo-pgsql pdo-sqlite +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"
 
+# See REQUIRED_USE for an explanation of why we duplicate dependencies
+# for USE=pdo-foo.
 DEPEND="
        >=app-admin/eselect-php-0.7.1-r3[apache2?,fpm?]
        >=dev-libs/libpcre-8.32[unicode]
@@ -111,11 +113,17 @@ DEPEND="
        mssql? ( dev-db/freetds[mssql] )
        libmysqlclient? (
                mysql? ( virtual/mysql )
-               mysqli? ( >=virtual/mysql-4.1 )
+               mysqli? ( virtual/mysql )
        )
        nls? ( sys-devel/gettext )
        oci8-instant-client? ( dev-db/oracle-instantclient-basic )
        odbc? ( >=dev-db/unixODBC-1.8.13 )
+       pdo-dblib? ( dev-db/freetds[mssql] )
+       pdo-oci? ( dev-db/oracle-instantclient-basic )
+       pdo-odbc? ( >=dev-db/unixODBC-1.8.13 )
+       pdo-mysql? ( virtual/mysql )
+       pdo-pgsql? ( dev-db/postgresql )
+       pdo-sqlite? ( >=dev-db/sqlite-3.7.6.3 )
        postgres? ( dev-db/postgresql )
        qdbm? ( dev-db/qdbm )
        readline? ( sys-libs/readline )
@@ -155,6 +163,13 @@ DEPEND="
 
 php="=${CATEGORY}/${PF}"
 
+# All of the pdo-foo USE flags could require USE=foo, but this has an
+# unwanted side effect. USE=mysql, for example, also enables the old
+# deprecated mysql database driver. We would like it to be possible to
+# install pdo-mysql without the deprecated mysql driver, so we don't
+# require USE=mysql with USE=pdo-mysql. This means that we have to
+# reproduce the mysql? (...) dependencies for pdo-mysql in (R)DEPEND
+# above.
 REQUIRED_USE="
        truetype? ( gd )
        vpx? ( gd )
@@ -175,10 +190,15 @@ REQUIRED_USE="
        libmysqlclient? ( || (
                mysql
                mysqli
-               pdo
+               pdo-mysql
        ) )
 
-       pdo-dblib? ( mssql )
+       pdo-dblib? ( pdo )
+       pdo-oci? ( pdo )
+       pdo-odbc? ( pdo )
+       pdo-mysql? ( pdo )
+       pdo-pgsql? ( pdo )
+       pdo-sqlite? ( pdo )
        qdbm? ( !gdbm )
        readline? ( !libedit )
        recode? ( !imap !mysql !mysqli )
@@ -376,6 +396,10 @@ src_configure() {
        $(use_enable pcntl pcntl )
        $(use_enable pdo pdo )
        $(use_with   pdo-dblib pdo-dblib )
+       $(use_with   pdo-oci pdo-oci )
+       $(use_with   pdo-odbc pdo-odbc unixODBC,"${EPREFIX}"/usr)
+       $(use_with   pdo-pgsql pdo-pgsql )
+       $(use_with   pdo-sqlite pdo-sqlite "${EPREFIX}"/usr)
        $(use_enable phar phar )
        $(use_enable posix posix )
        $(use_with   postgres pgsql "${EPREFIX}"/usr)
@@ -441,7 +465,7 @@ src_configure() {
 
        # IMAP SSL support
        if use imap ; then
-               my_conf+="$(use_with ssl imap-ssl ${EPREFIX}/usr)"
+               my_conf+=" $(use_with ssl imap-ssl ${EPREFIX}/usr)"
        fi
 
        # MySQL support
@@ -453,25 +477,14 @@ src_configure() {
        my_conf+=" $(use_with mysql mysql $mysqllib)"
        my_conf+=" $(use_with mysqli mysqli $mysqlilib)"
 
-       local mysqlsock=" $(use_with mysql mysql-sock ${EPREFIX}/var/run/mysqld/mysqld.sock)"
-       if use mysql ; then
-               my_conf+="${mysqlsock}"
-       elif use mysqli ; then
-               my_conf+="${mysqlsock}"
-       fi
+       # MySQL PDO support
+       my_conf+=" $(use_with pdo-mysql pdo-mysql ${mysqllib})"
 
-       # PDO support
-       if use pdo ; then
-               my_conf+="
-               $(use_with mysql pdo-mysql ${mysqllib})
-               $(use_with postgres pdo-pgsql )
-               $(use_with sqlite pdo-sqlite ${EPREFIX}/usr)
-               $(use_with odbc pdo-odbc unixODBC,${EPREFIX}/usr)"
-               if use oci8-instant-client ; then
-                       my_conf+="
-                       $(use_with oci8-instant-client pdo-oci)"
-               fi
-       fi
+       # If MySQL is enabled in any way, pass --with-mysql-sock to ./configure.
+       local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
+       my_conf+=" $(use_with mysql mysql-sock $mysqlsock)"
+       my_conf+=" $(use_with mysqli mysql-sock $mysqlsock)"
+       my_conf+=" $(use_with pdo-mysql mysql-sock $mysqlsock)"
 
        # Session support
        if use session ; then