[prev in list] [next in list] [prev in thread] [next in thread]
List: gentoo-dev
Subject: Re: [gentoo-dev] [PATCH] python-utils-r1.eclass: Add PYTHON_RELAXED_VERSIONS variable
From: Michał_Górny <mgorny () gentoo ! org>
Date: 2020-04-30 5:51:31
Message-ID: 9dcd5196545ebca31aed047e2fcc802ae1775769.camel () gentoo ! org
[Download RAW message or body]
On Wed, 2020-04-29 at 22:22 -0700, Patrick McLean wrote:
> This adds PYTHON_RELAXED_VERSIONS that ebuilds can set before inheriting the
> python eclasses that will make the implementation dependencies be simple slot
> dependencies rather than >= dependencies. The purpose of this is for packages in
> @system to use to avoid circular dependencies like in bug #720048
>
> Bug: https://bugs.gentoo.org/720048
> Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
> ---
> eclass/python-utils-r1.eclass | 56 ++++++++++++++++++++++++++---------
> 1 file changed, 42 insertions(+), 14 deletions(-)
>
> diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
> index e85aefda792..e5781605c8e 100644
> --- a/eclass/python-utils-r1.eclass
> +++ b/eclass/python-utils-r1.eclass
> @@ -57,6 +57,17 @@ readonly _PYTHON_ALL_IMPLS
> # which can involve revisions of this eclass that support a different
> # set of Python implementations.
>
> +# @ECLASS-VARIABLE: PYTHON_RELAXED_VERSIONS
> +# @INTERNAL
> +# @DESCRIPTION:
> +# Set to a non-empty value in order to make eclass dependencies on
> +# Python versions be simple slot dependencies rather than setting
> +# a minimum version.
> +#
> +# This is intended to be set in ebuilds that are part of @system, or
> +# are dependencies of Python implementations themselves to avoid
> +# circular dependencies with the Python interpreter.
Why more hack-variables? I'll just revert the changes.
> +
> # @FUNCTION: _python_impl_supported
> # @USAGE: <impl>
> # @INTERNAL
> @@ -376,20 +387,37 @@ _python_export() {
> ;;
> PYTHON_PKG_DEP)
> local d
> - case ${impl} in
> - python2.7)
> - PYTHON_PKG_DEP='>=dev-lang/python-2.7.17-r1:2.7';;
> - python3.6)
> - PYTHON_PKG_DEP=">=dev-lang/python-3.6.10:3.6";;
> - python3.7)
> - PYTHON_PKG_DEP=">=dev-lang/python-3.7.7-r1:3.7";;
> - python3.8)
> - PYTHON_PKG_DEP=">=dev-lang/python-3.8.2:3.8";;
> - pypy3)
> - PYTHON_PKG_DEP='>=dev-python/pypy3-7.3.0:0=';;
> - *)
> - die "Invalid implementation: ${impl}"
> - esac
> + if [[ -z ${PYTHON_RELAXED_VERSIONS} ]]; then
> + case ${impl} in
> + python2.7)
> + PYTHON_PKG_DEP='>=dev-lang/python-2.7.17-r1:2.7';;
> + python3.6)
> + PYTHON_PKG_DEP=">=dev-lang/python-3.6.10:3.6";;
> + python3.7)
> + PYTHON_PKG_DEP=">=dev-lang/python-3.7.7-r1:3.7";;
> + python3.8)
> + PYTHON_PKG_DEP=">=dev-lang/python-3.8.2:3.8";;
> + pypy3)
> + PYTHON_PKG_DEP='>=dev-python/pypy3-7.3.0:0=';;
> + *)
> + die "Invalid implementation: ${impl}"
> + esac
> + else
> + case ${impl} in
> + python2.7)
> + PYTHON_PKG_DEP='dev-lang/python:2.7';;
> + python3.6)
> + PYTHON_PKG_DEP="dev-lang/python:3.6";;
> + python3.7)
> + PYTHON_PKG_DEP="dev-lang/python:3.7";;
> + python3.8)
> + PYTHON_PKG_DEP="dev-lang/python:3.8";;
> + pypy3)
> + PYTHON_PKG_DEP='dev-python/pypy3:0=';;
> + *)
> + die "Invalid implementation: ${impl}"
> + esac
> + fi
>
> # use-dep
> if [[ ${PYTHON_REQ_USE} ]]; then
--
Best regards,
Michał Górny
["signature.asc" (application/pgp-signature)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic