Thomas Sachau <to...@gentoo.org> writes: > Since python-3* is currently useless and not required for any package, the > dependency should by > default only pull in python-2* like this: > > =dev-lang/python-2* > > With that, the default way would not pull in a package, which is not needed > or used. And if there > will be any package, which really requires python-3*, it simply requests it > in (R)DEPEND of the > ebuild, which then would overwrite the default value of the eclass and pull > in python-3*.
That would not work. For example if package 'bar' supports both python-2 and python-3, your mechanism will only build in python-2 support. That is fine until package 'foo' comes along which uses 'bar' but also requires python-3 - thus not only must python-3 be pulled in as a result of foo's (R)DEPEND but also 'bar' must be rebuilt with python-3 support. This could be done by adding python2 and python3 USE flags to packages which support both and only have python2 enabled by default. Then 'foo' could have a conditional (R)DEPEMD on 'bar[python3]', but that would require the user to change the USE flags whereas the current system handles everything automatically.