If USE=qt, then a dependency on >=x11-libs/qt-2.3.0 is added, which ultimately causes xfree to be merged, even if USE=-X. qt support should be made conditional on USE=X. Since the patch is trivial, it is pasted below. --- php.eclass 2004-01-08 17:14:01.000000000 -0500 +++ php.eclass.new 2004-02-28 17:58:56.381870424 -0500 @@ -58,7 +58,10 @@ RDEPEND=" >=sys-libs/cracklib-2.7-r7 app-arch/bzip2 - X? ( virtual/x11 ) + X? ( + virtual/x11 + qt? ( >=x11-libs/qt-2.3.0 ) + ) crypt? ( >=dev-libs/libmcrypt-2.4 >=app-crypt/mhash-0.8 ) curl? ( >=net-ftp/curl-7.10.2 ) x86? ( firebird? ( >=dev-db/firebird-1.0 ) ) @@ -78,7 +81,6 @@ >=media-libs/libpng-1.2.5 >=media-libs/tiff-3.5.5 ) png? ( >=media-libs/libpng-1.2.5 ) postgres? ( >=dev-db/postgresql-7.1 ) - qt? ( >=x11-libs/qt-2.3.0 ) snmp? ( net-analyzer/net-snmp ) spell? ( app-text/aspell ) ssl? ( >=dev-libs/openssl-0.9.5 )
there are other packages that have similar dependencies if you dont want X, then put -qt and -gtk into your USE
That doesn't make it any less of a bug. It's annoying to have to have -qt -gnome -kde -gtk when I already have -X.
the default profile has USE="X sdl gtk kde qt gnome" among other things if you dont like the defaults, override them in your make.conf or make your own profile
If I say I don't want X support, I shouldn't get X just because gnome or qt happen to be set in the default. -X should trump +gnome +qt etc. See also bug #43229; at least one Gentoo developer agrees with me.
this is Bug 43229 as for -X overriding gtk/qt, that's been discussed before and possible side solutions have been proposed, but as it stands now, it's not going to happen crawl the mail archives for gentoo-dev to see about use classes and such
Sorry, meant bug #43228.
andy: as an odd example of why your logic there is wrong: say I have X and qt installed on a machine, and then want to build my PHP _with_ it's qt stuff, but WITHOUT it's X stuff. the existing logic allows this, your logic does not.
But you can't build or use qt without X. libqt links against a ton of X libraries, not the least of which is libX11. It makes no sense to say you want qt without X.