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 <[email protected]> > --- > > 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
signature.asc
Description: This is a digitally signed message part
