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