From 0cfab505ad867ed3418b0dad8c4f2efa52acb1e7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 10 May 2017 17:21:35 +0200 Subject: [PATCH] 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 863051337f0b..a9ae22c6d154 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: ... +# @INTERNAL +# @DESCRIPTION: +# Check whether the specified matches at least one +# of the patterns following it. Return 0 if it does, 1 otherwise. +# +# 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: -- 2.26.2