Gentoo Archives: gentoo-dev

From: "Anna “CyberTailor”" <cyber+gentoo@×××××.in>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH 1/5] ninja-utils.eclass: Support dev-util/samurai
Date: Mon, 30 May 2022 19:57:50
Message-Id: YpUhsshrSE0FfCqS@sysrq.in
In Reply to: [gentoo-dev] [PATCH 1/5] ninja-utils.eclass: Support dev-util/samurai by Sam James
1 On 2022-05-08 23:07, Sam James wrote:
2 > From: orbea <orbea@××××××.net>
3 >
4 > samurai is a ninja-compatible build tool written in C which
5 > works with cmake, meson and other users of ninja.
6 >
7 > It is feature-complete and supports most of the same options
8 > as ninja.
9 >
10 > Signed-off-by: orbea <orbea@××××××.net>
11 > Signed-off-by: Sam James <sam@g.o>
12 > ---
13 > eclass/ninja-utils.eclass | 24 +++++++++++++++++++++++-
14 > 1 file changed, 23 insertions(+), 1 deletion(-)
15 >
16 > diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass
17 > index c5f34934192f..67f7a6b5e8a7 100644
18 > --- a/eclass/ninja-utils.eclass
19 > +++ b/eclass/ninja-utils.eclass
20 > @@ -26,6 +26,15 @@ esac
21 > if [[ -z ${_NINJA_UTILS_ECLASS} ]]; then
22 > _NINJA_UTILS_ECLASS=1
23 >
24 > +# @ECLASS_VARIABLE: NINJA
25 > +# @PRE_INHERIT
26
27 How about making it @USER_VARIABLE instead? Because it's more likely to
28 be set in make.conf rather than in an ebuild.
29
30 > +# @DEFAULT_UNSET
31 > +# @DESCRIPTION:
32 > +# Specify a compatible ninja implementation to be used by eninja.
33 > +# At this point only "ninja" and "samu" are supported.
34 > +# The default is set to "ninja".
35 > +: ${NINJA:=ninja}
36 > +
37 > # @ECLASS_VARIABLE: NINJAOPTS
38 > # @DEFAULT_UNSET
39 > # @DESCRIPTION:
40 > @@ -35,6 +44,19 @@ _NINJA_UTILS_ECLASS=1
41 >
42 > inherit multiprocessing
43 >
44 > +case "${NINJA}" in
45 > + ninja)
46 > + NINJA_DEPEND=">=dev-util/ninja-1.8.2"
47 > + ;;
48 > + samu)
49 > + NINJA_DEPEND="dev-util/samurai"
50 > + ;;
51 > + *)
52 > + eerror "Unknown value for \${NINJA}"
53 > + die "Value ${NINJA} is not supported"
54 > + ;;
55 > +esac
56 > +
57 > # @FUNCTION: eninja
58 > # @USAGE: [<args>...]
59 > # @DESCRIPTION:
60 > @@ -48,7 +70,7 @@ eninja() {
61 > if [[ -z ${NINJAOPTS+set} ]]; then
62 > NINJAOPTS="-j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0)"
63 > fi
64 > - set -- ninja -v ${NINJAOPTS} "$@"
65 > + set -- "${NINJA}" -v ${NINJAOPTS} "$@"
66 > echo "$@" >&2
67 > "$@" || die "${nonfatal_args[@]}" "${*} failed"
68 > }
69 > --
70 > 2.35.1
71 >
72 >

Replies