From 5fcd9d7a4f09563da7f1e929d6af0e12c39d6c0c Mon Sep 17 00:00:00 2001 From: John Sirois Date: Wed, 4 Sep 2024 12:15:59 -0700 Subject: [PATCH 01/29] Add PyPy v7.3.17. (#3045) N.B.: 7.3.17 frops Python 3.9 support as well as s390x platform releases. See: https://pypy.org/posts/2024/08/pypy-v7317-release.html --- .../share/python-build/pypy2.7-7.3.17 | 77 +++++++++++++++++++ .../share/python-build/pypy2.7-7.3.17-src | 14 ++++ .../share/python-build/pypy3.10-7.3.17 | 77 +++++++++++++++++++ .../share/python-build/pypy3.10-7.3.17-src | 14 ++++ 4 files changed, 182 insertions(+) create mode 100644 plugins/python-build/share/python-build/pypy2.7-7.3.17 create mode 100644 plugins/python-build/share/python-build/pypy2.7-7.3.17-src create mode 100644 plugins/python-build/share/python-build/pypy3.10-7.3.17 create mode 100644 plugins/python-build/share/python-build/pypy3.10-7.3.17-src diff --git a/plugins/python-build/share/python-build/pypy2.7-7.3.17 b/plugins/python-build/share/python-build/pypy2.7-7.3.17 new file mode 100644 index 00000000..54138c49 --- /dev/null +++ b/plugins/python-build/share/python-build/pypy2.7-7.3.17 @@ -0,0 +1,77 @@ +VERSION='7.3.17' +PYVER='2.7' + +# https://www.pypy.org/checksums.html +aarch64_hash=a8df5ce1650f4756933f8780870c91a0a40e7c9870d74629bf241392bcb5c2e3 +linux32_hash=a3aa0867cc837a34941047ece0fbb6ca190410fae6ad35fae4999d03bf178750 +linux64_hash=9f3497f87b3372d17e447369e0016a4bec99a6b4d2a59aba774a25bfe4353474 +osarm64_hash=8573172db377ee0831bf20492cdee9bac4e0b194e3dfe8bf7c44ee257a824766 +osx64_hash=e3e1af1d6ad15e51d8d19ea36e1ac65c4c792314cc8b8dc5cf771ec4353b50f8 + +### end of manual settings - following lines same for every download + +function err_no_binary { + local archmsg="${1}" + local ver="pypy${PYVER}-v${VERSION}-src" + local url="https://downloads.python.org/pypy/${ver}.tar.bz2" + { echo + colorize 1 "ERROR" + echo ": The binary distribution of PyPy is not available for ${archmsg}." + echo "try '${url}' to build from source." + echo + } >&2 + exit 1 +} + +function pypy_pkg_data { + # pypy architecture tag + local ARCH="${1}" + + # defaults + local cmd='install_package' # use bz2 + local pkg="${ARCH}" # assume matches + local ext='tar.bz2' + local hash='' # undefined + + # select the hash, fix pkg if not match ARCH + case "${ARCH}" in + 'linux-aarch64' ) + hash="${aarch64_hash}" + pkg='aarch64' + ;; + 'linux' ) + hash="${linux32_hash}" + pkg='linux32' + ;; + 'linux64' ) + hash="${linux64_hash}" + ;; + 'osarm64' ) + hash="${osarm64_hash}" + pkg='macos_arm64' + ;; + 'osx64' ) + if require_osx_version "10.13"; then + hash="${osx64_hash}" + pkg='macos_x86_64' + else + err_no_binary "${ARCH}, OS X < 10.13" + fi + ;; + * ) + err_no_binary "${ARCH}" + ;; + esac + + local basever="pypy${PYVER}-v${VERSION}" + local baseurl="https://downloads.python.org/pypy/${basever}" + + # result - command, package dir, url+hash + echo "${cmd}" "${basever}-${pkg}" "${baseurl}-${pkg}.${ext}#${hash}" +} + +# determine command, package directory, url+hash +declare -a pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")" + +# install +${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip_lt21' diff --git a/plugins/python-build/share/python-build/pypy2.7-7.3.17-src b/plugins/python-build/share/python-build/pypy2.7-7.3.17-src new file mode 100644 index 00000000..28c84dc1 --- /dev/null +++ b/plugins/python-build/share/python-build/pypy2.7-7.3.17-src @@ -0,0 +1,14 @@ +VERSION='7.3.17' +PYVER='2.7' + +# https://www.pypy.org/checksums.html +hash=50e06840f4bbde91448080a4118068a89b8fbcae25ff8da1e2bb1402dc9a0346 + +### end of manual settings - following lines same for every download + +ver="pypy${PYVER}-v${VERSION}-src" +url="https://downloads.python.org/pypy/${ver}.tar.bz2" + +prefer_openssl11 +install_package "openssl-1.1.1f" "https://www.openssl.org/source/openssl-1.1.1f.tar.gz#186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35" mac_openssl --if has_broken_mac_openssl +install_package "${ver}" "${url}#${hash}" 'pypy_builder' "verify_py${PYVER//./}" 'ensurepip_lt21' diff --git a/plugins/python-build/share/python-build/pypy3.10-7.3.17 b/plugins/python-build/share/python-build/pypy3.10-7.3.17 new file mode 100644 index 00000000..44cdf64d --- /dev/null +++ b/plugins/python-build/share/python-build/pypy3.10-7.3.17 @@ -0,0 +1,77 @@ +VERSION='7.3.17' +PYVER='3.10' + +# https://www.pypy.org/checksums.html +aarch64_hash=53b6e5907df869c49e4eae7aca09fba16d150741097efb245892c1477d2395f2 +linux32_hash=e534110e1047da37c1d586c392f74de3424f871d906a2083de6d41f2a8cc9164 +linux64_hash=fdcdb9b24f1a7726003586503fdeb264fd68fc37fbfcea022dcfe825a7fee18b +osarm64_hash=a050e25e8d686853dd5afc363e55625165825dacfb55f8753d8225ebe417cfd2 +osx64_hash=6c2c5f2300d7564e711421b4968abd63243cb96f76e363975dd648ebf4a362ee + +### end of manual settings - following lines same for every download + +function err_no_binary { + local archmsg="${1}" + local ver="pypy${PYVER}-v${VERSION}-src" + local url="https://downloads.python.org/pypy/${ver}.tar.bz2" + { echo + colorize 1 "ERROR" + echo ": The binary distribution of PyPy is not available for ${archmsg}." + echo "try '${url}' to build from source." + echo + } >&2 + exit 1 +} + +function pypy_pkg_data { + # pypy architecture tag + local ARCH="${1}" + + # defaults + local cmd='install_package' # use bz2 + local pkg="${ARCH}" # assume matches + local ext='tar.bz2' + local hash='' # undefined + + # select the hash, fix pkg if not match ARCH + case "${ARCH}" in + 'linux-aarch64' ) + hash="${aarch64_hash}" + pkg='aarch64' + ;; + 'linux' ) + hash="${linux32_hash}" + pkg='linux32' + ;; + 'linux64' ) + hash="${linux64_hash}" + ;; + 'osarm64' ) + hash="${osarm64_hash}" + pkg='macos_arm64' + ;; + 'osx64' ) + if require_osx_version "10.13"; then + hash="${osx64_hash}" + pkg='macos_x86_64' + else + err_no_binary "${ARCH}, OS X < 10.13" + fi + ;; + * ) + err_no_binary "${ARCH}" + ;; + esac + + local basever="pypy${PYVER}-v${VERSION}" + local baseurl="https://downloads.python.org/pypy/${basever}" + + # result - command, package dir, url+hash + echo "${cmd}" "${basever}-${pkg}" "${baseurl}-${pkg}.${ext}#${hash}" +} + +# determine command, package directory, url+hash +declare -a pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")" + +# install +${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip' diff --git a/plugins/python-build/share/python-build/pypy3.10-7.3.17-src b/plugins/python-build/share/python-build/pypy3.10-7.3.17-src new file mode 100644 index 00000000..e94a3a85 --- /dev/null +++ b/plugins/python-build/share/python-build/pypy3.10-7.3.17-src @@ -0,0 +1,14 @@ +VERSION='7.3.17' +PYVER='3.10' + +# https://www.pypy.org/checksums.html +hash=6ad74bc578e9c6d3a8a1c51503313058e3c58c35df86f7485453c4be6ab24bf7 + +### end of manual settings - following lines same for every download + +ver="pypy${PYVER}-v${VERSION}-src" +url="https://downloads.python.org/pypy/${ver}.tar.bz2" + +prefer_openssl11 +install_package "openssl-1.1.1f" "https://www.openssl.org/source/openssl-1.1.1f.tar.gz#186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35" mac_openssl --if has_broken_mac_openssl +install_package "${ver}" "${url}#${hash}" 'pypy_builder' "verify_py${PYVER//./}" 'ensurepip' From b123520826ad9daa141980d459ef0977b581f918 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Wed, 4 Sep 2024 22:52:25 +0300 Subject: [PATCH 02/29] 2.4.11 --- CHANGELOG.md | 5 +++++ libexec/pyenv---version | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 515f965d..df8607cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Version History +## Release v2.4.11 +* Add /usr/etc/pyenv.d to hooks path by @tomschr in https://github.com/pyenv/pyenv/pull/3039 +* Add miniconda3-24.7.1-0 by @binbjz in https://github.com/pyenv/pyenv/pull/3040 +* Add PyPy v7.3.17 by @jsirois in https://github.com/pyenv/pyenv/pull/3045 + ## Release v2.4.10 * Add CPython 3.12.5 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3030 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index a29a138e..f61ada2e 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.4.10" +version="2.4.11" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then From ac5c87e044c72062da16b28602a853ee505673b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Sat, 7 Sep 2024 09:46:46 -0600 Subject: [PATCH 03/29] Add CPython 3.13.0rc2 (#3049) --- plugins/python-build/share/python-build/3.13.0rc1 | 9 --------- plugins/python-build/share/python-build/3.13.0rc1t | 2 -- plugins/python-build/share/python-build/3.13.0rc2 | 9 +++++++++ plugins/python-build/share/python-build/3.13.0rc2t | 2 ++ 4 files changed, 11 insertions(+), 11 deletions(-) delete mode 100644 plugins/python-build/share/python-build/3.13.0rc1 delete mode 100644 plugins/python-build/share/python-build/3.13.0rc1t create mode 100644 plugins/python-build/share/python-build/3.13.0rc2 create mode 100644 plugins/python-build/share/python-build/3.13.0rc2t diff --git a/plugins/python-build/share/python-build/3.13.0rc1 b/plugins/python-build/share/python-build/3.13.0rc1 deleted file mode 100644 index 42986417..00000000 --- a/plugins/python-build/share/python-build/3.13.0rc1 +++ /dev/null @@ -1,9 +0,0 @@ -prefer_openssl3 -export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 -install_package "openssl-3.3.1" "https://www.openssl.org/source/openssl-3.3.1.tar.gz#777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e" 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.13.0rc1" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc1.tar.xz#678b884775eec0224d5159fa900879020baca2a36ce942fd95febfa1adb4a6bd" standard verify_py313 copy_python_gdb ensurepip -else - install_package "Python-3.13.0rc1" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc1.tgz#53f1ed4920b82fa65cd32a56fa80fd18b475bf1b757597a5a104d2a4dfa5ffff" standard verify_py313 copy_python_gdb ensurepip -fi diff --git a/plugins/python-build/share/python-build/3.13.0rc1t b/plugins/python-build/share/python-build/3.13.0rc1t deleted file mode 100644 index f2c937cf..00000000 --- a/plugins/python-build/share/python-build/3.13.0rc1t +++ /dev/null @@ -1,2 +0,0 @@ -export PYTHON_BUILD_FREE_THREADING=1 -source "$(dirname "${BASH_SOURCE[0]}")"/3.13.0rc1 diff --git a/plugins/python-build/share/python-build/3.13.0rc2 b/plugins/python-build/share/python-build/3.13.0rc2 new file mode 100644 index 00000000..ff72cd54 --- /dev/null +++ b/plugins/python-build/share/python-build/3.13.0rc2 @@ -0,0 +1,9 @@ +prefer_openssl3 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-3.3.2" "https://www.openssl.org/source/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.13.0rc2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc2.tar.xz#d60e8b7c10de4f71d2dffaf7c7be8efa54dc1e532fe931dbb84e5f625709e237" standard verify_py313 copy_python_gdb ensurepip +else + install_package "Python-3.13.0rc2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc2.tgz#d08965c543f21d9949b2715b50d7e4619a5c13984a2ba6d2efcabf413d41479a" standard verify_py313 copy_python_gdb ensurepip +fi diff --git a/plugins/python-build/share/python-build/3.13.0rc2t b/plugins/python-build/share/python-build/3.13.0rc2t new file mode 100644 index 00000000..bc4ce0e5 --- /dev/null +++ b/plugins/python-build/share/python-build/3.13.0rc2t @@ -0,0 +1,2 @@ +export PYTHON_BUILD_FREE_THREADING=1 +source "$(dirname "${BASH_SOURCE[0]}")"/3.13.0rc2 From d8c8338cd881b7621fc4dfd931ee3b005604fe1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Sat, 7 Sep 2024 09:47:51 -0600 Subject: [PATCH 04/29] Add CPython 3.8.20, 3.9.20, 3.10.15, 3.11.10 and 3.12.6 (#3050) --- plugins/python-build/share/python-build/3.10.15 | 9 +++++++++ plugins/python-build/share/python-build/3.11.10 | 10 ++++++++++ plugins/python-build/share/python-build/3.12.6 | 9 +++++++++ plugins/python-build/share/python-build/3.8.20 | 12 ++++++++++++ plugins/python-build/share/python-build/3.9.20 | 12 ++++++++++++ 5 files changed, 52 insertions(+) create mode 100644 plugins/python-build/share/python-build/3.10.15 create mode 100644 plugins/python-build/share/python-build/3.11.10 create mode 100644 plugins/python-build/share/python-build/3.12.6 create mode 100644 plugins/python-build/share/python-build/3.8.20 create mode 100644 plugins/python-build/share/python-build/3.9.20 diff --git a/plugins/python-build/share/python-build/3.10.15 b/plugins/python-build/share/python-build/3.10.15 new file mode 100644 index 00000000..a42cd118 --- /dev/null +++ b/plugins/python-build/share/python-build/3.10.15 @@ -0,0 +1,9 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-1.1.1o" "https://www.openssl.org/source/openssl-1.1.1o.tar.gz#9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.10.15" "https://www.python.org/ftp/python/3.10.15/Python-3.10.15.tar.xz#aab0950817735172601879872d937c1e4928a57c409ae02369ec3d91dccebe79" standard verify_py310 copy_python_gdb ensurepip +else + install_package "Python-3.10.15" "https://www.python.org/ftp/python/3.10.15/Python-3.10.15.tgz#a27864e5ba2a4474f8f6c58ab92ff52767ac8b66f1646923355a53fe3ef15074" standard verify_py310 copy_python_gdb ensurepip +fi diff --git a/plugins/python-build/share/python-build/3.11.10 b/plugins/python-build/share/python-build/3.11.10 new file mode 100644 index 00000000..79b49098 --- /dev/null +++ b/plugins/python-build/share/python-build/3.11.10 @@ -0,0 +1,10 @@ +prefer_openssl3 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1 +install_package "openssl-3.2.2" "https://www.openssl.org/source/openssl-3.2.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.11.10" "https://www.python.org/ftp/python/3.11.10/Python-3.11.10.tar.xz#07a4356e912900e61a15cb0949a06c4a05012e213ecd6b4e84d0f67aabbee372" standard verify_py311 copy_python_gdb ensurepip +else + install_package "Python-3.11.10" "https://www.python.org/ftp/python/3.11.10/Python-3.11.10.tgz#92f2faf242681bfa406d53a51e17d42c5373affe23a130cd9697e132ef574706" standard verify_py311 copy_python_gdb ensurepip +fi diff --git a/plugins/python-build/share/python-build/3.12.6 b/plugins/python-build/share/python-build/3.12.6 new file mode 100644 index 00000000..712ccf0e --- /dev/null +++ b/plugins/python-build/share/python-build/3.12.6 @@ -0,0 +1,9 @@ +prefer_openssl3 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-3.3.2" "https://www.openssl.org/source/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.12.6" "https://www.python.org/ftp/python/3.12.6/Python-3.12.6.tar.xz#1999658298cf2fb837dffed8ff3c033ef0c98ef20cf73c5d5f66bed5ab89697c" standard verify_py312 copy_python_gdb ensurepip +else + install_package "Python-3.12.6" "https://www.python.org/ftp/python/3.12.6/Python-3.12.6.tgz#85a4c1be906d20e5c5a69f2466b00da769c221d6a684acfd3a514dbf5bf10a66" standard verify_py312 copy_python_gdb ensurepip +fi diff --git a/plugins/python-build/share/python-build/3.8.20 b/plugins/python-build/share/python-build/3.8.20 new file mode 100644 index 00000000..a01e7b5a --- /dev/null +++ b/plugins/python-build/share/python-build/3.8.20 @@ -0,0 +1,12 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +# Avoid a compilation error when linking against OpenSSL built with SSLv3 support (fixed in 3.10.0) (#2181) +export PYTHON_CFLAGS="-DOPENSSL_NO_SSL3${PYTHON_CFLAGS:+ $PYTHON_CFLAGS}" + +install_package "openssl-1.1.1u" "https://www.openssl.org/source/openssl-1.1.1u.tar.gz#e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.8.20" "https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tar.xz#6fb89a7124201c61125c0ab4cf7f6894df339a40c02833bfd28ab4d7691fafb4" standard verify_py38 copy_python_gdb ensurepip +else + install_package "Python-3.8.20" "https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tgz#9f2d5962c2583e67ef75924cd56d0c1af78bf45ec57035cf8a2cc09f74f4bf78" standard verify_py38 copy_python_gdb ensurepip +fi diff --git a/plugins/python-build/share/python-build/3.9.20 b/plugins/python-build/share/python-build/3.9.20 new file mode 100644 index 00000000..9a888d12 --- /dev/null +++ b/plugins/python-build/share/python-build/3.9.20 @@ -0,0 +1,12 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +# Avoid a compilation error when linking against OpenSSL built with SSLv3 support (fixed in 3.10.0) (#2181) +export PYTHON_CFLAGS="-DOPENSSL_NO_SSL3${PYTHON_CFLAGS:+ $PYTHON_CFLAGS}" + +install_package "openssl-1.1.1u" "https://www.openssl.org/source/openssl-1.1.1u.tar.gz#e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.9.20" "https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tar.xz#6b281279efd85294d2d6993e173983a57464c0133956fbbb5536ec9646beaf0c" standard verify_py39 copy_python_gdb ensurepip +else + install_package "Python-3.9.20" "https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tgz#9f2d5962c2583e67ef75924cd56d0c1af78bf45ec57035cf8a2cc09f74f4bf78" standard verify_py39 copy_python_gdb ensurepip +fi From 2e658d3e3574074ba24ffd10ad67b1c8e2ff717d Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sat, 7 Sep 2024 18:50:46 +0300 Subject: [PATCH 05/29] 2.4.12 --- CHANGELOG.md | 4 ++++ libexec/pyenv---version | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index df8607cf..9d73f904 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Version History +## Release v2.4.12 +* Add CPython 3.13.0rc2 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3049 +* Add CPython 3.8.20, 3.9.20, 3.10.15, 3.11.10 and 3.12.6 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3050 + ## Release v2.4.11 * Add /usr/etc/pyenv.d to hooks path by @tomschr in https://github.com/pyenv/pyenv/pull/3039 * Add miniconda3-24.7.1-0 by @binbjz in https://github.com/pyenv/pyenv/pull/3040 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index f61ada2e..39561bbb 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.4.11" +version="2.4.12" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then From 1cabb6e02b1408b783038627a4ad1d30eabb7f10 Mon Sep 17 00:00:00 2001 From: Andrew Linzie Date: Sun, 8 Sep 2024 15:13:47 -0400 Subject: [PATCH 06/29] docs: Use `--verbose` with performance CPython build instructions (#3053) --- plugins/python-build/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/python-build/README.md b/plugins/python-build/README.md index 2c02e76c..b717512f 100644 --- a/plugins/python-build/README.md +++ b/plugins/python-build/README.md @@ -208,7 +208,7 @@ enables PGO (profile guided optimization). While your mileage may vary, it is common for performance improvement from this to be in the ballpark of 30%. ```sh -env PYTHON_CONFIGURE_OPTS='--enable-optimizations --with-lto' PYTHON_CFLAGS='-march=native -mtune=native' pyenv install 3.6.0 +env PYTHON_CONFIGURE_OPTS='--enable-optimizations --with-lto' PYTHON_CFLAGS='-march=native -mtune=native' pyenv install --verbose 3.6.0 ``` You can also customize the task used for profile guided optimization by setting From d60d1c5cdc04cfd6f2ddf5ff222216b6cd8d3ac7 Mon Sep 17 00:00:00 2001 From: Ed Morley <501702+edmorley@users.noreply.github.com> Date: Tue, 10 Sep 2024 15:51:55 +0000 Subject: [PATCH 07/29] Fix latest version resolution when using `python-` prefix (#3056) Fixes use of version specifiers like `python-3.12`, which: - have an explicit `python-` prefix - are using a major version alias that has to be resolved to an exact version. Also simplified the conditional for the already working case, since it had two branches that were virtually identical. --- libexec/pyenv-version-name | 10 +++++----- test/version-name.bats | 7 +++++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/libexec/pyenv-version-name b/libexec/pyenv-version-name index 52d7f8d7..73093b31 100755 --- a/libexec/pyenv-version-name +++ b/libexec/pyenv-version-name @@ -30,11 +30,11 @@ OLDIFS="$IFS" { IFS=: any_not_installed=0 for version in ${PYENV_VERSION}; do - if version_exists "$version" || [ "$version" = "system" ]; then - versions=("${versions[@]}" "${version}") - elif version_exists "${version#python-}"; then - versions=("${versions[@]}" "${version#python-}") - elif resolved_version="$(pyenv-latest -b "$version")"; then + # Remove the explicit 'python-' prefix from versions like 'python-3.12'. + normalised_version="${version#python-}" + if version_exists "${normalised_version}" || [ "$version" = "system" ]; then + versions=("${versions[@]}" "${normalised_version}") + elif resolved_version="$(pyenv-latest -b "${normalised_version}")"; then versions=("${versions[@]}" "${resolved_version}") else echo "pyenv: version \`$version' is not installed (set by $(pyenv-version-origin))" >&2 diff --git a/test/version-name.bats b/test/version-name.bats index 20e2de3b..e3c9a6a4 100644 --- a/test/version-name.bats +++ b/test/version-name.bats @@ -120,3 +120,10 @@ OUT assert_success assert_output "2.7.11" } + +@test "pyenv-latest fallback with prefix in name" { + create_version "3.12.6" + PYENV_VERSION="python-3.12" run pyenv-version-name + assert_success + assert_output "3.12.6" +} From 9c40f0b67e668d85944cf7c1af2a58a1a54f550c Mon Sep 17 00:00:00 2001 From: native-api Date: Thu, 12 Sep 2024 01:44:05 +0300 Subject: [PATCH 08/29] Fix tgz checksum for 3.9.20; fallback OpenSSL URLs checksums for 3.11.10, 3.12.6, 3.13.0rc2 (#3060) changed OpenSSL URLs to permalinks so that they keep working --- plugins/python-build/share/python-build/3.11.10 | 2 +- plugins/python-build/share/python-build/3.12.6 | 2 +- plugins/python-build/share/python-build/3.13.0rc2 | 2 +- plugins/python-build/share/python-build/3.9.20 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/python-build/share/python-build/3.11.10 b/plugins/python-build/share/python-build/3.11.10 index 79b49098..ae40b14f 100644 --- a/plugins/python-build/share/python-build/3.11.10 +++ b/plugins/python-build/share/python-build/3.11.10 @@ -1,7 +1,7 @@ prefer_openssl3 export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1 -install_package "openssl-3.2.2" "https://www.openssl.org/source/openssl-3.2.2.tar.gz#2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281" mac_openssl --if has_broken_mac_openssl +install_package "openssl-3.2.2" "https://openssl.org/source/old/3.2/openssl-3.2.2.tar.gz#197149c18d9e9f292c43f0400acaba12e5f52cacfe050f3d199277ea738ec2e7" 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.11.10" "https://www.python.org/ftp/python/3.11.10/Python-3.11.10.tar.xz#07a4356e912900e61a15cb0949a06c4a05012e213ecd6b4e84d0f67aabbee372" standard verify_py311 copy_python_gdb ensurepip diff --git a/plugins/python-build/share/python-build/3.12.6 b/plugins/python-build/share/python-build/3.12.6 index 712ccf0e..8323869a 100644 --- a/plugins/python-build/share/python-build/3.12.6 +++ b/plugins/python-build/share/python-build/3.12.6 @@ -1,6 +1,6 @@ prefer_openssl3 export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 -install_package "openssl-3.3.2" "https://www.openssl.org/source/openssl-3.3.2.tar.gz#2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281" mac_openssl --if has_broken_mac_openssl +install_package "openssl-3.3.2" "https://openssl.org/source/old/3.2/openssl-3.2.2.tar.gz#197149c18d9e9f292c43f0400acaba12e5f52cacfe050f3d199277ea738ec2e7" 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.12.6" "https://www.python.org/ftp/python/3.12.6/Python-3.12.6.tar.xz#1999658298cf2fb837dffed8ff3c033ef0c98ef20cf73c5d5f66bed5ab89697c" standard verify_py312 copy_python_gdb ensurepip diff --git a/plugins/python-build/share/python-build/3.13.0rc2 b/plugins/python-build/share/python-build/3.13.0rc2 index ff72cd54..aebf7c49 100644 --- a/plugins/python-build/share/python-build/3.13.0rc2 +++ b/plugins/python-build/share/python-build/3.13.0rc2 @@ -1,6 +1,6 @@ prefer_openssl3 export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 -install_package "openssl-3.3.2" "https://www.openssl.org/source/openssl-3.3.2.tar.gz#2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281" mac_openssl --if has_broken_mac_openssl +install_package "openssl-3.3.2" "https://openssl.org/source/old/3.2/openssl-3.2.2.tar.gz#197149c18d9e9f292c43f0400acaba12e5f52cacfe050f3d199277ea738ec2e7" 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.13.0rc2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc2.tar.xz#d60e8b7c10de4f71d2dffaf7c7be8efa54dc1e532fe931dbb84e5f625709e237" standard verify_py313 copy_python_gdb ensurepip diff --git a/plugins/python-build/share/python-build/3.9.20 b/plugins/python-build/share/python-build/3.9.20 index 9a888d12..a3af19d8 100644 --- a/plugins/python-build/share/python-build/3.9.20 +++ b/plugins/python-build/share/python-build/3.9.20 @@ -8,5 +8,5 @@ install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1. if has_tar_xz_support; then install_package "Python-3.9.20" "https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tar.xz#6b281279efd85294d2d6993e173983a57464c0133956fbbb5536ec9646beaf0c" standard verify_py39 copy_python_gdb ensurepip else - install_package "Python-3.9.20" "https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tgz#9f2d5962c2583e67ef75924cd56d0c1af78bf45ec57035cf8a2cc09f74f4bf78" standard verify_py39 copy_python_gdb ensurepip + install_package "Python-3.9.20" "https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tgz#1e71f006222666e0a39f5a47be8221415c22c4dd8f25334cc41aee260b3d379e" standard verify_py39 copy_python_gdb ensurepip fi From 6517caf5836978d3cef831c9c24038be0c4d741f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 11 Sep 2024 22:43:03 -0600 Subject: [PATCH 09/29] Fix OpenSSL 3.3.2 download URLs (#3059) --- plugins/python-build/share/python-build/3.12.6 | 2 +- plugins/python-build/share/python-build/3.13.0rc2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/python-build/share/python-build/3.12.6 b/plugins/python-build/share/python-build/3.12.6 index 8323869a..73e2f6eb 100644 --- a/plugins/python-build/share/python-build/3.12.6 +++ b/plugins/python-build/share/python-build/3.12.6 @@ -1,6 +1,6 @@ prefer_openssl3 export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 -install_package "openssl-3.3.2" "https://openssl.org/source/old/3.2/openssl-3.2.2.tar.gz#197149c18d9e9f292c43f0400acaba12e5f52cacfe050f3d199277ea738ec2e7" mac_openssl --if has_broken_mac_openssl +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.12.6" "https://www.python.org/ftp/python/3.12.6/Python-3.12.6.tar.xz#1999658298cf2fb837dffed8ff3c033ef0c98ef20cf73c5d5f66bed5ab89697c" standard verify_py312 copy_python_gdb ensurepip diff --git a/plugins/python-build/share/python-build/3.13.0rc2 b/plugins/python-build/share/python-build/3.13.0rc2 index aebf7c49..3d168da2 100644 --- a/plugins/python-build/share/python-build/3.13.0rc2 +++ b/plugins/python-build/share/python-build/3.13.0rc2 @@ -1,6 +1,6 @@ prefer_openssl3 export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 -install_package "openssl-3.3.2" "https://openssl.org/source/old/3.2/openssl-3.2.2.tar.gz#197149c18d9e9f292c43f0400acaba12e5f52cacfe050f3d199277ea738ec2e7" mac_openssl --if has_broken_mac_openssl +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.13.0rc2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc2.tar.xz#d60e8b7c10de4f71d2dffaf7c7be8efa54dc1e532fe931dbb84e5f625709e237" standard verify_py313 copy_python_gdb ensurepip From d8f5b583bd3971ce0f85821fc1721d21283d14a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20=C5=A0im=C3=A1=C4=8Dek?= Date: Wed, 18 Sep 2024 06:33:27 +0200 Subject: [PATCH 10/29] Add GraalPy 24.1.0 (#3066) --- .../share/python-build/graalpy-24.1.0 | 64 +++++++++++++++++++ .../python-build/graalpy-community-24.1.0 | 54 ++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 plugins/python-build/share/python-build/graalpy-24.1.0 create mode 100644 plugins/python-build/share/python-build/graalpy-community-24.1.0 diff --git a/plugins/python-build/share/python-build/graalpy-24.1.0 b/plugins/python-build/share/python-build/graalpy-24.1.0 new file mode 100644 index 00000000..2af5024d --- /dev/null +++ b/plugins/python-build/share/python-build/graalpy-24.1.0 @@ -0,0 +1,64 @@ +# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +VERSION='24.1.0' +BUILD='' + +colorize 1 "GraalPy 23.1 and later installed by python-build use the faster Oracle GraalVM distribution" && echo +colorize 1 "Oracle GraalVM uses the GFTC license, which is free for development and production use, see https://medium.com/graalvm/161527df3d76" && echo +colorize 1 "The GraalVM Community Edition variant of GraalPy is also available, under the name graalpy-community-${VERSION}" && echo + + +graalpy_arch="$(graalpy_architecture 2>/dev/null || true)" + +case "$graalpy_arch" in +"linux-amd64" ) + checksum="95819091eee7c21566601c22536768204b7c75e9b59e522a10961612a1dd6298" + ;; +"linux-aarch64" ) + checksum="838662e07ce745708d58a50e5e030f9af608306c4595adb3a8e7ac1f6e7d8b6a" + ;; +"macos-amd64" ) + checksum="4bee92fdf97ef9e2f9a8dfc56030b9f40860019bf57c9cd097a4b86baaf31d94" + ;; +"macos-aarch64" ) + checksum="520888b407e47c8bbc91b0830d540a1eb1a6919ad0ce5be3e657e54f77ee0fba" + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": No binary distribution of GraalPy is available for $(uname -sm)." + echo + } >&2 + exit 1 + ;; +esac + +if [ -n "${BUILD}" ]; then + { echo + colorize 1 "ERROR" + echo "Oracle GraalPy currently doesn't provide snapshot builds. Use graalpy-community if you need snapshots." + echo + } >&2 + exit 1 +fi + +url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-${VERSION}-${graalpy_arch}.tar.gz#${checksum}" + +install_package "graalpy-${VERSION}" "${url}" "copy" ensurepip diff --git a/plugins/python-build/share/python-build/graalpy-community-24.1.0 b/plugins/python-build/share/python-build/graalpy-community-24.1.0 new file mode 100644 index 00000000..b2b48ec8 --- /dev/null +++ b/plugins/python-build/share/python-build/graalpy-community-24.1.0 @@ -0,0 +1,54 @@ +# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +VERSION='24.1.0' +BUILD='' + +graalpy_arch="$(graalpy_architecture 2>/dev/null || true)" + +case "$graalpy_arch" in +"linux-amd64" ) + checksum="89c7f8bd8f91639adc815949458d56ea9bffaa286249360d244fc6a6885c220a" + ;; +"linux-aarch64" ) + checksum="8f52958486606328a9692a0c0553f2cd3afd1c86c9df97ae47a703afc2e804a8" + ;; +"macos-amd64" ) + checksum="1b01102ca9cbfe8164e935ca834226db76e8ca9359a5585ba686430593cbc02d" + ;; +"macos-aarch64" ) + checksum="cd0d6064bbb4f92d50d2b85ed46f6a9c22a5ae775f15cc264508da8f026eecaa" + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": No binary distribution of GraalPy is available for $(uname -sm)." + echo + } >&2 + exit 1 + ;; +esac + +if [ -n "${BUILD}" ]; then + url="https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/${VERSION}-dev-${BUILD}/graalpy-community-dev-${graalpy_arch}.tar.gz" +else + url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-community-${VERSION}-${graalpy_arch}.tar.gz#${checksum}" +fi + +install_package "graalpy-community-${VERSION}${BUILD}" "${url}" "copy" ensurepip From 62fc392515d98067fcdd355eb6a3bc0bd08c2bc0 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Wed, 18 Sep 2024 07:38:48 +0300 Subject: [PATCH 11/29] 2.4.13 --- CHANGELOG.md | 7 +++++++ libexec/pyenv---version | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d73f904..36dbda1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Version History +## Release v2.4.13 +* docs: Use `--verbose` with performance CPython build instructions by @caerulescens in https://github.com/pyenv/pyenv/pull/3053 +* Fix latest version resolution when using `python-` prefix by @edmorley in https://github.com/pyenv/pyenv/pull/3056 +* Fix tgz checksum for 3.9.20; fallback OpenSSL URLs and checksums by @native-api in https://github.com/pyenv/pyenv/pull/3060 +* Fix OpenSSL 3.3.2 download URLs by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3059 +* Add GraalPy 24.1.0 by @msimacek in https://github.com/pyenv/pyenv/pull/3066 + ## Release v2.4.12 * Add CPython 3.13.0rc2 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3049 * Add CPython 3.8.20, 3.9.20, 3.10.15, 3.11.10 and 3.12.6 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3050 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index 39561bbb..974787c6 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.4.12" +version="2.4.13" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then From 3f2ef9e00afcdca2aadd07a4294269291dd8cc62 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Sat, 28 Sep 2024 21:04:59 +0300 Subject: [PATCH 12/29] README: Clarify Zsh configuration Closes #3069 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 32a0cdb2..a801abfc 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,8 @@ See [Advanced configuration](#advanced-configuration) for details and more confi ~~~ - For **Zsh**: + + Run the following to add the commands to `~/.zshrc`: ~~~ zsh echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc From 55134ea1a1c00abd214e5d71ac76df7cac545b73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 2 Oct 2024 05:50:30 -0600 Subject: [PATCH 13/29] Add CPython 3.12.7 (#3078) --- plugins/python-build/share/python-build/3.12.7 | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 plugins/python-build/share/python-build/3.12.7 diff --git a/plugins/python-build/share/python-build/3.12.7 b/plugins/python-build/share/python-build/3.12.7 new file mode 100644 index 00000000..00a35778 --- /dev/null +++ b/plugins/python-build/share/python-build/3.12.7 @@ -0,0 +1,9 @@ +prefer_openssl3 +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.12.7" "https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tar.xz#24887b92e2afd4a2ac602419ad4b596372f67ac9b077190f459aba390faf5550" standard verify_py312 copy_python_gdb ensurepip +else + install_package "Python-3.12.7" "https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tgz#73ac8fe780227bf371add8373c3079f42a0dc62deff8d612cd15a618082ab623" standard verify_py312 copy_python_gdb ensurepip +fi From 95917cb753638cd1b9acc1d2b2c4686d8a934d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 2 Oct 2024 05:50:59 -0600 Subject: [PATCH 14/29] Add CPython 3.13.0rc3 (#3077) --- plugins/python-build/share/python-build/3.13.0rc2t | 2 -- .../python-build/share/python-build/{3.13.0rc2 => 3.13.0rc3} | 4 ++-- plugins/python-build/share/python-build/3.13.0rc3t | 2 ++ 3 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 plugins/python-build/share/python-build/3.13.0rc2t rename plugins/python-build/share/python-build/{3.13.0rc2 => 3.13.0rc3} (59%) create mode 100644 plugins/python-build/share/python-build/3.13.0rc3t diff --git a/plugins/python-build/share/python-build/3.13.0rc2t b/plugins/python-build/share/python-build/3.13.0rc2t deleted file mode 100644 index bc4ce0e5..00000000 --- a/plugins/python-build/share/python-build/3.13.0rc2t +++ /dev/null @@ -1,2 +0,0 @@ -export PYTHON_BUILD_FREE_THREADING=1 -source "$(dirname "${BASH_SOURCE[0]}")"/3.13.0rc2 diff --git a/plugins/python-build/share/python-build/3.13.0rc2 b/plugins/python-build/share/python-build/3.13.0rc3 similarity index 59% rename from plugins/python-build/share/python-build/3.13.0rc2 rename to plugins/python-build/share/python-build/3.13.0rc3 index 3d168da2..e51efc86 100644 --- a/plugins/python-build/share/python-build/3.13.0rc2 +++ b/plugins/python-build/share/python-build/3.13.0rc3 @@ -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.13.0rc2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc2.tar.xz#d60e8b7c10de4f71d2dffaf7c7be8efa54dc1e532fe931dbb84e5f625709e237" standard verify_py313 copy_python_gdb ensurepip + install_package "Python-3.13.0rc3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc3.tar.xz#c8bc790185af1cb77b75c01cbc1aa642dfdcf97a370d2d10090bc7baa70da57e" standard verify_py313 copy_python_gdb ensurepip else - install_package "Python-3.13.0rc2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc2.tgz#d08965c543f21d9949b2715b50d7e4619a5c13984a2ba6d2efcabf413d41479a" standard verify_py313 copy_python_gdb ensurepip + install_package "Python-3.13.0rc3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc3.tgz#e5e8611d1bfbfda4accf8fab868712252a9c5f6aa5f13f6a5093878a9ef38412" standard verify_py313 copy_python_gdb ensurepip fi diff --git a/plugins/python-build/share/python-build/3.13.0rc3t b/plugins/python-build/share/python-build/3.13.0rc3t new file mode 100644 index 00000000..c814c506 --- /dev/null +++ b/plugins/python-build/share/python-build/3.13.0rc3t @@ -0,0 +1,2 @@ +export PYTHON_BUILD_FREE_THREADING=1 +source "$(dirname "${BASH_SOURCE[0]}")"/3.13.0rc3 From 5180c3cfb506006e16982602d0d82fa64e285a5b Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Wed, 2 Oct 2024 15:13:21 +0300 Subject: [PATCH 15/29] 2.4.14 --- CHANGELOG.md | 4 ++++ libexec/pyenv---version | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36dbda1e..9e7c4550 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Version History +## Release v2.4.14 +* Add CPython 3.12.7 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3078 +* Add CPython 3.13.0rc3 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3077 + ## Release v2.4.13 * docs: Use `--verbose` with performance CPython build instructions by @caerulescens in https://github.com/pyenv/pyenv/pull/3053 * Fix latest version resolution when using `python-` prefix by @edmorley in https://github.com/pyenv/pyenv/pull/3056 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index 974787c6..aa3c259a 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.4.13" +version="2.4.14" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then From 468dc81107f33b0285718cb48aca53316de205a2 Mon Sep 17 00:00:00 2001 From: tuzi3040 <28290621+tuzi3040@users.noreply.github.com> Date: Wed, 2 Oct 2024 21:37:31 +0800 Subject: [PATCH 16/29] CI: replace set-output with GITHUB_OUTPUT (#3079) `::set-output` is deprecated as per https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ --- .github/workflows/modified_scripts_build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/modified_scripts_build.yml b/.github/workflows/modified_scripts_build.yml index 1f5cf7f4..17717274 100644 --- a/.github/workflows/modified_scripts_build.yml +++ b/.github/workflows/modified_scripts_build.yml @@ -21,8 +21,7 @@ jobs: echo "$EOF" >> $GITHUB_ENV; - id: modified-versions run: | - echo -n "::set-output name=versions::" - echo "${{ env.versions }}" | jq -R . | jq -sc . + echo "versions=`echo "${{ env.versions }}" | jq -R . | jq -sc .`" >> $GITHUB_OUTPUT macos_build: needs: discover_modified_scripts if: needs.discover_modified_scripts.outputs.versions != '[""]' From d201daeb3366cae98cca88654b4c52018175ded5 Mon Sep 17 00:00:00 2001 From: David Poznik Date: Fri, 4 Oct 2024 16:17:45 -0700 Subject: [PATCH 17/29] Make "y/N" prompt consistent with others (#3080) --- plugins/python-build/bin/pyenv-uninstall | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/python-build/bin/pyenv-uninstall b/plugins/python-build/bin/pyenv-uninstall index f6b6fcdf..f95cd365 100755 --- a/plugins/python-build/bin/pyenv-uninstall +++ b/plugins/python-build/bin/pyenv-uninstall @@ -75,7 +75,7 @@ uninstall-python() { exit 1 fi - read -p "pyenv: remove $PREFIX? [y|N] " + read -p "pyenv: remove $PREFIX? (y/N) " case "$REPLY" in y | Y | yes | YES ) ;; * ) exit 1 ;; From 6a7ecfe4092f523217e9b4a5c0026e51f8dba810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Mon, 7 Oct 2024 16:16:53 -0600 Subject: [PATCH 18/29] Add CPython 3.13.0 (#3081) --- plugins/python-build/share/python-build/{3.13.0rc3 => 3.13.0} | 4 ++-- plugins/python-build/share/python-build/3.13.0rc3t | 2 -- plugins/python-build/share/python-build/3.13.0t | 2 ++ 3 files changed, 4 insertions(+), 4 deletions(-) rename plugins/python-build/share/python-build/{3.13.0rc3 => 3.13.0} (54%) delete mode 100644 plugins/python-build/share/python-build/3.13.0rc3t create mode 100644 plugins/python-build/share/python-build/3.13.0t diff --git a/plugins/python-build/share/python-build/3.13.0rc3 b/plugins/python-build/share/python-build/3.13.0 similarity index 54% rename from plugins/python-build/share/python-build/3.13.0rc3 rename to plugins/python-build/share/python-build/3.13.0 index e51efc86..4f73ad83 100644 --- a/plugins/python-build/share/python-build/3.13.0rc3 +++ b/plugins/python-build/share/python-build/3.13.0 @@ -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.13.0rc3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc3.tar.xz#c8bc790185af1cb77b75c01cbc1aa642dfdcf97a370d2d10090bc7baa70da57e" standard verify_py313 copy_python_gdb ensurepip + install_package "Python-3.13.0" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tar.xz#086de5882e3cb310d4dca48457522e2e48018ecd43da9cdf827f6a0759efb07d" standard verify_py313 copy_python_gdb ensurepip else - install_package "Python-3.13.0rc3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc3.tgz#e5e8611d1bfbfda4accf8fab868712252a9c5f6aa5f13f6a5093878a9ef38412" standard verify_py313 copy_python_gdb ensurepip + install_package "Python-3.13.0" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tgz#12445c7b3db3126c41190bfdc1c8239c39c719404e844babbd015a1bc3fafcd4" standard verify_py313 copy_python_gdb ensurepip fi diff --git a/plugins/python-build/share/python-build/3.13.0rc3t b/plugins/python-build/share/python-build/3.13.0rc3t deleted file mode 100644 index c814c506..00000000 --- a/plugins/python-build/share/python-build/3.13.0rc3t +++ /dev/null @@ -1,2 +0,0 @@ -export PYTHON_BUILD_FREE_THREADING=1 -source "$(dirname "${BASH_SOURCE[0]}")"/3.13.0rc3 diff --git a/plugins/python-build/share/python-build/3.13.0t b/plugins/python-build/share/python-build/3.13.0t new file mode 100644 index 00000000..ecb94852 --- /dev/null +++ b/plugins/python-build/share/python-build/3.13.0t @@ -0,0 +1,2 @@ +export PYTHON_BUILD_FREE_THREADING=1 +source "$(dirname "${BASH_SOURCE[0]}")"/3.13.0 From 03b60aafecc7ce872b492a4878fe9a072cc5aa6e Mon Sep 17 00:00:00 2001 From: Antoine Arbouin Date: Thu, 10 Oct 2024 19:43:13 +0200 Subject: [PATCH 19/29] Support virtualenvs with names starting with "python-" (#3086) --- libexec/pyenv-version-name | 6 +++++- test/version-name.bats | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/libexec/pyenv-version-name b/libexec/pyenv-version-name index 73093b31..b3866dbd 100755 --- a/libexec/pyenv-version-name +++ b/libexec/pyenv-version-name @@ -32,8 +32,12 @@ OLDIFS="$IFS" for version in ${PYENV_VERSION}; do # Remove the explicit 'python-' prefix from versions like 'python-3.12'. normalised_version="${version#python-}" - if version_exists "${normalised_version}" || [ "$version" = "system" ]; then + if version_exists "${version}" || [ "$version" = "system" ]; then + versions=("${versions[@]}" "${version}") + elif version_exists "${normalised_version}"; then versions=("${versions[@]}" "${normalised_version}") + elif resolved_version="$(pyenv-latest -b "${version}")"; then + versions=("${versions[@]}" "${resolved_version}") elif resolved_version="$(pyenv-latest -b "${normalised_version}")"; then versions=("${versions[@]}" "${resolved_version}") else diff --git a/test/version-name.bats b/test/version-name.bats index e3c9a6a4..720f6c86 100644 --- a/test/version-name.bats +++ b/test/version-name.bats @@ -127,3 +127,10 @@ OUT assert_success assert_output "3.12.6" } + +@test "pyenv version started by python-" { + create_version "python-3.12.6" + PYENV_VERSION="python-3.12.6" run pyenv-version-name + assert_success + assert_output "python-3.12.6" +} From 3ced1c475150e00dfcda4e8cca71a5670d5087b8 Mon Sep 17 00:00:00 2001 From: native-api Date: Fri, 11 Oct 2024 16:28:10 +0300 Subject: [PATCH 20/29] Support free-threaded CPython flavor in prefix resolution (#3090) Since 3.13, CPython is provided in 2 flavors: regular and free-threaded, with the 't' suffix. An incomplete prefix ending with '[0-9]t' resolves only among versions that also end with '[0-9]t' --- libexec/pyenv-latest | 13 +++++++++++-- test/latest.bats | 17 ++++++++++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/libexec/pyenv-latest b/libexec/pyenv-latest index 330e1e29..7d85e302 100755 --- a/libexec/pyenv-latest +++ b/libexec/pyenv-latest @@ -48,16 +48,25 @@ IFS=$'\n' exit $exitcode; fi + suffix="" + if [[ $prefix =~ ^(.*[0-9])t$ ]]; then + suffix="t" + prefix="${BASH_REMATCH[1]}" + fi + # https://stackoverflow.com/questions/11856054/is-there-an-easy-way-to-pass-a-raw-string-to-grep/63483807#63483807 prefix_re="$(sed 's/[^\^]/[&]/g;s/[\^]/\\&/g' <<< "$prefix")" + suffix_re="$(sed 's/[^\^]/[&]/g;s/[\^]/\\&/g' <<< "$suffix")" # FIXME: more reliable and readable would probably be to loop over them and transform in pure Bash DEFINITION_CANDIDATES=(\ $(printf '%s\n' "${DEFINITION_CANDIDATES[@]}" | \ - grep -Ee "^$prefix_re[-.]" || true)) + grep -Ee "^$prefix_re[-.].*$suffix_re\$" || true)) DEFINITION_CANDIDATES=(\ $(printf '%s\n' "${DEFINITION_CANDIDATES[@]}" | \ - sed -E -e '/-dev$/d' -e '/-src$/d' -e '/-latest$/d' -e '/(a|b|rc)[0-9]+$/d' -e '/[0-9]+t$/d')); + sed -E -e '/-dev$/d' -e '/-src$/d' -e '/-latest$/d' -e '/(a|b|rc)[0-9]+$/d' \ + $(if [[ -z $suffix ]]; then echo "-e /[0-9]t\$/d"; fi) + )); # Compose a sorting key, followed by | and original value DEFINITION_CANDIDATES=(\ diff --git a/test/latest.bats b/test/latest.bats index 8881c9f5..4acfa89f 100644 --- a/test/latest.bats +++ b/test/latest.bats @@ -94,7 +94,7 @@ echo 3.10.6 ! } -@test "ignores rolling releases, branch tips, alternative srcs, prereleases and virtualenvs" { +@test "ignores rolling releases, branch tips, alternative srcs, prereleases, virtualenvs; 't' versions if prefix without 't'" { create_executable pyenv-versions < Date: Fri, 11 Oct 2024 16:31:00 +0300 Subject: [PATCH 21/29] 2.4.15 --- CHANGELOG.md | 7 +++++++ libexec/pyenv---version | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e7c4550..b6c8e1af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Version History +## Release v2.4.15 +* CI: replace set-output with GITHUB_OUTPUT by @tuzi3040 in https://github.com/pyenv/pyenv/pull/3079 +* Make uninstall yes/no prompt consistent with others by @dpoznik in https://github.com/pyenv/pyenv/pull/3080 +* Add CPython 3.13.0 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3081 +* Avoid shadowing of virtualenvs with the name starting with "python-" by @aarbouin in https://github.com/pyenv/pyenv/pull/3086 +* Support free-threaded CPython flavor in prefix resolution by @native-api in https://github.com/pyenv/pyenv/pull/3090 + ## Release v2.4.14 * Add CPython 3.12.7 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3078 * Add CPython 3.13.0rc3 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3077 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index aa3c259a..3a2431c1 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.4.14" +version="2.4.15" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then From fb9880e460ddd4317c9db573ac6d32ada8122b13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20=C5=A0im=C3=A1=C4=8Dek?= Date: Wed, 16 Oct 2024 19:14:36 +0200 Subject: [PATCH 22/29] Add GraalPy 24.1.1 (#3092) --- .../share/python-build/graalpy-24.1.1 | 64 +++++++++++++++++++ .../python-build/graalpy-community-24.1.1 | 54 ++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 plugins/python-build/share/python-build/graalpy-24.1.1 create mode 100644 plugins/python-build/share/python-build/graalpy-community-24.1.1 diff --git a/plugins/python-build/share/python-build/graalpy-24.1.1 b/plugins/python-build/share/python-build/graalpy-24.1.1 new file mode 100644 index 00000000..332b7f3e --- /dev/null +++ b/plugins/python-build/share/python-build/graalpy-24.1.1 @@ -0,0 +1,64 @@ +# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +VERSION='24.1.1' +BUILD='' + +colorize 1 "GraalPy 23.1 and later installed by python-build use the faster Oracle GraalVM distribution" && echo +colorize 1 "Oracle GraalVM uses the GFTC license, which is free for development and production use, see https://medium.com/graalvm/161527df3d76" && echo +colorize 1 "The GraalVM Community Edition variant of GraalPy is also available, under the name graalpy-community-${VERSION}" && echo + + +graalpy_arch="$(graalpy_architecture 2>/dev/null || true)" + +case "$graalpy_arch" in +"linux-amd64" ) + checksum="b7ec8b6ead8f0ad19d212617f75c305b38d419bfd3ac6c9e82e9339282699ab9" + ;; +"linux-aarch64" ) + checksum="cb97bbef83372f00c7ea5f351bcb3c1ad36255ebd7d3cff9267d604ad183c28a" + ;; +"macos-amd64" ) + checksum="3f4583cf8438237a2061460d4df9025d04eaaae0beadb3626ccdcebf9cfe725a" + ;; +"macos-aarch64" ) + checksum="23d2397d90ebbd51747541f029ed80b7740fe36b23a45d4616ddad9b60f2c6cb" + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": No binary distribution of GraalPy is available for $(uname -sm)." + echo + } >&2 + exit 1 + ;; +esac + +if [ -n "${BUILD}" ]; then + { echo + colorize 1 "ERROR" + echo "Oracle GraalPy currently doesn't provide snapshot builds. Use graalpy-community if you need snapshots." + echo + } >&2 + exit 1 +fi + +url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-${VERSION}-${graalpy_arch}.tar.gz#${checksum}" + +install_package "graalpy-${VERSION}" "${url}" "copy" ensurepip diff --git a/plugins/python-build/share/python-build/graalpy-community-24.1.1 b/plugins/python-build/share/python-build/graalpy-community-24.1.1 new file mode 100644 index 00000000..1fbbd4f3 --- /dev/null +++ b/plugins/python-build/share/python-build/graalpy-community-24.1.1 @@ -0,0 +1,54 @@ +# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +VERSION='24.1.1' +BUILD='' + +graalpy_arch="$(graalpy_architecture 2>/dev/null || true)" + +case "$graalpy_arch" in +"linux-amd64" ) + checksum="42a6b563271174161a1abca4b045b0602d8e27c12204f3cadd31265fd3ff6d19" + ;; +"linux-aarch64" ) + checksum="a513ea3036a48a6cee8cfa666bff7b5e6b1a1b6cf623400109fbf856476e9bd3" + ;; +"macos-amd64" ) + checksum="7f5591074dbd701faa6dec6ea10391bc2d8af736fe8370c5675a11842959edd7" + ;; +"macos-aarch64" ) + checksum="53f6161d0f9871efaf1f62f2c1894152da0bb2b504a95ebad6f35b19de994f77" + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": No binary distribution of GraalPy is available for $(uname -sm)." + echo + } >&2 + exit 1 + ;; +esac + +if [ -n "${BUILD}" ]; then + url="https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/${VERSION}-dev-${BUILD}/graalpy-community-dev-${graalpy_arch}.tar.gz" +else + url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-community-${VERSION}-${graalpy_arch}.tar.gz#${checksum}" +fi + +install_package "graalpy-community-${VERSION}${BUILD}" "${url}" "copy" ensurepip From 630b3700ad25836d46fe711ccd14b2376615f3ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Thu, 17 Oct 2024 09:45:38 -0600 Subject: [PATCH 23/29] Add CPython 3.14.0a1 (#3093) --- plugins/python-build/share/python-build/3.14.0a1 | 9 +++++++++ plugins/python-build/share/python-build/3.14.0a1t | 2 ++ 2 files changed, 11 insertions(+) create mode 100644 plugins/python-build/share/python-build/3.14.0a1 create mode 100644 plugins/python-build/share/python-build/3.14.0a1t diff --git a/plugins/python-build/share/python-build/3.14.0a1 b/plugins/python-build/share/python-build/3.14.0a1 new file mode 100644 index 00000000..0bbdf5ae --- /dev/null +++ b/plugins/python-build/share/python-build/3.14.0a1 @@ -0,0 +1,9 @@ +prefer_openssl3 +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.0a1" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a1.tar.xz#3e464b0cbb7535e2db34262fd19a0a393d0e62be0f43b1513ed98379b054ead4" standard verify_py313 copy_python_gdb ensurepip +else + install_package "Python-3.14.0a1" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a1.tgz#6edf6c54c118daff03de81d60b227545de89732c2d131ed243ce5593fa9682b7" standard verify_py313 copy_python_gdb ensurepip +fi diff --git a/plugins/python-build/share/python-build/3.14.0a1t b/plugins/python-build/share/python-build/3.14.0a1t new file mode 100644 index 00000000..d7c6c4d6 --- /dev/null +++ b/plugins/python-build/share/python-build/3.14.0a1t @@ -0,0 +1,2 @@ +export PYTHON_BUILD_FREE_THREADING=1 +source "$(dirname "${BASH_SOURCE[0]}")"/3.14.0a1 From 770eb66ec886bb79669dae89dacf740d17fd6ed5 Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Thu, 17 Oct 2024 18:47:39 +0300 Subject: [PATCH 24/29] 2.4.16 --- CHANGELOG.md | 4 ++++ libexec/pyenv---version | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6c8e1af..261a7104 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Version History +## Release v2.4.16 +* Add GraalPy 24.1.1 by @msimacek in https://github.com/pyenv/pyenv/pull/3092 +* Add CPython 3.14.0a1 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3093 + ## Release v2.4.15 * CI: replace set-output with GITHUB_OUTPUT by @tuzi3040 in https://github.com/pyenv/pyenv/pull/3079 * Make uninstall yes/no prompt consistent with others by @dpoznik in https://github.com/pyenv/pyenv/pull/3080 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index 3a2431c1..55ad7d4f 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.4.15" +version="2.4.16" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then From f3e288c6adc5260cadfb1a73bd839adf1cb98729 Mon Sep 17 00:00:00 2001 From: binbjz Date: Sun, 27 Oct 2024 15:24:35 +0800 Subject: [PATCH 25/29] Add miniconda3-24.9.2-0 --- .../python-build/miniconda3-3.10-24.9.2-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.11-24.9.2-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.12-24.9.2-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.9-24.9.2-0 | 25 +++++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100644 plugins/python-build/share/python-build/miniconda3-3.10-24.9.2-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.11-24.9.2-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.12-24.9.2-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.9-24.9.2-0 diff --git a/plugins/python-build/share/python-build/miniconda3-3.10-24.9.2-0 b/plugins/python-build/share/python-build/miniconda3-3.10-24.9.2-0 new file mode 100644 index 00000000..3c4047e3 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.10-24.9.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py310_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-Linux-aarch64.sh#5d022f16ecb01d33ac8c85a87a0a8dccfb025dc90b20dbd56c4b9ae8f9727578" "miniconda" verify_py310 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py310_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-Linux-s390x.sh#93d75b306151f96a460a80d8849d85636929a90490f44004f4296a0b8399ccc5" "miniconda" verify_py310 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py310_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-Linux-x86_64.sh#364869f004c6259268b09a667ed476080bf4f44e9c4ab06a293146df8990d43f" "miniconda" verify_py310 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py310_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-MacOSX-arm64.sh#d666284d5dd9290b446de5dc20e8498545867c7730799cba8f52e97a45db42d2" "miniconda" verify_py310 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py310_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-MacOSX-x86_64.sh#7359ff3963ab3ccdc5eec244c610270b456a9584477cb645aa7539924bdd0482" "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 diff --git a/plugins/python-build/share/python-build/miniconda3-3.11-24.9.2-0 b/plugins/python-build/share/python-build/miniconda3-3.11-24.9.2-0 new file mode 100644 index 00000000..e309b59c --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.11-24.9.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py311_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-Linux-aarch64.sh#c4c12d969be6a02cb7370a0c717400e8eec79dea722ef0fba98d745048948980" "miniconda" verify_py311 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py311_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-Linux-s390x.sh#8de1e23f3e0a097bc3b9173a1b4b56544bd34d2831b70a71a9d528eeab0dbe90" "miniconda" verify_py311 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py311_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-Linux-x86_64.sh#62ef806265659c47e37e22e8f9adce29e75c4ea0497e619c280f54c823887c4f" "miniconda" verify_py311 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py311_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-MacOSX-arm64.sh#7358a1d53e7f857a9b87af148d20cdd00f3a91eca9f663371dfa3d830c375033" "miniconda" verify_py311 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py311_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-MacOSX-x86_64.sh#5d4229c322629cf2932c3a4e181501c98dae35b866c96d208b6688b0e2381604" "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 diff --git a/plugins/python-build/share/python-build/miniconda3-3.12-24.9.2-0 b/plugins/python-build/share/python-build/miniconda3-3.12-24.9.2-0 new file mode 100644 index 00000000..96b11863 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.12-24.9.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py312_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-Linux-aarch64.sh#86b8df7481646cf87e77873e9789adb7569b58248d3aa629eb2da35e6f2e2eed" "miniconda" verify_py312 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py312_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-Linux-s390x.sh#876db345b31db6d2b96ab1e2aedfbcea8af6b951a3218e6fd36f657452d1305c" "miniconda" verify_py312 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py312_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-Linux-x86_64.sh#8d936ba600300e08eca3d874dee88c61c6f39303597b2b66baee54af4f7b4122" "miniconda" verify_py312 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py312_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-MacOSX-arm64.sh#08d8a82ed21d2dae707554d540b172fe03327347db747644fbb33abfaf07fddd" "miniconda" verify_py312 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py312_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-MacOSX-x86_64.sh#ce3b440c32c9c636bbe529477fd496798c35b96d9db1838e3df6b0a80714da4e" "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 diff --git a/plugins/python-build/share/python-build/miniconda3-3.9-24.9.2-0 b/plugins/python-build/share/python-build/miniconda3-3.9-24.9.2-0 new file mode 100644 index 00000000..907a1c14 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.9-24.9.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py39_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-Linux-aarch64.sh#4607ec9145ad9c0413e6300dab3febe442e265efce486176ef1f8518ba8bfaeb" "miniconda" verify_py39 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py39_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-Linux-s390x.sh#5ccde79ed4c333f0e236f36338ed5db111a2fff50859235c4f8fffd2045a6655" "miniconda" verify_py39 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py39_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-Linux-x86_64.sh#4b540d78e5bdd770b39216c0563424ef6656504cbe24c67b2d0454c2eb7afe93" "miniconda" verify_py39 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py39_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-MacOSX-arm64.sh#4d5abecbb3264def02ad95ed6c888016f95631649b848da552a1066c52bcd1da" "miniconda" verify_py39 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py39_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-MacOSX-x86_64.sh#7535da558c8821d967e026288eaec75d9a159ec760d75c869fd10fa58d3986c3" "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 From 6711e9a21dae25e816fc0ec1c10f8300da3db8cc Mon Sep 17 00:00:00 2001 From: binbjz Date: Sun, 27 Oct 2024 15:33:17 +0800 Subject: [PATCH 26/29] Add anaconda3-2024.10-1 --- .../share/python-build/anaconda3-2024.10-1 | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 plugins/python-build/share/python-build/anaconda3-2024.10-1 diff --git a/plugins/python-build/share/python-build/anaconda3-2024.10-1 b/plugins/python-build/share/python-build/anaconda3-2024.10-1 new file mode 100644 index 00000000..cdc5d05c --- /dev/null +++ b/plugins/python-build/share/python-build/anaconda3-2024.10-1 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Anaconda3-2024.10-1-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-aarch64.sh#489c608e8bddd2cf29dfbdd811cf99087cd6b6a0615d41c6f9058ce340594b65" "anaconda" verify_py312 + ;; +"Linux-s390x" ) + install_script "Anaconda3-2024.10-1-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-s390x.sh#e00bd5e6c275695e8050a45aa85790315f504c95243dfe3632f505284310f3c4" "anaconda" verify_py312 + ;; +"Linux-x86_64" ) + install_script "Anaconda3-2024.10-1-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh#3ba0a298155c32fbfd80cbc238298560bf69a2df511783054adfc151b76d80d8" "anaconda" verify_py312 + ;; +"MacOSX-arm64" ) + install_script "Anaconda3-2024.10-1-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2024.10-1-MacOSX-arm64.sh#f64ed797ce23ae1d07ead949bfb6ff630b9fa8269ca8aef8ea2efa82172ece47" "anaconda" verify_py312 + ;; +"MacOSX-x86_64" ) + install_script "Anaconda3-2024.10-1-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2024.10-1-MacOSX-x86_64.sh#ad3eea1cc969e9dfd4d571fc266aae06ec119f651d7cb19c0dc187b73e2bfab1" "anaconda" verify_py312 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Anaconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac From 37ad06f7cea84efe0972b48b35a533ceae6afcac Mon Sep 17 00:00:00 2001 From: binbjz <8213913+binbjz@users.noreply.github.com> Date: Sun, 27 Oct 2024 15:35:24 +0800 Subject: [PATCH 27/29] Add miniconda3-24.9.2-0 (#3096) Co-authored-by: binbjz --- .../python-build/miniconda3-3.10-24.9.2-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.11-24.9.2-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.12-24.9.2-0 | 25 +++++++++++++++++++ .../python-build/miniconda3-3.9-24.9.2-0 | 25 +++++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100644 plugins/python-build/share/python-build/miniconda3-3.10-24.9.2-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.11-24.9.2-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.12-24.9.2-0 create mode 100644 plugins/python-build/share/python-build/miniconda3-3.9-24.9.2-0 diff --git a/plugins/python-build/share/python-build/miniconda3-3.10-24.9.2-0 b/plugins/python-build/share/python-build/miniconda3-3.10-24.9.2-0 new file mode 100644 index 00000000..3c4047e3 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.10-24.9.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py310_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-Linux-aarch64.sh#5d022f16ecb01d33ac8c85a87a0a8dccfb025dc90b20dbd56c4b9ae8f9727578" "miniconda" verify_py310 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py310_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-Linux-s390x.sh#93d75b306151f96a460a80d8849d85636929a90490f44004f4296a0b8399ccc5" "miniconda" verify_py310 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py310_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-Linux-x86_64.sh#364869f004c6259268b09a667ed476080bf4f44e9c4ab06a293146df8990d43f" "miniconda" verify_py310 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py310_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-MacOSX-arm64.sh#d666284d5dd9290b446de5dc20e8498545867c7730799cba8f52e97a45db42d2" "miniconda" verify_py310 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py310_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-MacOSX-x86_64.sh#7359ff3963ab3ccdc5eec244c610270b456a9584477cb645aa7539924bdd0482" "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 diff --git a/plugins/python-build/share/python-build/miniconda3-3.11-24.9.2-0 b/plugins/python-build/share/python-build/miniconda3-3.11-24.9.2-0 new file mode 100644 index 00000000..e309b59c --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.11-24.9.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py311_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-Linux-aarch64.sh#c4c12d969be6a02cb7370a0c717400e8eec79dea722ef0fba98d745048948980" "miniconda" verify_py311 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py311_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-Linux-s390x.sh#8de1e23f3e0a097bc3b9173a1b4b56544bd34d2831b70a71a9d528eeab0dbe90" "miniconda" verify_py311 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py311_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-Linux-x86_64.sh#62ef806265659c47e37e22e8f9adce29e75c4ea0497e619c280f54c823887c4f" "miniconda" verify_py311 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py311_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-MacOSX-arm64.sh#7358a1d53e7f857a9b87af148d20cdd00f3a91eca9f663371dfa3d830c375033" "miniconda" verify_py311 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py311_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-MacOSX-x86_64.sh#5d4229c322629cf2932c3a4e181501c98dae35b866c96d208b6688b0e2381604" "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 diff --git a/plugins/python-build/share/python-build/miniconda3-3.12-24.9.2-0 b/plugins/python-build/share/python-build/miniconda3-3.12-24.9.2-0 new file mode 100644 index 00000000..96b11863 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.12-24.9.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py312_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-Linux-aarch64.sh#86b8df7481646cf87e77873e9789adb7569b58248d3aa629eb2da35e6f2e2eed" "miniconda" verify_py312 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py312_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-Linux-s390x.sh#876db345b31db6d2b96ab1e2aedfbcea8af6b951a3218e6fd36f657452d1305c" "miniconda" verify_py312 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py312_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-Linux-x86_64.sh#8d936ba600300e08eca3d874dee88c61c6f39303597b2b66baee54af4f7b4122" "miniconda" verify_py312 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py312_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-MacOSX-arm64.sh#08d8a82ed21d2dae707554d540b172fe03327347db747644fbb33abfaf07fddd" "miniconda" verify_py312 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py312_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-MacOSX-x86_64.sh#ce3b440c32c9c636bbe529477fd496798c35b96d9db1838e3df6b0a80714da4e" "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 diff --git a/plugins/python-build/share/python-build/miniconda3-3.9-24.9.2-0 b/plugins/python-build/share/python-build/miniconda3-3.9-24.9.2-0 new file mode 100644 index 00000000..907a1c14 --- /dev/null +++ b/plugins/python-build/share/python-build/miniconda3-3.9-24.9.2-0 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py39_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-Linux-aarch64.sh#4607ec9145ad9c0413e6300dab3febe442e265efce486176ef1f8518ba8bfaeb" "miniconda" verify_py39 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py39_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-Linux-s390x.sh#5ccde79ed4c333f0e236f36338ed5db111a2fff50859235c4f8fffd2045a6655" "miniconda" verify_py39 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py39_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-Linux-x86_64.sh#4b540d78e5bdd770b39216c0563424ef6656504cbe24c67b2d0454c2eb7afe93" "miniconda" verify_py39 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py39_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-MacOSX-arm64.sh#4d5abecbb3264def02ad95ed6c888016f95631649b848da552a1066c52bcd1da" "miniconda" verify_py39 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py39_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-MacOSX-x86_64.sh#7535da558c8821d967e026288eaec75d9a159ec760d75c869fd10fa58d3986c3" "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 From 96b3fb2fc3bee85650cb22e2cb06c83c24509a6d Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Mon, 28 Oct 2024 02:43:30 +0300 Subject: [PATCH 28/29] 2.4.17 --- CHANGELOG.md | 4 ++++ libexec/pyenv---version | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 261a7104..ef3270ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Version History +## Release v2.4.17 +* Add miniconda3-24.9.2-0 by @binbjz in https://github.com/pyenv/pyenv/pull/3096 +* Add Anaconda3-2024.10-1 by @binbjz in https://github.com/pyenv/pyenv/pull/3097 + ## Release v2.4.16 * Add GraalPy 24.1.1 by @msimacek in https://github.com/pyenv/pyenv/pull/3092 * Add CPython 3.14.0a1 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3093 diff --git a/libexec/pyenv---version b/libexec/pyenv---version index 55ad7d4f..ffba2c63 100755 --- a/libexec/pyenv---version +++ b/libexec/pyenv---version @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.4.16" +version="2.4.17" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then From d64d1aa1e0fa410e58cc218e721eb4c3672ce5bd Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Mon, 28 Oct 2024 02:53:18 +0300 Subject: [PATCH 29/29] MAINTENANCE.md: easier way to make a release --- MAINTENANCE.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/MAINTENANCE.md b/MAINTENANCE.md index cba674a8..42debf22 100644 --- a/MAINTENANCE.md +++ b/MAINTENANCE.md @@ -4,12 +4,14 @@ Creating a release The release of the new version of Pyenv is done via GitHub Releases. Release checklist: -* Start [drafting a new release on GitHub](https://github.com/pyenv/pyenv/releases) to generate a summary of changes. Save the summary locally. +* Start [drafting a new release on GitHub](https://github.com/pyenv/pyenv/releases) to generate a summary of changes. +Type the would-be tag name in the "Choose a tag" field and press "Generate release notes" * The summary may need editing. E.g. rephrase entries, delete/merge entries that are too minor or irrelevant to the users (e.g. typo fixes, CI) +* Update `CHANGELOG.md` with the new version number and the edited summary (only the changes section) * Push the version number in `libexec/pyenv---version` * Minor version is pushed if there are significant functional changes (not e.g. bugfixes/formula adaptations/supporting niche use cases). * Major version is pushed if there are breaking changes -* Update `CHANGELOG.md` with the new version number and the edited summary (only the changes section), reformatting it like the rest of the changelog sections * Commit the changes locally into `master` -* Create a new tag with the new version number and push the changes including the tag -* Create a new release on GitHub based on the tag, using the saved summary \ No newline at end of file +* Create a new tag locally with the same name as specified in the new release window +* Push the changes including the tag +* In the still open new release window, press "Publish release". The now-existing tag will be used. \ No newline at end of file