It's not automatically doing magic but using things specified in the profile. In this case look at ${PORTDIR}/profile/base/package.use Setting PYTHON_SINGLE_TARGET (which is expanded to those USEFlags) in your make.conf will shadow those from the profile and spit out an error.
2018-07-07 21:45 GMT+03:00 Vadim A. Misbakh-Soloviov <gen...@mva.name>: > The package you're referring to have only support of python2 interpreters > (python2_7 (CPython) and pypy (not the pypy3)). > > It seems, by default (if neither of PYTHON_SINGLE_TARGET is set), portage > tries to do the "magic" (well, in my opinion, it opposes to the Gentoo > Philosophy, and it should throw the same error even with "defaults") and > automatically chooses the 2_7 single target for it. > > But when you explicitly specify the targets in make.conf, it obeys and > don't > do that magic anymore, so condition of "exactly one of supported > single_targets (pypy, pyhton2.7)" is not meeting anymore". > > That's why you getting the error. > > В письме от суббота, 7 июля 2018 г. 21:31:48 MSK пользователь Andreas Fink > написал: > > Hello, > > I have a question considering PYTHON_SINGLE_TARGET because it seems to > > behave inconsistently on my system and I cannot find any documentation > > about it, that would guide me in the right direction how to fix it. > > Running emerge --info I see the following (I'm on ~amd64): > > ... PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 > python3_5" > > ... > > > > This output is the default for ~amd64, neither PYTHON_SINGLE_TARGET nor > > PYTHON_TARGETS has been set explicitly. > > If I do an emerge -av asciidoc, I see the following output: > > ebuild R ] app-text/asciidoc-8.6.10::gentoo USE="-examples > -graphviz > > -highlight {-test}" PYTHON_SINGLE_TARGET="python2_7 -pypy" > > PYTHON_TARGETS="python2_7 -pypy" > > > > Setting PYTHON_SINGLE_TARGET and PYTHON_TARGETS in /etc/portage/make.conf > > explicitly to: PYTHON_SINGLE_TARGET="python3_5" > > PYTHON_TARGETS="python2_7 python3_5" > > > > Now emerge --info doesn't show any difference. It's still the same > output. > > Doing an emerge -av asciidoc I get now this output: > > !!! The ebuild selected to satisfy "asciidoc" has unmet requirements. > > - app-text/asciidoc-8.6.10::gentoo USE="-examples -graphviz -highlight > > -test" ABI_X86="(64)" PYTHON_SINGLE_TARGET="-pypy -python2_7" > > PYTHON_TARGETS="python2_7 -pypy" > > > > The following REQUIRED_USE flag constraints are unsatisfied: > > exactly-one-of ( python_single_target_pypy > > python_single_target_python2_7 ) > > > > > > This seems for me to be really inconsistent, considering the fact that we > > usually request users to provide an emerge --info, which wouldn't show > any > > difference. > > Why am I able to merge in the first case the package, but in the second > case > > I get an error? I really cannot understand where the > > python_single_target_python2_7 is set in the first case. > > Anyone who has more insight into that case? > > > > Cheers > > Andreas > > > > > >