EPREFIX is only available in > EAPI 2 but let's take the opportuinty
to clean up in general. We don't want to keep worrying about
*very* old EAPI cases, especially given other eclasses
either barely - or don't - support it.

Signed-off-by: Sam James <s...@gentoo.org>
---
 eclass/gnuconfig.eclass | 41 +++++++++++++++++++++++++++++++++++------
 1 file changed, 35 insertions(+), 6 deletions(-)

diff --git a/eclass/gnuconfig.eclass b/eclass/gnuconfig.eclass
index f679441445f..865bc9fcb70 100644
--- a/eclass/gnuconfig.eclass
+++ b/eclass/gnuconfig.eclass
@@ -15,7 +15,23 @@
 # other files that come with automake, e.g. depcomp, mkinstalldirs, etc.
 #
 
-DEPEND="sys-devel/gnuconfig"
+case ${EAPI:-0} in
+       4|5|6)
+               DEPEND="
+                       sys-apps/grep
+                       sys-devel/gnuconfig
+               "
+               ;;
+       7)
+               BDEPEND="
+                       sys-apps/grep
+                       sys-devel/gnuconfig
+               "
+               ;;
+       *)
+               die "EAPI ${EAPI} is unsupported!"
+               ;;
+esac
 
 # @FUNCTION: gnuconfig_update
 # @USAGE: [file1 file2 ...]
@@ -91,12 +107,25 @@ gnuconfig_do_update() {
 # This searches the standard locations for the newest config.{sub|guess}, and
 # returns the directory where they can be found.
 gnuconfig_findnewest() {
-       local locations=(
-               "${EPREFIX}"/usr/share/misc/config.sub
-               "${EPREFIX}"/usr/share/gnuconfig/config.sub
-               "${EPREFIX}"/usr/share/automake*/config.sub
-               "${EPREFIX}"/usr/share/libtool/config.sub
+       local locations=()
+       local prefix
+
+       case ${EAPI:-0} in
+               4|5|6)
+                       prefix="${EPREFIX}"
+                       ;;
+               *)
+                       prefix="${BROOT}"
+                       ;;
+       esac
+
+       locations+=(
+               "${prefix}"/usr/share/misc/config.sub
+               "${prefix}"/usr/share/gnuconfig/config.sub
+               "${prefix}"/usr/share/automake*/config.sub
+               "${prefix}"/usr/share/libtool/config.sub
        )
+
        grep -s '^timestamp' "${locations[@]}" | \
                sort -r -n -t\' -k2 | \
                sed -n '1{s,/config.sub:.*$,,;p;q}'
-- 
2.31.1


Reply via email to