commit: 0cfab505ad867ed3418b0dad8c4f2efa52acb1e7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 10 15:21:35 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 16 17:11:32 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0cfab505
python-utils-r1.eclass: _python_impl_matches for impl-pattern matching
Introduce a _python_impl_matches() function that commonizes the pattern
matching behavior used throughout python-r1 & python-single-r1. Having
a single implementation makes future extensions much easier.
eclass/python-utils-r1.eclass | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 863051337f0..a9ae22c6d15 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -149,6 +149,30 @@ _python_set_impls() {
fi
}
+# @FUNCTION: _python_impl_matches
+# @USAGE: <impl> <pattern>...
+# @INTERNAL
+# @DESCRIPTION:
+# Check whether the specified <impl> matches at least one
+# of the patterns following it. Return 0 if it does, 1 otherwise.
+#
+# <impl> should be in PYTHON_COMPAT form. The patterns are fnmatch-style
+# patterns.
+_python_impl_matches() {
+ [[ ${#} -ge 2 ]] || die "${FUNCNAME}: takes at least 2 parameters"
+
+ local impl=${1} pattern
+ shift
+
+ for pattern; do
+ if [[ ${impl} == ${pattern} ]]; then
+ return 0
+ fi
+ done
+
+ return 1
+}
+
# @ECLASS-VARIABLE: PYTHON
# @DEFAULT_UNSET
# @DESCRIPTION: