mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-21 20:47:00 -05:00
Merge branch 'master' into master
This commit is contained in:
commit
024e29e100
36 changed files with 720 additions and 28 deletions
3
.github/workflows/modified_scripts_build.yml
vendored
3
.github/workflows/modified_scripts_build.yml
vendored
|
@ -21,8 +21,7 @@ jobs:
|
|||
echo "$EOF" >> $GITHUB_ENV;
|
||||
- id: modified-versions
|
||||
run: |
|
||||
echo -n "::set-output name=versions::"
|
||||
echo "${{ env.versions }}" | jq -R . | jq -sc .
|
||||
echo "versions=`echo "${{ env.versions }}" | jq -R . | jq -sc .`" >> $GITHUB_OUTPUT
|
||||
macos_build:
|
||||
needs: discover_modified_scripts
|
||||
if: needs.discover_modified_scripts.outputs.versions != '[""]'
|
||||
|
|
35
CHANGELOG.md
35
CHANGELOG.md
|
@ -1,5 +1,40 @@
|
|||
# Version History
|
||||
|
||||
## Release v2.4.17
|
||||
* Add miniconda3-24.9.2-0 by @binbjz in https://github.com/pyenv/pyenv/pull/3096
|
||||
* Add Anaconda3-2024.10-1 by @binbjz in https://github.com/pyenv/pyenv/pull/3097
|
||||
|
||||
## Release v2.4.16
|
||||
* Add GraalPy 24.1.1 by @msimacek in https://github.com/pyenv/pyenv/pull/3092
|
||||
* Add CPython 3.14.0a1 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3093
|
||||
|
||||
## Release v2.4.15
|
||||
* CI: replace set-output with GITHUB_OUTPUT by @tuzi3040 in https://github.com/pyenv/pyenv/pull/3079
|
||||
* Make uninstall yes/no prompt consistent with others by @dpoznik in https://github.com/pyenv/pyenv/pull/3080
|
||||
* Add CPython 3.13.0 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3081
|
||||
* Avoid shadowing of virtualenvs with the name starting with "python-" by @aarbouin in https://github.com/pyenv/pyenv/pull/3086
|
||||
* Support free-threaded CPython flavor in prefix resolution by @native-api in https://github.com/pyenv/pyenv/pull/3090
|
||||
|
||||
## Release v2.4.14
|
||||
* Add CPython 3.12.7 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3078
|
||||
* Add CPython 3.13.0rc3 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3077
|
||||
|
||||
## Release v2.4.13
|
||||
* docs: Use `--verbose` with performance CPython build instructions by @caerulescens in https://github.com/pyenv/pyenv/pull/3053
|
||||
* Fix latest version resolution when using `python-` prefix by @edmorley in https://github.com/pyenv/pyenv/pull/3056
|
||||
* Fix tgz checksum for 3.9.20; fallback OpenSSL URLs and checksums by @native-api in https://github.com/pyenv/pyenv/pull/3060
|
||||
* Fix OpenSSL 3.3.2 download URLs by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3059
|
||||
* Add GraalPy 24.1.0 by @msimacek in https://github.com/pyenv/pyenv/pull/3066
|
||||
|
||||
## Release v2.4.12
|
||||
* Add CPython 3.13.0rc2 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3049
|
||||
* Add CPython 3.8.20, 3.9.20, 3.10.15, 3.11.10 and 3.12.6 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3050
|
||||
|
||||
## Release v2.4.11
|
||||
* Add /usr/etc/pyenv.d to hooks path by @tomschr in https://github.com/pyenv/pyenv/pull/3039
|
||||
* Add miniconda3-24.7.1-0 by @binbjz in https://github.com/pyenv/pyenv/pull/3040
|
||||
* Add PyPy v7.3.17 by @jsirois in https://github.com/pyenv/pyenv/pull/3045
|
||||
|
||||
## Release v2.4.10
|
||||
* Add CPython 3.12.5 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3030
|
||||
|
||||
|
|
|
@ -4,12 +4,14 @@ Creating a release
|
|||
The release of the new version of Pyenv is done via GitHub Releases.
|
||||
|
||||
Release checklist:
|
||||
* Start [drafting a new release on GitHub](https://github.com/pyenv/pyenv/releases) to generate a summary of changes. Save the summary locally.
|
||||
* Start [drafting a new release on GitHub](https://github.com/pyenv/pyenv/releases) to generate a summary of changes.
|
||||
Type the would-be tag name in the "Choose a tag" field and press "Generate release notes"
|
||||
* The summary may need editing. E.g. rephrase entries, delete/merge entries that are too minor or irrelevant to the users (e.g. typo fixes, CI)
|
||||
* Update `CHANGELOG.md` with the new version number and the edited summary (only the changes section)
|
||||
* Push the version number in `libexec/pyenv---version`
|
||||
* Minor version is pushed if there are significant functional changes (not e.g. bugfixes/formula adaptations/supporting niche use cases).
|
||||
* Major version is pushed if there are breaking changes
|
||||
* Update `CHANGELOG.md` with the new version number and the edited summary (only the changes section), reformatting it like the rest of the changelog sections
|
||||
* Commit the changes locally into `master`
|
||||
* Create a new tag with the new version number and push the changes including the tag
|
||||
* Create a new release on GitHub based on the tag, using the saved summary
|
||||
* Create a new tag locally with the same name as specified in the new release window
|
||||
* Push the changes including the tag
|
||||
* In the still open new release window, press "Publish release". The now-existing tag will be used.
|
|
@ -174,7 +174,6 @@ which does install native Windows Python versions.
|
|||
The below setup should work for the vast majority of users for common use cases.
|
||||
See [Advanced configuration](#advanced-configuration) for details and more configuration options.
|
||||
|
||||
|
||||
#### Bash
|
||||
<details>
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
version="2.4.10"
|
||||
version="2.4.17"
|
||||
git_revision=""
|
||||
|
||||
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
||||
|
|
|
@ -48,16 +48,25 @@ IFS=$'\n'
|
|||
exit $exitcode;
|
||||
fi
|
||||
|
||||
suffix=""
|
||||
if [[ $prefix =~ ^(.*[0-9])t$ ]]; then
|
||||
suffix="t"
|
||||
prefix="${BASH_REMATCH[1]}"
|
||||
fi
|
||||
|
||||
# https://stackoverflow.com/questions/11856054/is-there-an-easy-way-to-pass-a-raw-string-to-grep/63483807#63483807
|
||||
prefix_re="$(sed 's/[^\^]/[&]/g;s/[\^]/\\&/g' <<< "$prefix")"
|
||||
suffix_re="$(sed 's/[^\^]/[&]/g;s/[\^]/\\&/g' <<< "$suffix")"
|
||||
# FIXME: more reliable and readable would probably be to loop over them and transform in pure Bash
|
||||
DEFINITION_CANDIDATES=(\
|
||||
$(printf '%s\n' "${DEFINITION_CANDIDATES[@]}" | \
|
||||
grep -Ee "^$prefix_re[-.]" || true))
|
||||
grep -Ee "^$prefix_re[-.].*$suffix_re\$" || true))
|
||||
|
||||
DEFINITION_CANDIDATES=(\
|
||||
$(printf '%s\n' "${DEFINITION_CANDIDATES[@]}" | \
|
||||
sed -E -e '/-dev$/d' -e '/-src$/d' -e '/-latest$/d' -e '/(a|b|rc)[0-9]+$/d' -e '/[0-9]+t$/d'));
|
||||
sed -E -e '/-dev$/d' -e '/-src$/d' -e '/-latest$/d' -e '/(a|b|rc)[0-9]+$/d' \
|
||||
$(if [[ -z $suffix ]]; then echo "-e /[0-9]t\$/d"; fi)
|
||||
));
|
||||
|
||||
# Compose a sorting key, followed by | and original value
|
||||
DEFINITION_CANDIDATES=(\
|
||||
|
|
|
@ -30,11 +30,15 @@ OLDIFS="$IFS"
|
|||
{ IFS=:
|
||||
any_not_installed=0
|
||||
for version in ${PYENV_VERSION}; do
|
||||
if version_exists "$version" || [ "$version" = "system" ]; then
|
||||
# Remove the explicit 'python-' prefix from versions like 'python-3.12'.
|
||||
normalised_version="${version#python-}"
|
||||
if version_exists "${version}" || [ "$version" = "system" ]; then
|
||||
versions=("${versions[@]}" "${version}")
|
||||
elif version_exists "${version#python-}"; then
|
||||
versions=("${versions[@]}" "${version#python-}")
|
||||
elif resolved_version="$(pyenv-latest -b "$version")"; then
|
||||
elif version_exists "${normalised_version}"; then
|
||||
versions=("${versions[@]}" "${normalised_version}")
|
||||
elif resolved_version="$(pyenv-latest -b "${version}")"; then
|
||||
versions=("${versions[@]}" "${resolved_version}")
|
||||
elif resolved_version="$(pyenv-latest -b "${normalised_version}")"; then
|
||||
versions=("${versions[@]}" "${resolved_version}")
|
||||
else
|
||||
echo "pyenv: version \`$version' is not installed (set by $(pyenv-version-origin))" >&2
|
||||
|
|
|
@ -208,7 +208,7 @@ enables PGO (profile guided optimization). While your mileage may vary, it is
|
|||
common for performance improvement from this to be in the ballpark of 30%.
|
||||
|
||||
```sh
|
||||
env PYTHON_CONFIGURE_OPTS='--enable-optimizations --with-lto' PYTHON_CFLAGS='-march=native -mtune=native' pyenv install 3.6.0
|
||||
env PYTHON_CONFIGURE_OPTS='--enable-optimizations --with-lto' PYTHON_CFLAGS='-march=native -mtune=native' pyenv install --verbose 3.6.0
|
||||
```
|
||||
|
||||
You can also customize the task used for profile guided optimization by setting
|
||||
|
|
|
@ -75,7 +75,7 @@ uninstall-python() {
|
|||
exit 1
|
||||
fi
|
||||
|
||||
read -p "pyenv: remove $PREFIX? [y|N] "
|
||||
read -p "pyenv: remove $PREFIX? (y/N) "
|
||||
case "$REPLY" in
|
||||
y | Y | yes | YES ) ;;
|
||||
* ) exit 1 ;;
|
||||
|
|
9
plugins/python-build/share/python-build/3.10.15
Normal file
9
plugins/python-build/share/python-build/3.10.15
Normal file
|
@ -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.15" "https://www.python.org/ftp/python/3.10.15/Python-3.10.15.tar.xz#aab0950817735172601879872d937c1e4928a57c409ae02369ec3d91dccebe79" standard verify_py310 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.10.15" "https://www.python.org/ftp/python/3.10.15/Python-3.10.15.tgz#a27864e5ba2a4474f8f6c58ab92ff52767ac8b66f1646923355a53fe3ef15074" standard verify_py310 copy_python_gdb ensurepip
|
||||
fi
|
10
plugins/python-build/share/python-build/3.11.10
Normal file
10
plugins/python-build/share/python-build/3.11.10
Normal file
|
@ -0,0 +1,10 @@
|
|||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
||||
install_package "openssl-3.2.2" "https://openssl.org/source/old/3.2/openssl-3.2.2.tar.gz#197149c18d9e9f292c43f0400acaba12e5f52cacfe050f3d199277ea738ec2e7" 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.10" "https://www.python.org/ftp/python/3.11.10/Python-3.11.10.tar.xz#07a4356e912900e61a15cb0949a06c4a05012e213ecd6b4e84d0f67aabbee372" standard verify_py311 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.11.10" "https://www.python.org/ftp/python/3.11.10/Python-3.11.10.tgz#92f2faf242681bfa406d53a51e17d42c5373affe23a130cd9697e132ef574706" standard verify_py311 copy_python_gdb ensurepip
|
||||
fi
|
9
plugins/python-build/share/python-build/3.12.6
Normal file
9
plugins/python-build/share/python-build/3.12.6
Normal file
|
@ -0,0 +1,9 @@
|
|||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-3.3.2" "https://github.com/openssl/openssl/releases/download/openssl-3.3.2/openssl-3.3.2.tar.gz#2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281" 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.6" "https://www.python.org/ftp/python/3.12.6/Python-3.12.6.tar.xz#1999658298cf2fb837dffed8ff3c033ef0c98ef20cf73c5d5f66bed5ab89697c" standard verify_py312 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.12.6" "https://www.python.org/ftp/python/3.12.6/Python-3.12.6.tgz#85a4c1be906d20e5c5a69f2466b00da769c221d6a684acfd3a514dbf5bf10a66" standard verify_py312 copy_python_gdb ensurepip
|
||||
fi
|
9
plugins/python-build/share/python-build/3.12.7
Normal file
9
plugins/python-build/share/python-build/3.12.7
Normal file
|
@ -0,0 +1,9 @@
|
|||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-3.3.2" "https://github.com/openssl/openssl/releases/download/openssl-3.3.2/openssl-3.3.2.tar.gz#2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281" 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.7" "https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tar.xz#24887b92e2afd4a2ac602419ad4b596372f67ac9b077190f459aba390faf5550" standard verify_py312 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.12.7" "https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tgz#73ac8fe780227bf371add8373c3079f42a0dc62deff8d612cd15a618082ab623" standard verify_py312 copy_python_gdb ensurepip
|
||||
fi
|
9
plugins/python-build/share/python-build/3.13.0
Normal file
9
plugins/python-build/share/python-build/3.13.0
Normal file
|
@ -0,0 +1,9 @@
|
|||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-3.3.2" "https://github.com/openssl/openssl/releases/download/openssl-3.3.2/openssl-3.3.2.tar.gz#2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281" 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.0" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tar.xz#086de5882e3cb310d4dca48457522e2e48018ecd43da9cdf827f6a0759efb07d" standard verify_py313 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.13.0" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tgz#12445c7b3db3126c41190bfdc1c8239c39c719404e844babbd015a1bc3fafcd4" standard verify_py313 copy_python_gdb ensurepip
|
||||
fi
|
|
@ -1,9 +0,0 @@
|
|||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-3.3.1" "https://www.openssl.org/source/openssl-3.3.1.tar.gz#777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e" 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.0rc1" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc1.tar.xz#678b884775eec0224d5159fa900879020baca2a36ce942fd95febfa1adb4a6bd" standard verify_py313 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.13.0rc1" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0rc1.tgz#53f1ed4920b82fa65cd32a56fa80fd18b475bf1b757597a5a104d2a4dfa5ffff" standard verify_py313 copy_python_gdb ensurepip
|
||||
fi
|
|
@ -1,2 +0,0 @@
|
|||
export PYTHON_BUILD_FREE_THREADING=1
|
||||
source "$(dirname "${BASH_SOURCE[0]}")"/3.13.0rc1
|
2
plugins/python-build/share/python-build/3.13.0t
Normal file
2
plugins/python-build/share/python-build/3.13.0t
Normal file
|
@ -0,0 +1,2 @@
|
|||
export PYTHON_BUILD_FREE_THREADING=1
|
||||
source "$(dirname "${BASH_SOURCE[0]}")"/3.13.0
|
9
plugins/python-build/share/python-build/3.14.0a1
Normal file
9
plugins/python-build/share/python-build/3.14.0a1
Normal file
|
@ -0,0 +1,9 @@
|
|||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-3.3.2" "https://github.com/openssl/openssl/releases/download/openssl-3.3.2/openssl-3.3.2.tar.gz#2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.14.0a1" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a1.tar.xz#3e464b0cbb7535e2db34262fd19a0a393d0e62be0f43b1513ed98379b054ead4" standard verify_py313 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.14.0a1" "https://www.python.org/ftp/python/3.14.0/Python-3.14.0a1.tgz#6edf6c54c118daff03de81d60b227545de89732c2d131ed243ce5593fa9682b7" standard verify_py313 copy_python_gdb ensurepip
|
||||
fi
|
2
plugins/python-build/share/python-build/3.14.0a1t
Normal file
2
plugins/python-build/share/python-build/3.14.0a1t
Normal file
|
@ -0,0 +1,2 @@
|
|||
export PYTHON_BUILD_FREE_THREADING=1
|
||||
source "$(dirname "${BASH_SOURCE[0]}")"/3.14.0a1
|
12
plugins/python-build/share/python-build/3.8.20
Normal file
12
plugins/python-build/share/python-build/3.8.20
Normal file
|
@ -0,0 +1,12 @@
|
|||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
# Avoid a compilation error when linking against OpenSSL built with SSLv3 support (fixed in 3.10.0) (#2181)
|
||||
export PYTHON_CFLAGS="-DOPENSSL_NO_SSL3${PYTHON_CFLAGS:+ $PYTHON_CFLAGS}"
|
||||
|
||||
install_package "openssl-1.1.1u" "https://www.openssl.org/source/openssl-1.1.1u.tar.gz#e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.8.20" "https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tar.xz#6fb89a7124201c61125c0ab4cf7f6894df339a40c02833bfd28ab4d7691fafb4" standard verify_py38 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.8.20" "https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tgz#9f2d5962c2583e67ef75924cd56d0c1af78bf45ec57035cf8a2cc09f74f4bf78" standard verify_py38 copy_python_gdb ensurepip
|
||||
fi
|
12
plugins/python-build/share/python-build/3.9.20
Normal file
12
plugins/python-build/share/python-build/3.9.20
Normal file
|
@ -0,0 +1,12 @@
|
|||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
# Avoid a compilation error when linking against OpenSSL built with SSLv3 support (fixed in 3.10.0) (#2181)
|
||||
export PYTHON_CFLAGS="-DOPENSSL_NO_SSL3${PYTHON_CFLAGS:+ $PYTHON_CFLAGS}"
|
||||
|
||||
install_package "openssl-1.1.1u" "https://www.openssl.org/source/openssl-1.1.1u.tar.gz#e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.9.20" "https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tar.xz#6b281279efd85294d2d6993e173983a57464c0133956fbbb5536ec9646beaf0c" standard verify_py39 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.9.20" "https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tgz#1e71f006222666e0a39f5a47be8221415c22c4dd8f25334cc41aee260b3d379e" standard verify_py39 copy_python_gdb ensurepip
|
||||
fi
|
25
plugins/python-build/share/python-build/anaconda3-2024.10-1
Normal file
25
plugins/python-build/share/python-build/anaconda3-2024.10-1
Normal file
|
@ -0,0 +1,25 @@
|
|||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Anaconda3-2024.10-1-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-aarch64.sh#489c608e8bddd2cf29dfbdd811cf99087cd6b6a0615d41c6f9058ce340594b65" "anaconda" verify_py312
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Anaconda3-2024.10-1-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-s390x.sh#e00bd5e6c275695e8050a45aa85790315f504c95243dfe3632f505284310f3c4" "anaconda" verify_py312
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda3-2024.10-1-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh#3ba0a298155c32fbfd80cbc238298560bf69a2df511783054adfc151b76d80d8" "anaconda" verify_py312
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Anaconda3-2024.10-1-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2024.10-1-MacOSX-arm64.sh#f64ed797ce23ae1d07ead949bfb6ff630b9fa8269ca8aef8ea2efa82172ece47" "anaconda" verify_py312
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda3-2024.10-1-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2024.10-1-MacOSX-x86_64.sh#ad3eea1cc969e9dfd4d571fc266aae06ec119f651d7cb19c0dc187b73e2bfab1" "anaconda" verify_py312
|
||||
;;
|
||||
* )
|
||||
{ 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
|
64
plugins/python-build/share/python-build/graalpy-24.1.0
Normal file
64
plugins/python-build/share/python-build/graalpy-24.1.0
Normal file
|
@ -0,0 +1,64 @@
|
|||
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# this software and associated documentation files (the "Software"), to deal in
|
||||
# the Software without restriction, including without limitation the rights to
|
||||
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
VERSION='24.1.0'
|
||||
BUILD=''
|
||||
|
||||
colorize 1 "GraalPy 23.1 and later installed by python-build use the faster Oracle GraalVM distribution" && echo
|
||||
colorize 1 "Oracle GraalVM uses the GFTC license, which is free for development and production use, see https://medium.com/graalvm/161527df3d76" && echo
|
||||
colorize 1 "The GraalVM Community Edition variant of GraalPy is also available, under the name graalpy-community-${VERSION}" && echo
|
||||
|
||||
|
||||
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
|
||||
|
||||
case "$graalpy_arch" in
|
||||
"linux-amd64" )
|
||||
checksum="95819091eee7c21566601c22536768204b7c75e9b59e522a10961612a1dd6298"
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
checksum="838662e07ce745708d58a50e5e030f9af608306c4595adb3a8e7ac1f6e7d8b6a"
|
||||
;;
|
||||
"macos-amd64" )
|
||||
checksum="4bee92fdf97ef9e2f9a8dfc56030b9f40860019bf57c9cd097a4b86baaf31d94"
|
||||
;;
|
||||
"macos-aarch64" )
|
||||
checksum="520888b407e47c8bbc91b0830d540a1eb1a6919ad0ce5be3e657e54f77ee0fba"
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": No binary distribution of GraalPy is available for $(uname -sm)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "${BUILD}" ]; then
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo "Oracle GraalPy currently doesn't provide snapshot builds. Use graalpy-community if you need snapshots."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-${VERSION}-${graalpy_arch}.tar.gz#${checksum}"
|
||||
|
||||
install_package "graalpy-${VERSION}" "${url}" "copy" ensurepip
|
64
plugins/python-build/share/python-build/graalpy-24.1.1
Normal file
64
plugins/python-build/share/python-build/graalpy-24.1.1
Normal file
|
@ -0,0 +1,64 @@
|
|||
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# this software and associated documentation files (the "Software"), to deal in
|
||||
# the Software without restriction, including without limitation the rights to
|
||||
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
VERSION='24.1.1'
|
||||
BUILD=''
|
||||
|
||||
colorize 1 "GraalPy 23.1 and later installed by python-build use the faster Oracle GraalVM distribution" && echo
|
||||
colorize 1 "Oracle GraalVM uses the GFTC license, which is free for development and production use, see https://medium.com/graalvm/161527df3d76" && echo
|
||||
colorize 1 "The GraalVM Community Edition variant of GraalPy is also available, under the name graalpy-community-${VERSION}" && echo
|
||||
|
||||
|
||||
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
|
||||
|
||||
case "$graalpy_arch" in
|
||||
"linux-amd64" )
|
||||
checksum="b7ec8b6ead8f0ad19d212617f75c305b38d419bfd3ac6c9e82e9339282699ab9"
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
checksum="cb97bbef83372f00c7ea5f351bcb3c1ad36255ebd7d3cff9267d604ad183c28a"
|
||||
;;
|
||||
"macos-amd64" )
|
||||
checksum="3f4583cf8438237a2061460d4df9025d04eaaae0beadb3626ccdcebf9cfe725a"
|
||||
;;
|
||||
"macos-aarch64" )
|
||||
checksum="23d2397d90ebbd51747541f029ed80b7740fe36b23a45d4616ddad9b60f2c6cb"
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": No binary distribution of GraalPy is available for $(uname -sm)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "${BUILD}" ]; then
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo "Oracle GraalPy currently doesn't provide snapshot builds. Use graalpy-community if you need snapshots."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-${VERSION}-${graalpy_arch}.tar.gz#${checksum}"
|
||||
|
||||
install_package "graalpy-${VERSION}" "${url}" "copy" ensurepip
|
|
@ -0,0 +1,54 @@
|
|||
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# this software and associated documentation files (the "Software"), to deal in
|
||||
# the Software without restriction, including without limitation the rights to
|
||||
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
VERSION='24.1.0'
|
||||
BUILD=''
|
||||
|
||||
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
|
||||
|
||||
case "$graalpy_arch" in
|
||||
"linux-amd64" )
|
||||
checksum="89c7f8bd8f91639adc815949458d56ea9bffaa286249360d244fc6a6885c220a"
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
checksum="8f52958486606328a9692a0c0553f2cd3afd1c86c9df97ae47a703afc2e804a8"
|
||||
;;
|
||||
"macos-amd64" )
|
||||
checksum="1b01102ca9cbfe8164e935ca834226db76e8ca9359a5585ba686430593cbc02d"
|
||||
;;
|
||||
"macos-aarch64" )
|
||||
checksum="cd0d6064bbb4f92d50d2b85ed46f6a9c22a5ae775f15cc264508da8f026eecaa"
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": No binary distribution of GraalPy is available for $(uname -sm)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "${BUILD}" ]; then
|
||||
url="https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/${VERSION}-dev-${BUILD}/graalpy-community-dev-${graalpy_arch}.tar.gz"
|
||||
else
|
||||
url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-community-${VERSION}-${graalpy_arch}.tar.gz#${checksum}"
|
||||
fi
|
||||
|
||||
install_package "graalpy-community-${VERSION}${BUILD}" "${url}" "copy" ensurepip
|
|
@ -0,0 +1,54 @@
|
|||
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# this software and associated documentation files (the "Software"), to deal in
|
||||
# the Software without restriction, including without limitation the rights to
|
||||
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
VERSION='24.1.1'
|
||||
BUILD=''
|
||||
|
||||
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
|
||||
|
||||
case "$graalpy_arch" in
|
||||
"linux-amd64" )
|
||||
checksum="42a6b563271174161a1abca4b045b0602d8e27c12204f3cadd31265fd3ff6d19"
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
checksum="a513ea3036a48a6cee8cfa666bff7b5e6b1a1b6cf623400109fbf856476e9bd3"
|
||||
;;
|
||||
"macos-amd64" )
|
||||
checksum="7f5591074dbd701faa6dec6ea10391bc2d8af736fe8370c5675a11842959edd7"
|
||||
;;
|
||||
"macos-aarch64" )
|
||||
checksum="53f6161d0f9871efaf1f62f2c1894152da0bb2b504a95ebad6f35b19de994f77"
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": No binary distribution of GraalPy is available for $(uname -sm)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "${BUILD}" ]; then
|
||||
url="https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/${VERSION}-dev-${BUILD}/graalpy-community-dev-${graalpy_arch}.tar.gz"
|
||||
else
|
||||
url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-community-${VERSION}-${graalpy_arch}.tar.gz#${checksum}"
|
||||
fi
|
||||
|
||||
install_package "graalpy-community-${VERSION}${BUILD}" "${url}" "copy" ensurepip
|
|
@ -0,0 +1,25 @@
|
|||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py310_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-Linux-aarch64.sh#5d022f16ecb01d33ac8c85a87a0a8dccfb025dc90b20dbd56c4b9ae8f9727578" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py310_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-Linux-s390x.sh#93d75b306151f96a460a80d8849d85636929a90490f44004f4296a0b8399ccc5" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py310_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-Linux-x86_64.sh#364869f004c6259268b09a667ed476080bf4f44e9c4ab06a293146df8990d43f" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py310_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-MacOSX-arm64.sh#d666284d5dd9290b446de5dc20e8498545867c7730799cba8f52e97a45db42d2" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py310_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.9.2-0-MacOSX-x86_64.sh#7359ff3963ab3ccdc5eec244c610270b456a9584477cb645aa7539924bdd0482" "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
|
|
@ -0,0 +1,25 @@
|
|||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py311_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-Linux-aarch64.sh#c4c12d969be6a02cb7370a0c717400e8eec79dea722ef0fba98d745048948980" "miniconda" verify_py311
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py311_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-Linux-s390x.sh#8de1e23f3e0a097bc3b9173a1b4b56544bd34d2831b70a71a9d528eeab0dbe90" "miniconda" verify_py311
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py311_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-Linux-x86_64.sh#62ef806265659c47e37e22e8f9adce29e75c4ea0497e619c280f54c823887c4f" "miniconda" verify_py311
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py311_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-MacOSX-arm64.sh#7358a1d53e7f857a9b87af148d20cdd00f3a91eca9f663371dfa3d830c375033" "miniconda" verify_py311
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py311_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.9.2-0-MacOSX-x86_64.sh#5d4229c322629cf2932c3a4e181501c98dae35b866c96d208b6688b0e2381604" "miniconda" verify_py311
|
||||
;;
|
||||
* )
|
||||
{ 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
|
|
@ -0,0 +1,25 @@
|
|||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py312_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-Linux-aarch64.sh#86b8df7481646cf87e77873e9789adb7569b58248d3aa629eb2da35e6f2e2eed" "miniconda" verify_py312
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py312_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-Linux-s390x.sh#876db345b31db6d2b96ab1e2aedfbcea8af6b951a3218e6fd36f657452d1305c" "miniconda" verify_py312
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py312_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-Linux-x86_64.sh#8d936ba600300e08eca3d874dee88c61c6f39303597b2b66baee54af4f7b4122" "miniconda" verify_py312
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py312_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-MacOSX-arm64.sh#08d8a82ed21d2dae707554d540b172fe03327347db747644fbb33abfaf07fddd" "miniconda" verify_py312
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py312_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.9.2-0-MacOSX-x86_64.sh#ce3b440c32c9c636bbe529477fd496798c35b96d9db1838e3df6b0a80714da4e" "miniconda" verify_py312
|
||||
;;
|
||||
* )
|
||||
{ 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
|
|
@ -0,0 +1,25 @@
|
|||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py39_24.9.2-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-Linux-aarch64.sh#4607ec9145ad9c0413e6300dab3febe442e265efce486176ef1f8518ba8bfaeb" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py39_24.9.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-Linux-s390x.sh#5ccde79ed4c333f0e236f36338ed5db111a2fff50859235c4f8fffd2045a6655" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py39_24.9.2-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-Linux-x86_64.sh#4b540d78e5bdd770b39216c0563424ef6656504cbe24c67b2d0454c2eb7afe93" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py39_24.9.2-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-MacOSX-arm64.sh#4d5abecbb3264def02ad95ed6c888016f95631649b848da552a1066c52bcd1da" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py39_24.9.2-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.9.2-0-MacOSX-x86_64.sh#7535da558c8821d967e026288eaec75d9a159ec760d75c869fd10fa58d3986c3" "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
|
77
plugins/python-build/share/python-build/pypy2.7-7.3.17
Normal file
77
plugins/python-build/share/python-build/pypy2.7-7.3.17
Normal file
|
@ -0,0 +1,77 @@
|
|||
VERSION='7.3.17'
|
||||
PYVER='2.7'
|
||||
|
||||
# https://www.pypy.org/checksums.html
|
||||
aarch64_hash=a8df5ce1650f4756933f8780870c91a0a40e7c9870d74629bf241392bcb5c2e3
|
||||
linux32_hash=a3aa0867cc837a34941047ece0fbb6ca190410fae6ad35fae4999d03bf178750
|
||||
linux64_hash=9f3497f87b3372d17e447369e0016a4bec99a6b4d2a59aba774a25bfe4353474
|
||||
osarm64_hash=8573172db377ee0831bf20492cdee9bac4e0b194e3dfe8bf7c44ee257a824766
|
||||
osx64_hash=e3e1af1d6ad15e51d8d19ea36e1ac65c4c792314cc8b8dc5cf771ec4353b50f8
|
||||
|
||||
### 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'
|
14
plugins/python-build/share/python-build/pypy2.7-7.3.17-src
Normal file
14
plugins/python-build/share/python-build/pypy2.7-7.3.17-src
Normal file
|
@ -0,0 +1,14 @@
|
|||
VERSION='7.3.17'
|
||||
PYVER='2.7'
|
||||
|
||||
# https://www.pypy.org/checksums.html
|
||||
hash=50e06840f4bbde91448080a4118068a89b8fbcae25ff8da1e2bb1402dc9a0346
|
||||
|
||||
### 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'
|
77
plugins/python-build/share/python-build/pypy3.10-7.3.17
Normal file
77
plugins/python-build/share/python-build/pypy3.10-7.3.17
Normal file
|
@ -0,0 +1,77 @@
|
|||
VERSION='7.3.17'
|
||||
PYVER='3.10'
|
||||
|
||||
# https://www.pypy.org/checksums.html
|
||||
aarch64_hash=53b6e5907df869c49e4eae7aca09fba16d150741097efb245892c1477d2395f2
|
||||
linux32_hash=e534110e1047da37c1d586c392f74de3424f871d906a2083de6d41f2a8cc9164
|
||||
linux64_hash=fdcdb9b24f1a7726003586503fdeb264fd68fc37fbfcea022dcfe825a7fee18b
|
||||
osarm64_hash=a050e25e8d686853dd5afc363e55625165825dacfb55f8753d8225ebe417cfd2
|
||||
osx64_hash=6c2c5f2300d7564e711421b4968abd63243cb96f76e363975dd648ebf4a362ee
|
||||
|
||||
### 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'
|
14
plugins/python-build/share/python-build/pypy3.10-7.3.17-src
Normal file
14
plugins/python-build/share/python-build/pypy3.10-7.3.17-src
Normal file
|
@ -0,0 +1,14 @@
|
|||
VERSION='7.3.17'
|
||||
PYVER='3.10'
|
||||
|
||||
# https://www.pypy.org/checksums.html
|
||||
hash=6ad74bc578e9c6d3a8a1c51503313058e3c58c35df86f7485453c4be6ab24bf7
|
||||
|
||||
### 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'
|
|
@ -94,7 +94,7 @@ echo 3.10.6
|
|||
!
|
||||
}
|
||||
|
||||
@test "ignores rolling releases, branch tips, alternative srcs, prereleases and virtualenvs" {
|
||||
@test "ignores rolling releases, branch tips, alternative srcs, prereleases, virtualenvs; 't' versions if prefix without 't'" {
|
||||
create_executable pyenv-versions <<!
|
||||
#!$BASH
|
||||
echo 3.8.5-dev
|
||||
|
@ -116,6 +116,21 @@ echo 3.8.1/envs/foo
|
|||
!
|
||||
}
|
||||
|
||||
@test "resolves to a 't' version if prefix has 't'" {
|
||||
create_executable pyenv-versions <<!
|
||||
#!$BASH
|
||||
echo 3.13.2t
|
||||
echo 3.13.5
|
||||
echo 3.13.5t
|
||||
echo 3.14.6
|
||||
!
|
||||
run pyenv-latest 3t
|
||||
assert_success
|
||||
assert_output <<!
|
||||
3.13.5t
|
||||
!
|
||||
}
|
||||
|
||||
@test "falls back to argument with -b" {
|
||||
create_executable pyenv-versions <<!
|
||||
#!$BASH
|
||||
|
|
|
@ -120,3 +120,17 @@ OUT
|
|||
assert_success
|
||||
assert_output "2.7.11"
|
||||
}
|
||||
|
||||
@test "pyenv-latest fallback with prefix in name" {
|
||||
create_version "3.12.6"
|
||||
PYENV_VERSION="python-3.12" run pyenv-version-name
|
||||
assert_success
|
||||
assert_output "3.12.6"
|
||||
}
|
||||
|
||||
@test "pyenv version started by python-" {
|
||||
create_version "python-3.12.6"
|
||||
PYENV_VERSION="python-3.12.6" run pyenv-version-name
|
||||
assert_success
|
||||
assert_output "python-3.12.6"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue