jinja-2.7:0 has support for py 2.6/2.7/3.3 jinja:compat for py 3.2 if both are installed the following shouldn't happen: [blocks b ] <dev-python/jinja-2.7:0 ("<dev-python/jinja-2.7:0" is blocking dev-python/jinja-2.6-r100) [uninstall ] dev-python/jinja-2.6-r100:compat USE="-doc -examples" PYTHON_TARGETS="python3_2" [ebuild UD ] dev-python/jinja-2.6-r2 [2.7.1] USE="-doc -examples" PYTHON_TARGETS="python2_7 python3_2%* -pypy2_0 -python2_6 -python3_3" 0 kB
And even setting dev-python/jinja:0 -python_targets_python3_2 results in The following USE changes are necessary to proceed: (see "package.use" in the portage(5) man page for more details) # required by dev-python/ipython-1.0.0[notebook,-nbconvert] # required by @selected # required by @world (argument) =dev-python/jinja-2.6-r2 python_targets_python3_2
Is this still a problem. It looks like it does the right thing for me: [ebuild U ~] dev-python/ipython-1.0.0::gentoo [0.13.2::sage-on-gentoo] USE="notebook* qt4 smp wxwidgets -doc -emacs -examples -matplotlib -mongodb -nbconvert% -octave {-test}" PYTHON_TARGETS="python2_7 python3_2* -python2_6 -python3_3" 8,456 kB [ebuild NS ] dev-python/jinja-2.6-r100:compat [2.7:0] USE="-doc -examples" PYTHON_TARGETS="python3_2" 381 kB [ebuild R ~] dev-python/setuptools-1.1.6 PYTHON_TARGETS="python2_7 python3_2* -pypy2_0 -python2_6 -python3_3" 0 kB [ebuild R ] dev-python/markupsafe-0.15-r1 PYTHON_TARGETS="python2_7 python3_2* (-pypy2_0) -python2_6 (-python3_3) (-pypy1_9%) (-python2_5%) (-python3_1%)" 12 kB [ebuild R ~] dev-python/simplegeneric-0.8.1-r1 PYTHON_TARGETS="python2_7 python3_2* -pypy2_0 -python2_6 -python3_3 (-pypy1_9%) (-python2_5%) (-python3_1%)" 13 kB [ebuild N ] dev-libs/mathjax-2.2 USE="-doc -examples" 8,764 kB [ebuild R ] virtual/python-argparse-1 PYTHON_TARGETS="python2_7 python3_2* (-pypy2_0) -python2_6 (-python3_3) (-pypy1_9%) (-python2_5%) (-python3_1%)" 0 kB [ebuild N ~] www-servers/tornado-3.1.1 USE="-curl" PYTHON_TARGETS="python2_7 python3_2 -pypy2_0 -python2_6 -python3_3" 366 kB [ebuild R ~] dev-python/decorator-3.4.0-r1 PYTHON_TARGETS="python2_7 python3_2* -python2_6 -python3_3 (-python2_5%) (-python3_1%)" 30 kB [ebuild R ] dev-python/PyQt4-4.10.2 USE="X dbus declarative opengl svg webkit -debug -doc -examples -help -kde -multimedia -phonon -script -scripttools -sql -xmlpatterns" PYTHON_TARGETS="python2_7 python3_2* -python2_6 (-python3_3)" 0 kB [ebuild R ] dev-python/sip-4.14.7:0/10 USE="-debug -doc" PYTHON_TARGETS="python2_7 python3_2* -python2_6 (-python3_3)" 0 kB [ebuild R ] dev-python/dbus-python-1.2.0 USE="-doc -examples {-test}" PYTHON_TARGETS="python2_7 python3_2* -python2_6 (-python3_3)" 589 kB [ebuild R ] dev-python/pygments-1.6 USE="-doc {-test}" PYTHON_TARGETS="python2_7 python3_2* (-pypy2_0) -python2_6 (-python3_3) (-pypy1_9%) (-python2_5%) (-python3_1%)" 1,390 kB [ebuild R ] dev-python/pyparsing-2.0.1 USE="-doc -examples" PYTHON_TARGETS="python2_7 python3_2* -pypy2_0 -python2_6 -python3_3" 0 kB [ebuild R ~] dev-python/pyzmq-13.1.0 USE="-examples -green {-test}" PYTHON_TARGETS="python2_7 python3_2* -python2_6 -python3_3 (-python3_1%)" 820 kB
(In reply to Sebastian Luther (few) from comment #2) We modified the ebuild(s) which depend on jinja to split it into multiple dependency atoms. Personally, I do not think this is a valid portage bug.
Yes, portage does exactly what it should do: dev-python/jinja[...] should resolve to the newest available jinja package. Then USE-deps can applied on top of it. Per the wording of PMS, 'py3.2(-)' dep means that PM is to assume 'off' when the flag ain't in IUSE. So portage correctly refuses the package. Similarly, it says that 'py3.2' dep on a package is invalid when the flag ain't in IUSE. So if we used plain 'py3.2', portage would be allowed to bail out without even trying other versions. There's no clear way of directly applying USE deps on multiple packages. If the case is uncommon, we just need to use proper || deps. if it is common, we should establish a virtual that does that.