commit:     3923a952a771f567bb620cac42c4c4f2415db8d2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 12 22:12:10 2015 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Dec 22 22:12:23 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3923a952

python-single-r1.eclass: Fix python_gen_* w/ single PYTHON_COMPAT impl

Fix python_gen_useflags() and python_gen_cond_dep() to output correct
flag name when only a single implementation is listed in PYTHON_COMPAT.
In this case, the PYTHON_SINGLE_TARGET flags are not emitted
and PYTHON_TARGETS are used directly instead.

 eclass/python-single-r1.eclass | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass
index 8ef3846..4c4f057 100644
--- a/eclass/python-single-r1.eclass
+++ b/eclass/python-single-r1.eclass
@@ -310,13 +310,19 @@ python_gen_usedep() {
 python_gen_useflags() {
        debug-print-function ${FUNCNAME} "${@}"
 
-       local impl pattern
+       local flag_prefix impl pattern
        local matches=()
 
+       if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
+               flag_prefix=python_targets
+       else
+               flag_prefix=python_single_target
+       fi
+
        for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
                for pattern; do
                        if [[ ${impl} == ${pattern} ]]; then
-                               matches+=( "python_single_target_${impl}" )
+                               matches+=( "${flag_prefix}_${impl}" )
                                break
                        fi
                done
@@ -354,9 +360,15 @@ python_gen_useflags() {
 python_gen_cond_dep() {
        debug-print-function ${FUNCNAME} "${@}"
 
-       local impl pattern
+       local flag_prefix impl pattern
        local matches=()
 
+       if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
+               flag_prefix=python_targets
+       else
+               flag_prefix=python_single_target
+       fi
+
        local dep=${1}
        shift
 
@@ -371,7 +383,7 @@ python_gen_cond_dep() {
                                        
dep=${dep//\$\{PYTHON_USEDEP\}/${usedep}}
                                fi
 
-                               matches+=( "python_single_target_${impl}? ( 
${dep} )" )
+                               matches+=( "${flag_prefix}_${impl}? ( ${dep} )" 
)
                                break
                        fi
                done

Reply via email to