mirror of
https://github.com/pyenv/pyenv.git
synced 2026-02-07 03:07:36 +09:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2a43bbcdb | ||
|
|
2f10394d33 | ||
|
|
57ec277d6a | ||
|
|
63edb91375 | ||
|
|
6d8c0e4021 | ||
|
|
fbc7067e3f | ||
|
|
82f4de5593 | ||
|
|
968cd11daa | ||
|
|
5447f1f859 | ||
|
|
3441980e83 | ||
|
|
bd2f32dd7d | ||
|
|
94faa168cb |
6
.github/workflows/add_version.yml
vendored
6
.github/workflows/add_version.yml
vendored
@ -4,7 +4,7 @@ on:
|
|||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
schedule:
|
schedule:
|
||||||
# Every N hours
|
# Every N hours
|
||||||
- cron: '0 */8 * * *'
|
- cron: '0 */4 * * *'
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@ -27,6 +27,7 @@ jobs:
|
|||||||
python plugins/python-build/scripts/add_cpython.py --verbose >added_versions.lst && rc=$? || rc=$?
|
python plugins/python-build/scripts/add_cpython.py --verbose >added_versions.lst && rc=$? || rc=$?
|
||||||
echo "rc=$rc" >> $GITHUB_ENV
|
echo "rc=$rc" >> $GITHUB_ENV
|
||||||
- name: set PR properties
|
- name: set PR properties
|
||||||
|
if: env.rc == 0
|
||||||
shell: python
|
shell: python
|
||||||
run: |
|
run: |
|
||||||
import os
|
import os
|
||||||
@ -34,7 +35,7 @@ jobs:
|
|||||||
versions=[l.rstrip() for l in open("added_versions.lst")]
|
versions=[l.rstrip() for l in open("added_versions.lst")]
|
||||||
with open(os.environ['GITHUB_ENV'],'a') as f:
|
with open(os.environ['GITHUB_ENV'],'a') as f:
|
||||||
f.write(f'branch_name=auto_add_version/{"_".join(versions)}\n')
|
f.write(f'branch_name=auto_add_version/{"_".join(versions)}\n')
|
||||||
f.write(f'pr_name=Add {", ".join(versions)}\n')
|
f.write(f'pr_name=Add CPython {", ".join(versions)}\n')
|
||||||
os.remove("added_versions.lst")
|
os.remove("added_versions.lst")
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
@ -43,3 +44,4 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
branch: ${{ env.branch_name }}
|
branch: ${{ env.branch_name }}
|
||||||
title: ${{ env.pr_name }}
|
title: ${{ env.pr_name }}
|
||||||
|
token: ${{ secrets.TOKEN_AUTO_PR }}
|
||||||
|
|||||||
8
.github/workflows/modified_scripts_build.yml
vendored
8
.github/workflows/modified_scripts_build.yml
vendored
@ -56,6 +56,14 @@ jobs:
|
|||||||
if name == 'anaconda3' and version >= packaging.version.Version('2025.12'):
|
if name == 'anaconda3' and version >= packaging.version.Version('2025.12'):
|
||||||
result.append({'os':'macos-15-intel','python-version':line})
|
result.append({'os':'macos-15-intel','python-version':line})
|
||||||
|
|
||||||
|
if m:=re.match(r'graalpy-(community-)?-(\d+\.\d+.\d+)', line):
|
||||||
|
version = packaging.version.Version(m.group(2))
|
||||||
|
|
||||||
|
# GraalPy dropped MacOS x64 support
|
||||||
|
if version >= packaging.version.Version('25.0.2'):
|
||||||
|
result.append({'os':'macos-15-intel','python-version':line})
|
||||||
|
|
||||||
|
|
||||||
EOF = str(random.getrandbits(15*8))
|
EOF = str(random.getrandbits(15*8))
|
||||||
|
|
||||||
with open(os.environ['GITHUB_ENV'],'w') as f:
|
with open(os.environ['GITHUB_ENV'],'w') as f:
|
||||||
|
|||||||
11
CHANGELOG.md
11
CHANGELOG.md
@ -1,5 +1,16 @@
|
|||||||
# Version History
|
# Version History
|
||||||
|
|
||||||
|
## Release v2.6.22
|
||||||
|
* Add CPython 3.13.12 by @github-actions[bot] in https://github.com/pyenv/pyenv/pull/3401
|
||||||
|
|
||||||
|
## Release v2.6.21
|
||||||
|
* Add GraalPy 25.0.2 by @msimacek in https://github.com/pyenv/pyenv/pull/3395
|
||||||
|
* Add CPython 3.14.3 by @github-actions[bot] in https://github.com/pyenv/pyenv/pull/3400
|
||||||
|
|
||||||
|
## Release v2.6.20
|
||||||
|
* CI: adjust CPython PR generation logic by @native-api in https://github.com/pyenv/pyenv/pull/3392
|
||||||
|
* Add CPython 3.15.0a5 by @nedbat in https://github.com/pyenv/pyenv/pull/3393
|
||||||
|
|
||||||
## Release v2.6.19
|
## Release v2.6.19
|
||||||
* Add CPython 3.15.0a4 by @nedbat in https://github.com/pyenv/pyenv/pull/3390
|
* Add CPython 3.15.0a4 by @nedbat in https://github.com/pyenv/pyenv/pull/3390
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
version="2.6.19"
|
version="2.6.22"
|
||||||
git_revision=""
|
git_revision=""
|
||||||
|
|
||||||
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
# -g/--debug Build a debug version
|
# -g/--debug Build a debug version
|
||||||
#
|
#
|
||||||
|
|
||||||
PYTHON_BUILD_VERSION="2.6.19"
|
PYTHON_BUILD_VERSION="2.6.22"
|
||||||
|
|
||||||
OLDIFS="$IFS"
|
OLDIFS="$IFS"
|
||||||
|
|
||||||
|
|||||||
@ -13,9 +13,11 @@ import io
|
|||||||
import itertools
|
import itertools
|
||||||
import logging
|
import logging
|
||||||
import operator
|
import operator
|
||||||
|
import os.path
|
||||||
import pathlib
|
import pathlib
|
||||||
import pprint
|
import pprint
|
||||||
import re
|
import re
|
||||||
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import typing
|
import typing
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
@ -40,7 +42,8 @@ OUT_DIR: pathlib.Path = here.parent.parent / "share" / "python-build"
|
|||||||
|
|
||||||
T_THUNK=\
|
T_THUNK=\
|
||||||
'''export PYTHON_BUILD_FREE_THREADING=1
|
'''export PYTHON_BUILD_FREE_THREADING=1
|
||||||
source "${BASH_SOURCE[0]%t}"'''
|
source "${BASH_SOURCE[0]%t}"
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
def adapt_script(version: packaging.version.Version,
|
def adapt_script(version: packaging.version.Version,
|
||||||
@ -120,7 +123,7 @@ def add_version(version: packaging.version.Version):
|
|||||||
return False
|
return False
|
||||||
VersionDirectory.existing.append(_CPythonExistingScriptInfo(version,str(new_path)))
|
VersionDirectory.existing.append(_CPythonExistingScriptInfo(version,str(new_path)))
|
||||||
|
|
||||||
cleanup_prerelease_upgrade(is_prerelease_upgrade, previous_version)
|
cleanup_prerelease_upgrade(is_prerelease_upgrade, previous_version, version)
|
||||||
|
|
||||||
handle_t_thunks(version, previous_version, is_prerelease_upgrade)
|
handle_t_thunks(version, previous_version, is_prerelease_upgrade)
|
||||||
|
|
||||||
@ -130,26 +133,55 @@ def add_version(version: packaging.version.Version):
|
|||||||
|
|
||||||
def cleanup_prerelease_upgrade(
|
def cleanup_prerelease_upgrade(
|
||||||
is_prerelease_upgrade: bool,
|
is_prerelease_upgrade: bool,
|
||||||
previous_version: packaging.version.Version)\
|
previous_version: packaging.version.Version,
|
||||||
|
new_version: packaging.version.Version)\
|
||||||
-> None:
|
-> None:
|
||||||
if is_prerelease_upgrade:
|
if not is_prerelease_upgrade:
|
||||||
previous_version_path = OUT_DIR / str(previous_version)
|
return
|
||||||
logger.info(f'Deleting {previous_version_path}')
|
|
||||||
previous_version_path.unlink()
|
previous_version_filename = str(previous_version)
|
||||||
del VersionDirectory.existing[previous_version]
|
new_version_filename = str(new_version)
|
||||||
|
new_version_path = OUT_DIR / new_version_filename
|
||||||
|
|
||||||
|
logger.info(f'Git moving {previous_version_filename} '
|
||||||
|
f'to {new_version_filename} (preserving new data)')
|
||||||
|
|
||||||
|
data = new_version_path.read_text()
|
||||||
|
new_version_path.unlink()
|
||||||
|
|
||||||
|
subprocess.check_call(("git","-C",OUT_DIR,
|
||||||
|
"mv",
|
||||||
|
previous_version_filename,
|
||||||
|
new_version_filename))
|
||||||
|
|
||||||
|
new_version_path.write_text(data)
|
||||||
|
|
||||||
|
del VersionDirectory.existing[previous_version]
|
||||||
|
|
||||||
|
|
||||||
def handle_t_thunks(version, previous_version, is_prerelease_upgrade):
|
def handle_t_thunks(version, previous_version, is_prerelease_upgrade):
|
||||||
if (version.major, version.minor) >= (3, 13):
|
if (version.major, version.minor) < (3, 13):
|
||||||
# an old thunk may have older version-specific code
|
return
|
||||||
# so it's safer to write a known version-independent template
|
|
||||||
thunk_path = OUT_DIR.joinpath(str(version) + "t")
|
# an old thunk may have older version-specific code
|
||||||
logger.info(f"Writing {thunk_path}")
|
# so it's safer to write a known version-independent template
|
||||||
thunk_path.write_text(T_THUNK, encoding='utf-8')
|
thunk_name = (str(version) + "t")
|
||||||
if is_prerelease_upgrade:
|
thunk_path = OUT_DIR / thunk_name
|
||||||
previous_thunk_path = OUT_DIR.joinpath(str(previous_version) + "t")
|
previous_thunk_name = str(previous_version) + "t"
|
||||||
logger.info(f"Deleting {previous_thunk_path}")
|
previous_thunk_path = OUT_DIR / previous_thunk_name
|
||||||
previous_thunk_path.unlink()
|
if is_prerelease_upgrade:
|
||||||
|
logger.info(f"Git moving {previous_thunk_name} to {thunk_name}")
|
||||||
|
subprocess.check_call(("git","-C",OUT_DIR,
|
||||||
|
"mv",
|
||||||
|
previous_thunk_name,
|
||||||
|
thunk_name))
|
||||||
|
else:
|
||||||
|
logger.info(f"Deleting {previous_thunk_path}")
|
||||||
|
previous_thunk_path.unlink()
|
||||||
|
|
||||||
|
logger.info(f"Writing {thunk_path}")
|
||||||
|
thunk_path.write_text(T_THUNK, encoding='utf-8')
|
||||||
|
|
||||||
|
|
||||||
Arguments: argparse.Namespace
|
Arguments: argparse.Namespace
|
||||||
|
|
||||||
@ -468,10 +500,13 @@ class ReadlineVersionsDirectory(KeyedList[_ReadlineVersionInfo, packaging.versio
|
|||||||
max_item = candidates._latest_release()
|
max_item = candidates._latest_release()
|
||||||
hash_ = Url.sha256_url(max_item.url, VersionDirectory.session)
|
hash_ = Url.sha256_url(max_item.url, VersionDirectory.session)
|
||||||
|
|
||||||
|
permalink = 'https://ftpmirror.gnu.org/readline/' +\
|
||||||
|
os.path.basename(urllib.parse.urlparse(max_item.url).path)
|
||||||
|
|
||||||
result = _ReadlineVersionInfo(
|
result = _ReadlineVersionInfo(
|
||||||
max_item.version,
|
max_item.version,
|
||||||
max_item.package_name,
|
max_item.package_name,
|
||||||
max_item.url,
|
permalink,
|
||||||
hash_)
|
hash_)
|
||||||
self.append(result)
|
self.append(result)
|
||||||
|
|
||||||
|
|||||||
10
plugins/python-build/share/python-build/3.13.12
Normal file
10
plugins/python-build/share/python-build/3.13.12
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.6.1" "https://github.com/openssl/openssl/releases/download/openssl-3.6.1/openssl-3.6.1.tar.gz#b1bfedcd5b289ff22aee87c9d600f515767ebf45f77168cb6d64f231f518a82e" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-8.3" "https://ftpmirror.gnu.org/readline/readline-8.3.tar.gz#fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc" mac_readline --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.13.12" "https://www.python.org/ftp/python/3.13.12/Python-3.13.12.tar.xz#2a84cd31dd8d8ea8aaff75de66fc1b4b0127dd5799aa50a64ae9a313885b4593" standard verify_py313 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.13.12" "https://www.python.org/ftp/python/3.13.12/Python-3.13.12.tgz#12e7cb170ad2d1a69aee96a1cc7fc8de5b1e97a2bdac51683a3db016ec9a2996" standard verify_py313 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
10
plugins/python-build/share/python-build/3.14.3
Normal file
10
plugins/python-build/share/python-build/3.14.3
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.6.1" "https://github.com/openssl/openssl/releases/download/openssl-3.6.1/openssl-3.6.1.tar.gz#b1bfedcd5b289ff22aee87c9d600f515767ebf45f77168cb6d64f231f518a82e" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-8.3" "https://ftpmirror.gnu.org/readline/readline-8.3.tar.gz#fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc" mac_readline --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.14.3" "https://www.python.org/ftp/python/3.14.3/Python-3.14.3.tar.xz#a97d5549e9ad81fe17159ed02c68774ad5d266c72f8d9a0b5a9c371fe85d902b" standard verify_py314 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.14.3" "https://www.python.org/ftp/python/3.14.3/Python-3.14.3.tgz#d7fe130d0501ae047ca318fa92aa642603ab6f217901015a1df6ce650d5470cd" standard verify_py314 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
@ -4,7 +4,7 @@ export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
|||||||
install_package "openssl-3.6.0" "https://github.com/openssl/openssl/releases/download/openssl-3.6.0/openssl-3.6.0.tar.gz#b6a5f44b7eb69e3fa35dbf15524405b44837a481d43d81daddde3ff21fcbb8e9" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-3.6.0" "https://github.com/openssl/openssl/releases/download/openssl-3.6.0/openssl-3.6.0.tar.gz#b6a5f44b7eb69e3fa35dbf15524405b44837a481d43d81daddde3ff21fcbb8e9" mac_openssl --if has_broken_mac_openssl
|
||||||
install_package "readline-8.3" "https://ftpmirror.gnu.org/readline/readline-8.3.tar.gz#fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc" mac_readline --if has_broken_mac_readline
|
install_package "readline-8.3" "https://ftpmirror.gnu.org/readline/readline-8.3.tar.gz#fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc" mac_readline --if has_broken_mac_readline
|
||||||
if has_tar_xz_support; then
|
if has_tar_xz_support; then
|
||||||
install_package "Python-3.15.0a4" "https://www.python.org/ftp/python/3.15.0/Python-3.15.0a4.tar.xz#a0a521d5c480b89979da1aefce29750eb158128c0178728ebfef7511c21b4e77" standard verify_py315 copy_python_gdb ensurepip
|
install_package "Python-3.15.0a5" "https://www.python.org/ftp/python/3.15.0/Python-3.15.0a5.tar.xz#fee40da6450b67547c079dcb2852e8a03db6d57e06415466b2d3294449db22ef" standard verify_py315 copy_python_gdb ensurepip
|
||||||
else
|
else
|
||||||
install_package "Python-3.15.0a4" "https://www.python.org/ftp/python/3.15.0/Python-3.15.0a4.tgz#c6e450064e38f903cb2857018fc31cff8fcdedae04820b0bfff0825d690ff85f" standard verify_py315 copy_python_gdb ensurepip
|
install_package "Python-3.15.0a5" "https://www.python.org/ftp/python/3.15.0/Python-3.15.0a5.tgz#c4b535cd6f4c07889a53ce68fedf00c77c720086ab018723a8b5079b25a1e051" standard verify_py315 copy_python_gdb ensurepip
|
||||||
fi
|
fi
|
||||||
61
plugins/python-build/share/python-build/graalpy-25.0.2
Normal file
61
plugins/python-build/share/python-build/graalpy-25.0.2
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# Copyright (c) 2026, 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='25.0.2'
|
||||||
|
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="8967e4bae1c5040d62dbc98976f2099d5c36c00a79944e99b848d455e618ecdf"
|
||||||
|
;;
|
||||||
|
"linux-aarch64" )
|
||||||
|
checksum="805f3526296e04692b27ca001ba97674e53d0f036412d9ffc29aeb8b51517ab6"
|
||||||
|
;;
|
||||||
|
"macos-aarch64" )
|
||||||
|
checksum="c771688b8636932026180bdd9b5e3d6116316fa868faf7e602a60ba020c7bade"
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ 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,51 @@
|
|||||||
|
# Copyright (c) 2026, 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='25.0.2'
|
||||||
|
BUILD=''
|
||||||
|
|
||||||
|
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
|
||||||
|
|
||||||
|
case "$graalpy_arch" in
|
||||||
|
"linux-amd64" )
|
||||||
|
checksum="8db86f13c0b701bab0780e8821052a40303c08b83fdc9c21da06605d14d4cc79"
|
||||||
|
;;
|
||||||
|
"linux-aarch64" )
|
||||||
|
checksum="98f7b9dea867c45cde5c2886b7544bd267242b2fa93586f2c9d3d38e88d5d109"
|
||||||
|
;;
|
||||||
|
"macos-aarch64" )
|
||||||
|
checksum="c64bef17f34d42327d5c3fe40c05eddf791c3653cc8366f6bf1149b51ce9d517"
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ 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
|
||||||
Loading…
x
Reference in New Issue
Block a user