• Re: [gentoo-dev] [PATCH 2/3] distutils-r1.eclass: wire up meson-python

    From Sam James@21:1/5 to Eli Schwartz on Tue Feb 20 05:50:01 2024
    Eli Schwartz <eschwartz93@gmail.com> writes:

    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.


    Maybe check a sample (or ideally all) of the meson-python reverse
    dependencies?

    Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
    ---
    eclass/distutils-r1.eclass | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
    index c0d1992ccce0..35825d4c3aa6 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
    + inherit meson
    +fi
    +
    if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
    inherit python-r1
    else
    @@ -1386,6 +1390,7 @@ distutils_pep517_install() {
    )
    ;;
    meson-python)
    + meson_src_configure "${DISTUTILS_ARGS[@]}"
    local -x NINJAOPTS=$(get_NINJAOPTS)
    config_settings=$(
    "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
    @@ -1397,7 +1402,6 @@ 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


    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

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

    iOUEARYKAI0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCZdQtuF8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MA8cc2FtQGdlbnRv by5vcmcACgkQc4QJ9SDfkZA47gD/eU9wObuXO7tOOfmxzQTgyL6cD/TF7eTbyHxJ Qk35LzoA+wYn1UZqYN5pdKNo1ppANoGOiRfuLTOaBqbJ6l8CMSkJ
    =tye1
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?=@21:1/5 to Eli Schwartz on Tue Feb 20 07:30:01 2024
    On Mon, 2024-02-19 at 23:26 -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.

    Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
    ---
    eclass/distutils-r1.eclass | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
    index c0d1992ccce0..35825d4c3aa6 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
    + inherit meson
    +fi
    +
    if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
    inherit python-r1
    else
    @@ -1386,6 +1390,7 @@ distutils_pep517_install() {
    )
    ;;
    meson-python)
    + meson_src_configure "${DISTUTILS_ARGS[@]}"

    NAK. You're calling configure twice, possibly with disjoint results.
    This is bound to be a mess, as you discovered yourself.

    local -x NINJAOPTS=$(get_NINJAOPTS)
    config_settings=$(
    "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
    @@ -1397,7 +1402,6 @@ 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

    --
    Best regards,
    Michał Górny


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

    iQFGBAABCgAwFiEEx2qEUJQJjSjMiybFY5ra4jKeJA4FAmXURo8SHG1nb3JueUBn ZW50b28ub3JnAAoJEGOa2uIyniQO7GQIAIGCAHPo91biBPAPMfNvelv6IX4w/OiR 5R5y3pdSl+jZo3D7Vuax+G9utN22nTrWXm5+7Fg0iEIZ+kJNpE9GDN/IL9tXkLSu /JJtTV3UJ0keGje/0WWCc+IcZNqjlCrnbHo1nHheuMzCLYF0CHx64HamwxLJShAZ rKQiZP/zOes5cH10wj47PyaFbERzjiIlsRMviKenSlGKJIhqoC7+DRI7Y4AmEMBC JXjjnNQjmv3xQALsxSmPXCpJ62SR6m4MXDc1ewuN2taTfkxqnJOnhuTNDlbFawZL ErgkLykka2TQVLWtFgOG8XHPv+QWifzYp97gG7LqbiGXXdlKYRNoMSs=
    =nchA
    -----END PGP SIGNATURE-----

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