commit:     fdcce60fc458b38f604d15b404720d92f5852278
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  1 12:27:10 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan  8 05:14:36 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdcce60f

scons-utils.eclass: escons, respect nonfatal in EAPI 6

 eclass/scons-utils.eclass | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/eclass/scons-utils.eclass b/eclass/scons-utils.eclass
index 4defbac..fe9160a 100644
--- a/eclass/scons-utils.eclass
+++ b/eclass/scons-utils.eclass
@@ -107,7 +107,8 @@ fi
 # @DESCRIPTION:
 # Call scons, passing the supplied arguments, ${myesconsargs[@]},
 # filtered ${MAKEOPTS}, ${EXTRA_ESCONS}. Similar to emake. Like emake,
-# this function does die on failure in EAPI 4.
+# this function does die on failure in EAPI 4. Respects nonfatal
+# in EAPI 6 and newer.
 escons() {
        local ret
 
@@ -121,7 +122,16 @@ escons() {
        ret=${?}
 
        if [[ ${ret} -ne 0 ]]; then
-               [[ ${EAPI:-0} != [0123] ]] && die "escons failed."
+               case "${EAPI:-0}" in
+                       0|1|2|3) # nonfatal in EAPIs 0 through 3
+                               ;;
+                       4|5) # 100% fatal in 4 & 5
+                               die "escons failed."
+                               ;;
+                       *) # respect nonfatal in 6 onwards
+                               die -n "escons failed."
+                               ;;
+               esac
        fi
        return ${ret}
 }

Reply via email to