Gentoo Archives: gentoo-dev

From: William Hubbs <williamh@g.o>
To: gentoo-dev@l.g.o
Cc: floppym@g.o, William Hubbs <williamh@g.o>
Subject: [gentoo-dev] [PATCH v5] meson.eclass: several cleanups
Date: Wed, 25 Aug 2021 15:28:46
Message-Id: 20210825152754.6398-1-williamh@gentoo.org
1 - Drop the unused emesontestargs variable.
2
3 - Use the compile and install subcommands of meson instead of calling
4 ninja. This allows for the possibility of a different back end.
5
6 - Stop using the NINJAOPTS variable.
7
8 - Add --num-processes to "meson test" call regardless of whether MAKEOPTS
9 is set since the default is 1 process.
10
11 - Pass --jobs 0 instead of 999 to represent infinity.
12
13 - Echo commands before running them.
14 - Remove extraneous whitespace.
15 ---
16 eclass/meson.eclass | 41 ++++++++++++++++++++++++-----------------
17 1 file changed, 24 insertions(+), 17 deletions(-)
18
19 diff --git a/eclass/meson.eclass b/eclass/meson.eclass
20 index 2a563e367c6..8b22797da71 100644
21 --- a/eclass/meson.eclass
22 +++ b/eclass/meson.eclass
23 @@ -77,12 +77,6 @@ fi
24 # Optional meson arguments as Bash array; this should be defined before
25 # calling meson_src_configure.
26
27 -# @VARIABLE: emesontestargs
28 -# @DEFAULT_UNSET
29 -# @DESCRIPTION:
30 -# Optional meson test arguments as Bash array; this should be defined before
31 -# calling meson_src_test.
32 -
33 # @VARIABLE: MYMESONARGS
34 # @DEFAULT_UNSET
35 # @DESCRIPTION:
36 @@ -379,7 +373,17 @@ meson_src_configure() {
37 meson_src_compile() {
38 debug-print-function ${FUNCNAME} "$@"
39
40 - eninja -C "${BUILD_DIR}" "$@"
41 + local mesoncompileargs=(
42 + -C "${BUILD_DIR}"
43 + --jobs "$(makeopts_jobs "${MAKEOPTS}" 0)"
44 + --load-average "$(makeopts_loadavg "${MAKEOPTS}" 0)"
45 + --verbose
46 + "$@"
47 + )
48 +
49 + set -- meson compile "${mesoncompileargs[@]}"
50 + echo "$@" >&2
51 + "$@" || die "compile failed"
52 }
53
54 # @FUNCTION: meson_src_test
55 @@ -391,28 +395,31 @@ meson_src_test() {
56
57 local mesontestargs=(
58 -C "${BUILD_DIR}"
59 + --num-processes "$(makeopts_jobs "${MAKEOPTS}")"
60 + "$@"
61 )
62 - [[ -n ${NINJAOPTS} || -n ${MAKEOPTS} ]] &&
63 - mesontestargs+=(
64 - --num-processes "$(makeopts_jobs ${NINJAOPTS:-${MAKEOPTS}})"
65 - )
66 -
67 - # Append additional arguments from ebuild
68 - mesontestargs+=("${emesontestargs[@]}")
69
70 - set -- meson test "${mesontestargs[@]}" "$@"
71 + set -- meson test "${mesontestargs[@]}"
72 echo "$@" >&2
73 "$@" || die "tests failed"
74 }
75
76 # @FUNCTION: meson_src_install
77 -# @USAGE: [extra ninja install arguments]
78 +# @USAGE: [extra meson install arguments]
79 # @DESCRIPTION:
80 # This is the meson_src_install function.
81 meson_src_install() {
82 debug-print-function ${FUNCNAME} "$@"
83
84 - DESTDIR="${D}" eninja -C "${BUILD_DIR}" install "$@"
85 + local mesoninstallargs=(
86 + -C "${BUILD_DIR}"
87 + --destdir "${D}"
88 + "$@"
89 + )
90 +
91 + set -- meson install "${mesoninstallargs[@]}"
92 + echo "$@" >&2
93 + "$@" || die "install failed"
94
95 pushd "${S}" > /dev/null || die
96 einstalldocs
97 --
98 2.31.1

Replies

Subject Author
Re: [gentoo-dev] [PATCH v5] meson.eclass: several cleanups William Hubbs <williamh@g.o>