commit: 84f8159eaceb84c3df83f525a3663496f3800a97 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Mon Apr 24 06:35:44 2023 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Mon Apr 24 07:25:04 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84f8159e
distutils-r1.eclass: Fix support for >=meson-python-0.13.0 Closes: https://bugs.gentoo.org/904677 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> eclass/distutils-r1.eclass | 51 ++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index cef9d71e5593..4346a86c2097 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1316,23 +1316,40 @@ distutils_pep517_install() { case ${DISTUTILS_USE_PEP517} in meson-python) local -x NINJAOPTS=$(get_NINJAOPTS) - config_settings=$( - "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die - import json - import os - import shlex - import sys - - ninjaopts = shlex.split(os.environ["NINJAOPTS"]) - print(json.dumps({ - "setup-args": sys.argv[1:], - "compile-args": [ - "-v", - f"--ninja-args={ninjaopts!r}", - ], - })) - EOF - ) + if has_version -b '>=dev-python/meson-python-0.13'; then + config_settings=$( + "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die + import json + import os + import shlex + import sys + + ninjaopts = shlex.split(os.environ["NINJAOPTS"]) + print(json.dumps({ + "setup-args": sys.argv[1:], + "compile-args": ["-v"] + ninjaopts, + })) + EOF + ) + else + config_settings=$( + "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die + import json + import os + import shlex + import sys + + ninjaopts = shlex.split(os.environ["NINJAOPTS"]) + print(json.dumps({ + "setup-args": sys.argv[1:], + "compile-args": [ + "-v", + f"--ninja-args={ninjaopts!r}", + ], + })) + EOF + ) + fi ;; setuptools) if [[ -n ${DISTUTILS_ARGS[@]} ]]; then