python-single-r1.eclass: Fix python_gen_* w/ single PYTHON_COMPAT impl
authorMichał Górny <mgorny@gentoo.org>
Sat, 12 Dec 2015 22:12:10 +0000 (23:12 +0100)
committerMichał Górny <mgorny@gentoo.org>
Tue, 22 Dec 2015 22:12:23 +0000 (23:12 +0100)
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

index 8ef3846dd6acb4693cff229a84b846357ca56cfb..4c4f0576b86042dd64bc9fa5d955d7a41d13de2e 100644 (file)
@@ -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