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 <eschwart...@gmail.com>
> ---
> 
> 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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to