mirror of
https://github.com/pyenv/pyenv.git
synced 2025-12-06 18:08:37 +00:00
Compare commits
4 Commits
3722f2c191
...
2b2815fce4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b2815fce4 | ||
|
|
734d6323d8 | ||
|
|
c9514d8e8e | ||
|
|
b4b8f71dde |
@ -1,5 +1,13 @@
|
||||
# Version History
|
||||
|
||||
## Release v2.5.1
|
||||
* CI: use Ubuntu 24.04; use ubuntu-latest for the ubuntu_build check by @native-api in https://github.com/pyenv/pyenv/pull/3144
|
||||
* Fix: mistake in configuration hints in `pyenv init` and manpage by @ChristianFredrikJohnsen in https://github.com/pyenv/pyenv/pull/3145
|
||||
* README: Add recommended curl arguments to suggested installer invocation by @JayBazuzi in https://github.com/pyenv/pyenv/pull/3155
|
||||
* Add miniforge3-24.11.2-0, miniforge3-24.11.2-1 by @native-api in https://github.com/pyenv/pyenv/pull/3163
|
||||
* Fix "Unsupported options" error building bundled OpenSSL <3.2.0 by @native-api in https://github.com/pyenv/pyenv/pull/3164
|
||||
* Add CPython 3.14.0a4 by @nedbat in https://github.com/pyenv/pyenv/pull/3168
|
||||
|
||||
## Release v2.5.0
|
||||
* `pyenv init -` performance improvements; recommend using `pyenv init - <shell>` by @ChristianFredrikJohnsen in https://github.com/pyenv/pyenv/pull/3136
|
||||
* Add miniconda3-24.11.1-0 by @binbjz in https://github.com/pyenv/pyenv/pull/3138
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
version="2.5.0"
|
||||
version="2.5.1"
|
||||
git_revision=""
|
||||
|
||||
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
||||
|
||||
@ -123,6 +123,36 @@ DEFINITIONS=("${ARGUMENTS[@]}")
|
||||
[[ "${#DEFINITIONS[*]}" -eq 0 ]] && DEFINITIONS=($(pyenv-local 2>/dev/null || true))
|
||||
[[ "${#DEFINITIONS[*]}" -eq 0 ]] && usage 1 >&2
|
||||
|
||||
is_array() {
|
||||
# no argument passed
|
||||
[[ $# -ne 1 ]] && echo 'Supply a variable name as an argument'>&2 && return 2
|
||||
local var=$1
|
||||
# use a variable to avoid having to escape spaces
|
||||
local regex="^declare -[aA] ${var}(=|$)"
|
||||
[[ $(declare -p "$var" 2> /dev/null) =~ $regex ]] && return 0
|
||||
}
|
||||
|
||||
# If VERSION_ALIAS exists, create a 1-element array, VERSION_ALIASES, from VERSION_ALIAS
|
||||
if [ -n "${VERSION_ALIAS}" ]; then
|
||||
# Make sure VERSION_ALIASES doesn't already exist
|
||||
# If it does, print an error about defining only one of VERSION_ALIAS or VERSION_ALIASES
|
||||
if is_array VERSION_ALIASES; then
|
||||
echo "Define only one of VERSION_ALIAS or VERSION_ALIASES" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION_ALIASES=("${VERSION_ALIAS}")
|
||||
fi
|
||||
|
||||
# If VERSION_ALIASES exists, make sure it has the same number of elements as DEFINITIONS
|
||||
|
||||
if is_array VERSION_ALIASES; then
|
||||
if [[ "${#VERSION_ALIASES[@]}" -ne "${#DEFINITIONS[@]}" ]]; then
|
||||
echo "VERSION_ALIASES must have the same number of elements as DEFINITIONS" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Define `before_install` and `after_install` functions that allow
|
||||
# plugin hooks to register a string of code for execution before or
|
||||
# after the installation process.
|
||||
@ -152,7 +182,12 @@ IFS="$OLDIFS"
|
||||
for script in "${scripts[@]}"; do source "$script"; done
|
||||
|
||||
COMBINED_STATUS=0
|
||||
for DEFINITION in "${DEFINITIONS[@]}"; do
|
||||
for i in "${!DEFINITIONS[@]}"; do
|
||||
DEFINITION="${DEFINITIONS[$i]}"
|
||||
if is_array VERSION_ALIASES; then
|
||||
VERSION_ALIAS="${VERSION_ALIASES[$i]}"
|
||||
fi
|
||||
|
||||
STATUS=0
|
||||
|
||||
# Try to resolve a prefix if user indeed gave a prefix.
|
||||
@ -160,8 +195,9 @@ for DEFINITION in "${DEFINITIONS[@]}"; do
|
||||
# and hooks also see the resolved name
|
||||
DEFINITION="$(pyenv-latest -f -k "$DEFINITION")"
|
||||
|
||||
# Set VERSION_NAME from $DEFINITION. Then compute the installation prefix.
|
||||
VERSION_NAME="${DEFINITION##*/}"
|
||||
# Set VERSION_NAME from $VERSION_ALIAS if it is defined, else $DEFINITION.
|
||||
# Then compute the installation prefix.
|
||||
VERSION_NAME="${VERSION_ALIAS:-$DEFINITION##*/}"
|
||||
[ -n "$DEBUG" ] && VERSION_NAME="${VERSION_NAME}-debug"
|
||||
PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}"
|
||||
|
||||
|
||||
@ -1,2 +0,0 @@
|
||||
export PYTHON_BUILD_FREE_THREADING=1
|
||||
source "$(dirname "${BASH_SOURCE[0]}")"/3.14.0a3
|
||||
@ -3,7 +3,7 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-3.3.2" "https://github.com/openssl/openssl/releases/download/openssl-3.3.2/openssl-3.3.2.tar.gz#2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.14.0a3" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a3.tar.xz#94349df207456a575a8867c20b4ca434f870e1920dcdcc8fdf797e1af49abe90" standard verify_py313 copy_python_gdb ensurepip
|
||||
install_package "Python-3.14.0a4" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a4.tar.xz#c24f07881873c1d460228795ca6ca8c99130e30c773c91463d30d7ea8ff0e70b" standard verify_py313 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.14.0a3" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a3.tgz#6ecc4203d8de18c7295c4cdd012e4a4acff83261f8a99bdf15318af9bb1cc811" standard verify_py313 copy_python_gdb ensurepip
|
||||
install_package "Python-3.14.0a4" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a4.tgz#cc9dcee27cc27fc6ef4ff47eb93abf48f158396a70aa67f1504893232911b4e2" standard verify_py313 copy_python_gdb ensurepip
|
||||
fi
|
||||
2
plugins/python-build/share/python-build/3.14.0a4t
Normal file
2
plugins/python-build/share/python-build/3.14.0a4t
Normal file
@ -0,0 +1,2 @@
|
||||
export PYTHON_BUILD_FREE_THREADING=1
|
||||
source "$(dirname "${BASH_SOURCE[0]}")"/3.14.0a4
|
||||
Loading…
Reference in New Issue
Block a user