Mailing List Archive

[PATCH v2 0/5] eclass updates for meson <> distutils <> LTO
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 <eschwartz93@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