Generate python depstrings in python-r1 (updated).
I've renamed PYTHON_DEPEND to avoid confusion with python.eclass.
--- gx86/eclass/python-distutils-ng.eclass | 20 ++----------------- gx86/eclass/python-r1.eclass | 35 ++++++++++++++++++++++++++++++++-- 2 files changed, 35 insertions(+), 20 deletions(-) diff --git a/gx86/eclass/python-distutils-ng.eclass b/gx86/eclass/python-distutils-ng.eclass index 5df965c..34717aa 100644 --- a/gx86/eclass/python-distutils-ng.eclass +++ b/gx86/eclass/python-distutils-ng.eclass @@ -74,24 +74,8 @@ _python-distutils-ng_get_binary_for_implementation() { esac } -for impl in ${PYTHON_COMPAT[@]}; do - dep_str="${impl/_/.}" - case "${dep_str}" in - python?.?) - dep_str="dev-lang/python:${dep_str: -3}" ;; - jython?.?) - dep_str="dev-java/jython:${dep_str: -3}" ;; - pypy?.?) - dep_str="dev-python/pypy:${dep_str: -3}" ;; - *) - die "Unsupported implementation: ${impl}" ;; - esac - dep_str="python_targets_${impl}? ( ${dep_str} )" - - RDEPEND="${RDEPEND} ${dep_str}" - DEPEND="${DEPEND} ${dep_str}" - unset dep_str -done +RDEPEND=${PYTHON_DEPS} +DEPEND=${PYTHON_DEPS} _PACKAGE_SPECIFIC_S="${S#${WORKDIR}/}" diff --git a/gx86/eclass/python-r1.eclass b/gx86/eclass/python-r1.eclass index 18f9246..957db68 100644 --- a/gx86/eclass/python-r1.eclass +++ b/gx86/eclass/python-r1.eclass @@ -40,14 +40,45 @@ _PYTHON_ALL_IMPLS=( # a package supports. It must be set before the `inherit' call. # The default is to enable all implementations. # -# PYTHON_COMPAT can be either a scalar or an array. If it's a scalar, the eclass -# will implicitly convert it to an array. +# PYTHON_COMPAT can be either a scalar or an array. If it's a scalar, +# the eclass will implicitly convert it to an array. : ${PYTHON_COMPAT:=${_PYTHON_ALL_IMPLS[@]}} +# @ECLASS-VARIABLE: PYTHON_DEPS +# @DESCRIPTION: +# This is an eclass-generated Python dependency string for all +# implementations listed in PYTHON_COMPAT. It should be used +# in RDEPEND and/or DEPEND like: +# +# @CODE +# RDEPEND="${PYTHON_DEPS} +# dev-foo/mydep" +# DEPEND="${RDEPEND}" +# @CODE + PYTHON_COMPAT=( ${PYTHON_COMPAT[@]} ) _python_set_globals() { IUSE=${PYTHON_COMPAT[@]/#/python_targets_} REQUIRED_USE="|| ( ${IUSE} )" + + PYTHON_DEPS= + local i + for i in ${PYTHON_COMPAT[@]}; do + local d + case ${i} in + python*) + d='dev-lang/python';; + jython*) + d='dev-java/jython';; + pypy*) + d='dev-python/pypy';; + *) + die "Invalid implementation: ${i}" + esac + + local v=${i##*[a-z]} + PYTHON_DEPS+=" python_targets_${i}? ( ${d}:${v/_/.} )" + done } _python_set_globals -- 1.7.12 |
Generate python depstrings in python-r1 (updated).
On 20 September 2012 05:43, Michał Górny <mgorny@gentoo.org> wrote:
> I've renamed PYTHON_DEPEND to avoid confusion with python.eclass. > --- > gx86/eclass/python-distutils-ng.eclass | 20 ++----------------- > gx86/eclass/python-r1.eclass | 35 ++++++++++++++++++++++++++++++++-- > 2 files changed, 35 insertions(+), 20 deletions(-) > > diff --git a/gx86/eclass/python-distutils-ng.eclass b/gx86/eclass/python-distutils-ng.eclass > index 5df965c..34717aa 100644 > --- a/gx86/eclass/python-distutils-ng.eclass > +++ b/gx86/eclass/python-distutils-ng.eclass > @@ -74,24 +74,8 @@ _python-distutils-ng_get_binary_for_implementation() { > esac > } > > -for impl in ${PYTHON_COMPAT[@]}; do > - dep_str="${impl/_/.}" > - case "${dep_str}" in > - python?.?) > - dep_str="dev-lang/python:${dep_str: -3}" ;; > - jython?.?) > - dep_str="dev-java/jython:${dep_str: -3}" ;; > - pypy?.?) > - dep_str="dev-python/pypy:${dep_str: -3}" ;; > - *) > - die "Unsupported implementation: ${impl}" ;; > - esac > - dep_str="python_targets_${impl}? ( ${dep_str} )" > - > - RDEPEND="${RDEPEND} ${dep_str}" > - DEPEND="${DEPEND} ${dep_str}" > - unset dep_str > -done > +RDEPEND=${PYTHON_DEPS} > +DEPEND=${PYTHON_DEPS} > > _PACKAGE_SPECIFIC_S="${S#${WORKDIR}/}" > > diff --git a/gx86/eclass/python-r1.eclass b/gx86/eclass/python-r1.eclass > index 18f9246..957db68 100644 > --- a/gx86/eclass/python-r1.eclass > +++ b/gx86/eclass/python-r1.eclass > @@ -40,14 +40,45 @@ _PYTHON_ALL_IMPLS=( > # a package supports. It must be set before the `inherit' call. > # The default is to enable all implementations. > # > -# PYTHON_COMPAT can be either a scalar or an array. If it's a scalar, the eclass > -# will implicitly convert it to an array. > +# PYTHON_COMPAT can be either a scalar or an array. If it's a scalar, > +# the eclass will implicitly convert it to an array. > : ${PYTHON_COMPAT:=${_PYTHON_ALL_IMPLS[@]}} > > +# @ECLASS-VARIABLE: PYTHON_DEPS > +# @DESCRIPTION: > +# This is an eclass-generated Python dependency string for all > +# implementations listed in PYTHON_COMPAT. It should be used > +# in RDEPEND and/or DEPEND like: > +# > +# @CODE > +# RDEPEND="${PYTHON_DEPS} > +# dev-foo/mydep" > +# DEPEND="${RDEPEND}" > +# @CODE > + > PYTHON_COMPAT=( ${PYTHON_COMPAT[@]} ) > > _python_set_globals() { > IUSE=${PYTHON_COMPAT[@]/#/python_targets_} > REQUIRED_USE="|| ( ${IUSE} )" > + > + PYTHON_DEPS= > + local i > + for i in ${PYTHON_COMPAT[@]}; do > + local d > + case ${i} in > + python*) > + d='dev-lang/python';; > + jython*) > + d='dev-java/jython';; > + pypy*) > + d='dev-python/pypy';; > + *) > + die "Invalid implementation: ${i}" > + esac > + > + local v=${i##*[a-z]} > + PYTHON_DEPS+=" python_targets_${i}? ( ${d}:${v/_/.} )" > + done > } > _python_set_globals > -- > 1.7.12 > > This patchset looks good to me. -- Cheers, Ben | yngwin Gentoo developer Gentoo Qt project lead, Gentoo Wiki admin |
| All times are GMT. The time now is 09:35 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.