vala.eclass: add function to generate supported atoms with USE
authorGilles Dartiguelongue <eva@gentoo.org>
Fri, 4 Jan 2019 09:45:59 +0000 (10:45 +0100)
committerMart Raudsepp <leio@gentoo.org>
Mon, 11 Feb 2019 17:14:35 +0000 (19:14 +0200)
Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org>
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
eclass/vala.eclass

index 11fd875d5d99992c68a792f297439d11d8285986..715ce9581244d22c5931deafa1302999c11fbddf 100644 (file)
@@ -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