From: Michał Górny Date: Mon, 9 Sep 2019 16:19:26 +0000 (+0200) Subject: dev-lang/python-exec: Install python{2,3} conditionally X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=e9df59462c9f3731db65e62fd852605ad569f702;p=gentoo.git dev-lang/python-exec: Install python{2,3} conditionally Closes: https://bugs.gentoo.org/693910 Signed-off-by: Michał Górny Closes: https://github.com/gentoo/gentoo/pull/12892 Signed-off-by: Michał Górny --- 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 9f56ea1a1d85..d18086c2f138 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 ca430aeaf2d8..b37d3e0c3b6f 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}"