ebuild.sh: EAPI conditional usex dummy
authorZac Medico <zmedico@gentoo.org>
Thu, 27 Sep 2012 17:38:37 +0000 (10:38 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 27 Sep 2012 17:38:37 +0000 (10:38 -0700)
This probably makes no difference in practice, since it only affects
the "depend" phase. Note that we're allowed to use EAPI conditionals
here, since we parse the EAPI on the python side and pass it to bash.

bin/ebuild.sh

index aa3dcdd28c34119d89a2c914912273c8766119b2..1b15bd06a50b3e90b85c3f367b1a68b1ec8cbea8 100755 (executable)
@@ -33,7 +33,11 @@ else
        done
        # These dummy functions return false in non-strict EAPIs, in order to ensure that
        # `use multislot` is false for the "depend" phase.
-       for x in use useq usev usex ; do
+               funcs="use useq usev"
+               if ___eapi_has_usex; then
+                       funcs+=" usex"
+               fi
+               for x in ${funcs} ; do
                eval "${x}() {
                        if ___eapi_disallows_helpers_in_global_scope; then
                                die \"\${FUNCNAME}() calls are not allowed in global scope\"
@@ -47,7 +51,7 @@ else
        for x in best_version has_version portageq ; do
                eval "${x}() { die \"\${FUNCNAME}() calls are not allowed in global scope\"; }"
        done
-       unset x
+       unset funcs x
 fi
 
 # Don't use sandbox's BASH_ENV for new shells because it does