From 1c7fe36c5528333a4bf14098edd4f6f535d1cee7 Mon Sep 17 00:00:00 2001 From: dand-oss Date: Sat, 8 Feb 2025 09:46:04 +0800 Subject: [PATCH] Add PyPy v7.3.18 (#3184) Co-authored-by: Dan Dees --- .../share/python-build/pypy2.7-7.3.18 | 77 +++++++++++++++++++ .../share/python-build/pypy2.7-7.3.18-src | 14 ++++ .../share/python-build/pypy3.10-7.3.18 | 77 +++++++++++++++++++ .../share/python-build/pypy3.10-7.3.18-src | 14 ++++ .../share/python-build/pypy3.11-7.3.18 | 77 +++++++++++++++++++ .../share/python-build/pypy3.11-7.3.18-src | 14 ++++ 6 files changed, 273 insertions(+) create mode 100644 plugins/python-build/share/python-build/pypy2.7-7.3.18 create mode 100644 plugins/python-build/share/python-build/pypy2.7-7.3.18-src create mode 100644 plugins/python-build/share/python-build/pypy3.10-7.3.18 create mode 100644 plugins/python-build/share/python-build/pypy3.10-7.3.18-src create mode 100644 plugins/python-build/share/python-build/pypy3.11-7.3.18 create mode 100644 plugins/python-build/share/python-build/pypy3.11-7.3.18-src diff --git a/plugins/python-build/share/python-build/pypy2.7-7.3.18 b/plugins/python-build/share/python-build/pypy2.7-7.3.18 new file mode 100644 index 00000000..c95bee62 --- /dev/null +++ b/plugins/python-build/share/python-build/pypy2.7-7.3.18 @@ -0,0 +1,77 @@ +VERSION='7.3.18' +PYVER='2.7' + +# https://www.pypy.org/checksums.html +aarch64_hash=d647cad5be915df65f44277fd051c8d52e708d22838b5cb21b2de033530acc80 +linux32_hash=54990fb1ae2266c260a7ce694b84ab91a8d0d298da440cd5695ac671dc5615e2 +linux64_hash=1da34354e5fa59400609e94c00ba6feccf5aa575abb26fb6caf9c2ac16100ff4 +osarm64_hash=48927b1931a4feadea945f7c988c429b42e9fb6567af3810ab86ad95efbe98bc +osx64_hash=db9d2bcc8dbe089b34a19083a11116697e8679acc2c47a2862264429810f666e + +### 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 + ;; + * ) + 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 --git a/plugins/python-build/share/python-build/pypy2.7-7.3.18-src b/plugins/python-build/share/python-build/pypy2.7-7.3.18-src new file mode 100644 index 00000000..792a48f5 --- /dev/null +++ b/plugins/python-build/share/python-build/pypy2.7-7.3.18-src @@ -0,0 +1,14 @@ +VERSION='7.3.18' +PYVER='2.7' + +# https://www.pypy.org/checksums.html +hash=737435ddfc5afa5b97a7209c87d70d5f1062426c053b9bb8b99a0347cb4891fa + +### 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 --git a/plugins/python-build/share/python-build/pypy3.10-7.3.18 b/plugins/python-build/share/python-build/pypy3.10-7.3.18 new file mode 100644 index 00000000..81805cbd --- /dev/null +++ b/plugins/python-build/share/python-build/pypy3.10-7.3.18 @@ -0,0 +1,77 @@ +VERSION='7.3.18' +PYVER='3.10' + +# https://www.pypy.org/checksums.html +aarch64_hash=e843aecd48eb06b625af67891b99e3440313cfb64c6851fc37df1e5572c8ef9e +linux32_hash=34ef09a481254aad0f22bf09fd7c99efb65ffef4f79f5b4222505f55f8d9c22e +linux64_hash=834ccd4544bb47112a66977add7e47f30619f74061ae990876bcba95d98c27c5 +osarm64_hash=1d47da22bc9f7b5329f97c9c7b3ee0b051252ff1e82ca76999ad2d44758be41f +osx64_hash=b7031cbf815b7ba26ed2503b76ee3e73d7322b55f3671219019e8385042e212f + +### 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 + ;; + * ) + 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 --git a/plugins/python-build/share/python-build/pypy3.10-7.3.18-src b/plugins/python-build/share/python-build/pypy3.10-7.3.18-src new file mode 100644 index 00000000..3b041ee1 --- /dev/null +++ b/plugins/python-build/share/python-build/pypy3.10-7.3.18-src @@ -0,0 +1,14 @@ +VERSION='7.3.18' +PYVER='3.10' + +# https://www.pypy.org/checksums.html +hash=08eb70e866987e4abe88ae9f54a98f919df92b595f7cdf4041703e8802b11552 + +### 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 --git a/plugins/python-build/share/python-build/pypy3.11-7.3.18 b/plugins/python-build/share/python-build/pypy3.11-7.3.18 new file mode 100644 index 00000000..cd4daa8c --- /dev/null +++ b/plugins/python-build/share/python-build/pypy3.11-7.3.18 @@ -0,0 +1,77 @@ +VERSION='7.3.18' +PYVER='3.11' + +# https://www.pypy.org/checksums.html +aarch64_hash=95bc3021cb9be2aa766ecb776c215e97ae8c0dda99dd48840b40b5b87d90bc45 +linux32_hash=70357a69cdbf4ce449b5743901fcd36208e0a89eadcfb4d2ebdc9b4711a0612c +linux64_hash=df5fa534800ff09d990e50ca4fdb02d8a06b9ed948dbcb3a09bea0739ef42de7 +osarm64_hash=cc4d6dd621dffd474eb9a2d01e5844d1b6a6f88b404aac2c48a9c267b5370df4 +osx64_hash=4f2274ffb4b787fd5b5f15cd61f7fef5a3710bf0ecbd4293bf0251035b468865 + +### 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 + ;; + * ) + 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 --git a/plugins/python-build/share/python-build/pypy3.11-7.3.18-src b/plugins/python-build/share/python-build/pypy3.11-7.3.18-src new file mode 100644 index 00000000..970fe1cb --- /dev/null +++ b/plugins/python-build/share/python-build/pypy3.11-7.3.18-src @@ -0,0 +1,14 @@ +VERSION='7.3.18' +PYVER='3.11' + +# https://www.pypy.org/checksums.html +hash=fbc82b8ff67b942e6fce49980dc0f0f83193b005173f9bddd39d6396fb6b939d + +### 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'