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-10-17 20:24:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pyenv (Old) and /work/SRC/openSUSE:Factory/.pyenv.new.20540 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pyenv" Tue Oct 17 20:24:44 2023 rev:31 rq:1118122 version:2.3.30 Changes: -------- --- /work/SRC/openSUSE:Factory/pyenv/pyenv.changes 2023-10-08 12:20:56.847828883 +0200 +++ /work/SRC/openSUSE:Factory/.pyenv.new.20540/pyenv.changes 2023-10-17 20:24:51.798998402 +0200 @@ -1,0 +2,11 @@ +Mon Oct 16 18:42:03 UTC 2023 - Thomas Schraitle <thomas.schrai...@suse.com> - 2.3.30 + +- Update to 2.3.30 + - Fix intermittent "broken pipe" in tests by @native-api in #2817 + - Add CPython 3.13.0a1 by @edgarrmondragon in #2818 + - Add PyPy 7.3.13 by @dand-oss in #2807 + - Fix linking against Homebrew's Tcl/Tk 8.6.13 in MacOS by @startergo in #2820 + +Full Changelog: https://github.com/pyenv/pyenv/compare/v2.3.29...v2.3.30 + +------------------------------------------------------------------- Old: ---- pyenv-2.3.29.tar.gz New: ---- pyenv-2.3.30.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pyenv.spec ++++++ --- /var/tmp/diff_new_pack.R6PY1x/_old 2023-10-17 20:24:52.771032430 +0200 +++ /var/tmp/diff_new_pack.R6PY1x/_new 2023-10-17 20:24:52.771032430 +0200 @@ -19,7 +19,7 @@ %define pyenv_dir %{_libexecdir}/pyenv # Name: pyenv -Version: 2.3.29 +Version: 2.3.30 Release: 0 Summary: Python Version Management License: MIT ++++++ pyenv-2.3.29.tar.gz -> pyenv-2.3.30.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/.github/workflows/macos_build.yml new/pyenv-2.3.30/.github/workflows/macos_build.yml --- old/pyenv-2.3.29/.github/workflows/macos_build.yml 2023-10-06 07:05:47.000000000 +0200 +++ new/pyenv-2.3.30/.github/workflows/macos_build.yml 2023-10-16 20:37:24.000000000 +0200 @@ -14,6 +14,7 @@ - "3.9" - "3.10" - "3.11" + - "3.12" runs-on: macos-11 steps: - uses: actions/checkout@v3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/.github/workflows/ubuntu_build.yml new/pyenv-2.3.30/.github/workflows/ubuntu_build.yml --- old/pyenv-2.3.29/.github/workflows/ubuntu_build.yml 2023-10-06 07:05:47.000000000 +0200 +++ new/pyenv-2.3.30/.github/workflows/ubuntu_build.yml 2023-10-16 20:37:24.000000000 +0200 @@ -14,6 +14,7 @@ - "3.9" - "3.10" - "3.11" + - "3.12" runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/CHANGELOG.md new/pyenv-2.3.30/CHANGELOG.md --- old/pyenv-2.3.29/CHANGELOG.md 2023-10-06 07:05:47.000000000 +0200 +++ new/pyenv-2.3.30/CHANGELOG.md 2023-10-16 20:37:24.000000000 +0200 @@ -1,5 +1,12 @@ # Version History +## Release v2.3.30 + +* Fix intermittent "broken pipe" in tests by @native-api in https://github.com/pyenv/pyenv/pull/2817 +* Add CPython 3.13.0a1 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2818 +* Add PyPy 7.3.13 by @dand-oss in https://github.com/pyenv/pyenv/pull/2807 +* Fix linking against Homebrew's Tcl/Tk 8.6.13 in MacOS by @startergo in https://github.com/pyenv/pyenv/pull/2820 + ## Release v2.3.29 * Add CPython 3.11.6 by @thecesrom in https://github.com/pyenv/pyenv/pull/2806 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/libexec/pyenv---version new/pyenv-2.3.30/libexec/pyenv---version --- old/pyenv-2.3.29/libexec/pyenv---version 2023-10-06 07:05:47.000000000 +0200 +++ new/pyenv-2.3.30/libexec/pyenv---version 2023-10-16 20:37:24.000000000 +0200 @@ -12,7 +12,7 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x -version="2.3.29" +version="2.3.30" 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.29/plugins/python-build/bin/python-build new/pyenv-2.3.30/plugins/python-build/bin/python-build --- old/pyenv-2.3.29/plugins/python-build/bin/python-build 2023-10-06 07:05:47.000000000 +0200 +++ new/pyenv-2.3.30/plugins/python-build/bin/python-build 2023-10-16 20:37:24.000000000 +0200 @@ -1629,6 +1629,9 @@ local xc_sdk_path="$(xcrun --show-sdk-path 2>/dev/null || true)" if [ -d "$xc_sdk_path" ]; then echo "python-build: use zlib from xcode sdk" + # Even though SDK's compiler uses the SDK dirs implicitly, + # CPython's setup.py has to have nonstandard paths specified explicitly + # to search for zlib.h in them export CPPFLAGS="${CPPFLAGS:+$CPPFLAGS }-I${xc_sdk_path}/usr/include" if is_mac -ge 1100; then export LDFLAGS="${LDFLAGS:+$LDFLAGS }-L${xc_sdk_path}/usr/lib" @@ -1645,7 +1648,15 @@ if [[ -z "$PYTHON_BUILD_TCLTK_USE_PKGCONFIG" ]]; then local tcltk_version="$(sh -c '. '"$tcltk_libdir"'/lib/tclConfig.sh; echo $TCL_VERSION')" package_option python configure --with-tcltk-libs="-L$tcltk_libdir/lib -ltcl$tcltk_version -ltk$tcltk_version" - package_option python configure --with-tcltk-includes="-I$tcltk_libdir/include" + # In Homebrew Tcl/Tk 8.6.13, headers have been moved to the 'tcl-tk' subdir. + # We're not using tclConfig.sh here 'cuz it produces the version-specific path to <brew prefix>/Cellar + # and we'd rather have rpath set to <brew prefix>/opt/<...> to allow micro release upgrades without rebuilding + # XXX: do use tclConfig.sh and translate the paths if more path shenanigans appear in later releases + if [ -d "$tcltk_libdir/include/tcl-tk" ]; then + package_option python configure --with-tcltk-includes="-I$tcltk_libdir/include/tcl-tk" + else + package_option python configure --with-tcltk-includes="-I$tcltk_libdir/include" + fi fi export PKG_CONFIG_PATH="${tcltk_libdir}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}" fi @@ -2037,14 +2048,23 @@ build_package_symlink_version_suffix } +# Pip <21 (in 2.7 and derivatives like PyPy-2.7) doesn't support -I +build_package_ensurepip_lt21() { + build_package_ensurepip lt21 +} + build_package_ensurepip() { + local mode="$1" local ensurepip_opts # Install as `--altinstall` if the Python is installed as `altinstall` (#255) if [[ "$PYTHON_MAKE_INSTALL_TARGET" == *"altinstall"* ]]; then ensurepip_opts="--altinstall" fi + local python_opts="-I" + if [[ $mode == "lt21" ]]; then python_opts="-s"; fi + # FIXME: `--altinstall` with `get-pip.py` - "$PYTHON_BIN" -I -m ensurepip ${ensurepip_opts} 1>/dev/null 2>&1 || build_package_get_pip "$@" || return 1 + "$PYTHON_BIN" $python_opts -m ensurepip ${ensurepip_opts} 1>/dev/null 2>&1 || build_package_get_pip "$@" || return 1 build_package_symlink_version_suffix } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/plugins/python-build/share/python-build/2.7.18 new/pyenv-2.3.30/plugins/python-build/share/python-build/2.7.18 --- old/pyenv-2.3.29/plugins/python-build/share/python-build/2.7.18 2023-10-06 07:05:47.000000000 +0200 +++ new/pyenv-2.3.30/plugins/python-build/share/python-build/2.7.18 2023-10-16 20:37:24.000000000 +0200 @@ -2,7 +2,7 @@ install_package "openssl-1.1.1v" "https://www.openssl.org/source/openssl-1.1.1v.tar.gz" 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-2.7.18" "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz#b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43" standard verify_py27 copy_python_gdb ensurepip + install_package "Python-2.7.18" "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz#b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43" standard verify_py27 copy_python_gdb ensurepip_lt21 else - install_package "Python-2.7.18" "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz#da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814" standard verify_py27 copy_python_gdb ensurepip + install_package "Python-2.7.18" "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz#da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814" standard verify_py27 copy_python_gdb ensurepip_lt21 fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/plugins/python-build/share/python-build/3.13.0a1 new/pyenv-2.3.30/plugins/python-build/share/python-build/3.13.0a1 --- old/pyenv-2.3.29/plugins/python-build/share/python-build/3.13.0a1 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.30/plugins/python-build/share/python-build/3.13.0a1 2023-10-16 20:37:24.000000000 +0200 @@ -0,0 +1,9 @@ +prefer_openssl3 +export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1 +install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" mac_openssl --if has_broken_mac_openssl +install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline +if has_tar_xz_support; then + install_package "Python-3.13.0a1" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a1.tar.xz#f0281bf22cc00414361c14fc9197183e7eb2eabb729656b69442224fbb63eecb" standard verify_py313 copy_python_gdb ensurepip +else + install_package "Python-3.13.0a1" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a1.tgz#fb1674c6317651bc9c1dfeb6339cd706b84c95f8e614f395d2ffb0af19bbe885" standard verify_py313 copy_python_gdb ensurepip +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy2.7-7.3.13 new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy2.7-7.3.13 --- old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy2.7-7.3.13 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy2.7-7.3.13 2023-10-16 20:37:24.000000000 +0200 @@ -0,0 +1,81 @@ +VERSION='7.3.13' +PYVER='2.7' + +# https://www.pypy.org/checksums.html +aarch64_hash=f1e20f833cc86a097c1f1318069fc17d01c3988678c1438fe27ed567fcb5cfd0 +linux32_hash=b727d2e759a740f45bab1e333029d001c4384b52949bcbb4bd2ad7912eae8dad +linux64_hash=e41ceb5dc6c4d3a9311ed5f88edfeedbf3e8abbd1ed3c4f2e151a90a5cf4e1d7 +osarm64_hash=5b86cf0750abc188a0355380d10c7bab1dec51b610cde23ce78f30a9ef296618 +osx64_hash=50769df0091e8fa51c9e4356e0cb204e6f6aa54f502ec5a6e55aef03d0ac5675 +s390x_hash=fbb2f3d92831c02b094f17e9609b95a6202d4bdcddae437e380ab14388d4556e + +### end of manual settings - following lines same for every download + +function err_no_binary { + local archmsg="${1}" + local ver="pypy${PYVER}-v${VERSION}-src" + local url="https://downloads.python.org/pypy/${ver}.tar.bz2" + { echo + colorize 1 "ERROR" + echo ": The binary distribution of PyPy is not available for ${archmsg}." + echo "try '${url}' to build from source." + echo + } >&2 + exit 1 +} + +function pypy_pkg_data { + # pypy architecture tag + local ARCH="${1}" + + # defaults + local cmd='install_package' # use bz2 + local pkg="${ARCH}" # assume matches + local ext='tar.bz2' + local hash='' # undefined + + # select the hash, fix pkg if not match ARCH + case "${ARCH}" in + 'linux-aarch64' ) + hash="${aarch64_hash}" + pkg='aarch64' + ;; + 'linux' ) + hash="${linux32_hash}" + pkg='linux32' + ;; + 'linux64' ) + hash="${linux64_hash}" + ;; + 'osarm64' ) + hash="${osarm64_hash}" + pkg='macos_arm64' + ;; + 'osx64' ) + if require_osx_version "10.13"; then + hash="${osx64_hash}" + pkg='macos_x86_64' + else + err_no_binary "${ARCH}, OS X < 10.13" + fi + ;; + 's390x' ) + hash="${s390x_hash}" + ;; + * ) + err_no_binary "${ARCH}" + ;; + esac + + local basever="pypy${PYVER}-v${VERSION}" + local baseurl="https://downloads.python.org/pypy/${basever}" + + # result - command, package dir, url+hash + echo "${cmd}" "${basever}-${pkg}" "${baseurl}-${pkg}.${ext}#${hash}" +} + +# determine command, package directory, url+hash +declare -a pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")" + +# install +${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip_lt21' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy2.7-7.3.13-src new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy2.7-7.3.13-src --- old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy2.7-7.3.13-src 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy2.7-7.3.13-src 2023-10-16 20:37:24.000000000 +0200 @@ -0,0 +1,14 @@ +VERSION='7.3.13' +PYVER='2.7' + +# https://www.pypy.org/checksums.html +hash=976984bc6ca5ec9d37ae4e219b020cbed2751d1a02267033f59ed700ba8cec40 + +### end of manual settings - following lines same for every download + +ver="pypy${PYVER}-v${VERSION}-src" +url="https://downloads.python.org/pypy/${ver}.tar.bz2" + +prefer_openssl11 +install_package "openssl-1.1.1f" "https://www.openssl.org/source/openssl-1.1.1f.tar.gz#186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35" mac_openssl --if has_broken_mac_openssl +install_package "${ver}" "${url}#${hash}" 'pypy_builder' "verify_py${PYVER//./}" 'ensurepip_lt21' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy3.10-7.3.13 new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy3.10-7.3.13 --- old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy3.10-7.3.13 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy3.10-7.3.13 2023-10-16 20:37:24.000000000 +0200 @@ -0,0 +1,81 @@ +VERSION='7.3.13' +PYVER='3.10' + +# https://www.pypy.org/checksums.html +aarch64_hash=ac476f01c9653358404f2e4b52f62307b2f64ccdb8c96dadcbfe355824d81a63 +linux32_hash=bfba57eb1f859dd0ad0d6fe841bb12e1256f1f023c7fbca083b536cccbc1233b +linux64_hash=54936eeafd9350a5ea0375b036272a260871b9bca82e1b0bb3201deea9f5a442 +osarm64_hash=efb3007b7aace0af6e3b30d381088a5bbc175973a6627b6b0d624a2ca2dc63ce +osx64_hash=2c6238b9ece7b94ffdfd1d9b50619edef4b169a5c78adcdb691fce6709cd6610 +s390x_hash=3c813c7efa6a026b281313b299c186c585155fc164c7538e65d41efdabff87c9 + +### end of manual settings - following lines same for every download + +function err_no_binary { + local archmsg="${1}" + local ver="pypy${PYVER}-v${VERSION}-src" + local url="https://downloads.python.org/pypy/${ver}.tar.bz2" + { echo + colorize 1 "ERROR" + echo ": The binary distribution of PyPy is not available for ${archmsg}." + echo "try '${url}' to build from source." + echo + } >&2 + exit 1 +} + +function pypy_pkg_data { + # pypy architecture tag + local ARCH="${1}" + + # defaults + local cmd='install_package' # use bz2 + local pkg="${ARCH}" # assume matches + local ext='tar.bz2' + local hash='' # undefined + + # select the hash, fix pkg if not match ARCH + case "${ARCH}" in + 'linux-aarch64' ) + hash="${aarch64_hash}" + pkg='aarch64' + ;; + 'linux' ) + hash="${linux32_hash}" + pkg='linux32' + ;; + 'linux64' ) + hash="${linux64_hash}" + ;; + 'osarm64' ) + hash="${osarm64_hash}" + pkg='macos_arm64' + ;; + 'osx64' ) + if require_osx_version "10.13"; then + hash="${osx64_hash}" + pkg='macos_x86_64' + else + err_no_binary "${ARCH}, OS X < 10.13" + fi + ;; + 's390x' ) + hash="${s390x_hash}" + ;; + * ) + err_no_binary "${ARCH}" + ;; + esac + + local basever="pypy${PYVER}-v${VERSION}" + local baseurl="https://downloads.python.org/pypy/${basever}" + + # result - command, package dir, url+hash + echo "${cmd}" "${basever}-${pkg}" "${baseurl}-${pkg}.${ext}#${hash}" +} + +# determine command, package directory, url+hash +declare -a pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")" + +# install +${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy3.10-7.3.13-src new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy3.10-7.3.13-src --- old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy3.10-7.3.13-src 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy3.10-7.3.13-src 2023-10-16 20:37:24.000000000 +0200 @@ -0,0 +1,14 @@ +VERSION='7.3.13' +PYVER='3.10' + +# https://www.pypy.org/checksums.html +hash=4ac1733c19d014d3193c804e7f40ffccbf6924bcaaee1b6089b82b9bf9353a6d + +### 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' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy3.9-7.3.13 new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy3.9-7.3.13 --- old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy3.9-7.3.13 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy3.9-7.3.13 2023-10-16 20:37:24.000000000 +0200 @@ -0,0 +1,81 @@ +VERSION='7.3.13' +PYVER='3.9' + +# https://www.pypy.org/checksums.html +aarch64_hash=317d7876c5825a086f854253648b967a432b993ce87695d2895d3ad6ed0d2716 +linux32_hash=ac695238b4a3635ac6b482e74e04e2ea78b31acca0decd5de601dfd2f4ebf35a +linux64_hash=323b05a9f607e932cda1995cbe77a96e4ea35994631aa6d734c8035e8479b74e +osarm64_hash=333131d62c502aa5d5fb58a58cdf01de4bfb2c1db5a9bb4c04515258abe6bced +osx64_hash=fb1ff67340353e837498102fec2b0b45744bb189dced57ee2e00045785e69662 +s390x_hash=213c88f652a99c4dc4e8e00b4b5b58f381c7f7e9ea1a9b65801fc0eb1e50df0a + +### end of manual settings - following lines same for every download + +function err_no_binary { + local archmsg="${1}" + local ver="pypy${PYVER}-v${VERSION}-src" + local url="https://downloads.python.org/pypy/${ver}.tar.bz2" + { echo + colorize 1 "ERROR" + echo ": The binary distribution of PyPy is not available for ${archmsg}." + echo "try '${url}' to build from source." + echo + } >&2 + exit 1 +} + +function pypy_pkg_data { + # pypy architecture tag + local ARCH="${1}" + + # defaults + local cmd='install_package' # use bz2 + local pkg="${ARCH}" # assume matches + local ext='tar.bz2' + local hash='' # undefined + + # select the hash, fix pkg if not match ARCH + case "${ARCH}" in + 'linux-aarch64' ) + hash="${aarch64_hash}" + pkg='aarch64' + ;; + 'linux' ) + hash="${linux32_hash}" + pkg='linux32' + ;; + 'linux64' ) + hash="${linux64_hash}" + ;; + 'osarm64' ) + hash="${osarm64_hash}" + pkg='macos_arm64' + ;; + 'osx64' ) + if require_osx_version "10.13"; then + hash="${osx64_hash}" + pkg='macos_x86_64' + else + err_no_binary "${ARCH}, OS X < 10.13" + fi + ;; + 's390x' ) + hash="${s390x_hash}" + ;; + * ) + err_no_binary "${ARCH}" + ;; + esac + + local basever="pypy${PYVER}-v${VERSION}" + local baseurl="https://downloads.python.org/pypy/${basever}" + + # result - command, package dir, url+hash + echo "${cmd}" "${basever}-${pkg}" "${baseurl}-${pkg}.${ext}#${hash}" +} + +# determine command, package directory, url+hash +declare -a pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")" + +# install +${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy3.9-7.3.13-src new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy3.9-7.3.13-src --- old/pyenv-2.3.29/plugins/python-build/share/python-build/pypy3.9-7.3.13-src 1970-01-01 01:00:00.000000000 +0100 +++ new/pyenv-2.3.30/plugins/python-build/share/python-build/pypy3.9-7.3.13-src 2023-10-16 20:37:24.000000000 +0200 @@ -0,0 +1,14 @@ +VERSION='7.3.13' +PYVER='3.9' + +# https://www.pypy.org/checksums.html +hash=bc6147268105e7cb3bd57b401e6d97f66aa4ede269104b2712a7cdd9f02f68cd + +### 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' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.3.29/test/versions.bats new/pyenv-2.3.30/test/versions.bats --- old/pyenv-2.3.29/test/versions.bats 2023-10-06 07:05:47.000000000 +0200 +++ new/pyenv-2.3.30/test/versions.bats 2023-10-16 20:37:24.000000000 +0200 @@ -201,6 +201,7 @@ create_version "1.218.0" create_executable sort <<SH #!$BASH +cat >/dev/null if [ "\$1" == "--version-sort" ]; then echo "${PYENV_ROOT}/versions/1.9.0" echo "${PYENV_ROOT}/versions/1.53.0"