Ebuilds which use things like: if ! built_with_use dev-lang/python tk; then eerror "Please reemerge dev-lang/python with 'tk' support or pymol will" eerror "not work. In order to fix this, execute the following:" eerror "echo \"dev-lang/python tk\" >> /etc/portage/package.use" eerror "and reemerge dev-lang/python before emerging pymol." die "requires dev-lang/python with use-flag 'tk'!!" fi app-cdr/cdcover/cdcover-0.7.3.ebuild: app-text/txt2tags/txt2tags-2.4.ebuild: app-text/txt2tags/txt2tags-2.5.ebuild: dev-python/imaging/imaging-1.1.6.ebuild: dev-python/pylint/pylint-0.13.1.ebuild: dev-python/pylint/pylint-0.14.0.ebuild: dev-python/pylint/pylint-0.15.2.ebuild: dev-python/pyopengl/pyopengl-2.0.0.44.ebuild: media-gfx/asymptote/asymptote-1.29.ebuild: media-video/tovid/tovid-0.31-r1.ebuild: sci-chemistry/pymol/pymol-1.1-r2.ebuild: sci-chemistry/sparky/sparky-3.113.ebuild: sci-physics/camfr/camfr-20070717-r1.ebuild: The following patch fix all that.
Created attachment 184356 [details] python_tkinter_exists.patch the patch
Have fun fixing all those packages :) Reassigning to python herd.
python_tkinter_exists is just built_with_use coming in another flavor and I see no advantage of using it instead. The ebuild will still abort at execution time and not at dependency calculation. I think this cases can be expressed with variants of a use dependency like dev-lang/python[tk=].
As discussed, there are only three ebuilds which already use python_tkinter_exists app-editors/leo/leo-4.2.ebuild: media-gfx/skencil/skencil-0.6.18_pre20080519.ebuild: net-im/msnlib/msnlib-3.6.ebuild: Probably better to remove the function from the ebuilds and the eclass and use use-deps instead in general.
Those ebuild use python dev-python/editobj/editobj-0.5.3.ebuild dev-python/editobj/editobj-0.5.6.ebuild dev-python/matplotlib/matplotlib-0.91.2.ebuild dev-python/matplotlib/matplotlib-0.91.4.ebuild dev-python/pmw/pmw-1.2.ebuild
(In reply to comment #5) > Those ebuild use python > > dev-python/editobj/editobj-0.5.3.ebuild > dev-python/editobj/editobj-0.5.6.ebuild > dev-python/matplotlib/matplotlib-0.91.2.ebuild > dev-python/matplotlib/matplotlib-0.91.4.ebuild > dev-python/pmw/pmw-1.2.ebuild > I meant they use distutils_tkinter_exists
(In reply to comment #6) > (In reply to comment #5) > > Those ebuild use python > > > > dev-python/editobj/editobj-0.5.3.ebuild > > dev-python/editobj/editobj-0.5.6.ebuild > > dev-python/matplotlib/matplotlib-0.91.2.ebuild > > dev-python/matplotlib/matplotlib-0.91.4.ebuild > > dev-python/pmw/pmw-1.2.ebuild > > > > I meant they use distutils_tkinter_exists > From looking closer at those ebuilds, all of them already have a newer version that is converted to eapi 2 and use dependencies. So it is just a matter of removing the old versions if they are not needed anymore.
Bad idea guys. portage and python *really* need to remain at a very lagging EAPI level otherwise people will not be able to upgrade to never versions of portage. It is already bad that python is EAPI=1...now new versions (py-2.6) are EAPI=2. =(
*** This bug has been marked as a duplicate of bug 239930 ***