commit:     21a150f252a072b68c66c5f822db505a594aae4f
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  4 09:45:59 2019 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Mon Feb 11 17:14:35 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21a150f2

vala.eclass: add function to generate supported atoms with USE

Signed-off-by: Gilles Dartiguelongue <eva <AT> gentoo.org>
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 eclass/vala.eclass | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/eclass/vala.eclass b/eclass/vala.eclass
index 11fd875d5d9..715ce958124 100644
--- a/eclass/vala.eclass
+++ b/eclass/vala.eclass
@@ -59,16 +59,33 @@ vala_api_versions() {
        done
 }
 
+# Outputs VALA_USE_DEPEND as a a USE-dependency string
+_vala_use_depend() {
+       local u="" vala_use
+
+       if [[ -n ${VALA_USE_DEPEND} ]]; then
+               for vala_use in ${VALA_USE_DEPEND}; do
+                       case ${vala_use} in
+                               vapigen) u="${u},${vala_use}(+)" ;;
+                               valadoc) u="${u},${vala_use}(-)" ;;
+                       esac
+               done
+               u="[${u#,}]"
+       fi
+
+       echo -n "${u}"
+}
+
 # @FUNCTION: vala_depend
 # @DESCRIPTION:
 # Outputs a ||-dependency string on vala from VALA_MAX_API_VERSION down to
 # VALA_MIN_API_VERSION
 vala_depend() {
-       local u v versions=$(vala_api_versions)
-       [[ ${VALA_USE_DEPEND} ]] && u="[${VALA_USE_DEPEND}(+)]"
+       local u v
+       u=$(_vala_use_depend)
 
        echo -n "|| ("
-       for v in ${versions}; do
+       for v in $(vala_api_versions); do
                echo -n " dev-lang/vala:${v}${u}"
        done
        echo " )"
@@ -80,7 +97,8 @@ vala_depend() {
 # VALA_MAX_API_VERSION, VALA_MIN_API_VERSION, and VALA_USE_DEPEND.
 vala_best_api_version() {
        local u v
-       [[ ${VALA_USE_DEPEND} ]] && u="[${VALA_USE_DEPEND}(+)]"
+       u=$(_vala_use_depend)
+
        for v in $(vala_api_versions); do
                has_version "dev-lang/vala:${v}${u}" && echo "${v}" && return
        done

Reply via email to