Mailing List Archive

[PATCH 1/2] ninja-utils.eclass: EAPI 8 support
Also drop support for EAPIs < 5 to match multiprocessing.eclass.

Signed-off-by: David Michael <fedora.dm0@gmail.com>
---

Hi,

Here are a couple patches to support EAPI 8 with meson packages. I also
posted this to https://github.com/gentoo/gentoo/pull/21409 for review.

Thanks.

David

eclass/ninja-utils.eclass | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass
index ca8d67191dc..f8f088b4209 100644
--- a/eclass/ninja-utils.eclass
+++ b/eclass/ninja-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

# @ECLASS: ninja-utils.eclass
@@ -8,7 +8,7 @@
# @AUTHOR:
# Micha? Górny <mgorny@gentoo.org>
# Mike Gilbert <floppym@gentoo.org>
-# @SUPPORTED_EAPIS: 2 4 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: common bits to run dev-util/ninja builder
# @DESCRIPTION:
# This eclass provides a single function -- eninja -- that can be used
@@ -21,10 +21,8 @@
if [[ -z ${_NINJA_UTILS_ECLASS} ]]; then

case ${EAPI:-0} in
- 0|1|3) die "EAPI=${EAPI:-0} is not supported (too old)";;
- # copied from cmake-utils
- 2|4|5|6|7) ;;
- *) die "EAPI=${EAPI} is not yet supported" ;;
+ 5|6|7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac

# @ECLASS-VARIABLE: NINJAOPTS
@@ -44,7 +42,7 @@ inherit multiprocessing
# with EAPI 6, it also supports being called via 'nonfatal'.
eninja() {
local nonfatal_args=()
- [[ ${EAPI:-0} != [245] ]] && nonfatal_args+=( -n )
+ [[ ${EAPI} != 5 ]] && nonfatal_args+=( -n )

if [[ -z ${NINJAOPTS+set} ]]; then
NINJAOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0)"
--
2.31.1
Re: [PATCH 1/2] ninja-utils.eclass: EAPI 8 support [ In reply to ]
>>>>> On Thu, 24 Jun 2021, David Michael wrote:

> --- a/eclass/ninja-utils.eclass
> +++ b/eclass/ninja-utils.eclass
> @@ -1,4 +1,4 @@
> -# Copyright 1999-2018 Gentoo Foundation
> +# Copyright 1999-2021 Gentoo Foundation

Please update to "Gentoo Authors".

> # Distributed under the terms of the GNU General Public License v2
>
> # @ECLASS: ninja-utils.eclass
> @@ -8,7 +8,7 @@
> # @AUTHOR:
> # Micha? Górny <mgorny@gentoo.org>
> # Mike Gilbert <floppym@gentoo.org>
> -# @SUPPORTED_EAPIS: 2 4 5 6 7
> +# @SUPPORTED_EAPIS: 5 6 7 8
> # @BLURB: common bits to run dev-util/ninja builder
> # @DESCRIPTION:
> # This eclass provides a single function -- eninja -- that can be used
> @@ -21,10 +21,8 @@
> if [[ -z ${_NINJA_UTILS_ECLASS} ]]; then
>
> case ${EAPI:-0} in

This could be simplified to "case ${EAPI} in".

> - 0|1|3) die "EAPI=${EAPI:-0} is not supported (too old)";;
> - # copied from cmake-utils
> - 2|4|5|6|7) ;;
> - *) die "EAPI=${EAPI} is not yet supported" ;;
> + 5|6|7|8) ;;
> + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
> esac
>
> # @ECLASS-VARIABLE: NINJAOPTS
> @@ -44,7 +42,7 @@ inherit multiprocessing
> # with EAPI 6, it also supports being called via 'nonfatal'.
> eninja() {
> local nonfatal_args=()
> - [[ ${EAPI:-0} != [245] ]] && nonfatal_args+=( -n )
> + [[ ${EAPI} != 5 ]] && nonfatal_args+=( -n )
>
> if [[ -z ${NINJAOPTS+set} ]]; then
> NINJAOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0)"
Re: [PATCH 1/2] ninja-utils.eclass: EAPI 8 support [ In reply to ]
On Thu, Jun 24, 2021 at 12:51 PM Ulrich Mueller <ulm@gentoo.org> wrote:
> >>>>> On Thu, 24 Jun 2021, David Michael wrote:
> > --- a/eclass/ninja-utils.eclass
> > +++ b/eclass/ninja-utils.eclass
> > @@ -1,4 +1,4 @@
> > -# Copyright 1999-2018 Gentoo Foundation
> > +# Copyright 1999-2021 Gentoo Foundation
>
> Please update to "Gentoo Authors".
>
> > # Distributed under the terms of the GNU General Public License v2
> >
> > # @ECLASS: ninja-utils.eclass
> > @@ -8,7 +8,7 @@
> > # @AUTHOR:
> > # Micha? Górny <mgorny@gentoo.org>
> > # Mike Gilbert <floppym@gentoo.org>
> > -# @SUPPORTED_EAPIS: 2 4 5 6 7
> > +# @SUPPORTED_EAPIS: 5 6 7 8
> > # @BLURB: common bits to run dev-util/ninja builder
> > # @DESCRIPTION:
> > # This eclass provides a single function -- eninja -- that can be used
> > @@ -21,10 +21,8 @@
> > if [[ -z ${_NINJA_UTILS_ECLASS} ]]; then
> >
> > case ${EAPI:-0} in
>
> This could be simplified to "case ${EAPI} in".

Okay, I've updated https://github.com/gentoo/gentoo/pull/21409 and
also moved the EAPI check outside the inherit guard, since that's what
other eclasses seem to do.

Thanks.

David