commit: d462dcb4dc47e090b87b2947f0bacfee485c483e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 22 21:32:14 2016 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Feb 22 21:42:02 2016 +0000
URL:
https://gitweb.gentoo.org/proj/eselect-python.git/commit/?id=d462dcb4
Obtain supported implementations list from python-exec2c
configure.ac | 2 --
python.eselect.in | 26 +++++++++-----------------
2 files changed, 9 insertions(+), 19 deletions(-)
diff --git a/configure.ac b/configure.ac
index 6ea1742..1e836e3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,6 @@
AC_INIT([eselect-python], [20160207])
AM_INIT_AUTOMAKE([-Wall foreign no-dist-gzip dist-bzip2])
-# note: we need AC_PROG_CC to determine EXEEXT (AC_EXEEXT does not work)
-AC_PROG_CC
AC_PATH_PROG(INSTALL, install)
AC_PROG_MKDIR_P
diff --git a/python.eselect.in b/python.eselect.in
index e9390ec..196140e 100644
--- a/python.eselect.in
+++ b/python.eselect.in
@@ -14,25 +14,17 @@ MAN_PATH="${EROOT%/}/usr/share/man/man1"
# Get list of all installed Python interpreters, in lexical order.
# $1 can be --pyN to filter results to pythonN.?.
get_installed_pythons() {
- local exes=(
- # note: order *matters*
- # TODO: get them outta python-exec
- "${INTERPRETER_DIR}"/jython?.?@EXEEXT@
- "${INTERPRETER_DIR}"/pypy{,3}@EXEEXT@
- "${INTERPRETER_DIR}"/python?.?@EXEEXT@
- )
-
local i
- for (( i = ${#exes[@]}-1; i >= 0; --i )); do
- local exe=${exes[i]}
- [[ -x ${exe} ]] || continue
- exe=${exe##*/}
- exe=${exe%@EXEEXT@}
- # apply filters
- [[ ${1} == --py* && ${exe} != python${1:4}* ]] && continue
- echo "${exe}"
- done
+ # get complete list from python-exec
+ while read i; do
+ # filter by type
+ [[ ${1} == --py* && ${i} != python${1:4}* ]] && continue
+ # filter to installed only
+ if type -P "${i}" &>/dev/null; then
+ echo "${i}"
+ fi
+ done < <(python-exec2c -l)
}
# Get list of all preference values from python-exec.conf. This