From: Eli Schwartz <eschwart...@gmail.com>

The meson-python build backend -- as the name suggests -- uses meson
under the hood. We have a meson eclass which does lots of useful things
pertinent to meson. Make sure it gets invoked, by prying out the options
that meson_src_configure would use and setting passing them as our seed
values for gpep517.

[sam: Tweak '=' style.]
[sam: Tweak mesonargs->MESONARGS for final version of 
e9189344b971f7ee0e2bec36650c57dbade4f122.]
[sam: Update local variable list.]
[mgorny: Add local variables for LTO filtering.]

Signed-off-by: Eli Schwartz <eschwart...@gmail.com>
Signed-off-by: Sam James <s...@gentoo.org>
Signed-off-by: Michał Górny <mgo...@gentoo.org>
---
 eclass/distutils-r1.eclass | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 134cb39f276a..e0c54d81a846 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -197,6 +197,10 @@ _DISTUTILS_R1_ECLASS=1
 inherit flag-o-matic
 inherit multibuild multilib multiprocessing ninja-utils toolchain-funcs
 
+if [[ ${DISTUTILS_USE_PEP517} == meson-python ]]; then
+       inherit meson
+fi
+
 if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
        inherit python-r1
 else
@@ -1386,9 +1390,19 @@ distutils_pep517_install() {
                        )
                        ;;
                meson-python)
+                       # variables defined by setup_meson_src_configure
+                       local MESONARGS=() BOOST_INCLUDEDIR BOOST_LIBRARYDIR NM 
READELF
+                       # it also calls filter-lto
+                       local x
+                       for x in $(all-flag-vars); do
+                               local -x "${x}=${!x}"
+                       done
+
+                       setup_meson_src_configure "${DISTUTILS_ARGS[@]}"
+
                        local -x NINJAOPTS=$(get_NINJAOPTS)
                        config_settings=$(
-                               "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || 
die
+                               "${EPYTHON}" - "${MESONARGS[@]}" <<-EOF || die
                                        import json
                                        import os
                                        import shlex
-- 
2.44.0


Reply via email to