mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-09 03:53:48 -05:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f216b4bfb1 | ||
|
|
54fd0106f8 | ||
|
|
6fff3d29d4 | ||
|
|
b70fb9c07b | ||
|
|
f4b94c14a6 | ||
|
|
e95941c9fe | ||
|
|
bc7b6cb6b5 | ||
|
|
ee40ad2253 | ||
|
|
323af282db |
@@ -1,5 +1,14 @@
|
||||
# Version History
|
||||
|
||||
## Release v2.5.7
|
||||
* Point 3.14-dev to `3.14` branch by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3246
|
||||
|
||||
## Release v2.5.6
|
||||
* Add GraalPy 24.2.1 by @msimacek in https://github.com/pyenv/pyenv/pull/3238
|
||||
* Fix get-pip URLs for 3.7, 3.8 and Pyston by @dmrlawson in https://github.com/pyenv/pyenv/pull/3242
|
||||
* [CI] Cache `uname` and `sw_vers` output in Python-Build for easier mocking in tests by @native-api in https://github.com/pyenv/pyenv/pull/3244
|
||||
* Add CPython 3.14.0b1 and 3.15-dev by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3245
|
||||
|
||||
## Release v2.5.5
|
||||
* Add graalpy 24.2 by @msimacek in https://github.com/pyenv/pyenv/pull/3215
|
||||
* Switch 3.9+ to OpenSSL 3 by @native-api in https://github.com/pyenv/pyenv/pull/3223
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
version="2.5.5"
|
||||
version="2.5.7"
|
||||
git_revision=""
|
||||
|
||||
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
||||
|
||||
@@ -106,7 +106,7 @@ os_information() {
|
||||
if type -p lsb_release >/dev/null; then
|
||||
lsb_release -sir | xargs echo
|
||||
elif type -p sw_vers >/dev/null; then
|
||||
echo "OS X $(sw_vers -productVersion)"
|
||||
echo "OS X ${_PYTHON_BUILD_CACHE_SW_VERS:=$(sw_vers -productVersion)}"
|
||||
elif [ -r /etc/os-release ]; then
|
||||
source /etc/os-release
|
||||
echo "$NAME" $VERSION_ID
|
||||
@@ -117,7 +117,7 @@ os_information() {
|
||||
}
|
||||
|
||||
is_mac() {
|
||||
[ "$(uname -s)" = "Darwin" ] || return 1
|
||||
[ "${_PYTHON_BUILD_CACHE_UNAME_S:=$(uname -s)}" = "Darwin" ] || return 1
|
||||
[ $# -eq 0 ] || [ "$(osx_version)" "$@" ]
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ can_use_homebrew() {
|
||||
# 10.10 -> 1010
|
||||
osx_version() {
|
||||
local -a ver
|
||||
IFS=. ver=( `sw_vers -productVersion` )
|
||||
IFS=. ver=( ${_PYTHON_BUILD_CACHE_SW_VERS:=$(sw_vers -productVersion)} )
|
||||
IFS="$OLDIFS"
|
||||
echo $(( ${ver[0]}*100 + ${ver[1]} ))
|
||||
}
|
||||
@@ -179,7 +179,7 @@ file_is_not_empty() {
|
||||
|
||||
num_cpu_cores() {
|
||||
local num
|
||||
case "$(uname -s)" in
|
||||
case "${_PYTHON_BUILD_CACHE_UNAME_S:=$(uname -s)}" in
|
||||
Darwin | *BSD )
|
||||
num="$(sysctl -n hw.ncpu 2>/dev/null || true)"
|
||||
;;
|
||||
@@ -971,7 +971,7 @@ build_package_micropython() {
|
||||
}
|
||||
|
||||
pypy_architecture() {
|
||||
case "$(uname -s)" in
|
||||
case "${_PYTHON_BUILD_CACHE_UNAME_S:=$(uname -s)}" in
|
||||
"Darwin" )
|
||||
case "$(uname -m)" in
|
||||
"arm64" ) echo "osarm64" ;;
|
||||
@@ -1003,7 +1003,7 @@ pypy_architecture() {
|
||||
}
|
||||
|
||||
graalpy_architecture() {
|
||||
case "$(uname -s)" in
|
||||
case "${_PYTHON_BUILD_CACHE_UNAME_S:=$(uname -s)}" in
|
||||
"Darwin" )
|
||||
case "$(uname -m)" in
|
||||
"x86_64" ) echo "macos-amd64" ;;
|
||||
@@ -1084,7 +1084,7 @@ build_package_pypy_builder() {
|
||||
}
|
||||
|
||||
activepython_architecture() {
|
||||
case "$(uname -s)" in
|
||||
case "${_PYTHON_BUILD_CACHE_UNAME_S:=$(uname -s)}" in
|
||||
"Darwin" ) echo "macosx10.9-i386-x86_64" ;;
|
||||
"Linux" )
|
||||
case "$(uname -m)" in
|
||||
@@ -1104,7 +1104,7 @@ build_package_activepython() {
|
||||
}
|
||||
|
||||
anaconda_architecture() {
|
||||
case "$(uname -s)" in
|
||||
case "${_PYTHON_BUILD_CACHE_UNAME_S:=$(uname -s)}" in
|
||||
"Darwin" )
|
||||
case "$(uname -m)" in
|
||||
"arm64" ) echo "MacOSX-arm64" ;;
|
||||
@@ -1381,7 +1381,7 @@ require_osx_version() {
|
||||
function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; }
|
||||
|
||||
local required_version="$@"
|
||||
local osx_version="$(sw_vers -productVersion)"
|
||||
local osx_version="${_PYTHON_BUILD_CACHE_SW_VERS:=$(sw_vers -productVersion)}"
|
||||
if [[ $(version $osx_version) -ge $(version $required_version) ]]; then
|
||||
return 0
|
||||
fi
|
||||
@@ -1457,14 +1457,14 @@ use_homebrew_yaml() {
|
||||
|
||||
use_freebsd_pkg() {
|
||||
# check if FreeBSD
|
||||
if [ "FreeBSD" = "$(uname -s)" ]; then
|
||||
if [ "FreeBSD" = "${_PYTHON_BUILD_CACHE_UNAME_S:=$(uname -s)}" ]; then
|
||||
# use openssl if installed from Ports Collection
|
||||
if pkg info -e openssl; then
|
||||
package_option python configure --with-openssl="/usr/local"
|
||||
fi
|
||||
|
||||
# check if 11-R or later
|
||||
release="$(uname -r)"
|
||||
release="${_PYTHON_BUILD_CACHE_UNAME_R:=$(uname -r)}"
|
||||
if [ "${release%%.*}" -ge 11 ]; then
|
||||
# Use packages from Ports Collection.
|
||||
#
|
||||
@@ -2040,7 +2040,12 @@ build_package_verify_py313() {
|
||||
|
||||
# Post-install check for Python 3.14.x
|
||||
build_package_verify_py314() {
|
||||
build_package_verify_py313 "$1" "${2:-3.13}"
|
||||
build_package_verify_py313 "$1" "${2:-3.14}"
|
||||
}
|
||||
|
||||
# Post-install check for Python 3.15.x
|
||||
build_package_verify_py315() {
|
||||
build_package_verify_py314 "$1" "${2:-3.15}"
|
||||
}
|
||||
|
||||
# Post-install check for Python 3.x rolling release scripts
|
||||
@@ -2251,11 +2256,13 @@ if [ -n "$noexec" ]; then
|
||||
fi
|
||||
|
||||
if [ -z "$MAKE" ]; then
|
||||
if [ "FreeBSD" = "$(uname -s)" ]; then
|
||||
if [ "FreeBSD" = "${_PYTHON_BUILD_CACHE_UNAME_S:=$(uname -s)}" ]; then
|
||||
if [ "$(echo $1 | sed 's/-.*$//')" = "jruby" ]; then
|
||||
export MAKE="gmake"
|
||||
else
|
||||
if [ "$(uname -r | sed 's/[^[:digit:]].*//')" -lt 10 ]; then
|
||||
# var assignment inside $() does not propagate due to being in subshell
|
||||
: "${_PYTHON_BUILD_CACHE_UNAME_R:=$(uname -r)}"
|
||||
if [ "$(echo "$_PYTHON_BUILD_CACHE_UNAME_R" | sed 's/[^[:digit:]].*//')" -lt 10 ]; then
|
||||
export MAKE="gmake"
|
||||
else
|
||||
export MAKE="make"
|
||||
@@ -2434,6 +2441,12 @@ if [ -z "${GET_PIP_URL}" ]; then
|
||||
3.6 | 3.6.* | pypy3.6 | pypy3.6-* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.6/get-pip.py"
|
||||
;;
|
||||
3.7 | 3.7.* | pypy3.7 | pypy3.7-* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.7/get-pip.py"
|
||||
;;
|
||||
3.8 | 3.8.* | pypy3.8 | pypy3.8-* | pyston* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.8/get-pip.py"
|
||||
;;
|
||||
* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/get-pip.py"
|
||||
;;
|
||||
@@ -2444,7 +2457,7 @@ fi
|
||||
# Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220)
|
||||
if is_mac; then
|
||||
if [ -z "${MACOSX_DEPLOYMENT_TARGET}" ]; then
|
||||
MACOS_VERSION="$(sw_vers -productVersion 2>/dev/null || true)"
|
||||
MACOS_VERSION="${_PYTHON_BUILD_CACHE_SW_VERS:=$(sw_vers -productVersion)}"
|
||||
MACOS_VERSION_ARRAY=(${MACOS_VERSION//\./ })
|
||||
if [ "${#MACOS_VERSION_ARRAY[@]}" -ge 2 ]; then
|
||||
export MACOSX_DEPLOYMENT_TARGET="${MACOS_VERSION_ARRAY[0]}.${MACOS_VERSION_ARRAY[1]}"
|
||||
|
||||
@@ -4,4 +4,4 @@ export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_DSYMUTIL=1
|
||||
install_package "openssl-3.3.0" "https://www.openssl.org/source/openssl-3.3.0.tar.gz#53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline
|
||||
install_git "Python-3.14-dev" "https://github.com/python/cpython" main standard verify_py314 copy_python_gdb ensurepip
|
||||
install_git "Python-3.14-dev" "https://github.com/python/cpython" 3.14 standard verify_py314 copy_python_gdb ensurepip
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
export PYTHON_BUILD_FREE_THREADING=1
|
||||
source "$(dirname "${BASH_SOURCE[0]}")"/3.14.0a7
|
||||
@@ -3,7 +3,7 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-3.4.1" "https://github.com/openssl/openssl/releases/download/openssl-3.4.1/openssl-3.4.1.tar.gz#002a2d6b30b58bf4bea46c43bdd96365aaf8daa6c428782aa4feee06da197df3" 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.0a7" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a7.tar.xz#71adbcec3ac9edf93308e55cfb4184f2eb4b16fda2bb0a5a382929ed29c8386d" standard verify_py313 copy_python_gdb ensurepip
|
||||
install_package "Python-3.14.0b1" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0b1.tar.xz#2ddd30a77c9f62e065ce648664a254b9b0c011bcdaa8c1c2787087e644cbeb39" standard verify_py314 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.14.0a7" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a7.tgz#381cc699c1dff5153ab76bff4c6d1f916069be39d0231ee20390f42785b9c046" standard verify_py313 copy_python_gdb ensurepip
|
||||
install_package "Python-3.14.0b1" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0b1.tgz#d6c4473fce72fb6b881c1f50fbfcf157be2caa56102f01bd9dda8a459b880a37" standard verify_py314 copy_python_gdb ensurepip
|
||||
fi
|
||||
2
plugins/python-build/share/python-build/3.14.0b1t
Normal file
2
plugins/python-build/share/python-build/3.14.0b1t
Normal file
@@ -0,0 +1,2 @@
|
||||
export PYTHON_BUILD_FREE_THREADING=1
|
||||
source "$(dirname "${BASH_SOURCE[0]}")"/3.14.0b1
|
||||
7
plugins/python-build/share/python-build/3.15-dev
Normal file
7
plugins/python-build/share/python-build/3.15-dev
Normal file
@@ -0,0 +1,7 @@
|
||||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_DSYMUTIL=1
|
||||
install_package "openssl-3.4.1" "https://github.com/openssl/openssl/releases/download/openssl-3.4.1/openssl-3.4.1.tar.gz#002a2d6b30b58bf4bea46c43bdd96365aaf8daa6c428782aa4feee06da197df3" 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
|
||||
install_git "Python-3.15-dev" "https://github.com/python/cpython" main standard verify_py315 copy_python_gdb ensurepip
|
||||
2
plugins/python-build/share/python-build/3.15t-dev
Normal file
2
plugins/python-build/share/python-build/3.15t-dev
Normal file
@@ -0,0 +1,2 @@
|
||||
export PYTHON_BUILD_FREE_THREADING=1
|
||||
source "$(dirname "${BASH_SOURCE[0]}")"/3.15-dev
|
||||
64
plugins/python-build/share/python-build/graalpy-24.2.1
Normal file
64
plugins/python-build/share/python-build/graalpy-24.2.1
Normal file
@@ -0,0 +1,64 @@
|
||||
# Copyright (c) 2025, 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.2.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="55872af24819cb99efa2338db057aeda0c8f9dd412a4a6f5ea19b256ee82fd9e"
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
checksum="2a80800a76ee6b737d6458ba9ab30ce386dfdd5b2b2bec3ee6bc51fd8e51e7c2"
|
||||
;;
|
||||
"macos-amd64" )
|
||||
checksum="4bc42b36117c9ab09c4f411ec5a7a85ed58521dd20b529d971bb0ed3d0b7c363"
|
||||
;;
|
||||
"macos-aarch64" )
|
||||
checksum="61e11d5176d5bb709b919979ef3525f4db1e39c404b59aa54d887f56bf8fab44"
|
||||
;;
|
||||
* )
|
||||
{ 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
|
||||
@@ -0,0 +1,54 @@
|
||||
# Copyright (c) 2025, 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.2.1'
|
||||
BUILD=''
|
||||
|
||||
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
|
||||
|
||||
case "$graalpy_arch" in
|
||||
"linux-amd64" )
|
||||
checksum="96c1f332604f8425df0bb694d435d932cdf21c302e452cd10cf78a1626ba90a0"
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
checksum="676eefe6011a1a2c01997c7a3cea92817f0d9de7e608d561eb5255a1e5350eff"
|
||||
;;
|
||||
"macos-amd64" )
|
||||
checksum="0d0a50cc93457bdebab992af287a275d0b364fcbd90b68cdf08ae9c64e3a1aca"
|
||||
;;
|
||||
"macos-aarch64" )
|
||||
checksum="ec31fc1f024938e6dc193013a365c23ad3d532498c93c80c3af607a853964909"
|
||||
;;
|
||||
* )
|
||||
{ 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
|
||||
@@ -62,7 +62,7 @@ assert_build_log() {
|
||||
cached_tarball "yaml-0.1.6"
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..10}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
stub brew false
|
||||
stub_make_install
|
||||
stub_make_install
|
||||
@@ -104,7 +104,7 @@ OUT
|
||||
cached_tarball "yaml-0.1.6" "$yaml_configure"
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..10}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
stub brew false
|
||||
stub_make_install
|
||||
stub_make_install "$PYTHON_MAKE_INSTALL_TARGET"
|
||||
@@ -132,7 +132,7 @@ OUT
|
||||
cached_tarball "yaml-0.1.6"
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..10}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
stub brew false
|
||||
stub_make_install
|
||||
stub_make_install
|
||||
@@ -162,7 +162,7 @@ OUT
|
||||
cached_tarball "yaml-0.1.6"
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..10}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
stub brew false
|
||||
stub_make_install
|
||||
stub_make_install
|
||||
@@ -194,8 +194,8 @@ OUT
|
||||
BREW_PREFIX="$TMP/homebrew-prefix"
|
||||
mkdir -p "$BREW_PREFIX"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 1010'
|
||||
stub brew "--prefix : echo '$BREW_PREFIX'" false
|
||||
stub_make_install
|
||||
|
||||
@@ -222,8 +222,8 @@ OUT
|
||||
brew_libdir="$TMP/homebrew-yaml"
|
||||
mkdir -p "$brew_libdir"
|
||||
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 1010'
|
||||
stub brew "--prefix libyaml : echo '$brew_libdir'"
|
||||
for i in {1..6}; do stub brew false; done
|
||||
stub_make_install
|
||||
@@ -249,8 +249,8 @@ OUT
|
||||
|
||||
readline_libdir="$TMP/homebrew-readline"
|
||||
mkdir -p "$readline_libdir"
|
||||
for i in {1..8}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 1010'
|
||||
for i in {1..3}; do stub brew false; done
|
||||
stub brew "--prefix readline : echo '$readline_libdir'"
|
||||
for i in {1..2}; do stub brew false; done
|
||||
@@ -279,8 +279,8 @@ OUT
|
||||
|
||||
ncurses_libdir="$TMP/homebrew-ncurses"
|
||||
mkdir -p "$ncurses_libdir"
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 1010'
|
||||
for i in {1..4}; do stub brew false; done
|
||||
stub brew "--prefix ncurses : echo '$ncurses_libdir'"
|
||||
stub brew false
|
||||
@@ -307,9 +307,8 @@ OUT
|
||||
@test "openssl is linked from Ports in FreeBSD if present" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..7}; do stub uname '-s : echo FreeBSD'; done
|
||||
stub uname '-s : echo FreeBSD'
|
||||
stub uname '-r : echo 11.0-RELEASE'
|
||||
for i in {1..3}; do stub uname '-s : echo FreeBSD'; done
|
||||
stub sysctl '-n hw.ncpu : echo 1'
|
||||
|
||||
stub pkg "info -e openssl : true"
|
||||
@@ -341,9 +340,8 @@ OUT
|
||||
|
||||
for lib in readline sqlite3; do
|
||||
|
||||
for i in {1..7}; do stub uname '-s : echo FreeBSD'; done
|
||||
stub uname '-s : echo FreeBSD'
|
||||
stub uname '-r : echo 11.0-RELEASE'
|
||||
for i in {1..3}; do stub uname '-s : echo FreeBSD'; done
|
||||
stub sysctl '-n hw.ncpu : echo 1'
|
||||
|
||||
stub pkg false
|
||||
@@ -376,8 +374,8 @@ OUT
|
||||
@test "homebrew is not touched if PYTHON_BUILD_SKIP_HOMEBREW is set" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..4}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 1010'
|
||||
stub brew true; brew
|
||||
stub_make_install
|
||||
export PYTHON_BUILD_SKIP_HOMEBREW=1
|
||||
@@ -405,7 +403,7 @@ OUT
|
||||
BREW_PREFIX="$TMP/homebrew-prefix"
|
||||
mkdir -p "$BREW_PREFIX"
|
||||
|
||||
for i in {1..4}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
stub brew "--prefix : echo '$BREW_PREFIX'"
|
||||
for i in {1..5}; do stub brew false; done
|
||||
stub_make_install
|
||||
@@ -435,7 +433,7 @@ OUT
|
||||
BREW_PREFIX="${BREW_PREFIX%/*}"
|
||||
BREW_PREFIX="${BREW_PREFIX%/*}"
|
||||
|
||||
for i in {1..4}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
stub brew "--prefix : echo '$BREW_PREFIX'"
|
||||
for i in {1..5}; do stub brew false; done
|
||||
stub_make_install
|
||||
@@ -464,7 +462,7 @@ OUT
|
||||
BREW_PREFIX="$TMP/homebrew-prefix"
|
||||
mkdir -p "$BREW_PREFIX"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
for i in {1..5}; do stub brew "--prefix : echo '$BREW_PREFIX'"; done
|
||||
stub_make_install
|
||||
|
||||
@@ -493,8 +491,8 @@ OUT
|
||||
mkdir -p "$readline_libdir/include/readline"
|
||||
touch "$readline_libdir/include/readline/rlconf.h"
|
||||
|
||||
for i in {1..8}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 1010'
|
||||
|
||||
for i in {1..5}; do stub brew false; done
|
||||
stub_make_install
|
||||
@@ -525,8 +523,8 @@ OUT
|
||||
mkdir -p "$tcl_tk_libdir/lib"
|
||||
echo "TCL_VERSION='$tcl_tk_version'" >>"$tcl_tk_libdir/lib/tclConfig.sh"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 1010'
|
||||
|
||||
stub brew false
|
||||
stub brew "--prefix tcl-tk@8 : echo '$tcl_tk_libdir'"
|
||||
@@ -559,8 +557,8 @@ OUT
|
||||
tcl_tk_version_long="8.6.10"
|
||||
tcl_tk_version="${tcl_tk_version_long%.*}"
|
||||
|
||||
for i in {1..8}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 1010'
|
||||
|
||||
for i in {1..4}; do stub brew false; done
|
||||
stub_make_install
|
||||
@@ -587,8 +585,8 @@ OUT
|
||||
@test "tcl-tk is linked from Homebrew via pkgconfig only when envvar is set" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 1010'
|
||||
|
||||
tcl_tk_libdir="$TMP/homebrew-tcl-tk"
|
||||
mkdir -p "$tcl_tk_libdir/lib"
|
||||
@@ -620,8 +618,8 @@ OUT
|
||||
@test "number of CPU cores defaults to 2" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 10.10'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.10'
|
||||
|
||||
stub sysctl false
|
||||
stub_make_install
|
||||
@@ -647,8 +645,8 @@ OUT
|
||||
@test "number of CPU cores is detected on Mac" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 10.10'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.10'
|
||||
|
||||
stub sysctl '-n hw.ncpu : echo 4'
|
||||
stub_make_install
|
||||
@@ -675,9 +673,8 @@ OUT
|
||||
@test "number of CPU cores is detected on FreeBSD" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..7}; do stub uname '-s : echo FreeBSD'; done
|
||||
stub uname '-s : echo FreeBSD'
|
||||
stub uname '-r : echo 11.0-RELEASE'
|
||||
for i in {1..3}; do stub uname '-s : echo FreeBSD'; done
|
||||
for i in {1..3}; do stub pkg false; done
|
||||
|
||||
stub sysctl '-n hw.ncpu : echo 1'
|
||||
@@ -704,7 +701,7 @@ OUT
|
||||
@test "setting PYTHON_MAKE_INSTALL_OPTS to a multi-word string" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
|
||||
stub_make_install
|
||||
|
||||
@@ -728,7 +725,7 @@ OUT
|
||||
@test "--enable-shared is not added if --disable-shared is passed" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
|
||||
stub_make_install
|
||||
|
||||
@@ -752,8 +749,8 @@ OUT
|
||||
@test "configuring with dSYM in MacOS" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 1010'
|
||||
for i in {1..6}; do stub brew false; done
|
||||
stub_make_install
|
||||
|
||||
@@ -779,7 +776,7 @@ OUT
|
||||
@test "configuring with dSYM has no effect in non-MacOS" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..10}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
stub_make_install
|
||||
|
||||
run_inline_definition <<DEF
|
||||
@@ -811,10 +808,8 @@ OUT
|
||||
@test "make on FreeBSD 9 defaults to gmake" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
stub uname "-s : echo FreeBSD" "-r : echo 9.1"
|
||||
for i in {1..6}; do stub uname "-s : echo FreeBSD"; done
|
||||
stub uname "-s : echo FreeBSD"
|
||||
stub uname "-r : echo 9.1"
|
||||
for i in {1..3}; do stub uname "-s : echo FreeBSD"; done
|
||||
|
||||
MAKE=gmake stub_make_install
|
||||
|
||||
@@ -828,10 +823,8 @@ OUT
|
||||
@test "make on FreeBSD 10" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
stub uname "-s : echo FreeBSD" "-r : echo 10.0-RELEASE"
|
||||
for i in {1..6}; do stub uname "-s : echo FreeBSD"; done
|
||||
stub uname "-s : echo FreeBSD"
|
||||
stub uname "-r : echo 10.0-RELEASE"
|
||||
for i in {1..3}; do stub uname "-s : echo FreeBSD"; done
|
||||
|
||||
stub_make_install
|
||||
|
||||
@@ -844,10 +837,8 @@ OUT
|
||||
@test "make on FreeBSD 11" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
stub uname "-s : echo FreeBSD" "-r : echo 11.0-RELEASE"
|
||||
for i in {1..6}; do stub uname "-s : echo FreeBSD"; done
|
||||
stub uname "-s : echo FreeBSD"
|
||||
stub uname "-r : echo 11.0-RELEASE"
|
||||
for i in {1..3}; do stub uname "-s : echo FreeBSD"; done
|
||||
|
||||
stub_make_install
|
||||
|
||||
@@ -866,7 +857,7 @@ apply -p1 -i /my/patch.diff
|
||||
exec ./configure "\$@"
|
||||
CONF
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
stub apply 'echo apply "$@" >> build.log'
|
||||
stub_make_install
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ export -n PYTHON_CONFIGURE_OPTS
|
||||
|
||||
@test "require_gcc on OS X 10.9" {
|
||||
|
||||
for i in {1..3}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 10.9.5'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.9.5'
|
||||
|
||||
stub gcc '--version : echo 4.2.1'
|
||||
|
||||
@@ -31,8 +31,8 @@ OUT
|
||||
}
|
||||
|
||||
@test "require_gcc on OS X 10.10" {
|
||||
for i in {1..3}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 10.10'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.10'
|
||||
|
||||
stub gcc '--version : echo 4.2.1'
|
||||
|
||||
@@ -69,8 +69,8 @@ DEF
|
||||
mkdir -p "$INSTALL_ROOT"
|
||||
cd "$INSTALL_ROOT"
|
||||
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..3}; do stub sw_vers '-productVersion : echo 10.10'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.10'
|
||||
|
||||
stub cc 'false'
|
||||
stub brew 'false'
|
||||
|
||||
@@ -144,7 +144,7 @@ OUT
|
||||
echo "bar" | install_patch definitions/vanilla-python "Python-3.6.2/bar.patch"
|
||||
echo "baz" | install_patch definitions/vanilla-python "Python-3.6.2/baz.patch"
|
||||
|
||||
for i in {1..2}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
|
||||
TMPDIR="$TMP" install_tmp_fixture definitions/vanilla-python < /dev/null
|
||||
assert_success
|
||||
@@ -171,7 +171,7 @@ OUT
|
||||
" : echo \"$MAKE \$@\" >> build.log" \
|
||||
" : echo \"$MAKE \$@\" >> build.log && cat build.log >> '$INSTALL_ROOT/build.log'"
|
||||
|
||||
for i in {1..4}; do stub uname '-s : echo Darwin'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
|
||||
PYTHON_MAKE_INSTALL_TARGET="altinstall" TMPDIR="$TMP" install_tmp_fixture definitions/vanilla-python < /dev/null
|
||||
assert_success
|
||||
@@ -253,7 +253,8 @@ OUT
|
||||
done
|
||||
unset framework_path executable
|
||||
|
||||
for i in {1..3}; do stub uname '-s : echo Darwin'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.10'
|
||||
|
||||
PYTHON_CONFIGURE_OPTS="--enable-framework" TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
|
||||
@@ -274,7 +275,8 @@ EOS
|
||||
|
||||
@test "enable universalsdk" {
|
||||
|
||||
for i in {1..3}; do stub uname '-s : echo Darwin'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.10'
|
||||
stub arch "echo x86_64"
|
||||
|
||||
PYTHON_CONFIGURE_OPTS="--enable-universalsdk" TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
@@ -292,7 +294,8 @@ EOS
|
||||
|
||||
@test "enable universalsdk on Apple Silicon" {
|
||||
|
||||
for i in {1..3}; do stub uname '-s : echo Darwin'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 11.7'
|
||||
stub arch "echo arm64"
|
||||
|
||||
PYTHON_CONFIGURE_OPTS="--enable-universalsdk" TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
@@ -310,7 +313,8 @@ EOS
|
||||
|
||||
@test "enable universalsdk with explicit archs argument" {
|
||||
|
||||
for i in {1..3}; do stub uname '-s : echo Darwin'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 11.7'
|
||||
|
||||
PYTHON_CONFIGURE_OPTS="--enable-universalsdk --with-universal-archs=foo" TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
|
||||
@@ -325,7 +329,7 @@ EOS
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..4}; do stub brew false; done
|
||||
for i in {1..8}; do stub uname '-s : echo Linux'; done
|
||||
stub uname '-s : echo Linux'
|
||||
stub "$MAKE" \
|
||||
" : echo \"$MAKE \$@\" >> build.log" \
|
||||
" : echo \"$MAKE \$@\" >> build.log && cat build.log >> '$INSTALL_ROOT/build.log'"
|
||||
@@ -346,8 +350,8 @@ OUT
|
||||
|
||||
@test "default MACOSX_DEPLOYMENT_TARGET" {
|
||||
# yyuu/pyenv#257
|
||||
for i in {1..3}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 10.10'; done
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.10'
|
||||
|
||||
TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
echo "\${MACOSX_DEPLOYMENT_TARGET}"
|
||||
|
||||
Reference in New Issue
Block a user