commit:     e9df59462c9f3731db65e62fd852605ad569f702
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  9 16:19:26 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep  9 18:48:08 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9df5946

dev-lang/python-exec: Install python{2,3} conditionally

Closes: https://bugs.gentoo.org/693910
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/12892
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-lang/python-exec/python-exec-2.4.6-r1.ebuild | 20 ++++++++++++++++++--
 dev-lang/python-exec/python-exec-9999.ebuild     | 20 ++++++++++++++++++--
 2 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/dev-lang/python-exec/python-exec-2.4.6-r1.ebuild 
b/dev-lang/python-exec/python-exec-2.4.6-r1.ebuild
index 9f56ea1a1d8..d18086c2f13 100644
--- a/dev-lang/python-exec/python-exec-2.4.6-r1.ebuild
+++ b/dev-lang/python-exec/python-exec-2.4.6-r1.ebuild
@@ -49,13 +49,29 @@ src_install() {
        newins - python-exec.conf \
                < <(sed -n -e '/^#/p' config/python-exec.conf.example)
 
+       local programs=( python )
+       local scripts=( python-config 2to3 idle pydoc pyvenv )
+       local i
+       for i in "${_PYTHON_ALL_IMPLS[@]}"; do
+               if use "python_targets_${i}"; then
+                       # NB: duplicate entries are harmless
+                       if python_is_python3 "${i}"; then
+                               programs+=( python3 )
+                               scripts+=( python3-config )
+                       else
+                               programs+=( python2 )
+                               scripts+=( python2-config )
+                       fi
+               fi
+       done
+
        local f
-       for f in python{,2,3}; do
+       for f in "${programs[@]}"; do
                # symlink the C wrapper for python to avoid shebang recursion
                # bug #568974
                dosym python-exec2c /usr/bin/"${f}"
        done
-       for f in python{,2,3}-config 2to3 idle pydoc pyvenv; do
+       for f in "${scripts[@]}"; do
                # those are python scripts (except for new python-configs)
                # so symlink them via the python wrapper
                dosym ../lib/python-exec/python-exec2 /usr/bin/"${f}"

diff --git a/dev-lang/python-exec/python-exec-9999.ebuild 
b/dev-lang/python-exec/python-exec-9999.ebuild
index ca430aeaf2d..b37d3e0c3b6 100644
--- a/dev-lang/python-exec/python-exec-9999.ebuild
+++ b/dev-lang/python-exec/python-exec-9999.ebuild
@@ -55,13 +55,29 @@ src_install() {
        newins - python-exec.conf \
                < <(sed -n -e '/^#/p' config/python-exec.conf.example)
 
+       local programs=( python )
+       local scripts=( python-config 2to3 idle pydoc pyvenv )
+       local i
+       for i in "${_PYTHON_ALL_IMPLS[@]}"; do
+               if use "python_targets_${i}"; then
+                       # NB: duplicate entries are harmless
+                       if python_is_python3 "${i}"; then
+                               programs+=( python3 )
+                               scripts+=( python3-config )
+                       else
+                               programs+=( python2 )
+                               scripts+=( python2-config )
+                       fi
+               fi
+       done
+
        local f
-       for f in python{,2,3}; do
+       for f in "${programs[@]}"; do
                # symlink the C wrapper for python to avoid shebang recursion
                # bug #568974
                dosym python-exec2c /usr/bin/"${f}"
        done
-       for f in python{,2,3}-config 2to3 idle pydoc pyvenv; do
+       for f in "${scripts[@]}"; do
                # those are python scripts (except for new python-configs)
                # so symlink them via the python wrapper
                dosym ../lib/python-exec/python-exec2 /usr/bin/"${f}"

Reply via email to