From configure.ac if test "x${with_gnome}" = xyes then GNOME_PACKAGES="gtk+-2.0 libgnome-2.0 libgnomeui-2.0 pango" elif test "x${with_gtk}" = xyes then GNOME_PACKAGES="gtk+-2.0" else GNOME_PACKAGES="" fi So as I understand this, with USE="gtk gnome" the monitor gets reduced to USE="gtk -gnome". Simple REQUIRED_USE would help.
+*distcc-3.1-r7 (03 Feb 2013) + + 03 Feb 2013; Justin Lecher <jlec@gentoo.org> +distcc-3.1-r7.ebuild, + metadata.xml: + Add USE blocker between gtk and gnome, #416595; bump EAPI; move to new python + eclasses + 03 Fe
The current distcc-3.1-r7.ebuild has REQUIRED_USE="^^ ( gtk gnome )" meaning "Must enable exactly one but not more". This would explain why my completely X-less system suddenly wants me to enable one of these. I think it should rather be REQUIRED_USE="?? ( gtk gnome )" for "May enable at most one".
(In reply to comment #2) > [...] > REQUIRED_USE="?? ( gtk gnome )" > > for "May enable at most one". I vote for that solution - not to pull X for that.
Bad solution for two reasons: 1. breaks update for users of gnome profile (which sets USE="gtk gnome" in make.defaults). It is generally expected that gtk and gnome (like qt4 and kde) USE flags are compatible and allowed to be set together. 2. the so-called "gnome support" in distcc-3.1 is completely, 100% useless. Read src/mon-gnome.c if you don't believe me. I recommend simply removing gnome from distcc's IUSE.
(In reply to comment #4) > Bad solution for two reasons: > > 1. breaks update for users of gnome profile (which sets USE="gtk gnome" in > make.defaults). It is generally expected that gtk and gnome (like qt4 and > kde) USE flags are compatible and allowed to be set together. in distcc they aren't. At least the buildsystem will take one over the other. > > 2. the so-called "gnome support" in distcc-3.1 is completely, 100% useless. > Read src/mon-gnome.c if you don't believe me. > > I recommend simply removing gnome from distcc's IUSE. If it is so, we can drop gnome.
08 Feb 2013; Justin Lecher <jlec@gentoo.org> distcc-3.1-r7.ebuild: + Drop USE gnome in favour of USE gtk, #416595 +
Thanks. Another other solution (if you wanted to keep gnome in IUSE) could have been something like econf \ $(use_with gnome) \ --with-gtk=$(usex gnome no $(usex gtk)) It is sometimes better to not literally replicate upstream configure's logic in the ebuild's USE flags :)
(In reply to comment #7) > Thanks. Another other solution (if you wanted to keep gnome in IUSE) could > have been something like > > econf \ > $(use_with gnome) \ > --with-gtk=$(usex gnome no $(usex gtk)) > > It is sometimes better to not literally replicate upstream configure's logic > in the ebuild's USE flags :) isn't this the same like REQUIRED_USE but without user intervention?
(In reply to comment #8) > isn't this the same like REQUIRED_USE but without user intervention? It's a way of reconciling the standard "USE=gnome is a superset of USE=gtk" semantics with the behavior of distcc's configure. If the intended interpretation of USE="foo bar" is not clear, and the two flags correspond to incompatible configure switches for some package, then of course the user really needs to think and really make a choice, and REQUIRED_USE is an excellent mechanism to force the user to think about that choice. But in the case of distcc, it is clear what the user intended by USE="gtk gnome"; moreover, this is a combination of flags that's set by default in a major profile. So requiring user intervention in this particular case was IMHO very suboptimal.