Compare commits

..

No commits in common. "master" and "v2.6.13" have entirely different histories.

23 changed files with 15 additions and 201 deletions

View File

@ -17,7 +17,7 @@ jobs:
- "3.13"
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v5
# Normally, we would use the superbly maintained...
# - uses: actions/setup-python@v2
# with:

View File

@ -7,7 +7,7 @@ jobs:
versions: ${{steps.modified-versions.outputs.versions}}
versions_cpython_only: ${{steps.modified-versions.outputs.versions_cpython_only}}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v5
- run: git fetch origin "$GITHUB_BASE_REF"
- shell: bash
run: >
@ -40,7 +40,7 @@ jobs:
os: ["macos-14", "macos-15", "macos-15-intel"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v5
- run: |
#envvars
export PYENV_ROOT="$GITHUB_WORKSPACE"
@ -101,7 +101,7 @@ jobs:
os: ["macos-14", "macos-15", "macos-15-intel"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v5
- run: |
#envvars
export PYENV_ROOT="$GITHUB_WORKSPACE"
@ -163,7 +163,7 @@ jobs:
os: ["ubuntu-22.04", "ubuntu-24.04"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v5
- run: |
#envvars
export PYENV_ROOT="$GITHUB_WORKSPACE"
@ -222,7 +222,7 @@ jobs:
os: ["ubuntu-latest"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v5
- run: |
#envvars
export PYENV_ROOT="$GITHUB_WORKSPACE"

View File

@ -16,7 +16,7 @@ jobs:
- macos-14
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v5
# Normally, we would use the superbly maintained...
# - uses: actions/setup-python@v2
# with:

View File

@ -17,7 +17,7 @@ jobs:
- "3.13"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v5
# Normally, we would use the superbly maintained...
# - uses: actions/setup-python@v2
# with:

View File

@ -1,19 +1,5 @@
# Version History
## Release v2.6.16
* rehash: Fix hanging for 60 seconds when shims directory is not writable due to Linux Landlock by @native-api in https://github.com/pyenv/pyenv/pull/3367
* Add Miniconda3-25.9.1-3 by @binbjz in https://github.com/pyenv/pyenv/pull/3368
* sh-rehash: Fix erroneously executing rather than printing a command by @native-api in https://github.com/pyenv/pyenv/pull/3369
* Add CPython 3.13.11, 3.14.2 by @cesarcoatl in https://github.com/pyenv/pyenv/pull/3370
## Release v2.6.15
* Add CPython 3.13.10 by @jsirois in https://github.com/pyenv/pyenv/pull/3364
## Release v2.6.14
* CI: Bump actions/checkout from 5 to 6 in the github-actions group by @dependabot[bot] in https://github.com/pyenv/pyenv/pull/3360
* Fix "ld: symbol(s) not found" for C system calls in some MacOS versions if XCode is for a newer major MacOS version by @native-api in https://github.com/pyenv/pyenv/pull/3362
* Add CPython 3.14.1 by @nedbat in https://github.com/pyenv/pyenv/pull/3363
## Release v2.6.13
* CI: Replace macos-13 with macos-15-intel by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3356
* Add Miniconda3-25.9.1-1 by @binbjz in https://github.com/pyenv/pyenv/pull/3357

View File

@ -12,7 +12,7 @@
set -e
[ -n "$PYENV_DEBUG" ] && set -x
version="2.6.16"
version="2.6.13"
git_revision=""
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then

View File

@ -35,7 +35,7 @@ release_lock() {
}
if [ ! -w "$SHIM_PATH" ]; then
echo "pyenv: cannot rehash: $SHIM_PATH isn't writable" >&2
echo "pyenv: cannot rehash: $SHIM_PATH isn't writable"
exit 1
fi
@ -46,27 +46,15 @@ while (( SECONDS <= start + ${PYENV_REHASH_TIMEOUT:-60} )); do
acquired=1
break
else
#Landlock sandbox subsystem in the Linux kernel returns false information in access() as of 6.14.0,
# making -w "$SHIM_PATH" not catch the fact that the shims dir is not writable in this case.
#Bash doesn't provide access to errno to check for non-EEXIST error code in acquire_lock.
#So check for writablity by trying to write to a different file,
# in a way that taxes the usual use case as little as possible.
if [[ -z $tested_for_other_write_errors ]]; then
( t="$(mktemp -p "$SHIM_PATH")" && rm "$t" ) && tested_for_other_write_errors=1 ||
{ echo "pyenv: cannot rehash: $SHIM_PATH isnt writable" >&2; break; }
fi
# POSIX sleep(1) doesn't provide subsecond precision, but many others do
sleep 0.1 2>/dev/null || sleep 1
fi
done
if [ -z "${acquired}" ]; then
if [[ -n $tested_for_other_write_errors ]]; then
echo "pyenv: cannot rehash: $PROTOTYPE_SHIM_PATH exists" >&2
fi
echo "pyenv: cannot rehash: $PROTOTYPE_SHIM_PATH exists"
exit 1
fi
unset tested_for_other_write_errors
# The prototype shim file is a script that re-execs itself, passing
# its filename and any arguments to `pyenv exec`. This file is

View File

@ -11,7 +11,7 @@ shell="$(basename "${PYENV_SHELL:-$SHELL}")"
# When pyenv shell integration is enabled, delegate to pyenv-rehash,
# then tell the shell to empty its command lookup cache.
echo "command pyenv rehash"
pyenv-rehash
case "$shell" in
fish )

View File

@ -14,7 +14,7 @@
# -g/--debug Build a debug version
#
PYTHON_BUILD_VERSION="2.6.16"
PYTHON_BUILD_VERSION="2.6.13"
OLDIFS="$IFS"
@ -1861,9 +1861,6 @@ use_xcode_sdk_zlib() {
#distutils.unixcompiler and setup.py specifically search CFLAGS for "-isysroot"
export CFLAGS="${CFLAGS:+$CFLAGS }-isysroot ${sdkroot}"
#while one can get away with adding it just to CFLAGS, this may cause linker failures
#if XCode is for a different major MacOS version (e.g. reported for XCode 12.4 on MacOS 10.15)
export LDFLAGS="${LDFLAGS:+$LDFLAGS }-isysroot ${sdkroot}"
return 0
}

View File

@ -1,10 +0,0 @@
prefer_openssl3
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
install_package "openssl-3.6.0" "https://github.com/openssl/openssl/releases/download/openssl-3.6.0/openssl-3.6.0.tar.gz#b6a5f44b7eb69e3fa35dbf15524405b44837a481d43d81daddde3ff21fcbb8e9" mac_openssl --if has_broken_mac_openssl
install_package "readline-8.3" "http://ftpmirror.gnu.org/readline/readline-8.3.tar.gz#fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc" mac_readline --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-3.13.10" "https://www.python.org/ftp/python/3.13.10/Python-3.13.10.tar.xz#bc673c04375a1a3f0808c27ba8f0411ab811ad390a8740318ccb9c60fad8fd77" standard verify_py313 copy_python_gdb ensurepip
else
install_package "Python-3.13.10" "https://www.python.org/ftp/python/3.13.10/Python-3.13.10.tgz#de5930852e95ba8c17b56548e04648470356ac47f7506014664f8f510d7bd61b" standard verify_py313 copy_python_gdb ensurepip
fi

View File

@ -1,2 +0,0 @@
export PYTHON_BUILD_FREE_THREADING=1
source "${BASH_SOURCE[0]%t}"

View File

@ -1,10 +0,0 @@
prefer_openssl3
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
install_package "openssl-3.6.0" "https://github.com/openssl/openssl/releases/download/openssl-3.6.0/openssl-3.6.0.tar.gz#b6a5f44b7eb69e3fa35dbf15524405b44837a481d43d81daddde3ff21fcbb8e9" mac_openssl --if has_broken_mac_openssl
install_package "readline-8.3" "http://ftpmirror.gnu.org/readline/readline-8.3.tar.gz#fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc" mac_readline --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-3.13.11" "https://www.python.org/ftp/python/3.13.11/Python-3.13.11.tar.xz#16ede7bb7cdbfa895d11b0642fa0e523f291e6487194d53cf6d3b338c3a17ea2" standard verify_py313 copy_python_gdb ensurepip
else
install_package "Python-3.13.11" "https://www.python.org/ftp/python/3.13.11/Python-3.13.11.tgz#03cfedbe06ce21bc44ce09245e091a77f2fee9ec9be5c52069048a181300b202" standard verify_py313 copy_python_gdb ensurepip
fi

View File

@ -1,2 +0,0 @@
export PYTHON_BUILD_FREE_THREADING=1
source "${BASH_SOURCE[0]%t}"

View File

@ -1,10 +0,0 @@
prefer_openssl3
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
install_package "openssl-3.6.0" "https://github.com/openssl/openssl/releases/download/openssl-3.6.0/openssl-3.6.0.tar.gz#b6a5f44b7eb69e3fa35dbf15524405b44837a481d43d81daddde3ff21fcbb8e9" mac_openssl --if has_broken_mac_openssl
install_package "readline-8.3" "http://ftpmirror.gnu.org/readline/readline-8.3.tar.gz#fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc" mac_readline --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-3.14.1" "https://www.python.org/ftp/python/3.14.1/Python-3.14.1.tar.xz#8dfa08b1959d9d15838a1c2dab77dc8d8ff4a553a1ed046dfacbc8095c6d42fc" standard verify_py314 copy_python_gdb ensurepip
else
install_package "Python-3.14.1" "https://www.python.org/ftp/python/3.14.1/Python-3.14.1.tgz#8343f001dede23812c7e9c6064f776bade2ef5813f46f0ae4b5a4c10c9069e9a" standard verify_py314 copy_python_gdb ensurepip
fi

View File

@ -1,2 +0,0 @@
export PYTHON_BUILD_FREE_THREADING=1
source "${BASH_SOURCE[0]%t}"

View File

@ -1,10 +0,0 @@
prefer_openssl3
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
install_package "openssl-3.6.0" "https://github.com/openssl/openssl/releases/download/openssl-3.6.0/openssl-3.6.0.tar.gz#b6a5f44b7eb69e3fa35dbf15524405b44837a481d43d81daddde3ff21fcbb8e9" mac_openssl --if has_broken_mac_openssl
install_package "readline-8.3" "http://ftpmirror.gnu.org/readline/readline-8.3.tar.gz#fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc" mac_readline --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-3.14.2" "https://www.python.org/ftp/python/3.14.2/Python-3.14.2.tar.xz#ce543ab854bc256b61b71e9b27f831ffd1bfd60a479d639f8be7f9757cf573e9" standard verify_py314 copy_python_gdb ensurepip
else
install_package "Python-3.14.2" "https://www.python.org/ftp/python/3.14.2/Python-3.14.2.tgz#c609e078adab90e2c6bacb6afafacd5eaf60cd94cf670f1e159565725fcd448d" standard verify_py314 copy_python_gdb ensurepip
fi

View File

@ -1,2 +0,0 @@
export PYTHON_BUILD_FREE_THREADING=1
source "${BASH_SOURCE[0]%t}"

View File

@ -1,19 +0,0 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py310_25.9.1-3-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_25.9.1-3-Linux-aarch64.sh#bc58460f17ec60d6c920d4352dd4d5e465aa22b56580bd4cd57c9693859761ec" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniconda3-py310_25.9.1-3-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_25.9.1-3-Linux-x86_64.sh#e4dea08f67e7093433c34d02b8947b093a902f1120b283758d5200bd92db594c" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniconda3-py310_25.9.1-3-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_25.9.1-3-MacOSX-arm64.sh#3b54f297df4c9f3e45ce692a87984e79d13761a45469d37e852a8b216215ccf0" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@ -1,19 +0,0 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py311_25.9.1-3-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_25.9.1-3-Linux-aarch64.sh#92a4df72178d87626072b39aca8fa4721f29d192ed0d70e268586f63b41f7657" "miniconda" verify_py311
;;
"Linux-x86_64" )
install_script "Miniconda3-py311_25.9.1-3-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_25.9.1-3-Linux-x86_64.sh#e331037f492848e68764b0c430912b2417b977d654706009ac8eb475e03ae0a2" "miniconda" verify_py311
;;
"MacOSX-arm64" )
install_script "Miniconda3-py311_25.9.1-3-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_25.9.1-3-MacOSX-arm64.sh#6d92abcee72a7aa4de3694f718fbb523f261efdb5027c7448907b9cfd6507e89" "miniconda" verify_py311
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@ -1,19 +0,0 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py312_25.9.1-3-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_25.9.1-3-Linux-aarch64.sh#8c5c1d38011fed8053d7bdaaf7fab372c3f71dbb77791e07692fb8059b7828bd" "miniconda" verify_py312
;;
"Linux-x86_64" )
install_script "Miniconda3-py312_25.9.1-3-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_25.9.1-3-Linux-x86_64.sh#07fc00c146a481f7ae2657a31eb7ec0d5d77a107b981d58ab5d7cd8bc99be778" "miniconda" verify_py312
;;
"MacOSX-arm64" )
install_script "Miniconda3-py312_25.9.1-3-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_25.9.1-3-MacOSX-arm64.sh#67108a40cca0ae1a59b74672341d94ed6641430e10371616426c31c2014e19b9" "miniconda" verify_py312
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@ -1,19 +0,0 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py313_25.9.1-3-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py313_25.9.1-3-Linux-aarch64.sh#036053e7e6e5866435bc1a11711b41293e5bf0776bb4aa9a7ea46d01f30eda31" "miniconda" verify_py313
;;
"Linux-x86_64" )
install_script "Miniconda3-py313_25.9.1-3-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py313_25.9.1-3-Linux-x86_64.sh#6bec65fcb0c66596a5058c6767d25d89a537eb83ee84684ec0fa5a4fbfb32647" "miniconda" verify_py313
;;
"MacOSX-arm64" )
install_script "Miniconda3-py313_25.9.1-3-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py313_25.9.1-3-MacOSX-arm64.sh#751b360885e8de7a350e3484542ccbfe7ff3d55cce794255167991dfa7ed79e1" "miniconda" verify_py313
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@ -1,19 +0,0 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py39_25.9.1-3-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_25.9.1-3-Linux-aarch64.sh#2cf395401906b6968cfd2bc5b522ad4dca40374987e790c4daa83f049d132841" "miniconda" verify_py39
;;
"Linux-x86_64" )
install_script "Miniconda3-py39_25.9.1-3-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_25.9.1-3-Linux-x86_64.sh#0ac18f10d17ca918247b4606df82be38eba6e23380a7eddb25b47ef6ccdb920e" "miniconda" verify_py39
;;
"MacOSX-arm64" )
install_script "Miniconda3-py39_25.9.1-3-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_25.9.1-3-MacOSX-arm64.sh#f05dcd060e3915a0a3a9dece324d2eb88268fa251fff2fb63d48e232c5fab510" "miniconda" verify_py39
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@ -110,27 +110,13 @@ SH
@test "sh-rehash in bash" {
create_executable "3.4" "python"
PYENV_SHELL=bash run pyenv-sh-rehash
assert_success "command pyenv rehash
hash -r 2>/dev/null || true"
}
@test "sh-rehash in bash (integration)" {
create_executable "3.4" "python"
run eval "$(pyenv-sh-rehash)"
assert_success
assert_success "hash -r 2>/dev/null || true"
assert [ -x "${PYENV_ROOT}/shims/python" ]
}
@test "sh-rehash in fish" {
create_executable "3.4" "python"
PYENV_SHELL=fish run pyenv-sh-rehash
assert_success "command pyenv rehash"
}
@test "sh-rehash in fish (integration)" {
command -v fish >/dev/null || skip "-- fish not installed"
create_executable "3.4" "python"
run fish -Nc "eval (pyenv-sh-rehash)"
assert_success
assert_success ""
assert [ -x "${PYENV_ROOT}/shims/python" ]
}