Gentoo Archives: gentoo-dev

From: Sam James <sam@g.o>
To: gentoo-dev@l.g.o
Cc: Sam James <sam@g.o>
Subject: [gentoo-dev] [PATCH v2 3/3] gnuconfig.eclass: use BDEPEND, BROOT where available (drop support for EAPI <4)
Date: Mon, 05 Apr 2021 14:09:09
Message-Id: 20210405140645.1743537-3-sam@gentoo.org
In Reply to: [gentoo-dev] [PATCH v2 1/3] autotools.eclass: eclassdoc, cosmetic changes, drop old EAPIs, configure.ac rename by Sam James
1 EPREFIX is only available in > EAPI 2 but let's take the opportuinty
2 to clean up in general. We don't want to keep worrying about
3 *very* old EAPI cases, especially given other eclasses
4 either barely - or don't - support it.
5
6 Signed-off-by: Sam James <sam@g.o>
7 ---
8 eclass/gnuconfig.eclass | 41 +++++++++++++++++++++++++++++++++++------
9 1 file changed, 35 insertions(+), 6 deletions(-)
10
11 diff --git a/eclass/gnuconfig.eclass b/eclass/gnuconfig.eclass
12 index f679441445f..865bc9fcb70 100644
13 --- a/eclass/gnuconfig.eclass
14 +++ b/eclass/gnuconfig.eclass
15 @@ -15,7 +15,23 @@
16 # other files that come with automake, e.g. depcomp, mkinstalldirs, etc.
17 #
18
19 -DEPEND="sys-devel/gnuconfig"
20 +case ${EAPI:-0} in
21 + 4|5|6)
22 + DEPEND="
23 + sys-apps/grep
24 + sys-devel/gnuconfig
25 + "
26 + ;;
27 + 7)
28 + BDEPEND="
29 + sys-apps/grep
30 + sys-devel/gnuconfig
31 + "
32 + ;;
33 + *)
34 + die "EAPI ${EAPI} is unsupported!"
35 + ;;
36 +esac
37
38 # @FUNCTION: gnuconfig_update
39 # @USAGE: [file1 file2 ...]
40 @@ -91,12 +107,25 @@ gnuconfig_do_update() {
41 # This searches the standard locations for the newest config.{sub|guess}, and
42 # returns the directory where they can be found.
43 gnuconfig_findnewest() {
44 - local locations=(
45 - "${EPREFIX}"/usr/share/misc/config.sub
46 - "${EPREFIX}"/usr/share/gnuconfig/config.sub
47 - "${EPREFIX}"/usr/share/automake*/config.sub
48 - "${EPREFIX}"/usr/share/libtool/config.sub
49 + local locations=()
50 + local prefix
51 +
52 + case ${EAPI:-0} in
53 + 4|5|6)
54 + prefix="${EPREFIX}"
55 + ;;
56 + *)
57 + prefix="${BROOT}"
58 + ;;
59 + esac
60 +
61 + locations+=(
62 + "${prefix}"/usr/share/misc/config.sub
63 + "${prefix}"/usr/share/gnuconfig/config.sub
64 + "${prefix}"/usr/share/automake*/config.sub
65 + "${prefix}"/usr/share/libtool/config.sub
66 )
67 +
68 grep -s '^timestamp' "${locations[@]}" | \
69 sort -r -n -t\' -k2 | \
70 sed -n '1{s,/config.sub:.*$,,;p;q}'
71 --
72 2.31.1

Replies