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

Attachment: signature.asc
Description: PGP signature

Reply via email to