Compare commits

...

5 Commits

Author SHA1 Message Date
Nathan Goldbaum
b2b97168ae
Merge 214b4320cf into 734d6323d8 2025-01-21 13:28:54 -05:00
Ivan Pozdeev
734d6323d8 2.5.1 2025-01-19 17:47:51 +03:00
Ned Batchelder
c9514d8e8e
Add CPython 3.14.0a4 (#3168) 2025-01-19 16:22:10 +03:00
Nathan Goldbaum
214b4320cf document new environment variables 2025-01-06 15:47:32 -07:00
Nathan Goldbaum
7e22a6807f Support compiler sanitizer options in python-build 2025-01-06 15:29:41 -07:00
7 changed files with 47 additions and 5 deletions

View File

@ -1,5 +1,13 @@
# Version History
## Release v2.5.1
* CI: use Ubuntu 24.04; use ubuntu-latest for the ubuntu_build check by @native-api in https://github.com/pyenv/pyenv/pull/3144
* Fix: mistake in configuration hints in `pyenv init` and manpage by @ChristianFredrikJohnsen in https://github.com/pyenv/pyenv/pull/3145
* README: Add recommended curl arguments to suggested installer invocation by @JayBazuzi in https://github.com/pyenv/pyenv/pull/3155
* Add miniforge3-24.11.2-0, miniforge3-24.11.2-1 by @native-api in https://github.com/pyenv/pyenv/pull/3163
* Fix "Unsupported options" error building bundled OpenSSL <3.2.0 by @native-api in https://github.com/pyenv/pyenv/pull/3164
* Add CPython 3.14.0a4 by @nedbat in https://github.com/pyenv/pyenv/pull/3168
## Release v2.5.0
* `pyenv init -` performance improvements; recommend using `pyenv init - <shell>` by @ChristianFredrikJohnsen in https://github.com/pyenv/pyenv/pull/3136
* Add miniconda3-24.11.1-0 by @binbjz in https://github.com/pyenv/pyenv/pull/3138

View File

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

View File

@ -164,6 +164,12 @@ You can set certain environment variables to control the build process.
* `PYTHON_BUILD_SKIP_HOMEBREW`, if set, will not search for libraries installed by Homebrew when it would normally will.
* `PYTHON_BUILD_USE_HOMEBREW`, if set, will search for libraries installed by Homebrew when it would normally not.
* `PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA`, override the Homebrew OpenSSL formula to use.
* `PYTHON_BUILD_CONFIGURE_WITH_DSYMUTIL`, add DWARF debug information on MacOS. Available on Python 3.12 and newer.
* `PYTHON_BUILD_FREE_THREADING`, build an interpreter with the free-threaded (GIL-disabled) ABI. Available on Python 3.13 and newer.
* `PYTHON_BUILD_ADDRESS_SANITIZER`, build an interpreter with address sanitizer.
* `PYTHON_BUILD_MEMORY_SANITIZER`, build an interpreter with memory sanitizer.
* `PYTHON_BUILD_UNDEFINED_BEHAVIOR_SANITIZER`, build an interpreter with undefined behavior sanitizer.
* `PYTHON_BUILD_THREAD_SANITIZER`, build an interpreter with thread sanitizer. Available on Python 3.13 and newer.
* `PYTHON_BUILD_ROOT` overrides the default location from where build definitions
in `share/python-build/` are looked up.
* `PYTHON_BUILD_DEFINITIONS` can be a list of colon-separated paths that get

View File

@ -826,6 +826,10 @@ build_package_standard_build() {
fi
use_dsymutil || true
use_free_threading || true
use_address_sanitizer || true
use_memory_sanitizer || true
use_undefined_behavior_sanitizer || true
use_thread_sanitizer || true
fi
( if [[ -n "${!PACKAGE_CFLAGS}" ]]; then
@ -1784,6 +1788,30 @@ use_free_threading() {
fi
}
use_address_sanitizer() {
if [[ -n "$PYTHON_BUILD_ADDRESS_SANITIZER" ]]; then
package_option python configure --with-address-sanitizer
fi
}
use_memory_sanitizer() {
if [[ -n "$PYTHON_BUILD_MEMORY_SANITIZER" ]]; then
package_option python configure --with-memory-sanitizer
fi
}
use_undefined_behavior_sanitizer() {
if [[ -n "$PYTHON_BUILD_UNDEFINED_BEHAVIOR_SANITIZER" ]]; then
package_option python configure --with-undefined-behavior-sanitizer
fi
}
use_thread_sanitizer() {
if [[ -n "$PYTHON_BUILD_THREAD_SANITIZER" ]]; then
package_option python configure --with-thread-sanitizer
fi
}
build_package_enable_shared() {
package_option python configure --enable-shared
}

View File

@ -1,2 +0,0 @@
export PYTHON_BUILD_FREE_THREADING=1
source "$(dirname "${BASH_SOURCE[0]}")"/3.14.0a3

View File

@ -3,7 +3,7 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-3.3.2" "https://github.com/openssl/openssl/releases/download/openssl-3.3.2/openssl-3.3.2.tar.gz#2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281" mac_openssl --if has_broken_mac_openssl
install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-3.14.0a3" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a3.tar.xz#94349df207456a575a8867c20b4ca434f870e1920dcdcc8fdf797e1af49abe90" standard verify_py313 copy_python_gdb ensurepip
install_package "Python-3.14.0a4" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a4.tar.xz#c24f07881873c1d460228795ca6ca8c99130e30c773c91463d30d7ea8ff0e70b" standard verify_py313 copy_python_gdb ensurepip
else
install_package "Python-3.14.0a3" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a3.tgz#6ecc4203d8de18c7295c4cdd012e4a4acff83261f8a99bdf15318af9bb1cc811" standard verify_py313 copy_python_gdb ensurepip
install_package "Python-3.14.0a4" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a4.tgz#cc9dcee27cc27fc6ef4ff47eb93abf48f158396a70aa67f1504893232911b4e2" standard verify_py313 copy_python_gdb ensurepip
fi

View File

@ -0,0 +1,2 @@
export PYTHON_BUILD_FREE_THREADING=1
source "$(dirname "${BASH_SOURCE[0]}")"/3.14.0a4