On Tue, 2024-02-20 at 01:14 -0500, Eli Schwartz wrote: > 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. > > Signed-off-by: Eli Schwartz > --- > > v2: call setup_meson_src_configure instead of meson_src_configure. This > avoids running `meson setup` twice, and guarantees we use whatever > settings the PEP517 backend requires. In particular, it respects numpy's > vendored meson fork with experimental new features. > > eclass/distutils-r1.eclass | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass > index c0d1992ccce0..a42adc182ed9 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 We use '==' throughout. > + inherit meson > +fi > + > if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then > inherit python-r1 > else > @@ -1386,9 +1390,11 @@ distutils_pep517_install() { > ) > ;; > meson-python) > + local mesonargs=() > + 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 -- Best regards, Michał Górny