• Re: [gentoo-dev] [PATCH v2 4/5] distutils-r1.eclass: wire up meson-pyth

    From =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?=@21:1/5 to Eli Schwartz on Tue Feb 20 08:00:01 2024
    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 <eschwartz93@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


    -----BEGIN PGP SIGNATURE-----

    iQFGBAABCgAwFiEEx2qEUJQJjSjMiybFY5ra4jKeJA4FAmXUTPsSHG1nb3JueUBn ZW50b28ub3JnAAoJEGOa2uIyniQOFn0H/1XNLHtJHp2OQS8xn+Y1cAq9PwgbAr7I zvCl0ho0On1qeiNMSjLwzkvoPWZDbBzNFaZSbgZYjqDCzOuT40b/w0Vsz9L+kn1y YQXYIZgnyWo4VBBNjmkloDggMqKKFz4g5R2/KG+tdgLowOVdA3ZYTKK8I1gmc7lu D9rSkgq5xnafFWYUKJMrk4VSE1mdpE31T8sZlcX40xfFgObwDPRFZUVIIKE3Hcac O8x6hcQkuKRrZYr/WNI0NpmCn2ExTm2tEVemoS+Pfq8y6eWpRuGJo/+8Vow3BDFx rbbQoyBB0+st9LDOh3Mmgoql6sJ/SbNGsbv42l4FURxZg4bn7mZHf2M=
    =DyEa
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)