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
|