54 lines
1.5 KiB
Bash
Executable File
54 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Set up the UV_PYTHON variable.
|
|
set -eu
|
|
|
|
HERE=$(dirname ${BASH_SOURCE:-$0})
|
|
HERE="$( cd -- "$HERE" > /dev/null 2>&1 && pwd )"
|
|
|
|
# Use min supported version by default.
|
|
_python="3.10"
|
|
|
|
# Source the env files to pick up common variables.
|
|
if [ -f $HERE/env.sh ]; then
|
|
. $HERE/env.sh
|
|
fi
|
|
|
|
# Get variables defined in test-env.sh.
|
|
if [ -f $HERE/test-env.sh ]; then
|
|
. $HERE/test-env.sh
|
|
fi
|
|
|
|
if [ -z "${UV_PYTHON:-}" ]; then
|
|
set -x
|
|
# Translate a TOOLCHAIN_VERSION to UV_PYTHON.
|
|
if [ -n "${TOOLCHAIN_VERSION:-}" ]; then
|
|
_python=$TOOLCHAIN_VERSION
|
|
if [ "$(uname -s)" = "Darwin" ]; then
|
|
if [[ "$_python" == *"t"* ]]; then
|
|
binary_name="python3t"
|
|
framework_dir="PythonT"
|
|
else
|
|
binary_name="python3"
|
|
framework_dir="Python"
|
|
fi
|
|
_python=$(echo "$_python" | sed 's/t//g')
|
|
_python="/Library/Frameworks/$framework_dir.Framework/Versions/$_python/bin/$binary_name"
|
|
elif [ "Windows_NT" = "${OS:-}" ]; then
|
|
_python=$(echo $_python | cut -d. -f1,2 | sed 's/\.//g; s/t//g')
|
|
if [[ "$TOOLCHAIN_VERSION" == *"t"* ]]; then
|
|
_exe="python${TOOLCHAIN_VERSION}.exe"
|
|
else
|
|
_exe="python.exe"
|
|
fi
|
|
if [ -n "${IS_WIN32:-}" ]; then
|
|
_python="C:/python/32/Python${_python}/${_exe}"
|
|
else
|
|
_python="C:/python/Python${_python}/${_exe}"
|
|
fi
|
|
elif [ -d "/opt/python/$_python/bin" ]; then
|
|
_python="/opt/python/$_python/bin/python3"
|
|
fi
|
|
fi
|
|
export UV_PYTHON="$_python"
|
|
fi
|