v2 answers the question: how to deal with accumulated mesonargs without actually *running* meson_src_configure before gpep517
Eli Schwartz (5): meson.eclass: wire up LTO support directly into the meson options meson.eclass: prefer -D buildtype instead of --buildtype meson.eclass: refactor src_configure into a setter function distutils-r1.eclass: wire up meson-python to meson.eclass distutils-r1.eclass: fix src_configure to handle flag-o-matic correctly eclass/distutils-r1.eclass | 13 ++++-- eclass/meson.eclass | 85 +++++++++++++++++++++++++++----------- 2 files changed, 70 insertions(+), 28 deletions(-) Range-diff against v1: 1: aac9d1516675 = 1: aac9d1516675 meson.eclass: wire up LTO support directly into the meson options -: ------------ > 2: cf98596d9bd1 meson.eclass: prefer -D buildtype instead of --buildtype -: ------------ > 3: 7ac90f1b2d88 meson.eclass: refactor src_configure into a setter function 2: bcbec23f5c76 ! 4: e8387e8dec72 distutils-r1.eclass: wire up meson-python to meson.eclass @@ Commit message 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. + 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. Signed-off-by: Eli Schwartz <eschwart...@gmail.com> @@ eclass/distutils-r1.eclass: distutils_pep517_install() { ) ;; meson-python) -+ meson_src_configure "${DISTUTILS_ARGS[@]}" ++ local mesonargs=() ++ setup_meson_src_configure "${DISTUTILS_ARGS[@]}" local -x NINJAOPTS=$(get_NINJAOPTS) config_settings=$( - "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die -@@ eclass/distutils-r1.eclass: distutils_pep517_install() { - ninjaopts = shlex.split(os.environ["NINJAOPTS"]) - print(json.dumps({ - "builddir": "${BUILD_DIR}", -- "setup-args": sys.argv[1:], - "compile-args": ["-v"] + ninjaopts, - })) - EOF +- "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die ++ "${EPYTHON}" - "${mesonargs[@]}" <<-EOF || die + import json + import os + import shlex -: ------------ > 5: a30c280f4573 distutils-r1.eclass: fix src_configure to handle flag-o-matic correctly -- 2.43.0