commit:     7adf37851c4208131f965bfbba5cace62780aef7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 10 15:25:46 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 16 17:11:36 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7adf3785

python-single-r1.eclass: python_gen_cond_dep, use _python_impl_matches()

 eclass/python-single-r1.eclass | 26 +++++++++++---------------
 1 file changed, 11 insertions(+), 15 deletions(-)

diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass
index e43057f26d6..eeb82751338 100644
--- a/eclass/python-single-r1.eclass
+++ b/eclass/python-single-r1.eclass
@@ -374,8 +374,7 @@ python_gen_useflags() {
 python_gen_cond_dep() {
        debug-print-function ${FUNCNAME} "${@}"
 
-       local flag_prefix impl pattern
-       local matches=()
+       local flag_prefix impl matches=()
 
        if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
                flag_prefix=python_targets
@@ -387,20 +386,17 @@ python_gen_cond_dep() {
        shift
 
        for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
-               for pattern; do
-                       if [[ ${impl} == ${pattern} ]]; then
-                               # substitute ${PYTHON_USEDEP} if used
-                               # (since python_gen_usedep() will not return 
${PYTHON_USEDEP}
-                               #  the code is run at most once)
-                               if [[ ${dep} == *'${PYTHON_USEDEP}'* ]]; then
-                                       local usedep=$(python_gen_usedep "${@}")
-                                       
dep=${dep//\$\{PYTHON_USEDEP\}/${usedep}}
-                               fi
-
-                               matches+=( "${flag_prefix}_${impl}? ( ${dep} )" 
)
-                               break
+               if _python_impl_matches "${impl}" "${@}"; then
+                       # substitute ${PYTHON_USEDEP} if used
+                       # (since python_gen_usedep() will not return 
${PYTHON_USEDEP}
+                       #  the code is run at most once)
+                       if [[ ${dep} == *'${PYTHON_USEDEP}'* ]]; then
+                               local usedep=$(python_gen_usedep "${@}")
+                               dep=${dep//\$\{PYTHON_USEDEP\}/${usedep}}
                        fi
-               done
+
+                       matches+=( "${flag_prefix}_${impl}? ( ${dep} )" )
+               fi
        done
 
        echo "${matches[@]}"

Reply via email to