Both eclasses seem to add "dev-lang/python" to the dependency tree, when the inheriting ebuild does not specify something special about the python version. But this means, that packages, which where not adjusted and tested for python-3* will pull it in and could break, if a user switches to python-3* or removes python-2* from his system. So those eclasses should only uncondidionally add "dev-lang/python" to the dependency tree, if the package does support *all* versions of python. Example: dev-libs/protobuf, it does only python related things with python USE flag, but inherits distutils eclass for this, which then does add python-3* to dependency tree.
The ebuilds of packages not supporting all Python versions should be fixed (by setting PYTHON_DEPEND). distutils.eclass cannot prefer any particular Python version. python.eclass doesn't add any dependency on Python when no special variable is set in ebuild.
Why not just make PYTHON_DEPEND a required setting for any consumer of the eclass (or a derivative eclass adding the check) ? W/ the bits you're trying to push for multi-abi, the abi's supported should really be specified in some fashion *explicitly* (even if it's just stating "I should work with everything")...
I have some different plans, but this bug is not for discussion.
(In reply to comment #3) > I have some different plans, but this bug is not for discussion. Considering the nature of the bug filed, I'd say it's the place to state the plans so folk can work on it. Development isn't a vacuum.