asdf-python/bin/install

45 lines
1.5 KiB
Text
Raw Normal View History

2016-04-24 10:28:48 +01:00
#!/usr/bin/env bash
set -e
2018-04-06 09:14:25 +01:00
source "$(dirname "$0")/utils.sh"
2016-04-24 10:28:48 +01:00
install_python() {
local install_type=$1
2022-08-22 06:15:33 +01:00
local version=$2
local install_path=$3
2016-04-24 10:28:48 +01:00
if [ "$install_type" != "version" ]; then
echoerr "Cannot install specific ref from source, sorry."
echoerr "For a list of available versions, see \`asdf list-all python\`."
exit 1
fi
2018-04-06 09:14:25 +01:00
install_or_update_python_build
2016-04-24 10:28:48 +01:00
2021-02-10 04:59:05 +00:00
if [[ -n "${ASDF_PYTHON_PATCH_URL:-}" ]]; then
echo "python-build --patch $version $install_path"
echo "with patch file from: $ASDF_PYTHON_PATCH_URL"
$(python_build_path) --patch "$version" "$install_path" < <(curl -sSL "$ASDF_PYTHON_PATCH_URL")
elif [[ -n "${ASDF_PYTHON_PATCHES_DIRECTORY:-}" ]] && [[ -f ${ASDF_PYTHON_PATCHES_DIRECTORY}/${version}.patch ]]; then
2021-02-10 04:59:05 +00:00
local patch_file=${ASDF_PYTHON_PATCHES_DIRECTORY}/${version}.patch
echo "python-build $version $install_path -p < $patch_file"
$(python_build_path) "$version" "$install_path" -p < $patch_file
else
echo "python-build $version $install_path"
PYTHON_CONFIGURE_OPTS="--enable-shared" $(python_build_path) "$version" "$install_path"
fi
2016-04-24 10:28:48 +01:00
}
install_default_python_packages() {
local packages_file="${ASDF_PYTHON_DEFAULT_PACKAGES_FILE:-$HOME/.default-python-packages}"
if [ -f "$packages_file" ]; then
echo -ne "\nInstalling default python packages..."
PATH="$ASDF_INSTALL_PATH/bin:$PATH" pip install -U -r "$packages_file"
fi
}
ensure_python_build_installed
install_python "$ASDF_INSTALL_TYPE" "$ASDF_INSTALL_VERSION" "$ASDF_INSTALL_PATH"
install_default_python_packages