mirror of https://github.com/python/cpython
gh-112507: Detect Cygwin and MSYS with `uname` instead of `$OSTYPE` (GH-112508)
Detect Cygwin and MSYS with `uname` instead of `$OSTYPE` `$OSTYPE` is not defined by POSIX and may not be present in other shells. `uname` is always available in any shell.
This commit is contained in:
parent
f4fe65e2dd
commit
d7b5f10231
|
@ -36,14 +36,18 @@ deactivate () {
|
||||||
deactivate nondestructive
|
deactivate nondestructive
|
||||||
|
|
||||||
# on Windows, a path can contain colons and backslashes and has to be converted:
|
# on Windows, a path can contain colons and backslashes and has to be converted:
|
||||||
if [ "${OSTYPE:-}" = "cygwin" ] || [ "${OSTYPE:-}" = "msys" ] ; then
|
case "$(uname)" in
|
||||||
|
CYGWIN*|MSYS*)
|
||||||
# transform D:\path\to\venv to /d/path/to/venv on MSYS
|
# transform D:\path\to\venv to /d/path/to/venv on MSYS
|
||||||
# and to /cygdrive/d/path/to/venv on Cygwin
|
# and to /cygdrive/d/path/to/venv on Cygwin
|
||||||
export VIRTUAL_ENV=$(cygpath "__VENV_DIR__")
|
VIRTUAL_ENV=$(cygpath "__VENV_DIR__")
|
||||||
else
|
export VIRTUAL_ENV
|
||||||
|
;;
|
||||||
|
*)
|
||||||
# use the path as-is
|
# use the path as-is
|
||||||
export VIRTUAL_ENV="__VENV_DIR__"
|
export VIRTUAL_ENV="__VENV_DIR__"
|
||||||
fi
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
_OLD_VIRTUAL_PATH="$PATH"
|
_OLD_VIRTUAL_PATH="$PATH"
|
||||||
PATH="$VIRTUAL_ENV/__VENV_BIN_NAME__:$PATH"
|
PATH="$VIRTUAL_ENV/__VENV_BIN_NAME__:$PATH"
|
||||||
|
|
Loading…
Reference in New Issue