Allow installation of PDO drivers independent from legacy ones.
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 12 Jan 2015 21:25:20 +0000 (16:25 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Fri, 23 Jan 2015 20:04:56 +0000 (15:04 -0500)
dev-lang/php/php-5.6.4-r1.ebuild

index 75631afce7d98a8c24eae9d6510567bc69692538..32fd2bc2dcb9fa80dcc5e26ed1ab0c25af906e76 100644 (file)
@@ -75,6 +75,8 @@ IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
        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 )
@@ -178,12 +193,12 @@ REQUIRED_USE="
                pdo-mysql
        ) )
 
-       pdo-dblib? ( pdo mssql )
-       pdo-oci? ( pdo oci8-instant-client )
-       pdo-odbc? ( pdo odbc )
-       pdo-mysql? ( pdo mysql )
-       pdo-pgsql? ( pdo postgres )
-       pdo-sqlite? ( pdo sqlite )
+       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 )