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

Reply via email to