Couple of things. A) no IUSE definition. This is minor, but needs to be added. B) this- # --- define some deps for binary packages if [ -n "${HAS_GTK1}" -a ! -n "${HAS_GTK2}" ]; then DEPEND="${DEPEND} =x11-libs/gtk+-1.2*" elif [ -n "${HAS_GTK1}" -a -n "${HAS_GTK2}" ]; then DEPEND="${DEPEND} =x11-libs/gtk+-1.2* =x11-libs/gtk+-2*" elif [ ! -n "${HAS_GTK1}" -a -n "${HAS_GTK2}" ]; then DEPEND="${DEPEND} >=x11-libs/gtk+-2 fi is not even remotely valid. Also is a wee bit odd combined with this- if ! has_version "x11-libs/gtk+"; then DEPEND="gtk2? ( >=x11-libs/gtk+-2 ) !gtk2? ( =x11-libs/gtk+-1.2* )" use gtk2 \ && HAS_GTK2=1 \ || HAS_GTK1=1 fi I assume you're after DEPEND="gtk2? ( >=x11-libs/gtk+-2 ) gtk? ( =x11-libs/gtk+-1.2* ) !gtk2? ( !gtk? ( =x11-libs/gtk+-1.2* ) )" although your commentary about the gtk* use flags indicates perhaps you're after something else. Either way, DEPENDS is an exported key, and needs to be constant a value.
i'm on gnome already, thanks. anyway, USE="gtk" does not mean USE="gtk1". that is the whole thing we are trying to avoid. if there is a way to detect what gtk's are installed on a user's machine, then please tell me. otherwise, we'll have to split gtk-engine's as gtk1 and gtk2 ebuilds, which in itself it very ugly, probably as ugly as the eclass right now. comments?
gtk may not mean gtk1, but in the context it's being used, it does. The detection of gtk1 and gtk2 doesn't work properly anyway. See bug 38492 (which seriously needs re-statusing). As for this bug, can't we just go strictly by USE flags and not use library detection? What does the library detecting gain?
This eclass is *still* using a conditional dep via has_gtk1. This *needs* to be taken care of, not ignored for a month.
*** This bug has been marked as a duplicate of 24439 ***