1 |
Such checks are used at least in autotools-utils & kde* eclasses, and |
2 |
are done wrong there. Thus, I've created a little reusable snippet |
3 |
suitable for eutils. |
4 |
--- |
5 |
eclass/eutils.eclass | 15 +++++++++++++++ |
6 |
1 files changed, 15 insertions(+), 0 deletions(-) |
7 |
|
8 |
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass |
9 |
index cd1f9ff..3d99f92 100644 |
10 |
--- a/eclass/eutils.eclass |
11 |
+++ b/eclass/eutils.eclass |
12 |
@@ -2028,3 +2028,18 @@ path_exists() { |
13 |
-o) return $(( r == $# )) ;; |
14 |
esac |
15 |
} |
16 |
+ |
17 |
+# @FUNCTION: has_iuse |
18 |
+# @USAGE: flag |
19 |
+# @DESCRIPTION: |
20 |
+# Determines whether the given flag is in IUSE. Strips IUSE default prefixes |
21 |
+# as necessary. |
22 |
+has_iuse() { |
23 |
+ debug-print-function ${FUNCNAME} "$@" |
24 |
+ [[ ${#} -eq 1 ]] || die 'Invalid args to has_iuse()' |
25 |
+ |
26 |
+ local flag=${1} |
27 |
+ local liuse=( ${IUSE} ) |
28 |
+ |
29 |
+ has "${flag}" "${liuse[@]#[+-]}" |
30 |
+} |
31 |
-- |
32 |
1.7.6.1 |