1
0
mirror of https://github.com/pyenv/pyenv.git synced 2025-11-08 11:33:49 -05:00

Compare commits

...

21 Commits

Author SHA1 Message Date
Josh Friend
3a95c969e1 v2.2.5 Add new CPython versions 2022-03-16 16:58:43 -04:00
dand-oss
0d949796ce Add PyPy 7.3.8 (#2253)
Co-authored-by: Dan Dees <dand@appsmiths.com>
2022-03-09 21:13:38 +03:00
Ville Skyttä
ee6ef20859 docs(pyenv-prefix): note support for multiple versions (#2270) 2022-03-09 05:33:01 +03:00
Alex Hedges
7bc426e2be Add miniconda3-3.7-4.11.0, miniconda3-3.8-4.11.0, miniconda3-3.9-4.11.0 (#2268) 2022-03-08 17:37:39 +03:00
Saaket Prakash
3b0ee099a8 Add CPython 3.11.0a6 (#2266) 2022-03-07 21:23:04 +03:00
Ivan Pozdeev
44db3b03d0 Merge branch 'master' of https://github.com/pyenv/pyenv 2022-03-01 09:25:30 +03:00
Ivan Pozdeev
49d955d584 Fix typo in looked-for argument name 2022-03-01 09:25:20 +03:00
Saaket Prakash
1e79a5222b Add CPython 3.11.0a5 (#2241) 2022-02-04 03:04:53 +03:00
David Lawson
d29feab2c8 Add pyston-2.3.2 (#2240) 2022-02-03 16:07:56 +03:00
Pedro Fonini
a98fee0555 python-build: add URL for get-pip for Python 3.6 (#2238) 2022-02-03 03:20:52 +03:00
Pedro Fonini
7ea0408966 Fix UnicodeDecodeError for CPython 3.6.15 and 3.7.12 (#2237) 2022-02-02 15:56:12 +03:00
Anton Petrov
42e6409f6c Update CHANGELOG.md 2022-01-27 18:51:13 +03:00
Anton Petrov
6f7a29c3f4 Update pyenv---version 2022-01-27 18:46:17 +03:00
Michael Šimáček
8aa8d84e09 Add GraalPython 22.0.0 (#2226) 2022-01-26 12:12:55 +03:00
Verdi March
39f1b141ef miniconda3-latest: added Linux-aarch64 (#2221) 2022-01-17 19:44:59 +03:00
Ned Batchelder
a55dd92436 CPython 3.9.10 and 3.10.2 (#2219) 2022-01-15 16:27:08 +03:00
Ned Batchelder
9f5aa953b4 CPython 3.11.0a4 (#2217) 2022-01-15 10:51:28 +03:00
native-api
971397dd4e Revert "Disable coreutils on M1 Apple Silicon with arm64 (#2020)" (#2212)
This reverts commit 90d0d20508.

After further consideration, we've decided to remove this workaround:
* It only has an effect if the user has added `gnubin` from Homebrew Coreutils to PATH which is an unsupported setup
* It was intended to be applied only to a few select 3.8 and 3.9 versions that officially support Apple Silicon and only fail with Homebrew Coreutils in PATH because they have `config.*` from a too old version of Autoconf that doesn't support the Arm64 arch -- but
  * CPython devs [didn't actually fix the problem in 3.10, either, only in 3.11](https://github.com/pyenv/pyenv/pull/2157#issuecomment-968055387), so we'd need to apply it to all 3.10 releases, too
  * users started pushing this workaround into other unrelated branches because they were using the above unsupported setup. See https://github.com/pyenv/pyenv/pull/2190#pullrequestreview-835221952 for discussion.
2022-01-08 13:56:56 +03:00
Christian Hammond
867909c933 Fix a regression in include paths when compiling ctypes in 3.6.15/3.7.12. (#2209)
In my previous work on getting Python 3.6.15 and 3.7.12 to compile on
Apple M1, I backported logic from newer 3.8.x releases to properly find
libffi and related files on macOS.

This regressed compilation on Linux. The include search path was
incomplete, and `ffi.h` could not be found, resulting in `ctypes` being
disabled.

There was a key difference between the old logic and new logic that led
to this regression:

1. In 3.8 and newer, `detect_ctypes()` in `setup.py` took no arguments,
   and was expected to access instance variables for the include search
   path.
2. In 3.7 and earlier, `detect_ctypes()` took the path as an argument,
   and was expected to make use of it.

The backport made use of the instance variables, overriding the provided
include path. These were not equivalent. The one on the instance was not
complete, lacking the necessary directories to find `ffi.h`. Since this
could not be found, `ctypes` support was disabled.

The fix is to simply not overwrite the variables passed to the function,
and resume using them as before.

Fixes #2207
2022-01-07 05:14:22 +03:00
Joseph Strach
162fea40f7 Fix incorrect pypy 2.7-7.3.6 sha256 hashes (#2208) 2022-01-05 23:46:06 +03:00
Fluency
423de9ae8d add-miniconda: add docstrings to several key functions (#2197) 2021-12-23 21:01:28 +03:00
46 changed files with 723 additions and 80 deletions

View File

@@ -1,11 +1,37 @@
## Version History
## Release 2.2.5
* Add CPython 3.10.3
* Add CPython 3.9.11
* Add CPython 3.8.13
* Add CPython 3.7.13
* Add CPython 3.11.0a6 (#2266)
* Add PyPy 7.3.8 (#2253)
* Add miniconda3-3.7-4.11.0, miniconda3-3.8-4.11.0, miniconda3-3.9-4.11.0 (#2268)
* Add pyston-2.3.2 (#2240)
* Fix UnicodeDecodeError for CPython 3.6.15 and 3.7.12 (#2237)
* python-build: add URL for get-pip for Python 3.6 (#2238)
* Bump openssl to 1.1.1n for CPython 3.10.x
## Release 2.2.4
* Added docstrings to several undocumented functions (#2197)
* Fix incorrect pypy 2.7-7.3.6 sha256 hashes (#2208)
* Fix a regression in include paths when compiling ctypes in 3.6.15/3.7.12 (#2209)
* Revert "Disable coreutils on M1 Apple Silicon with arm64 (#2020)" (#2212)
* CPython 3.11.0a4 (#2217)
* CPython 3.9.10 and 3.10.2 (#2219)
* miniconda3-latest: added Linux-aarch64 (#2221)
* Add GraalPython 22.0.0 (#2226)
## Release 2.2.3
* Add new pypy versions (pypy2.7-7.3.2~7.3.5) to the version list (#2194)
* Fix Python 3.7.12 compilation on macOS arm64/M1. (#2190)
* Fix Python 3.6.15 compilation on macOS arm64/M1. (#2189)
* Add Anaconda3-2021.11 (#2193)
* Fix Python 3.6.15 compilation on macOS arm64/M1. (#2189)
* Add Anaconda3-2021.11 (#2193)
* CPython 3.11.0a3 (#2187)
* Fix errant "echo" in README install instructions (#2185)
* Add Miniforge and Mambaforge 4.10.3-10 (#2184)

View File

@@ -315,9 +315,9 @@ Displays the root directory where versions and shims are kept.
## `pyenv prefix`
Displays the directory where a Python version is installed. If no
version is given, `pyenv prefix` displays the location of the
currently selected version.
Displays the directories where the given Python versions are installed,
separated by colons. If no version is given, `pyenv prefix` displays the
locations of the currently selected versions.
$ pyenv prefix 3.9.7
/home/user/.pyenv/versions/3.9.7

View File

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

View File

@@ -1,10 +1,10 @@
#!/usr/bin/env bash
# Summary: Display prefix for a Python version
# Usage: pyenv prefix [<version>]
# Summary: Display prefixes for Python versions
# Usage: pyenv prefix [<version>...]
#
# Displays the directory where a Python version is installed. If no
# version is given, `pyenv prefix' displays the location of the
# currently selected version.
# Displays the directories where the given Python versions are installed,
# separated by colons. If no version is given, `pyenv prefix' displays the
# locations of the currently selected versions.
set -e
[ -n "$PYENV_DEBUG" ] && set -x

View File

@@ -112,13 +112,6 @@ is_mac() {
[ $# -eq 0 ] || [ "$(osx_version)" "$@" ]
}
is_arm64_apple() {
if [ "$(uname -s)" = "Darwin" ] && [ "$(uname -m)" = "arm64" ]; then
return 0
fi
return 1
}
# 9.1 -> 901
# 10.9 -> 1009
# 10.10 -> 1010
@@ -1617,29 +1610,6 @@ use_tcltk() {
fi
}
# CPython 3.9.1+ and 3.8.10+ have old config.sub that doesn't support "arm64" arch
# which is what Gnu uname (but not Apple uname) produces on Apple M1
# (https://github.com/pyenv/pyenv/pull/2020#issuecomment-891911842)
build_package_arm64_apple_disable_homebrew_coreutils() {
if is_arm64_apple; then
local brew_coreutils="$(brew --prefix coreutils 2>/dev/null || true)"
if [ -d "$brew_coreutils" ]; then
local after_list=()
# Bash 3 ignores IFS set for command when doing expansions so have to set it separately
IFS=':'; local -a list=(${PATH}); IFS="$OLDIFS"
for str in "${list[@]}"; do
if [[ "$str" != "$brew_coreutils"/* ]]; then
after_list+=("$str")
else
echo "python-build: excluding \`$str' from PATH"
fi
done
# Bash 3 ignores IFS set for command when doing expansions so have to set it separately
IFS=':'; export PATH="${after_list[*]}"; IFS="$OLDIFS"
fi
fi
}
build_package_enable_shared() {
package_option python configure --enable-shared
}
@@ -2160,7 +2130,7 @@ if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-universalsdk"* ]];
exit 1
fi
package_option python configure --enable-universalsdk=/
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" != *"--enable-universal-archs"* ]]; then
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" != *"--with-universal-archs"* ]]; then
# in CPython's configure.ac, --with-universal-archs defaults to 'intel' which means i386 + x86_64
# since 2.7.5 and 3.3.0 -- i.e. in all non-EOL versions
# Apple Silicon cannot build these, in it, it rather makes sense to default to Universal2 binaries
@@ -2234,6 +2204,9 @@ if [ -z "${GET_PIP_URL}" ]; then
3.5 | 3.5.* )
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.5/get-pip.py"
;;
3.6 | 3.6.* )
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.6/get-pip.py"
;;
* )
GET_PIP_URL="https://bootstrap.pypa.io/get-pip.py"
;;

View File

@@ -130,6 +130,9 @@ class MinicondaVersion(NamedTuple):
@classmethod
def from_str(cls, s):
"""
Convert a string of the form "miniconda_n-ver" or "miniconda_n-py_ver-ver" to a :class:`MinicondaVersion` object.
"""
components = s.split("-")
if len(components) == 3:
miniconda_n, py_ver, ver = components
@@ -146,6 +149,9 @@ class MinicondaVersion(NamedTuple):
return f"miniconda{self.suffix}-{self.version_str}"
def default_py_version(self):
"""
:class:`PyVersion` of Python used with this Miniconda version
"""
if self.py_version:
return self.py_version
elif self.suffix == Suffix.TWO:
@@ -188,6 +194,9 @@ class MinicondaSpec(NamedTuple):
return spec
def to_install_lines(self):
"""
Installation command for this version of Miniconda for use in a Pyenv installation script
"""
return install_line_fmt.format(
repo=MINICONDA_REPO,
suffix=self.version.suffix,
@@ -213,6 +222,11 @@ def make_script(specs: List[MinicondaSpec]):
def get_existing_minicondas():
"""
Enumerate existing Miniconda installation scripts in share/python-build/ except rolling releases.
:returns: A generator of :class:`MinicondaVersion` objects.
"""
logger.info("Getting known miniconda versions")
for p in out_dir.iterdir():
name = p.name
@@ -228,6 +242,12 @@ def get_existing_minicondas():
def get_available_minicondas():
"""
Fetch remote miniconda versions.
:returns: A generator of :class:`MinicondaSpec` objects for each release available for download
except rolling releases.
"""
logger.info("Fetching remote miniconda versions")
session = requests_html.HTMLSession()
response = session.get(MINICONDA_REPO)

View File

@@ -1,6 +1,6 @@
#require_gcc
prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1n.tar.gz#40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a" 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.10-dev" "https://github.com/python/cpython" 3.10 standard verify_py310 copy_python_gdb ensurepip

View File

@@ -1,7 +1,7 @@
#require_gcc
prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1n.tar.gz#40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a" 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
if has_tar_xz_support; then
install_package "Python-3.10.0" "https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tar.xz#5a99f8e7a6a11a7b98b4e75e0d1303d3832cada5534068f69c7b6222a7b1b002" standard verify_py310 copy_python_gdb ensurepip

View File

@@ -1,7 +1,7 @@
#require_gcc
prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1n.tar.gz#40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a" 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
if has_tar_xz_support; then
install_package "Python-3.10.1" "https://www.python.org/ftp/python/3.10.1/Python-3.10.1.tar.xz#a7f1265b6e1a5de1ec5c3ec7019ab53413469934758311e9d240c46e5ae6e177" standard verify_py310 copy_python_gdb ensurepip

View File

@@ -0,0 +1,10 @@
#require_gcc
prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1n.tar.gz#40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a" 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
if has_tar_xz_support; then
install_package "Python-3.10.2" "https://www.python.org/ftp/python/3.10.2/Python-3.10.2.tar.xz#17de3ac7da9f2519aa9d64378c603a73a0e9ad58dffa8812e45160c086de64c7" standard verify_py310 copy_python_gdb ensurepip
else
install_package "Python-3.10.2" "https://www.python.org/ftp/python/3.10.2/Python-3.10.2.tgz#3c0ede893011319f9b0a56b44953a3d52c7abf9657c23fb4bc9ced93b86e9c97" standard verify_py310 copy_python_gdb ensurepip
fi

View File

@@ -0,0 +1,10 @@
#require_gcc
prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1n.tar.gz#40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a" 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
if has_tar_xz_support; then
install_package "Python-3.10.3" "https://www.python.org/ftp/python/3.10.3/Python-3.10.3.tar.xz#596c72de998dc39205bc4f70ef0dbf7edec740a306d09b49a9bd0a77806730dc" standard verify_py310 copy_python_gdb ensurepip
else
install_package "Python-3.10.3" "https://www.python.org/ftp/python/3.10.3/Python-3.10.3.tgz#5a3b029bad70ba2a019ebff08a65060a8b9b542ffc1a83c697f1449ecca9813b" standard verify_py310 copy_python_gdb ensurepip
fi

View File

@@ -1,10 +0,0 @@
#require_gcc
prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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
if has_tar_xz_support; then
install_package "Python-3.11.0a3" "https://www.python.org/ftp/python/3.11.0/Python-3.11.0a3.tar.xz#96fbe735d377dec46a007974d1315868bde9f06aea5e56dee99500d620d814a3" standard verify_py311 copy_python_gdb ensurepip
else
install_package "Python-3.11.0a3" "https://www.python.org/ftp/python/3.11.0/Python-3.11.0a3.tgz#8af25618be3901a60d0d82176b91476c93dd8c086f40b849e9c4811424d13c35" standard verify_py311 copy_python_gdb ensurepip
fi

View File

@@ -0,0 +1,10 @@
#require_gcc
prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1n.tar.gz#40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a" 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
if has_tar_xz_support; then
install_package "Python-3.11.0a6" "https://www.python.org/ftp/python/3.11.0/Python-3.11.0a6.tar.xz#1c53a2ff75879633e30cac29d2aa6b7a010e355b95f0bf9ac691beccf5f9d12a" standard verify_py311 copy_python_gdb ensurepip
else
install_package "Python-3.11.0a6" "https://www.python.org/ftp/python/3.11.0/Python-3.11.0a6.tgz#1d57a89c40090740b19fbae6412a54f3f42adf49136235306d00badfd361247a" standard verify_py311 copy_python_gdb ensurepip
fi

View File

@@ -0,0 +1,10 @@
#require_gcc
prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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.7.13" "https://www.python.org/ftp/python/3.7.13/Python-3.7.13.tar.xz#99f106275df8899c3e8cb9d7c01ce686c202ef275953301427194693de5bef84" standard verify_py37 copy_python_gdb ensurepip
else
install_package "Python-3.7.13" "https://www.python.org/ftp/python/3.7.13/Python-3.7.13.tgz#e405417f50984bc5870c7e7a9f9aeb93e9d270f5ac67f667a0cd3a09439682b5" standard verify_py37 copy_python_gdb ensurepip
fi

View File

@@ -3,4 +3,4 @@ prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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.8-dev" "https://github.com/python/cpython" "3.8" arm64_apple_disable_homebrew_coreutils standard verify_py38 copy_python_gdb ensurepip
install_git "Python-3.8-dev" "https://github.com/python/cpython" "3.8" standard verify_py38 copy_python_gdb ensurepip

View File

@@ -4,7 +4,7 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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
if has_tar_xz_support; then
install_package "Python-3.8.10" "https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tar.xz#6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9" arm64_apple_disable_homebrew_coreutils standard verify_py38 copy_python_gdb ensurepip
install_package "Python-3.8.10" "https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tar.xz#6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9" standard verify_py38 copy_python_gdb ensurepip
else
install_package "Python-3.8.10" "https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tgz#b37ac74d2cbad2590e7cd0dd2b3826c29afe89a734090a87bf8c03c45066cb65" arm64_apple_disable_homebrew_coreutils standard verify_py38 copy_python_gdb ensurepip
install_package "Python-3.8.10" "https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tgz#b37ac74d2cbad2590e7cd0dd2b3826c29afe89a734090a87bf8c03c45066cb65" standard verify_py38 copy_python_gdb ensurepip
fi

View File

@@ -4,7 +4,7 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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.11" "https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tar.xz#fb1a1114ebfe9e97199603c6083e20b236a0e007a2c51f29283ffb50c1420fb2" arm64_apple_disable_homebrew_coreutils standard verify_py38 copy_python_gdb ensurepip
install_package "Python-3.8.11" "https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tar.xz#fb1a1114ebfe9e97199603c6083e20b236a0e007a2c51f29283ffb50c1420fb2" standard verify_py38 copy_python_gdb ensurepip
else
install_package "Python-3.8.11" "https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tgz#b77464ea80cec14581b86aeb7fb2ff02830e0abc7bcdc752b7b4bdfcd8f3e393" arm64_apple_disable_homebrew_coreutils standard verify_py38 copy_python_gdb ensurepip
install_package "Python-3.8.11" "https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tgz#b77464ea80cec14581b86aeb7fb2ff02830e0abc7bcdc752b7b4bdfcd8f3e393" standard verify_py38 copy_python_gdb ensurepip
fi

View File

@@ -0,0 +1,10 @@
#require_gcc
prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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.13" "https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tar.xz#6f309077012040aa39fe8f0c61db8c0fa1c45136763299d375c9e5756f09cf57" standard verify_py38 copy_python_gdb ensurepip
else
install_package "Python-3.8.13" "https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tgz#903b92d76354366b1d9c4434d0c81643345cef87c1600adfa36095d7b00eede4" standard verify_py38 copy_python_gdb ensurepip
fi

View File

@@ -3,4 +3,4 @@ prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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.9-dev" "https://github.com/python/cpython" 3.9 arm64_apple_disable_homebrew_coreutils standard verify_py39 copy_python_gdb ensurepip
install_git "Python-3.9-dev" "https://github.com/python/cpython" 3.9 standard verify_py39 copy_python_gdb ensurepip

View File

@@ -4,8 +4,8 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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
if has_tar_xz_support; then
install_package "Python-3.9.1" "https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tar.xz#991c3f8ac97992f3d308fefeb03a64db462574eadbff34ce8bc5bb583d9903ff" arm64_apple_disable_homebrew_coreutils standard verify_py39 copy_python_gdb ensurepip
install_package "Python-3.9.1" "https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tar.xz#991c3f8ac97992f3d308fefeb03a64db462574eadbff34ce8bc5bb583d9903ff" standard verify_py39 copy_python_gdb ensurepip
else
install_package "Python-3.9.1" "https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz#29cb91ba038346da0bd9ab84a0a55a845d872c341a4da6879f462e94c741f117" arm64_apple_disable_homebrew_coreutils standard verify_py39 copy_python_gdb ensurepip
install_package "Python-3.9.1" "https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz#29cb91ba038346da0bd9ab84a0a55a845d872c341a4da6879f462e94c741f117" standard verify_py39 copy_python_gdb ensurepip
fi

View File

@@ -0,0 +1,10 @@
#require_gcc
prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1l" "https://www.openssl.org/source/openssl-1.1.1l.tar.gz#0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1" 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.10" "https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tar.xz#0a8fbfb5287ebc3a13e9baf3d54e08fa06778ffeccf6311aef821bb3a6586cc8" standard verify_py39 copy_python_gdb ensurepip
else
install_package "Python-3.9.10" "https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tgz#1aa9c0702edbae8f6a2c95f70a49da8420aaa76b7889d3419c186bfc8c0e571e" standard verify_py39 copy_python_gdb ensurepip
fi

View File

@@ -0,0 +1,10 @@
#require_gcc
prefer_openssl11
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1l" "https://www.openssl.org/source/openssl-1.1.1l.tar.gz#0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1" 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.11" "https://www.python.org/ftp/python/3.9.11/Python-3.9.11.tar.xz#66767a35309d724f370df9e503c172b4ee444f49d62b98bc4eca725123e26c49" standard verify_py39 copy_python_gdb ensurepip
else
install_package "Python-3.9.11" "https://www.python.org/ftp/python/3.9.11/Python-3.9.11.tgz#3442400072f582ac2f0df30895558f08883b416c8c7877ea55d40d00d8a93112" standard verify_py39 copy_python_gdb ensurepip
fi

View File

@@ -4,8 +4,8 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1i" "https://www.openssl.org/source/old/1.1.1/openssl-1.1.1i.tar.gz#e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242" 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
if has_tar_xz_support; then
install_package "Python-3.9.2" "https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tar.xz#3c2034c54f811448f516668dce09d24008a0716c3a794dd8639b5388cbde247d" arm64_apple_disable_homebrew_coreutils standard verify_py39 copy_python_gdb ensurepip
install_package "Python-3.9.2" "https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tar.xz#3c2034c54f811448f516668dce09d24008a0716c3a794dd8639b5388cbde247d" standard verify_py39 copy_python_gdb ensurepip
else
install_package "Python-3.9.2" "https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz#7899e8a6f7946748830d66739f2d8f2b30214dad956e56b9ba216b3de5581519" arm64_apple_disable_homebrew_coreutils standard verify_py39 copy_python_gdb ensurepip
install_package "Python-3.9.2" "https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz#7899e8a6f7946748830d66739f2d8f2b30214dad956e56b9ba216b3de5581519" standard verify_py39 copy_python_gdb ensurepip
fi

View File

@@ -4,7 +4,7 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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
if has_tar_xz_support; then
install_package "Python-3.9.4" "https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tar.xz#4b0e6644a76f8df864ae24ac500a51bbf68bd098f6a173e27d3b61cdca9aa134" arm64_apple_disable_homebrew_coreutils standard verify_py39 copy_python_gdb ensurepip
install_package "Python-3.9.4" "https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tar.xz#4b0e6644a76f8df864ae24ac500a51bbf68bd098f6a173e27d3b61cdca9aa134" standard verify_py39 copy_python_gdb ensurepip
else
install_package "Python-3.9.4" "https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tgz#66c4de16daa74a825cf9da9ddae1fe020b72c3854b73b1762011cc33f9e4592f" arm64_apple_disable_homebrew_coreutils standard verify_py39 copy_python_gdb ensurepip
install_package "Python-3.9.4" "https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tgz#66c4de16daa74a825cf9da9ddae1fe020b72c3854b73b1762011cc33f9e4592f" standard verify_py39 copy_python_gdb ensurepip
fi

View File

@@ -4,7 +4,7 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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
if has_tar_xz_support; then
install_package "Python-3.9.5" "https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tar.xz#0c5a140665436ec3dbfbb79e2dfb6d192655f26ef4a29aeffcb6d1820d716d83" arm64_apple_disable_homebrew_coreutils standard verify_py39 copy_python_gdb ensurepip
install_package "Python-3.9.5" "https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tar.xz#0c5a140665436ec3dbfbb79e2dfb6d192655f26ef4a29aeffcb6d1820d716d83" standard verify_py39 copy_python_gdb ensurepip
else
install_package "Python-3.9.5" "https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz#e0fbd5b6e1ee242524430dee3c91baf4cbbaba4a72dd1674b90fda87b713c7ab" arm64_apple_disable_homebrew_coreutils standard verify_py39 copy_python_gdb ensurepip
install_package "Python-3.9.5" "https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz#e0fbd5b6e1ee242524430dee3c91baf4cbbaba4a72dd1674b90fda87b713c7ab" standard verify_py39 copy_python_gdb ensurepip
fi

View File

@@ -4,7 +4,7 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" 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.6" "https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz#397920af33efc5b97f2e0b57e91923512ef89fc5b3c1d21dbfc8c4828ce0108a" arm64_apple_disable_homebrew_coreutils standard verify_py39 copy_python_gdb ensurepip
install_package "Python-3.9.6" "https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz#397920af33efc5b97f2e0b57e91923512ef89fc5b3c1d21dbfc8c4828ce0108a" standard verify_py39 copy_python_gdb ensurepip
else
install_package "Python-3.9.6" "https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz#d0a35182e19e416fc8eae25a3dcd4d02d4997333e4ad1f2eee6010aadc3fe866" arm64_apple_disable_homebrew_coreutils standard verify_py39 copy_python_gdb ensurepip
install_package "Python-3.9.6" "https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz#d0a35182e19e416fc8eae25a3dcd4d02d4997333e4ad1f2eee6010aadc3fe866" standard verify_py39 copy_python_gdb ensurepip
fi

View File

@@ -0,0 +1,48 @@
# Copyright (c) 2021, 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='22.0.0.2'
BUILD=''
case "$(pypy_architecture 2>/dev/null || true)" in
"linux64" )
graalpython_arch="linux"
checksum="e80c6051a609e7e1403b96992951814e967cf6deb9ca2507e691769d01970d55"
;;
"osx64" )
graalpython_arch="macos"
checksum="5b0476321162557a7b43e6cdadfc187280bc40a3452d327a4ae8d624afaa5336"
;;
* )
{ echo
colorize 1 "ERROR"
echo ": No binary distribution of GraalPython is available for $(pypy_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac
if [ -n "${BUILD}" ]; then
urlprefix="https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/${VERSION}-${BUILD}"
else
urlprefix="https://github.com/oracle/graalpython/releases/download/vm-${VERSION}"
fi
install_package "graalpython-${VERSION}${BUILD}" "${urlprefix}/graalpython-${VERSION}-${graalpython_arch}-amd64.tar.gz#${checksum}" "graalpython" ensurepip

View File

@@ -0,0 +1,19 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-ppc64le" )
install_script "Miniconda3-py37_4.11.0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py37_4.11.0-Linux-ppc64le.sh#cf7cbccc16bf82365bbf0129f646ff45" "miniconda" verify_py37
;;
"Linux-x86_64" )
install_script "Miniconda3-py37_4.11.0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py37_4.11.0-Linux-x86_64.sh#7675bd23411179956bcc4692f16ef27d" "miniconda" verify_py37
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py37_4.11.0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py37_4.11.0-MacOSX-x86_64.sh#0dde31d693fbcb4feb1eb4292cba4371" "miniconda" verify_py37
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,19 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-ppc64le" )
install_script "Miniconda3-py38_4.11.0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py38_4.11.0-Linux-ppc64le.sh#adec9893a69557f1eaadce56f24f6614" "miniconda" verify_py38
;;
"Linux-x86_64" )
install_script "Miniconda3-py38_4.11.0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_4.11.0-Linux-x86_64.sh#252d3b0c863333639f99fbc465ee1d61" "miniconda" verify_py38
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py38_4.11.0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_4.11.0-MacOSX-x86_64.sh#e0ab9762f3d20d23bbff4b804a03cb08" "miniconda" verify_py38
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,19 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-ppc64le" )
install_script "Miniconda3-py39_4.11.0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py39_4.11.0-Linux-ppc64le.sh#305e55110a3ad9384230e5fe396ccd89" "miniconda" verify_py39
;;
"Linux-x86_64" )
install_script "Miniconda3-py39_4.11.0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_4.11.0-Linux-x86_64.sh#4e2f31e0b2598634c80daa12e4981647" "miniconda" verify_py39
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py39_4.11.0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_4.11.0-MacOSX-x86_64.sh#d1303e5c7510b2ef444b9ba474551733" "miniconda" verify_py39
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -5,6 +5,9 @@ case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-x86_64" )
install_script "Miniconda3-latest-Linux-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh" "miniconda" verify_py3_latest
;;
"Linux-aarch64" )
install_script "Miniconda3-latest-Linux-aarch64" "https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-aarch64.sh" "miniconda" verify_py3_latest
;;
"MacOSX-x86_64" )
install_script "Miniconda3-latest-MacOSX-x86_64" "https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh" "miniconda" verify_py3_latest
;;

View File

@@ -243,13 +243,12 @@ index 8e03c77997..3b124c4b7b 100644
include_dirs = []
extra_compile_args = []
extra_link_args = []
@@ -2162,20 +2180,30 @@ class PyBuildExt(build_ext):
@@ -2162,20 +2180,29 @@ class PyBuildExt(build_ext):
libraries=math_libs)
self.extensions.extend([ext, ext_test])
+ ffi_inc = sysconfig.get_config_var("LIBFFI_INCLUDEDIR")
+ ffi_lib = None
+ inc_dirs = self.compiler.include_dirs[:]
+
if host_platform == 'darwin':
- if '--with-system-ffi' not in sysconfig.get_config_var("CONFIG_ARGS"):
@@ -284,7 +283,7 @@ index 8e03c77997..3b124c4b7b 100644
with open(ffi_h) as f:
for line in f:
line = line.strip()
@@ -2186,15 +2214,22 @@ class PyBuildExt(build_ext):
@@ -2186,15 +2213,22 @@ class PyBuildExt(build_ext):
ffi_inc = None
print('Header file {} does not define LIBFFI_H or '
'ffi_wrapper_h'.format(ffi_h))

View File

@@ -0,0 +1,30 @@
From d9782f66445c9fa5d835ad29c23b22be85cde354 Mon Sep 17 00:00:00 2001
From: Ronald Oussoren <ronaldoussoren@mac.com>
Date: Sat, 14 Nov 2020 16:07:47 +0100
Subject: [PATCH] bpo-42351: Avoid error when opening header with non-UTF8
encoding (GH-23279)
grep_headers_for() would error out when a header contained
text that cannot be interpreted as UTF-8.
cherry-picked from 7a27c7ed4b by Pedro Fonini <fonini@ip.tv>
---
setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index 4aaa51e0d4..3556bbe041 100644
--- a/setup.py
+++ b/setup.py
@@ -184,7 +184,7 @@ def is_macosx_sdk_path(path):
def grep_headers_for(function, headers):
for header in headers:
- with open(header, 'r') as f:
+ with open(header, 'r', errors='surrogateescape') as f:
if function in f.read():
return True
return False
--
2.34.1

View File

@@ -243,15 +243,13 @@ index bf90600eaa..48ff120e9a 100644
include_dirs = []
extra_compile_args = []
extra_link_args = []
@@ -2018,30 +2036,49 @@ class PyBuildExt(build_ext):
@@ -2018,30 +2036,47 @@ class PyBuildExt(build_ext):
libraries=['m'])
self.extensions.extend([ext, ext_test])
+ ffi_inc = sysconfig.get_config_var("LIBFFI_INCLUDEDIR")
+ ffi_lib = None
+
+ #inc_dirs = self.inc_dirs.copy()
+ inc_dirs = self.compiler.include_dirs[:]
if host_platform == 'darwin':
- if '--with-system-ffi' not in sysconfig.get_config_var("CONFIG_ARGS"):
+ if not self.use_system_libffi:

View File

@@ -0,0 +1,30 @@
From 245427d207ee88a4ba26a66c3de350bcbcc036f2 Mon Sep 17 00:00:00 2001
From: Ronald Oussoren <ronaldoussoren@mac.com>
Date: Sat, 14 Nov 2020 16:07:47 +0100
Subject: [PATCH] bpo-42351: Avoid error when opening header with non-UTF8
encoding (GH-23279)
grep_headers_for() would error out when a header contained
text that cannot be interpreted as UTF-8.
cherry-picked from 7a27c7ed4b by Pedro Fonini <fonini@ip.tv>
---
setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index f211989aac..467362813d 100644
--- a/setup.py
+++ b/setup.py
@@ -159,7 +159,7 @@ def is_macosx_sdk_path(path):
def grep_headers_for(function, headers):
for header in headers:
- with open(header, 'r') as f:
+ with open(header, 'r', errors='surrogateescape') as f:
if function in f.read():
return True
return False
--
2.34.1

View File

@@ -9,11 +9,11 @@ case "$(pypy_architecture 2>/dev/null || true)" in
install_package "pypy${PYVER}-v${VERSION}-linux64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-linux64.tar.bz2#82127f43fae6ce75d47d6c4539f8c1ea372e9c2dbfa40fae8b58351d522793a4" "pypy" "verify_py${PYVER//./}" ensurepip
;;
"linux-aarch64" )
install_package "pypy${PYVER}-v${VERSION}-aarch64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-aarch64.tar.bz2#9a97de82037d4be1949ec0c35a4d638ba635e8b34948549ae2fa08abd2cbaa8c" "pypy" "verify_py${PYVER//./}" ensurepip
install_package "pypy${PYVER}-v${VERSION}-aarch64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-aarch64.tar.bz2#90e9aafb310314938f54678d4d6d7db1163b57c9343e640b447112f74d7f9151" "pypy" "verify_py${PYVER//./}" ensurepip
;;
"osx64" )
if require_osx_version "10.13"; then
install_package "pypy${PYVER}-v${VERSION}-osx64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-osx64.tar.bz2#8b10442ef31c3b28048816f858adde6d6858a190d9367001a49648e669cbebb6" "pypy" "verify_py${PYVER//./}" ensurepip
install_package "pypy${PYVER}-v${VERSION}-osx64" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-osx64.tar.bz2#9a97de82037d4be1949ec0c35a4d638ba635e8b34948549ae2fa08abd2cbaa8c" "pypy" "verify_py${PYVER//./}" ensurepip
else
{ echo
colorize 1 "ERROR"

View File

@@ -0,0 +1,81 @@
VERSION='7.3.8'
PYVER='2.7'
# https://www.pypy.org/checksums.html
aarch64_hash=ca1f8d3146c83002ee97615906b0930e821297dcce3063b5b28933a0690ef298
linux32_hash=7c84f173bbcd73d0eb10909259d11b5cc253d4c6ea4492e6da8f2532df9b3da5
linux64_hash=1f2e84fb539ffce233c34769d2f11647955f894be091e85419e05f48011e8940
osx64_hash=e5c1ff39ad9916ea23e3deb8012fe42367b6b19284cf13b1a1ea2b2f53a43add
s390x_hash=b4ae4e708ba84602d976ad6ae391ef2eef4b1896d831b8f2b2ec69927dd92014
win64_hash=806a29a6c5550b1e669d8870683d3379138d3d43eb1e07bdf26d65a0691265f2
### end of manual settings - following lines same for every download
function pypy_pkg_data {
# pypy architecture
local ARCH="${1}"
local basesrc="pypy${PYVER}-${VERSION}-src"
local basever="pypy${PYVER}-v${VERSION}"
local baseurl="https://downloads.python.org/pypy/${basever}"
# defaults
local cmd='install_package' # use bz2
local pkg="${ARCH}" # assume matches
local url="${baseurl}-${pkg}.tar.bz2" # use bz2
local hash='' # undefined
case "${pkg}" in
'linux-aarch64' )
hash="${aarch64_hash}"
url="${baseurl}-aarch64.tar.bz2" # diff url
;;
'linux' )
hash="${linux32_hash}"
pkg='linux32' # package name revised
url="${baseurl}-${pkg}.tar.bz2" # new url
;;
'linux64' )
hash="${linux64_hash}"
;;
'osx64' )
if require_osx_version "10.13"; then
hash="${osx64_hash}"
else
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true), OS X < 10.13."
echo "try '${basesrc}' to build from source."
echo
} >&2
exit 1
fi
;;
's390x' )
hash="${s390x_hash}"
;;
'win64' )
hash="${win64_hash}"
cmd='install_zip' # diff command
url="${baseurl}-${pkg}.zip" # zip rather than bz2
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try '${basesrc}' to build from source."
echo
} >&2
exit 1
;;
esac
# result - command, package dir, url+hash
echo "${cmd}" "${basever}-${pkg}" "${url}#${hash}"
}
# determine command, package directory, url+hash
declare -ar pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")"
# install
${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip'

View File

@@ -0,0 +1,14 @@
VERSION='7.3.8'
PYVER='2.7'
# https://www.pypy.org/checksums.html
hash=0cdad270c62d3ccc53cc87eeb069a6dc46acaf95521b584624bcd6697d94fa1c
### 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'

View File

@@ -1,7 +1,7 @@
VERSION='7.3.7'
PYVER='3.7'
# https://www.pypy.org/checksums.html
#require_gcc
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 "pypy${PYVER}-v${VERSION}-src" "https://downloads.python.org/pypy/pypy${PYVER}-v${VERSION}-src.tar.bz2#2ed02ac9e710859c41bc82deafb08619792bb9a27eeaa1676c741ededd214dd7" "pypy_builder" "verify_py${PYVER//./}" ensurepip

View File

@@ -0,0 +1,81 @@
VERSION='7.3.8'
PYVER='3.7'
# https://www.pypy.org/checksums.html
aarch64_hash=4fb2f8281f3aaca72e6fe62ecc5fc054fcc79cd061ca3e0eea730f7d82d610d4
linux32_hash=38429ec6ea1aca391821ee4fbda7358ae86de4600146643f2af2fe2c085af839
linux64_hash=409085db79a6d90bfcf4f576dca1538498e65937acfbe03bd4909bdc262ff378
osx64_hash=76b8eef5b059a7e478f525615482d2a6e9feb83375e3f63c16381d80521a693f
s390x_hash=5c2cd3f7cf04cb96f6bcc6b02e271f5d7275867763978e66651b8d1605ef3141
win64_hash=96df67492bc8d62b2e71dddf5f6c58965a26cac9799c5f4081401af0494b3bcc
### end of manual settings - following lines same for every download
function pypy_pkg_data {
# pypy architecture
local ARCH="${1}"
local basesrc="pypy${PYVER}-${VERSION}-src"
local basever="pypy${PYVER}-v${VERSION}"
local baseurl="https://downloads.python.org/pypy/${basever}"
# defaults
local cmd='install_package' # use bz2
local pkg="${ARCH}" # assume matches
local url="${baseurl}-${pkg}.tar.bz2" # use bz2
local hash='' # undefined
case "${pkg}" in
'linux-aarch64' )
hash="${aarch64_hash}"
url="${baseurl}-aarch64.tar.bz2" # diff url
;;
'linux' )
hash="${linux32_hash}"
pkg='linux32' # package name revised
url="${baseurl}-${pkg}.tar.bz2" # new url
;;
'linux64' )
hash="${linux64_hash}"
;;
'osx64' )
if require_osx_version "10.13"; then
hash="${osx64_hash}"
else
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true), OS X < 10.13."
echo "try '${basesrc}' to build from source."
echo
} >&2
exit 1
fi
;;
's390x' )
hash="${s390x_hash}"
;;
'win64' )
hash="${win64_hash}"
cmd='install_zip' # diff command
url="${baseurl}-${pkg}.zip" # zip rather than bz2
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try '${basesrc}' to build from source."
echo
} >&2
exit 1
;;
esac
# result - command, package dir, url+hash
echo "${cmd}" "${basever}-${pkg}" "${url}#${hash}"
}
# determine command, package directory, url+hash
declare -ar pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")"
# install
${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip'

View File

@@ -0,0 +1,14 @@
VERSION='7.3.8'
PYVER='3.7'
# https://www.pypy.org/checksums.html
hash=35752be62b148fa6f7fb69e58e1f993c7cc319bea54928eb03ed2e75b8248d5f
### 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'

View File

@@ -0,0 +1,81 @@
VERSION='7.3.8'
PYVER='3.8'
# https://www.pypy.org/checksums.html
aarch64_hash=fe41df391f87239925e573e195e631a9d03d37f471eb1479790ee13ca47a28af
linux32_hash=bea4b275decd492af6462157d293dd6fcf08a949859f8aec0959537b40afd032
linux64_hash=089f8e3e357d6130815964ddd3507c13bd53e4976ccf0a89b5c36a9a6775a188
osx64_hash=de1b283ff112d76395c0162a1cf11528e192bdc230ee3f1b237f7694c7518dee
s390x_hash=0c46527770ec1322b98942860ad3551767d3e09d4481bcb49abd92001a293840
win64_hash=0894c468e7de758c509a602a28ef0ba4fbf197ccdf946c7853a7283d9bb2a345
### end of manual settings - following lines same for every download
function pypy_pkg_data {
# pypy architecture
local ARCH="${1}"
local basesrc="pypy${PYVER}-${VERSION}-src"
local basever="pypy${PYVER}-v${VERSION}"
local baseurl="https://downloads.python.org/pypy/${basever}"
# defaults
local cmd='install_package' # use bz2
local pkg="${ARCH}" # assume matches
local url="${baseurl}-${pkg}.tar.bz2" # use bz2
local hash='' # undefined
case "${pkg}" in
'linux-aarch64' )
hash="${aarch64_hash}"
url="${baseurl}-aarch64.tar.bz2" # diff url
;;
'linux' )
hash="${linux32_hash}"
pkg='linux32' # package name revised
url="${baseurl}-${pkg}.tar.bz2" # new url
;;
'linux64' )
hash="${linux64_hash}"
;;
'osx64' )
if require_osx_version "10.13"; then
hash="${osx64_hash}"
else
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true), OS X < 10.13."
echo "try '${basesrc}' to build from source."
echo
} >&2
exit 1
fi
;;
's390x' )
hash="${s390x_hash}"
;;
'win64' )
hash="${win64_hash}"
cmd='install_zip' # diff command
url="${baseurl}-${pkg}.zip" # zip rather than bz2
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try '${basesrc}' to build from source."
echo
} >&2
exit 1
;;
esac
# result - command, package dir, url+hash
echo "${cmd}" "${basever}-${pkg}" "${url}#${hash}"
}
# determine command, package directory, url+hash
declare -ar pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")"
# install
${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip'

View File

@@ -0,0 +1,14 @@
VERSION='7.3.8'
PYVER='3.8'
# https://www.pypy.org/checksums.html
hash=f1a378b264cdbfb0e03d77dfc4d105d02f91d542bd7c9c957d1f8083a9808f1f
### 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'

View File

@@ -0,0 +1,81 @@
VERSION='7.3.8'
PYVER='3.9'
# https://www.pypy.org/checksums.html
aarch64_hash=89d7ee12a8c416e83fae80af82482531fc6502321e75e5b7a0cc01d756ee5f0e
linux32_hash=0894c468e7de758c509a602a28ef0ba4fbf197ccdf946c7853a7283d9bb2a345
linux64_hash=129a055032bba700cd1d0acacab3659cf6b7180e25b1b2f730e792f06d5b3010
osx64_hash=95bd88ac8d6372cd5b7b5393de7b7d5c615a0c6e42fdb1eb67f2d2d510965aee
s390x_hash=37b596bfe76707ead38ffb565629697e9b6fa24e722acc3c632b41ec624f5d95
win64_hash=c1b2e4cde2dcd1208d41ef7b7df8e5c90564a521e7a5db431673da335a1ba697
### end of manual settings - following lines same for every download
function pypy_pkg_data {
# pypy architecture
local ARCH="${1}"
local basesrc="pypy${PYVER}-${VERSION}-src"
local basever="pypy${PYVER}-v${VERSION}"
local baseurl="https://downloads.python.org/pypy/${basever}"
# defaults
local cmd='install_package' # use bz2
local pkg="${ARCH}" # assume matches
local url="${baseurl}-${pkg}.tar.bz2" # use bz2
local hash='' # undefined
case "${pkg}" in
'linux-aarch64' )
hash="${aarch64_hash}"
url="${baseurl}-aarch64.tar.bz2" # diff url
;;
'linux' )
hash="${linux32_hash}"
pkg='linux32' # package name revised
url="${baseurl}-${pkg}.tar.bz2" # new url
;;
'linux64' )
hash="${linux64_hash}"
;;
'osx64' )
if require_osx_version "10.13"; then
hash="${osx64_hash}"
else
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true), OS X < 10.13."
echo "try '${basesrc}' to build from source."
echo
} >&2
exit 1
fi
;;
's390x' )
hash="${s390x_hash}"
;;
'win64' )
hash="${win64_hash}"
cmd='install_zip' # diff command
url="${baseurl}-${pkg}.zip" # zip rather than bz2
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
echo "try '${basesrc}' to build from source."
echo
} >&2
exit 1
;;
esac
# result - command, package dir, url+hash
echo "${cmd}" "${basever}-${pkg}" "${url}#${hash}"
}
# determine command, package directory, url+hash
declare -ar pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")"
# install
${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip'

View File

@@ -0,0 +1,14 @@
VERSION='7.3.8'
PYVER='3.9'
# https://www.pypy.org/checksums.html
hash=546b7fc3789728869d5ada7b6a95ce9d03047e8489b92ada84613c900e431ee9
### 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'

View File

@@ -0,0 +1,19 @@
echo
colorize 1 "WARNING"
echo ": Pyston only runs on x86_64 platforms, and only has been tested on Ubuntu"
echo "so, your mileage may vary with other Linux distributions."
echo
case "$(pyston_architecture 2>/dev/null || true)" in
"linux64" )
install_package "pyston_2.3.2" "https://github.com/pyston/pyston/releases/download/pyston_2.3.2/pyston_2.3.2_portable.tar.gz#80e71dd2db504e09951ee835e04c9e1183c79412da9aa11d98a6d3f44b95bec1" "pyston" verify_py38 get_pip
;;
* )
{ echo
colorize 1 "ERROR"
echo ": A Pyston 2.3.2 binary is not available for $(pyston_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac