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