Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pyenv for openSUSE:Factory checked in at 2023-04-07 18:17:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pyenv (Old) and /work/SRC/openSUSE:Factory/.pyenv.new.19717 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pyenv" Fri Apr 7 18:17:57 2023 rev:23 rq:1077875 version:2.3.17 Changes: -------- --- /work/SRC/openSUSE:Factory/pyenv/pyenv.changes 2023-03-01 16:14:35.246765913 +0100 +++ /work/SRC/openSUSE:Factory/.pyenv.new.19717/pyenv.changes 2023-04-07 18:17:57.857112491 +0200 @@ -1,0 +2,41 @@ +Fri Apr 7 08:46:52 UTC 2023 - Thomas Schraitle <thomas.schrai...@suse.com> - 2.3.17 + +- Update to 2.3.17 + - Try locate readlink first in pyenv-hooks, fix #2654 by @Harry-Chen in #2655 + - Add CPython 3.12.0a7 by @edgarrmondragon in #2668 + - Add CPython 3.11.3 by @mirekdlugosz in #2671 + - Add CPython 3.10.11 by @mirekdlugosz in #2670 + +Full Changelog: https://github.com/pyenv/pyenv/compare/v2.3.16...v2.3.17 + +------------------------------------------------------------------- +Fri Apr 7 08:45:52 UTC 2023 - Thomas Schraitle <thomas.schrai...@suse.com> - 2.3.16 + +- Update to 2.3.16 + - Add Miniforge3-22.11.1-4 by @jlec in #2642 + - Add Anaconda3-2023.03 by @anton-petrov in #2648 + +Full Changelog: https://github.com/pyenv/pyenv/compare/v2.3.15...v2.3.16 + +------------------------------------------------------------------- +Fri Apr 7 08:44:20 UTC 2023 - Thomas Schraitle <thomas.schrai...@suse.com> - 2.3.15 + +- Update to 2.3.15 + - Add miniconda 23.1.0-1 by @aphedges in #2635 + - Add CPython 3.12.0a6 by @saaketp in #2638 + +Full Changelog: https://github.com/pyenv/pyenv/compare/v2.3.14...v2.3.15 + +------------------------------------------------------------------- +Fri Apr 7 08:43:35 UTC 2023 - Thomas Schraitle <thomas.schrai...@suse.com> - 2.3.14 + +- Update to 2.3.14 + - Fix indentation by @rafrafek in #2620 + - Support for "BusyBox version" of "head" by @schuellerf in #2629 + - bpo-27987 for v3.5.10 and v3.6.15: align by 16bytes on 64bit platforms by @chaimleib in #2630 + - bpo-36231 for v3.5.10: fix Unsupported MacOS X CPU type in ffi.h by @chaimleib in #2633 + - README: clarify behavior of pyenv latest by @mrienstra in #2634 + +Full Changelog: https://github.com/pyenv/pyenv/compare/v2.3.13...v2.3.14 + +------------------------------------------------------------------- Old: ---- pyenv-2.3.13.tar.gz New: ---- pyenv-2.3.17.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pyenv.spec ++++++ --- /var/tmp/diff_new_pack.LTYKHH/_old 2023-04-07 18:17:58.389115572 +0200 +++ /var/tmp/diff_new_pack.LTYKHH/_new 2023-04-07 18:17:58.397115618 +0200 @@ -19,7 +19,7 @@ %define pyenv_dir %{_libexecdir}/pyenv # Name: pyenv -Version: 2.3.13 +Version: 2.3.17 Release: 0 Summary: Python Version Management License: MIT ++++++ pyenv-2.3.13.tar.gz -> pyenv-2.3.17.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/.github/workflows/ubuntu_build.yml new/pyenv-2.3.17/.github/workflows/ubuntu_build.yml --- old/pyenv-2.3.13/.github/workflows/ubuntu_build.yml 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/.github/workflows/ubuntu_build.yml 2023-04-06 05:58:52.000000000 +0200 @@ -24,7 +24,7 @@ # python-version: ${{ matrix.python-version }} # ... but in the repo, we want to test pyenv builds on Ubuntu - run: | - sudo apt-get install -yq make build-essential libssl-dev zlib1g-dev \ + sudo apt-get update -q; sudo apt install -yq make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev curl \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev # https://github.com/pyenv/pyenv#installation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/CHANGELOG.md new/pyenv-2.3.17/CHANGELOG.md --- old/pyenv-2.3.13/CHANGELOG.md 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/CHANGELOG.md 2023-04-06 05:58:52.000000000 +0200 @@ -1,5 +1,30 @@ # Version History +## Release 2.3.17 + +* Try locate `readlink` first in pyenv-hooks, fix #2654 by @Harry-Chen in https://github.com/pyenv/pyenv/pull/2655 +* Add CPython 3.12.0a7 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2668 +* Add CPython 3.11.3 by @mirekdlugosz in https://github.com/pyenv/pyenv/pull/2671 +* Add CPython 3.10.11 by @mirekdlugosz in https://github.com/pyenv/pyenv/pull/2670 + +## Release 2.3.16 + +* Add Miniforge3-22.11.1-4 by @jlec in https://github.com/pyenv/pyenv/pull/2642 +* Add Anaconda3-2023.03 by @anton-petrov in https://github.com/pyenv/pyenv/pull/2648 + +## Release 2.3.15 + +* Add miniconda 23.1.0-1 by @aphedges in https://github.com/pyenv/pyenv/pull/2635 +* Add CPython 3.12.0a6 by @saaketp in https://github.com/pyenv/pyenv/pull/2638 + +## Release 2.3.14 + +* Fix indentation by @rafrafek in https://github.com/pyenv/pyenv/pull/2620 +* Support for "BusyBox version" of "head" by @schuellerf in https://github.com/pyenv/pyenv/pull/2629 +* bpo-27987 for v3.5.10 and v3.6.15: align by 16bytes on 64bit platforms by @chaimleib in https://github.com/pyenv/pyenv/pull/2630 +* bpo-36231 for v3.5.10: fix Unsupported MacOS X CPU type in ffi.h by @chaimleib in https://github.com/pyenv/pyenv/pull/2633 +* README: clarify behavior of `pyenv latest` by @mrienstra in https://github.com/pyenv/pyenv/pull/2634 + ## Release 2.3.13 * Fix pyenv-latest to ignore virtualenvs by @native-api in https://github.com/pyenv/pyenv/pull/2608 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/README.md new/pyenv-2.3.17/README.md --- old/pyenv-2.3.13/README.md 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/README.md 2023-04-06 05:58:52.000000000 +0200 @@ -416,7 +416,7 @@ All Pyenv subcommands except `uninstall` automatically resolve full prefixes to the latest version in the corresponding version line. -`pyenv install` picks the latest known version while other subcommands -- the latest installed version. +`pyenv install` picks the latest known version, while other subcommands pick the latest installed version. E.g. to install and then switch to the latest 3.10 release: @@ -425,8 +425,7 @@ pyenv global 3.10 ``` -You can run [`pyenv latest <prefix>`](COMMANDS.md#pyenv-latest) to see -what a specific prefix would be resolved to. +You can run [`pyenv latest -k <prefix>`](COMMANDS.md#pyenv-latest) to see how `pyenv install` would resolve a specific prefix, or [`pyenv latest <prefix>`](COMMANDS.md#pyenv-latest) to see how other subcommands would resolve it. See the [`pyenv latest` documentation](COMMANDS.md#pyenv-latest) for details. @@ -439,7 +438,7 @@ in a later version of those environments. * *3.7.8-3.7.15, 3.8.4-3.8.12, 3.9.0-3.9.7* : XCode 13.3 -* *3.6.15* : MacOS 11+ and XCode 13.3 +* *3.5.10, 3.6.15* : MacOS 11+ and XCode 13.3 * *2.7.18* : MacOS 10.15+ and Apple Silicon diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/libexec/pyenv new/pyenv-2.3.17/libexec/pyenv --- old/pyenv-2.3.13/libexec/pyenv 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/libexec/pyenv 2023-04-06 05:58:52.000000000 +0200 @@ -29,7 +29,7 @@ else [ -z "$PYENV_NATIVE_EXT" ] || abort "failed to load \`realpath' builtin" - READLINK=$(type -P greadlink readlink | head -1) + READLINK=$(type -P readlink) [ -n "$READLINK" ] || abort "cannot find readlink - are you missing GNU coreutils?" resolve_link() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/libexec/pyenv---version new/pyenv-2.3.17/libexec/pyenv---version --- old/pyenv-2.3.13/libexec/pyenv---version 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/libexec/pyenv---version 2023-04-06 05:58:52.000000000 +0200 @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.3.13" +version="2.3.17" git_revision="" if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/libexec/pyenv-help new/pyenv-2.3.17/libexec/pyenv-help --- old/pyenv-2.3.13/libexec/pyenv-help 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/libexec/pyenv-help 2023-04-06 05:58:52.000000000 +0200 @@ -46,7 +46,7 @@ collect_documentation() { # `tail` prevents "broken pipe" errors due to `head` closing the pipe without reading everything # https://superuser.com/questions/554855/how-can-i-fix-a-broken-pipe-error/642932#642932 - $(type -P gawk awk | tail -n +1 | head -1) ' + $(type -P gawk awk | tail -n +1 | head -n1) ' /^Summary:/ { summary = substr($0, 10) next diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/libexec/pyenv-hooks new/pyenv-2.3.17/libexec/pyenv-hooks --- old/pyenv-2.3.13/libexec/pyenv-hooks 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/libexec/pyenv-hooks 2023-04-06 05:58:52.000000000 +0200 @@ -26,7 +26,7 @@ echo "pyenv: failed to load \`realpath' builtin" >&2 exit 1 fi -READLINK=$(type -P greadlink readlink | head -1) +READLINK=$(type -P readlink) if [ -z "$READLINK" ]; then echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2 exit 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/libexec/pyenv-versions new/pyenv-2.3.17/libexec/pyenv-versions --- old/pyenv-2.3.13/libexec/pyenv-versions 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/libexec/pyenv-versions 2023-04-06 05:58:52.000000000 +0200 @@ -34,7 +34,7 @@ exit 1 fi - READLINK=$(type -P greadlink readlink | head -1) + READLINK=$(type -P readlink) if [ -z "$READLINK" ]; then echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2 exit 1 @@ -157,12 +157,12 @@ print_version "${path##*/}" "$path" # virtual environments created by anaconda/miniconda/pyenv-virtualenv if [[ -z $skip_envs ]]; then - for env_path in "${path}/envs/"*; do - if [ -d "${env_path}" ]; then - print_version "${env_path#${PYENV_ROOT}/versions/}" "${env_path}" - fi - done - fi + for env_path in "${path}/envs/"*; do + if [ -d "${env_path}" ]; then + print_version "${env_path#${PYENV_ROOT}/versions/}" "${env_path}" + fi + done + fi fi done shopt -u dotglob nullglob diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/bin/pyenv-install new/pyenv-2.3.17/plugins/python-build/bin/pyenv-install --- old/pyenv-2.3.13/plugins/python-build/bin/pyenv-install 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/bin/pyenv-install 2023-04-06 05:58:52.000000000 +0200 @@ -59,7 +59,7 @@ definitions() { local query="$1" - python-build --definitions | $(type -P ggrep grep | head -1) -F "$query" || true + python-build --definitions | $(type -P ggrep grep | head -n1) -F "$query" || true } indent() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/bin/python-build new/pyenv-2.3.17/plugins/python-build/bin/python-build --- old/pyenv-2.3.13/plugins/python-build/bin/python-build 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/bin/python-build 2023-04-06 05:58:52.000000000 +0200 @@ -56,9 +56,14 @@ } lib "$1" +READLINK=$(type -P readlink) +if [ -z "$READLINK" ]; then + echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2 + exit 1 +fi resolve_link() { - $(type -P greadlink readlink | head -1) "$1" + $READLINK "$1" } abs_dirname() { @@ -102,7 +107,7 @@ source /etc/os-release echo "$NAME" $VERSION_ID else - local os="$(cat /etc/{centos,redhat,fedora,system}-release /etc/debian_version 2>/dev/null | head -1)" + local os="$(cat /etc/{centos,redhat,fedora,system}-release /etc/debian_version 2>/dev/null | head -n1)" echo "${os:-$(uname -sr)}" fi } @@ -256,7 +261,7 @@ output="$(shasum -a 256 -b)" || return 1 echo "${output% *}" elif type openssl &>/dev/null; then - local openssl="$(command -v "$(brew --prefix openssl 2>/dev/null || true)"/bin/openssl openssl | head -1)" + local openssl="$(command -v "$(brew --prefix openssl 2>/dev/null || true)"/bin/openssl openssl | head -n1)" output="$("$openssl" dgst -sha256 2>/dev/null)" || return 1 echo "${output##* }" elif type sha256sum &>/dev/null; then @@ -867,7 +872,7 @@ fix_jython_shebangs() { # Workaround for Jython 2.7+ (#458) for file in "${PREFIX_PATH}/bin"/*; do - case "$(head -1 "${file}")" in + case "$(head -n1 "${file}")" in "#!"*"/bin/jython" ) sed -i.bak "1 s:.*:#\!${PREFIX_PATH}\/bin\/jython:" "${file}" ;; @@ -1144,7 +1149,7 @@ } require_java7() { - local version="$(java -version 2>&1 | grep '\(java\|openjdk\) version' | head -1)" + local version="$(java -version 2>&1 | grep '\(java\|openjdk\) version' | head -n1)" if [[ $version != *[789]* ]]; then colorize 1 "ERROR" >&3 echo ": Java 7 required. Please install a 1.7-compatible JRE." >&3 @@ -1587,7 +1592,7 @@ RbConfig::CONFIG.fetch("configure_args").shellsplit.each { |arg| $stderr.puts " #{arg}" } exit 1 end - ' "$(basename "$(type -P yum apt-get | head -1)")" >&4 2>&1 + ' "$(basename "$(type -P yum apt-get | head -n1)")" >&4 2>&1 } use_homebrew_zlib() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/3.10.11 new/pyenv-2.3.17/plugins/python-build/share/python-build/3.10.11 --- old/pyenv-2.3.13/plugins/python-build/share/python-build/3.10.11 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/3.10.11 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,9 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-1.1.1o" "https://www.openssl.org/source/openssl-1.1.1o.tar.gz#9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.10.11" "https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tar.xz#3c3bc3048303721c904a03eb8326b631e921f11cc3be2988456a42f115daf04c" standard verify_py310 copy_python_gdb ensurepip +else + install_package "Python-3.10.11" "https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tar.xz#3c3bc3048303721c904a03eb8326b631e921f11cc3be2988456a42f115daf04c" standard verify_py310 copy_python_gdb ensurepip +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/3.11.3 new/pyenv-2.3.17/plugins/python-build/share/python-build/3.11.3 --- old/pyenv-2.3.13/plugins/python-build/share/python-build/3.11.3 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/3.11.3 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,10 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1 +install_package "openssl-1.1.1s" "https://www.openssl.org/source/openssl-1.1.1s.tar.gz#c5ac01e760ee6ff0dab61d6b2bbd30146724d063eb322180c6f18a6f74e4b6aa" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.11.3" "https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tar.xz#8a5db99c961a7ecf27c75956189c9602c968751f11dbeae2b900dbff1c085b5e" standard verify_py311 copy_python_gdb ensurepip +else + install_package "Python-3.11.3" "https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tar.xz#8a5db99c961a7ecf27c75956189c9602c968751f11dbeae2b900dbff1c085b5e" standard verify_py311 copy_python_gdb ensurepip +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/3.12.0a5 new/pyenv-2.3.17/plugins/python-build/share/python-build/3.12.0a5 --- old/pyenv-2.3.13/plugins/python-build/share/python-build/3.12.0a5 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/3.12.0a5 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -prefer_openssl11 -export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 -install_package "openssl-1.1.1s" "https://www.openssl.org/source/openssl-1.1.1s.tar.gz#c5ac01e760ee6ff0dab61d6b2bbd30146724d063eb322180c6f18a6f74e4b6aa" mac_openssl --if has_broken_mac_openssl -install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline -if has_tar_xz_support; then - install_package "Python-3.12.0a5" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0a5.tar.xz#d66ef7a342fe3a356f9cee3bb97adc1e5fb4840f6b6cff7de0ff7dd495f8323b" standard verify_py312 copy_python_gdb ensurepip -else - install_package "Python-3.12.0a5" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0a5.tgz#53bea5094887bba2fc4f429fa8abb4976b5c7cfe70d41923cf6aff0b4854c666" standard verify_py312 copy_python_gdb ensurepip -fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/3.12.0a7 new/pyenv-2.3.17/plugins/python-build/share/python-build/3.12.0a7 --- old/pyenv-2.3.13/plugins/python-build/share/python-build/3.12.0a7 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/3.12.0a7 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,9 @@ +prefer_openssl11 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-1.1.1s" "https://www.openssl.org/source/openssl-1.1.1s.tar.gz#c5ac01e760ee6ff0dab61d6b2bbd30146724d063eb322180c6f18a6f74e4b6aa" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.12.0a7" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0a7.tar.xz#a19ae4dc5afebdff5e1312346f160062a11e0dbd5f9e68a6a981ea37b21608e1" standard verify_py312 copy_python_gdb ensurepip +else + install_package "Python-3.12.0a7" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0a7.tgz#86d288766153193706e545cc98f73ea8ef1a9cb057608cfdecbd89190b796cf6" standard verify_py312 copy_python_gdb ensurepip +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/anaconda3-2023.03 new/pyenv-2.3.17/plugins/python-build/share/python-build/anaconda3-2023.03 --- old/pyenv-2.3.13/plugins/python-build/share/python-build/anaconda3-2023.03 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/anaconda3-2023.03 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,28 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Anaconda3-2023.03-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-aarch64.sh#613797154d9383355677f7dfee10db32b2c327cbedabddcb303598f242c79883" "anaconda" verify_py310 + ;; +"Linux-ppc64le" ) + install_script "Anaconda3-2023.03-Linux-ppc64le" "https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-ppc64le.sh#eafeaccca96f60ebb0aa0052d9baac8eaa2ee422358ee35b12f60f37e8a3ebb2" "anaconda" verify_py310 + ;; +"Linux-s390x" ) + install_script "Anaconda3-2023.03-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-s390x.sh#2648337081c3ce4b760457c5f00fb768ecd7d1d0957051ef5252ab380bb78233" "anaconda" verify_py310 + ;; +"Linux-x86_64" ) + install_script "Anaconda3-2023.03-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh#19737d5c27b23a1d8740c5cb2414bf6253184ce745d0a912bb235a212a15e075" "anaconda" verify_py310 + ;; +"MacOSX-arm64" ) + install_script "Anaconda3-2023.03-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-MacOSX-arm64.sh#d27ee5432438972e90548e3dfa89490c5dc38a723f4dcd53061f0bd9d53b1bd0" "anaconda" verify_py310 + ;; +"MacOSX-x86_64" ) + install_script "Anaconda3-2023.03-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-MacOSX-x86_64.sh#cc37b1eb85bdc2ade3f95201a746cdc63ee4fbfae48ee9d0c7a3cf319562452d" "anaconda" verify_py310 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Anaconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/miniconda3-3.10-23.1.0-1 new/pyenv-2.3.17/plugins/python-build/share/python-build/miniconda3-3.10-23.1.0-1 --- old/pyenv-2.3.13/plugins/python-build/share/python-build/miniconda3-3.10-23.1.0-1 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/miniconda3-3.10-23.1.0-1 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,28 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py310_23.1.0-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-aarch64.sh#80d6c306b015e1e3b01ea59dc66c676a81fa30279bc2da1f180a7ef7b2191d6e" "miniconda" verify_py310 + ;; +"Linux-ppc64le" ) + install_script "Miniconda3-py310_23.1.0-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-ppc64le.sh#9ca8077a0af8845fc574a120ef8d68690d7a9862d354a2a4468de5d2196f406c" "miniconda" verify_py310 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py310_23.1.0-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-s390x.sh#0d00a9d34c5fd17d116bf4e7c893b7441a67c7a25416ede90289d87216104a97" "miniconda" verify_py310 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py310_23.1.0-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-x86_64.sh#32d73e1bc33fda089d7cd9ef4c1be542616bd8e437d1f77afeeaf7afdb019787" "miniconda" verify_py310 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py310_23.1.0-1-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-MacOSX-arm64.sh#cc5bcf95d5db0f7f454b2d800d52da8b70563f8454d529e7ac2da9725650eb27" "miniconda" verify_py310 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py310_23.1.0-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-MacOSX-x86_64.sh#bfb81814e16eb450b1dbde7b4ecb9ebc5186834cb4ede5926c699762ca69953b" "miniconda" verify_py310 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/miniconda3-3.7-23.1.0-1 new/pyenv-2.3.17/plugins/python-build/share/python-build/miniconda3-3.7-23.1.0-1 --- old/pyenv-2.3.13/plugins/python-build/share/python-build/miniconda3-3.7-23.1.0-1 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/miniconda3-3.7-23.1.0-1 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py37_23.1.0-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py37_23.1.0-1-Linux-aarch64.sh#31c1d635fae931b7c0687018cc87e918e8098ed5dd5e76a658e10c57e00ef864" "miniconda" verify_py37 + ;; +"Linux-ppc64le" ) + install_script "Miniconda3-py37_23.1.0-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py37_23.1.0-1-Linux-ppc64le.sh#d2de534bfa46aa34ef0b115a309de7e8a681683af65faf86bcee6a00460f07be" "miniconda" verify_py37 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py37_23.1.0-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py37_23.1.0-1-Linux-s390x.sh#72a8fa9aca5abaf99771110746b1345a33d390c9b29a7b4daffe6a2ff00f2366" "miniconda" verify_py37 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py37_23.1.0-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py37_23.1.0-1-Linux-x86_64.sh#fc96109ea96493e31f70abbc5cae58e80634480c0686ab46924549ac41176812" "miniconda" verify_py37 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py37_23.1.0-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py37_23.1.0-1-MacOSX-x86_64.sh#bdfb2f01c0a3917bf258daffc65b69bfe07e29753be624aaf9cbda5ba02f43f4" "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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/miniconda3-3.8-23.1.0-1 new/pyenv-2.3.17/plugins/python-build/share/python-build/miniconda3-3.8-23.1.0-1 --- old/pyenv-2.3.13/plugins/python-build/share/python-build/miniconda3-3.8-23.1.0-1 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/miniconda3-3.8-23.1.0-1 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,28 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py38_23.1.0-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-Linux-aarch64.sh#10ea91cc579a64a3a88727119ac3f55839562f55118458b82824b544bc74f90d" "miniconda" verify_py38 + ;; +"Linux-ppc64le" ) + install_script "Miniconda3-py38_23.1.0-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-Linux-ppc64le.sh#d89faee2d839c7e8a2c96f3ca60295c08e837c2f134f6bb9e9e21b707babedc2" "miniconda" verify_py38 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py38_23.1.0-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-Linux-s390x.sh#3d1e06eddaef0976530c54ed7dda80df62705c16513634e58f7d1c4567227b9e" "miniconda" verify_py38 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py38_23.1.0-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-Linux-x86_64.sh#640b7dceee6fad10cb7e7b54667b2945c4d6f57625d062b2b0952b7f3a908ab7" "miniconda" verify_py38 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py38_23.1.0-1-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-MacOSX-arm64.sh#8dfab7797151a31b16c174da9a5bc09529d5859f21e77f0655ea9b18209cc926" "miniconda" verify_py38 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py38_23.1.0-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-MacOSX-x86_64.sh#5d789cda38b23245ffed6b88c60b7479d984bbf20e3b70d66cd150f04a9c25c5" "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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/miniconda3-3.9-23.1.0-1 new/pyenv-2.3.17/plugins/python-build/share/python-build/miniconda3-3.9-23.1.0-1 --- old/pyenv-2.3.13/plugins/python-build/share/python-build/miniconda3-3.9-23.1.0-1 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/miniconda3-3.9-23.1.0-1 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,28 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniconda3-py39_23.1.0-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-Linux-aarch64.sh#5e67416a574c49e19dc21d5b9ed586400863a685bc4e34b4d933ea8c7c1ed2da" "miniconda" verify_py39 + ;; +"Linux-ppc64le" ) + install_script "Miniconda3-py39_23.1.0-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-Linux-ppc64le.sh#cf5d7cad2b0eb260903b3661ee3fa822eecb25cf3c9b14bc9de10d72963d3d5a" "miniconda" verify_py39 + ;; +"Linux-s390x" ) + install_script "Miniconda3-py39_23.1.0-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-Linux-s390x.sh#5159322f15d9e2b22b3cf90fe88b336d84f62189178c872a9288a339d86f5d20" "miniconda" verify_py39 + ;; +"Linux-x86_64" ) + install_script "Miniconda3-py39_23.1.0-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-Linux-x86_64.sh#5dc619babc1d19d6688617966251a38d245cb93d69066ccde9a013e1ebb5bf18" "miniconda" verify_py39 + ;; +"MacOSX-arm64" ) + install_script "Miniconda3-py39_23.1.0-1-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-MacOSX-arm64.sh#a7133a703e41ea0b1738196fb03f72b22250327adea94521c9dd6100c304dc63" "miniconda" verify_py39 + ;; +"MacOSX-x86_64" ) + install_script "Miniconda3-py39_23.1.0-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-MacOSX-x86_64.sh#d78eaac94f85bacbc704f629bdfbc2cd42a72dc3a4fd383a3bfc80997495320e" "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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/miniforge3-22.11.1-4 new/pyenv-2.3.17/plugins/python-build/share/python-build/miniforge3-22.11.1-4 --- old/pyenv-2.3.13/plugins/python-build/share/python-build/miniforge3-22.11.1-4 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/miniforge3-22.11.1-4 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,25 @@ +case "$(anaconda_architecture 2>/dev/null || true)" in +"Linux-aarch64" ) + install_script "Miniforge3-22.11.1-4-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Miniforge3-22.11.1-4-Linux-aarch64.sh#2beb7624679016dcd4758ffb9b18efe4ba79af95e2357a606a4945f8ee64dbe6" "miniconda" verify_py310 + ;; +"Linux-ppc64le" ) + install_script "Miniforge3-22.11.1-4-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Miniforge3-22.11.1-4-Linux-ppc64le.sh#d689249d97e170d4dedd54291eb6680243ef83b39900ecb1d6df0679c70434d4" "miniconda" verify_py310 + ;; +"Linux-x86_64" ) + install_script "Miniforge3-22.11.1-4-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Miniforge3-22.11.1-4-Linux-x86_64.sh#737d1b2666528416706a916b355c43ff58deeaebf5ca906bc1a551e96c73ab8e" "miniconda" verify_py310 + ;; +"MacOSX-arm64" ) + install_script "Miniforge3-22.11.1-4-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Miniforge3-22.11.1-4-MacOSX-arm64.sh#7be6b8b25eb328d6df048a7b533514097a6d30ff348d0f28671059c98c4c31aa" "miniconda" verify_py310 + ;; +"MacOSX-x86_64" ) + install_script "Miniforge3-22.11.1-4-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Miniforge3-22.11.1-4-MacOSX-x86_64.sh#d3bd39dc391552a037a95230786c026165c042499fa365aae0da4002d9530731" "miniconda" verify_py310 + ;; +* ) + { echo + colorize 1 "ERROR" + echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)." + echo + } >&2 + exit 1 + ;; +esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0001-bpo-27987-pymalloc-align-by-16bytes-on-64bit-platfor.patch new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0001-bpo-27987-pymalloc-align-by-16bytes-on-64bit-platfor.patch --- old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0001-bpo-27987-pymalloc-align-by-16bytes-on-64bit-platfor.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0001-bpo-27987-pymalloc-align-by-16bytes-on-64bit-platfor.patch 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,43 @@ +From 112cceb514e79b4c9805f9e5ea037a205be428da Mon Sep 17 00:00:00 2001 +From: Inada Naoki <songofaca...@gmail.com> +Date: Tue, 14 May 2019 18:51:15 +0900 +Subject: [PATCH 1/2] bpo-27987: pymalloc: align by 16bytes on 64bit platform + (GH-12850) + +--- + .../2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst | 3 +++ + Objects/obmalloc.c | 6 ++++++ + 2 files changed, 9 insertions(+) + create mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst + +diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst b/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst +new file mode 100644 +index 0000000000..b0f32a5c6c +--- /dev/null ++++ b/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst +@@ -0,0 +1,3 @@ ++pymalloc returns memory blocks aligned by 16 bytes, instead of 8 bytes, on ++64-bit platforms to conform x86-64 ABI. Recent compilers assume this alignment ++more often. Patch by Inada Naoki. +diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c +index 9dd8421a33..da9029c4a6 100644 +--- a/Objects/obmalloc.c ++++ b/Objects/obmalloc.c +@@ -540,8 +540,14 @@ static int running_on_valgrind = -1; + * + * You shouldn't change this unless you know what you are doing. + */ ++ ++#if SIZEOF_VOID_P > 4 ++#define ALIGNMENT 16 /* must be 2^N */ ++#define ALIGNMENT_SHIFT 4 ++#else + #define ALIGNMENT 8 /* must be 2^N */ + #define ALIGNMENT_SHIFT 3 ++#endif + + /* Return the number of bytes in size class I, as a uint. */ + #define INDEX2SIZE(I) (((uint)(I) + 1) << ALIGNMENT_SHIFT) +-- +2.38.4 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0002-bpo-27987-align-PyGC_Head-to-alignof-long-double-GH-.patch new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0002-bpo-27987-align-PyGC_Head-to-alignof-long-double-GH-.patch --- old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0002-bpo-27987-align-PyGC_Head-to-alignof-long-double-GH-.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0002-bpo-27987-align-PyGC_Head-to-alignof-long-double-GH-.patch 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,40 @@ +From 618ef35426ecc57da1bee50f8dc5896f5fb178a9 Mon Sep 17 00:00:00 2001 +From: Inada Naoki <songofaca...@gmail.com> +Date: Sat, 25 May 2019 21:13:33 +0900 +Subject: [PATCH 2/2] bpo-27987: align PyGC_Head to alignof(long double) + (GH-13335) + +--- + Include/objimpl.h | 6 +++++- + .../2019-05-15-18-28-43.bpo-27987.FaxuLy.rst | 2 ++ + 2 files changed, 7 insertions(+), 1 deletion(-) + create mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst + +diff --git a/Include/objimpl.h b/Include/objimpl.h +index 65b6d91c36..eaf57975c8 100644 +--- a/Include/objimpl.h ++++ b/Include/objimpl.h +@@ -250,7 +250,11 @@ typedef union _gc_head { + union _gc_head *gc_prev; + Py_ssize_t gc_refs; + } gc; +- double dummy; /* force worst-case alignment */ ++ long double dummy; /* force worst-case alignment */ ++ // malloc returns memory block aligned for any built-in types and ++ // long double is the largest standard C type. ++ // On amd64 linux, long double requires 16 byte alignment. ++ // See bpo-27987 for more discussion. + } PyGC_Head; + + extern PyGC_Head *_PyGC_generation0; +diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst b/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst +new file mode 100644 +index 0000000000..97ca37b262 +--- /dev/null ++++ b/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst +@@ -0,0 +1,2 @@ ++``PyGC_Head`` structure is aligned to ``long double``. This is needed to ++GC-ed objects are aligned properly. Patch by Inada Naoki. +-- +2.38.4 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0003-bpo-45405-Prevent-internal-configure-error-when-runn.patch new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0003-bpo-45405-Prevent-internal-configure-error-when-runn.patch --- old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0003-bpo-45405-Prevent-internal-configure-error-when-runn.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0003-bpo-45405-Prevent-internal-configure-error-when-runn.patch 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,86 @@ +From 655f26bb742d6bd32c388e9fea14b64eb25fd4de Mon Sep 17 00:00:00 2001 +From: Ned Deily <n...@python.org> +Date: Tue, 15 Mar 2022 03:18:39 -0400 +Subject: [PATCH] bpo-45405: Prevent internal configure error when running + configure with recent versions of clang. (GH-28845) (GH-31890) + +Change the configure logic to function properly on macOS when the compiler +outputs a platform triplet for option --print-multiarch. +The Apple Clang included with Xcode 13.3 now supports --print-multiarch +causing configure to fail without this change. + +Co-authored-by: Ned Deily <n...@python.org> +(cherry picked from commit 9c4766772cda67648184f8ddba546a5fc0167f91) + +Co-authored-by: David Bohman <deboh...@gmail.com> +(cherry picked from commit 720bb456dc711b0776bae837d1f9a0b10c28ddf2) +--- + .../next/Build/2021-10-11-16-27-38.bpo-45405.iSfdW5.rst | 2 ++ + configure | 8 +++++--- + configure.ac | 8 +++++--- + 3 files changed, 12 insertions(+), 6 deletions(-) + create mode 100644 Misc/NEWS.d/next/Build/2021-10-11-16-27-38.bpo-45405.iSfdW5.rst + +diff --git a/Misc/NEWS.d/next/Build/2021-10-11-16-27-38.bpo-45405.iSfdW5.rst b/Misc/NEWS.d/next/Build/2021-10-11-16-27-38.bpo-45405.iSfdW5.rst +new file mode 100644 +index 0000000000..13c93d1b8a +--- /dev/null ++++ b/Misc/NEWS.d/next/Build/2021-10-11-16-27-38.bpo-45405.iSfdW5.rst +@@ -0,0 +1,2 @@ ++Prevent ``internal configure error`` when running ``configure`` ++with recent versions of clang. Patch by David Bohman. +diff --git a/configure b/configure +index fb0a499145..67e6e69b5f 100755 +--- a/configure ++++ b/configure +@@ -5203,9 +5203,6 @@ $as_echo "$as_me: + fi + + +-MULTIARCH=$($CC --print-multiarch 2>/dev/null) +- +- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the platform triplet based on compiler characteristics" >&5 + $as_echo_n "checking for the platform triplet based on compiler characteristics... " >&6; } + cat >> conftest.c <<EOF +@@ -5334,6 +5331,11 @@ $as_echo "none" >&6; } + fi + rm -f conftest.c conftest.out + ++if test x$PLATFORM_TRIPLET != xdarwin; then ++ MULTIARCH=$($CC --print-multiarch 2>/dev/null) ++fi ++ ++ + if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then + if test x$PLATFORM_TRIPLET != x$MULTIARCH; then + as_fn_error $? "internal configure error for the platform triplet, please file a bug report" "$LINENO" 5 +diff --git a/configure.ac b/configure.ac +index d86dad9a7c..468ad6070f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -747,9 +747,6 @@ then + fi + + +-MULTIARCH=$($CC --print-multiarch 2>/dev/null) +-AC_SUBST(MULTIARCH) +- + AC_MSG_CHECKING([for the platform triplet based on compiler characteristics]) + cat >> conftest.c <<EOF + #undef bfin +@@ -875,6 +872,11 @@ else + fi + rm -f conftest.c conftest.out + ++if test x$PLATFORM_TRIPLET != xdarwin; then ++ MULTIARCH=$($CC --print-multiarch 2>/dev/null) ++fi ++AC_SUBST(MULTIARCH) ++ + if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then + if test x$PLATFORM_TRIPLET != x$MULTIARCH; then + AC_MSG_ERROR([internal configure error for the platform triplet, please file a bug report]) +-- +2.32.0 (Apple Git-132) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0004-Detect-arm64-in-configure.patch new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0004-Detect-arm64-in-configure.patch --- old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0004-Detect-arm64-in-configure.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0004-Detect-arm64-in-configure.patch 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,41 @@ +From 002501946bad91a308f37a09204393c172f03c3e Mon Sep 17 00:00:00 2001 +From: Takumi Sueda <puhit...@gmail.com> +Date: Sat, 11 Sep 2021 16:50:14 +0900 +Subject: [PATCH 2/6] Detect arm64 in configure + +--- + configure | 3 +++ + configure.ac | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/configure b/configure +index e39c16eee2..8dc1fc7595 100755 +--- a/configure ++++ b/configure +@@ -9230,6 +9230,9 @@ fi + ppc) + MACOSX_DEFAULT_ARCH="ppc64" + ;; ++ arm64) ++ MACOSX_DEFAULT_ARCH="arm64" ++ ;; + *) + as_fn_error $? "Unexpected output of 'arch' on OSX" "$LINENO" 5 + ;; +diff --git a/configure.ac b/configure.ac +index cf280506bd..34846a7df3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2435,6 +2435,9 @@ case $ac_sys_system/$ac_sys_release in + ppc) + MACOSX_DEFAULT_ARCH="ppc64" + ;; ++ arm64) ++ MACOSX_DEFAULT_ARCH="arm64" ++ ;; + *) + AC_MSG_ERROR([Unexpected output of 'arch' on OSX]) + ;; +-- +2.30.1 (Apple Git-130) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0005-BPO-41100-Support-macOS-11-when-building-GH-21113.patch new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0005-BPO-41100-Support-macOS-11-when-building-GH-21113.patch --- old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0005-BPO-41100-Support-macOS-11-when-building-GH-21113.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0005-BPO-41100-Support-macOS-11-when-building-GH-21113.patch 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,48 @@ +From 8ea6353f60625c96ce96588c70ff24a77f8c71f9 Mon Sep 17 00:00:00 2001 +From: Ronald Oussoren <ronaldousso...@mac.com> +Date: Thu, 25 Jun 2020 16:55:48 +0200 +Subject: [PATCH] BPO-41100: Support macOS 11 when building (GH-21113) + +--- + Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst | 1 + + configure | 2 +- + configure.ac | 2 +- + 3 files changed, 3 insertions(+), 2 deletions(-) + create mode 100644 Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst + +diff --git a/Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst b/Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst +new file mode 100644 +index 0000000000..ded66b567a +--- /dev/null ++++ b/Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst +@@ -0,0 +1 @@ ++Support macOS 11 when building. +diff --git a/configure b/configure +index c51f396824..5024860ca4 100755 +--- a/configure ++++ b/configure +@@ -3375,7 +3375,7 @@ $as_echo "#define _BSD_SOURCE 1" >>confdefs.h + # has no effect, don't bother defining them + Darwin/[6789].*) + define_xopen_source=no;; +- Darwin/1[0-9].*) ++ Darwin/[12][0-9].*) + define_xopen_source=no;; + # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but + # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined +diff --git a/configure.ac b/configure.ac +index 70deefb6b9..5a3e340aa3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -495,7 +495,7 @@ case $ac_sys_system/$ac_sys_release in + # has no effect, don't bother defining them + Darwin/@<:@6789@:>@.*) + define_xopen_source=no;; +- Darwin/1@<:@0-9@:>@.*) ++ Darwin/@<:@[12]@:>@@<:@0-9@:>@.*) + define_xopen_source=no;; + # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but + # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined +-- +2.30.1 (Apple Git-130) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0006-bpo-41100-fix-_decimal-for-arm64-Mac-OS-GH-21228.patch new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0006-bpo-41100-fix-_decimal-for-arm64-Mac-OS-GH-21228.patch --- old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0006-bpo-41100-fix-_decimal-for-arm64-Mac-OS-GH-21228.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0006-bpo-41100-fix-_decimal-for-arm64-Mac-OS-GH-21228.patch 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,37 @@ +From 604d95e235d86465b8c17f02095edcaf18464d4c Mon Sep 17 00:00:00 2001 +From: Lawrence D'Anna <64555057+lawrence-danna-ap...@users.noreply.github.com> +Date: Tue, 30 Jun 2020 02:15:46 -0700 +Subject: [PATCH] bpo-41100: fix _decimal for arm64 Mac OS (GH-21228) + +Patch by Lawrence Danna. +--- + .../Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst | 1 + + Modules/_decimal/libmpdec/mpdecimal.h | 3 +++ + 2 files changed, 4 insertions(+) + create mode 100644 Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst + +diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst b/Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst +new file mode 100644 +index 0000000000..d6176d69f0 +--- /dev/null ++++ b/Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst +@@ -0,0 +1 @@ ++add arm64 to the allowable Mac OS arches in mpdecimal.h +\ No newline at end of file +diff --git a/Modules/_decimal/libmpdec/mpdecimal.h b/Modules/_decimal/libmpdec/mpdecimal.h +index 108b76efa8..35ce429f60 100644 +--- a/Modules/_decimal/libmpdec/mpdecimal.h ++++ b/Modules/_decimal/libmpdec/mpdecimal.h +@@ -135,6 +135,9 @@ const char *mpd_version(void); + #elif defined(__x86_64__) + #define CONFIG_64 + #define ASM ++ #elif defined(__arm64__) ++ #define CONFIG_64 ++ #define ANSI + #else + #error "unknown architecture for universal build." + #endif +-- +2.30.1 (Apple Git-130) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0007-Port-ctypes-and-system-libffi-patch-for-arm64-macOS-.patch new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0007-Port-ctypes-and-system-libffi-patch-for-arm64-macOS-.patch --- old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0007-Port-ctypes-and-system-libffi-patch-for-arm64-macOS-.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0007-Port-ctypes-and-system-libffi-patch-for-arm64-macOS-.patch 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,132 @@ +From 409b4ecef88643996ce00482b650c0246a977a4b Mon Sep 17 00:00:00 2001 +From: Chaim Halbert <chaim.leib.halb...@gmail.com> +Date: Sun, 26 Feb 2023 06:21:54 -0700 +Subject: [PATCH] Port ctypes and system libffi patch for arm64/macOS 10.15+ to + Python 3.5.10 + +This backports the following ctypes and libffi pyenv patch for Python +3.6.15 to Python 3.5.10: + +* `0004-Port-ctypes-and-system-libffi-patches-for-arm64-macO.patch` + +This patch enables use of system libffi (fixing a broken `ctypes` module +on arm64 targets) and enables calling variadic functions on arm64. +--- + setup.py | 65 +++++++++++++++++++++++++++++++++++++++++++------------- + 1 file changed, 50 insertions(+), 15 deletions(-) + +diff --git a/setup.py b/setup.py +index 2944c9dd6f..ab8065866f 100644 +--- a/setup.py ++++ b/setup.py +@@ -73,6 +73,13 @@ def macosx_sdk_root(): + sysroot = m.group(1) + return sysroot + ++def is_macosx_at_least(vers): ++ if host_platform == 'darwin': ++ dep_target = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET') ++ if dep_target: ++ return tuple(map(int, str(dep_target).split('.'))) >= vers ++ return False ++ + def is_macosx_sdk_path(path): + """ + Returns True if 'path' can be located in an OSX SDK +@@ -81,6 +88,13 @@ def is_macosx_sdk_path(path): + or path.startswith('/System/') + or path.startswith('/Library/') ) + ++def grep_headers_for(function, headers): ++ for header in headers: ++ with open(header, 'r') as f: ++ if function in f.read(): ++ return True ++ return False ++ + def find_file(filename, std_dirs, paths): + """Searches for the directory where a given file is located, + and returns a possibly-empty list of additional directories, or None +@@ -1939,7 +1953,11 @@ class PyBuildExt(build_ext): + return True + + def detect_ctypes(self, inc_dirs, lib_dirs): +- self.use_system_libffi = False ++ if not sysconfig.get_config_var("LIBFFI_INCLUDEDIR") and is_macosx_at_least((10,15)): ++ self.use_system_libffi = True ++ else: ++ self.use_system_libffi = '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS") ++ + include_dirs = [] + extra_compile_args = [] + extra_link_args = [] +@@ -1986,19 +2004,29 @@ class PyBuildExt(build_ext): + libraries=math_libs) + self.extensions.extend([ext, ext_test]) + +- if not '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"): +- return ++ ffi_inc = sysconfig.get_config_var("LIBFFI_INCLUDEDIR") ++ ffi_lib = None + + if host_platform == 'darwin': +- # OS X 10.5 comes with libffi.dylib; the include files are +- # in /usr/include/ffi +- inc_dirs.append('/usr/include/ffi') +- +- ffi_inc = [sysconfig.get_config_var("LIBFFI_INCLUDEDIR")] +- if not ffi_inc or ffi_inc[0] == '': +- ffi_inc = find_file('ffi.h', [], inc_dirs) +- if ffi_inc is not None: +- ffi_h = ffi_inc[0] + '/ffi.h' ++ if not self.use_system_libffi: ++ return ++ ffi_in_sdk = os.path.join(macosx_sdk_root(), "usr/include/ffi") ++ if os.path.exists(ffi_in_sdk): ++ ffi_inc = ffi_in_sdk ++ ffi_lib = 'ffi' ++ else: ++ # OS X 10.5 comes with libffi.dylib; the include files are ++ # in /usr/include/ffi ++ inc_dirs.append('/usr/include/ffi') ++ elif '--without-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"): ++ return ++ ++ if not ffi_inc: ++ found = find_file('ffi.h', [], inc_dirs) ++ if found: ++ ffi_inc = found[0] ++ if ffi_inc: ++ ffi_h = ffi_inc + '/ffi.h' + with open(ffi_h) as f: + for line in f: + line = line.strip() +@@ -2009,15 +2037,22 @@ class PyBuildExt(build_ext): + ffi_inc = None + print('Header file {} does not define LIBFFI_H or ' + 'ffi_wrapper_h'.format(ffi_h)) +- ffi_lib = None +- if ffi_inc is not None: ++ if ffi_lib is None and ffi_inc is not None: + for lib_name in ('ffi_convenience', 'ffi_pic', 'ffi'): + if (self.compiler.find_library_file(lib_dirs, lib_name)): + ffi_lib = lib_name + break + + if ffi_inc and ffi_lib: +- ext.include_dirs.extend(ffi_inc) ++ ffi_headers = glob(os.path.join(ffi_inc, '*.h')) ++ if grep_headers_for('ffi_closure_alloc', ffi_headers): ++ try: ++ sources.remove('_ctypes/malloc_closure.c') ++ except ValueError: ++ pass ++ if grep_headers_for('ffi_prep_cif_var', ffi_headers): ++ ext.extra_compile_args.append("-DHAVE_FFI_PREP_CIF_VAR=1") ++ ext.include_dirs.append(ffi_inc) + ext.libraries.append(ffi_lib) + self.use_system_libffi = True + +-- +2.39.2 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0008-bpo-36231-Support-building-on-macOS-without-usr-incl.patch new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0008-bpo-36231-Support-building-on-macOS-without-usr-incl.patch --- old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0008-bpo-36231-Support-building-on-macOS-without-usr-incl.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.5.10/Python-3.5.10/0008-bpo-36231-Support-building-on-macOS-without-usr-incl.patch 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,93 @@ +From c7302116573d853d3181133477d9d0e4d4d3abfd Mon Sep 17 00:00:00 2001 +From: Ned Deily <n...@python.org> +Date: Tue, 18 Jun 2019 16:28:13 -0400 +Subject: [PATCH] bpo-36231: Support building on macOS without /usr/include + (GH-13773) (GH-14208) + +--- + .../2019-06-03-05-49-49.bpo-36231.RfmW_p.rst | 3 ++ + setup.py | 53 ++++++++++++++++--- + 2 files changed, 49 insertions(+), 7 deletions(-) + create mode 100644 Misc/NEWS.d/next/macOS/2019-06-03-05-49-49.bpo-36231.RfmW_p.rst + +diff --git a/Misc/NEWS.d/next/macOS/2019-06-03-05-49-49.bpo-36231.RfmW_p.rst b/Misc/NEWS.d/next/macOS/2019-06-03-05-49-49.bpo-36231.RfmW_p.rst +new file mode 100644 +index 0000000000..c82e54c12c +--- /dev/null ++++ b/Misc/NEWS.d/next/macOS/2019-06-03-05-49-49.bpo-36231.RfmW_p.rst +@@ -0,0 +1,3 @@ ++Support building Python on macOS without /usr/include installed. As of macOS ++10.14, system header files are only available within an SDK provided by ++either the Command Line Tools or the Xcode app. +diff --git a/setup.py b/setup.py +index bcc4bfa89d..5e0cd02430 100644 +--- a/setup.py ++++ b/setup.py +@@ -90,18 +90,57 @@ def sysroot_paths(make_vars, subdirs): + break + return dirs + ++MACOS_SDK_ROOT = None ++ + def macosx_sdk_root(): ++ """Return the directory of the current macOS SDK. ++ ++ If no SDK was explicitly configured, call the compiler to find which ++ include files paths are being searched by default. Use '/' if the ++ compiler is searching /usr/include (meaning system header files are ++ installed) or use the root of an SDK if that is being searched. ++ (The SDK may be supplied via Xcode or via the Command Line Tools). ++ The SDK paths used by Apple-supplied tool chains depend on the ++ setting of various variables; see the xcrun man page for more info. + """ +- Return the directory of the current OSX SDK, +- or '/' if no SDK was specified. +- """ ++ global MACOS_SDK_ROOT ++ ++ # If already called, return cached result. ++ if MACOS_SDK_ROOT: ++ return MACOS_SDK_ROOT ++ + cflags = sysconfig.get_config_var('CFLAGS') + m = re.search(r'-isysroot\s+(\S+)', cflags) +- if m is None: +- sysroot = '/' ++ if m is not None: ++ MACOS_SDK_ROOT = m.group(1) + else: +- sysroot = m.group(1) +- return sysroot ++ MACOS_SDK_ROOT = '/' ++ cc = sysconfig.get_config_var('CC') ++ tmpfile = '/tmp/setup_sdk_root.%d' % os.getpid() ++ try: ++ os.unlink(tmpfile) ++ except: ++ pass ++ ret = os.system('%s -E -v - </dev/null 2>%s 1>/dev/null' % (cc, tmpfile)) ++ in_incdirs = False ++ try: ++ if ret >> 8 == 0: ++ with open(tmpfile) as fp: ++ for line in fp.readlines(): ++ if line.startswith("#include <...>"): ++ in_incdirs = True ++ elif line.startswith("End of search list"): ++ in_incdirs = False ++ elif in_incdirs: ++ line = line.strip() ++ if line == '/usr/include': ++ MACOS_SDK_ROOT = '/' ++ elif line.endswith(".sdk/usr/include"): ++ MACOS_SDK_ROOT = line[:-12] ++ finally: ++ os.unlink(tmpfile) ++ ++ return MACOS_SDK_ROOT + + def is_macosx_sdk_path(path): + """ +-- +2.30.1 (Apple Git-130) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.6.15/Python-3.6.15/0009-bpo-27987-pymalloc-align-by-16bytes-on-64bit-platfor.patch new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.6.15/Python-3.6.15/0009-bpo-27987-pymalloc-align-by-16bytes-on-64bit-platfor.patch --- old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.6.15/Python-3.6.15/0009-bpo-27987-pymalloc-align-by-16bytes-on-64bit-platfor.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.6.15/Python-3.6.15/0009-bpo-27987-pymalloc-align-by-16bytes-on-64bit-platfor.patch 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,43 @@ +From 54dc627769bf112b0181972a52c4b45e4a02da57 Mon Sep 17 00:00:00 2001 +From: Inada Naoki <songofaca...@gmail.com> +Date: Tue, 14 May 2019 18:51:15 +0900 +Subject: [PATCH 09/10] bpo-27987: pymalloc: align by 16bytes on 64bit platform + (GH-12850) + +--- + .../2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst | 3 +++ + Objects/obmalloc.c | 6 ++++++ + 2 files changed, 9 insertions(+) + create mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst + +diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst b/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst +new file mode 100644 +index 0000000000..b0f32a5c6c +--- /dev/null ++++ b/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst +@@ -0,0 +1,3 @@ ++pymalloc returns memory blocks aligned by 16 bytes, instead of 8 bytes, on ++64-bit platforms to conform x86-64 ABI. Recent compilers assume this alignment ++more often. Patch by Inada Naoki. +diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c +index d46d149311..47283354f4 100644 +--- a/Objects/obmalloc.c ++++ b/Objects/obmalloc.c +@@ -650,8 +650,14 @@ static int running_on_valgrind = -1; + * + * You shouldn't change this unless you know what you are doing. + */ ++ ++#if SIZEOF_VOID_P > 4 ++#define ALIGNMENT 16 /* must be 2^N */ ++#define ALIGNMENT_SHIFT 4 ++#else + #define ALIGNMENT 8 /* must be 2^N */ + #define ALIGNMENT_SHIFT 3 ++#endif + + /* Return the number of bytes in size class I, as a uint. */ + #define INDEX2SIZE(I) (((uint)(I) + 1) << ALIGNMENT_SHIFT) +-- +2.38.4 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.6.15/Python-3.6.15/0010-bpo-27987-align-PyGC_Head-to-alignof-long-double-GH-.patch new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.6.15/Python-3.6.15/0010-bpo-27987-align-PyGC_Head-to-alignof-long-double-GH-.patch --- old/pyenv-2.3.13/plugins/python-build/share/python-build/patches/3.6.15/Python-3.6.15/0010-bpo-27987-align-PyGC_Head-to-alignof-long-double-GH-.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/share/python-build/patches/3.6.15/Python-3.6.15/0010-bpo-27987-align-PyGC_Head-to-alignof-long-double-GH-.patch 2023-04-06 05:58:52.000000000 +0200 @@ -0,0 +1,40 @@ +From e68ff170dc6764b22886e703f583fb53e90367ef Mon Sep 17 00:00:00 2001 +From: Inada Naoki <songofaca...@gmail.com> +Date: Sat, 25 May 2019 21:13:33 +0900 +Subject: [PATCH 10/10] bpo-27987: align PyGC_Head to alignof(long double) + (GH-13335) + +--- + Include/objimpl.h | 6 +++++- + .../2019-05-15-18-28-43.bpo-27987.FaxuLy.rst | 2 ++ + 2 files changed, 7 insertions(+), 1 deletion(-) + create mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst + +diff --git a/Include/objimpl.h b/Include/objimpl.h +index e7a3696d7a..90d71b87ea 100644 +--- a/Include/objimpl.h ++++ b/Include/objimpl.h +@@ -255,7 +255,11 @@ typedef union _gc_head { + union _gc_head *gc_prev; + Py_ssize_t gc_refs; + } gc; +- double dummy; /* force worst-case alignment */ ++ long double dummy; /* force worst-case alignment */ ++ // malloc returns memory block aligned for any built-in types and ++ // long double is the largest standard C type. ++ // On amd64 linux, long double requires 16 byte alignment. ++ // See bpo-27987 for more discussion. + } PyGC_Head; + + extern PyGC_Head *_PyGC_generation0; +diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst b/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst +new file mode 100644 +index 0000000000..97ca37b262 +--- /dev/null ++++ b/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst +@@ -0,0 +1,2 @@ ++``PyGC_Head`` structure is aligned to ``long double``. This is needed to ++GC-ed objects are aligned properly. Patch by Inada Naoki. +-- +2.38.4 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/test/pyenv_ext.bats new/pyenv-2.3.17/plugins/python-build/test/pyenv_ext.bats --- old/pyenv-2.3.13/plugins/python-build/test/pyenv_ext.bats 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/test/pyenv_ext.bats 2023-04-06 05:58:52.000000000 +0200 @@ -89,7 +89,7 @@ } resolve_link() { - $(type -P greadlink readlink | head -1) "$1" + $(type -P greadlink readlink | head -n1) "$1" } run_inline_definition_with_name() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/test/test_helper.bash new/pyenv-2.3.17/plugins/python-build/test/test_helper.bash --- old/pyenv-2.3.13/plugins/python-build/test/test_helper.bash 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/test/test_helper.bash 2023-04-06 05:58:52.000000000 +0200 @@ -133,7 +133,7 @@ echo "assert_output_contains needs an argument" >&2 return 1 fi - echo "$output" | $(type -P ggrep grep | head -1) -F "$expected" >/dev/null || { + echo "$output" | $(type -P ggrep grep | head -n1) -F "$expected" >/dev/null || { { echo "expected output to contain $expected" echo "actual: $output" } | flunk diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.13/plugins/python-build/test/version.bats new/pyenv-2.3.17/plugins/python-build/test/version.bats --- old/pyenv-2.3.13/plugins/python-build/test/version.bats 2023-02-15 06:15:35.000000000 +0100 +++ new/pyenv-2.3.17/plugins/python-build/test/version.bats 2023-04-06 05:58:52.000000000 +0200 @@ -3,7 +3,7 @@ load test_helper bats_bin="${BATS_TEST_DIRNAME}/../bin/python-build" -static_version="$(grep VERSION "$bats_bin" | head -1 | cut -d'"' -f 2)" +static_version="$(grep VERSION "$bats_bin" | head -n1 | cut -d'"' -f 2)" @test "python-build static version" { stub git 'echo "ASPLODE" >&2; exit 1'