Summary: In dev-python/matplotlib, IUSE has "gtk" and "gtk3". If you set "gtk", it forces gtk2, and eventually it results in forcing python2. If you want gtk from python3, you have to set "gtk3", and the flag "gtk" is completely irrelevant. What's worse is that if you don't want to use matplotlib from python2, you have to disable "gtk". I don't think this is what users expect; setting simply "gtk" should choose gtk3 for python3. Details: First, let us remember relevant bindings: gtk2 - pygtk - python2 gtk3 - pygobject - python2 & python3 So, for python2, both gtk2 and gtk3 can be used, but for python3, "gtk" means gtk3. As I said above, matplotlib's ISUE is unnatural, if not wrong - the use flag "gtk" in general doesn't force gtk2 nor gtk3. At least, users have to examine the ebuild (plus relevant packages' ebuilds and websites) to understand why the emerge result is not what they have expected. I propose this solution: provide all of IUSE flags "gtk", "gtk2" and "gtk3". For python3, "gtk" determines all. For python2, if you enable "gtk", you have to enable both or either of "gtk2" and "gtk3". This is much more natural, right? :) Thanks anyway. Regards. Reproducible: Always
you are right, that bothered me for a long time already. Let me take a look at your solution.
So that is what I will do USE=gtk2 -> gtk2 support which is only available on python2 USE=gtk3 -> gtk3 support everywhere USE=gtk doesn't add any benefit and the versioned ones are just more specific.
commit b1aeb406bf927ca3f71304535c5cb6785bec28d7 Author: Justin Lecher <jlec@gentoo.org> Date: Fri Nov 20 11:40:46 2015 +0100 dev-python/matplotlib: Rename USE gtk to gtk2 USE gtk is ambigous and gtk2 will better represent the acutal effect the use has, similar to gtk3 Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=566296 Package-Manager: portage-2.2.25 Signed-off-by: Justin Lecher <jlec@gentoo.org> https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1aeb406bf927ca3f71304535c5cb6785bec28d7