On Mon, 5 Nov 2012 10:22:22 -0500 Mike Gilbert <flop...@gentoo.org> wrote:
> On Mon, Nov 5, 2012 at 6:59 AM, Michał Górny <mgo...@gentoo.org> wrote: > > --- > > gx86/eclass/python-r1.eclass | 66 > > ++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 66 insertions(+) > > > > diff --git a/gx86/eclass/python-r1.eclass b/gx86/eclass/python-r1.eclass > > index 0d6ef4c..6d4eb33 100644 > > --- a/gx86/eclass/python-r1.eclass > > +++ b/gx86/eclass/python-r1.eclass > > @@ -363,6 +363,70 @@ python_copy_sources() { > > done > > } > > > > +# @FUNCTION: _python_check_USE_PYTHON > > +# @INTERNAL > > +# @DESCRIPTION: > > +# Check whether USE_PYTHON and PYTHON_TARGETS are in sync. Output > > +# warnings if they are not. > > +_python_check_USE_PYTHON() { > > + if [[ ! ${_PYTHON_USE_PYTHON_CHECKED} ]]; then > > + _PYTHON_USE_PYTHON_CHECKED=1 > > + > > + local USE_PYTHON=${USE_PYTHON} > > + > > + if [[ ! ${USE_PYTHON} ]]; then > > + # default to selected Python2+3 > > + if has_version app-admin/eselect-python; then > > + local py2=$(eselect python show --python2) > > + local py3=$(eselect python show --python3) > > + > > + USE_PYTHON="${py2#python} ${py3#python}" > > + fi > > + fi > > + > > + local impl warned > > + for impl in "${PYTHON_COMPAT[@]}"; do > > + local abi > > + case "${impl}" in > > + python*) > > + abi=${impl#python} > > + ;; > > + jython*) > > + abi=${impl#jython}-jython > > + ;; > > + pypy*) > > + abi=2.7-pypy-${impl#pypy} > > + ;; > > + *) > > + die "Unexpected Python > > implementation: ${impl}" > > + ;; > > + esac > > + > > + has "${abi/_/.}" ${USE_PYTHON} > > + local has_abi=${?} > > + use "python_targets_${impl}" > > + local has_impl=${?} > > + > > + if [[ ${has_abi} != ${has_impl} ]]; then > > + if [[ ! ${warned} ]]; then > > + ewarn "PYTHON_TARGETS <-> > > USE_PYTHON inconsistency found. This may result" > > + ewarn "in missing modules when > > trying to use Python packages. Please ensure" > > + ewarn "that the same > > implementations are listed in both variables." > > + ewarn > > + > > + warned=1 > > + fi > > + > > + if [[ ${has_abi} == 0 ]]; then > > + ewarn "Implementation ${impl} > > disabled but ${abi/_/.} in USE_PYTHON" > > + else > > + ewarn "Implementation ${impl} > > enabled but ${abi/_/.} not in USE_PYTHON" > > + fi > > + fi > > + done > > + fi > > +} > > + > > # @FUNCTION: python_foreach_impl > > # @USAGE: <command> [<args>...] > > # @DESCRIPTION: > > @@ -376,6 +440,8 @@ python_copy_sources() { > > python_foreach_impl() { > > debug-print-function ${FUNCNAME} "${@}" > > > > + _python_check_USE_PYTHON > > + > > local impl > > local bdir=${BUILD_DIR:-${S}} > > > > -- > > 1.7.12.4 > > > > We should not encourage users to set USE_PYTHON if it has not been set > already; the variable is pretty much undocumented, and should probably > stay that way. If USE_PYTHON is unset, we should advise them to update > PYTHON_TARGETS to match their active python2 and python3 versions > (from eselect python). As in change the output in !USE_PYTHON branch? Something like 'please set PYTHON_TARGETS or eselect new python'? -- Best regards, Michał Górny
signature.asc
Description: PGP signature