v2 answers the question: how to deal with accumulated mesonargs without
actually *running* meson_src_configure before gpep517

Eli Schwartz (5):
  meson.eclass: wire up LTO support directly into the meson options
  meson.eclass: prefer -D buildtype instead of --buildtype
  meson.eclass: refactor src_configure into a setter function
  distutils-r1.eclass: wire up meson-python to meson.eclass
  distutils-r1.eclass: fix src_configure to handle flag-o-matic
    correctly

 eclass/distutils-r1.eclass | 13 ++++--
 eclass/meson.eclass        | 85 +++++++++++++++++++++++++++-----------
 2 files changed, 70 insertions(+), 28 deletions(-)

Range-diff against v1:
1:  aac9d1516675 = 1:  aac9d1516675 meson.eclass: wire up LTO support directly 
into the meson options
-:  ------------ > 2:  cf98596d9bd1 meson.eclass: prefer -D buildtype instead 
of --buildtype
-:  ------------ > 3:  7ac90f1b2d88 meson.eclass: refactor src_configure into a 
setter function
2:  bcbec23f5c76 ! 4:  e8387e8dec72 distutils-r1.eclass: wire up meson-python 
to meson.eclass
    @@ Commit message
     
         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.
    +    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>
     
    @@ eclass/distutils-r1.eclass: distutils_pep517_install() {
                        )
                        ;;
                meson-python)
    -+                  meson_src_configure "${DISTUTILS_ARGS[@]}"
    ++                  local mesonargs=()
    ++                  setup_meson_src_configure "${DISTUTILS_ARGS[@]}"
                        local -x NINJAOPTS=$(get_NINJAOPTS)
                        config_settings=$(
    -                           "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || 
die
    -@@ eclass/distutils-r1.eclass: 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
    +-                          "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || 
die
    ++                          "${EPYTHON}" - "${mesonargs[@]}" <<-EOF || die
    +                                   import json
    +                                   import os
    +                                   import shlex
-:  ------------ > 5:  a30c280f4573 distutils-r1.eclass: fix src_configure to 
handle flag-o-matic correctly
-- 
2.43.0


Reply via email to