mail-client/roundcube depends on both dev-lang/php:5.3 and dev-lang/php:5.4 which leads to a uncomfortable situation when upgrading. $ equery depgraph mail-client/roundcube-0.7.2 mail-client/roundcube-0.7.2: [ 0] mail-client/roundcube-0.7.2 [ 1] virtual/httpd-cgi-0 [ 1] virtual/httpd-fastcgi-0 [ 1] app-admin/webapp-config-1.50.18 [ 1] virtual/httpd-php-5.4 [ 1] dev-lang/php-5.3.12 [ 1] dev-lang/php-5.4.2 [ 1] dev-php/PEAR-MDB2_Driver_mysql-1.5.0_beta3 [ 1] dev-php/PEAR-MDB2_Driver_mysqli-1.5.0_beta3 [ 1] dev-php/PEAR-MDB2_Driver_pgsql-1.5.0_beta3 [ 1] dev-php/PEAR-MDB2_Driver_sqlite-1.5.0_beta3 [ 1] dev-php/PEAR-MDB2-2.5.0_beta3 [ 1] dev-php/PEAR-Mail_Mime-1.8.3 [ 1] dev-php/PEAR-Net_SMTP-1.6.1 [ 1] dev-php/PEAR-Net_IDNA2-0.1.1 [ 1] dev-php/PEAR-Auth_SASL-1.0.6
It depends on >=dev-lang/php-5.3. PHP is slotted now, so the installation of 5.4 shouldn't adversely affect anything (unless you eselect it). Did you hit a problem, or are you just worried about breaking a working installation?
equery is deceptive.
zsh/2 1129 % eselect php list apache2 [1] php5.4 * emerge -uDN @world want to pull dev-lang/php-5.3 and dev-lang/php-5.4
The "bug" seems to lie in the transition from 'sqlite' to 'sqlite3'. Roundcube has a 'sqlite' USE flag, but php-5.4 doesn't. This results in pulling php-5.3, regardless of whether or not USE="sqlite" is set. 1. I installed php-5.4, and made sure all of the USE dependencies were met. 2. Removed php-5.3. 3. Unset USE=sqlite. 4. Tried to emerge roundcube, it wants to pull php-5.3. 5. Copied the ebuild to an overlay, removed the sqlite stuff, and tried again. 6. It no longer wants to pull php-5.3.
More info. According to, https://svn.roundcube.net/trunk/roundcubemail/INSTALL Roundcube doesn't work with sqlite3 yet. In php-5.4, sqlite2 support was removed. Therefore, roundcube should depend on (only) php-5.3.
(In reply to comment #5) > More info. > > According to, > > https://svn.roundcube.net/trunk/roundcubemail/INSTALL > > Roundcube doesn't work with sqlite3 yet. In php-5.4, sqlite2 support was > removed. Therefore, roundcube should depend on (only) php-5.3. Er, clarifying. It should depend on =php-5.3 when USE=sqlite. Otherwise, >=php-5.3 is fine.
I'd like to toss the sqlite option altogether when 0.8 is released as long as it depends on sqlite2 and probably default to mysql instead.
I modified the ebuild, changing the original dependency which was: >=dev-lang/php-5.3[crypt,gd,iconv,json,ldap?,postgres?,session,sqlite?,sockets,ssl?,xml,unicode] To be the following instead: sqlite? ( >=dev-lang/php-5.3[crypt,gd,iconv,json,ldap?,postgres?,session,sqlite?,sockets,ssl?,xml,unicode] ) sqlite? ( >=dev-lang/php-5.3[crypt,gd,iconv,json,ldap?,postgres?,session,sockets,ssl?,xml,unicode] ) And now roundcube will work with PHP 5.3 or 5.4.
(In reply to comment #7) > I'd like to toss the sqlite option altogether when 0.8 is released as long > as it depends on sqlite2 and probably default to mysql instead. Quoting A.L.E.C. (Roundcube dev): > We're using PEAR MDB2 package and there's no official driver for > sqlite3. For now we don't plan to work on this. However there is a > ticket in our tracker that we could/should use other database > abstraction package. We could also write our own library based on PDO. > It shouldn't be so hard, because we've got quite small needs, but it has > low priority. Also most people use mysql/pgsql. As we move towards php-5.4, I guess it does make the most sense to drop sqlite support in apps that only support the old sqlite2 extension.
Marked as fixed since sqlite support is removed from 0.8 in CVS.