mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-21 20:47:00 -05:00
Merge branch 'pyenv:master' into master
This commit is contained in:
commit
bc6a0db677
42 changed files with 768 additions and 58 deletions
2
.github/workflows/macos_build.yml
vendored
2
.github/workflows/macos_build.yml
vendored
|
@ -32,7 +32,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
echo $PYENV_ROOT
|
echo $PYENV_ROOT
|
||||||
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
|
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
|
||||||
bin/pyenv install -v ${{ matrix.python-version }}
|
bin/pyenv --debug install ${{ matrix.python-version }}
|
||||||
bin/pyenv global ${{ matrix.python-version }}
|
bin/pyenv global ${{ matrix.python-version }}
|
||||||
bin/pyenv rehash
|
bin/pyenv rehash
|
||||||
- run: python --version
|
- run: python --version
|
||||||
|
|
2
.github/workflows/modified_scripts_build.yml
vendored
2
.github/workflows/modified_scripts_build.yml
vendored
|
@ -49,7 +49,7 @@ jobs:
|
||||||
fi
|
fi
|
||||||
- run: |
|
- run: |
|
||||||
#build
|
#build
|
||||||
pyenv install -v ${{ matrix.python-version }}
|
pyenv --debug install ${{ matrix.python-version }}
|
||||||
pyenv global ${{ matrix.python-version }}
|
pyenv global ${{ matrix.python-version }}
|
||||||
# Micropython doesn't support --version
|
# Micropython doesn't support --version
|
||||||
- run: |
|
- run: |
|
||||||
|
|
2
.github/workflows/ubuntu_build.yml
vendored
2
.github/workflows/ubuntu_build.yml
vendored
|
@ -34,7 +34,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
echo $PYENV_ROOT
|
echo $PYENV_ROOT
|
||||||
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
|
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
|
||||||
bin/pyenv install -v ${{ matrix.python-version }}
|
bin/pyenv --debug install ${{ matrix.python-version }}
|
||||||
bin/pyenv global ${{ matrix.python-version }}
|
bin/pyenv global ${{ matrix.python-version }}
|
||||||
bin/pyenv rehash
|
bin/pyenv rehash
|
||||||
- run: python --version
|
- run: python --version
|
||||||
|
|
34
CHANGELOG.md
34
CHANGELOG.md
|
@ -1,5 +1,39 @@
|
||||||
# Version History
|
# Version History
|
||||||
|
|
||||||
|
## Release v2.4.3
|
||||||
|
* Add miniconda3 24.4.0-0 by @binbjz in https://github.com/pyenv/pyenv/pull/2982
|
||||||
|
|
||||||
|
## Release v2.4.2
|
||||||
|
* Add script to install graalpy development builds by @timfel in https://github.com/pyenv/pyenv/pull/2969
|
||||||
|
* Correct the Explanation of PATH Variable Lookup by @Y-askour in https://github.com/pyenv/pyenv/pull/2975
|
||||||
|
* Document PYTHON_BUILD_CURL_OPTS, PYTHON_BUILD_WGET_OPTS, PYTHON_BUILD_ARIA2_OPTS by @native-api in https://github.com/pyenv/pyenv/pull/2976
|
||||||
|
* Add sed and greadlink to shim exceptions by @native-api in https://github.com/pyenv/pyenv/pull/2977
|
||||||
|
* Add CPython 3.13.0b2 by @jsirois in https://github.com/pyenv/pyenv/pull/2978
|
||||||
|
* Add CPython 3.12.4 by @xxzgc in https://github.com/pyenv/pyenv/pull/2981
|
||||||
|
|
||||||
|
## Release v2.4.1
|
||||||
|
* Add CPython 3.12.3 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2941
|
||||||
|
* Add CPython 3.13.0a6 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2942
|
||||||
|
* Add PyPy v7.3.16 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2948
|
||||||
|
* Add CPython 3.14-dev, update 3.13-dev by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2960
|
||||||
|
* Add CPython 3.13.0b1 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2959
|
||||||
|
|
||||||
|
## Release v2.4.0
|
||||||
|
* Add CPython 3.13.0a4 by @saaketp in https://github.com/pyenv/pyenv/pull/2903
|
||||||
|
* Handle the case where `pyenv-commands --sh` returns nothing by @aphedges in https://github.com/pyenv/pyenv/pull/2908
|
||||||
|
* Document default build configuration customizations by @native-api in https://github.com/pyenv/pyenv/pull/2911
|
||||||
|
* Use Homebrew in Linux if Pyenv is installled with Homebrew by @native-api in https://github.com/pyenv/pyenv/pull/2906
|
||||||
|
* Add miniforge and mambaforge 22.11.1-3, 22.11.1-4, 23.1.0-0 to 23.11.0-0 by @aphedges in https://github.com/pyenv/pyenv/pull/2909
|
||||||
|
* Add miniconda3-24.1.2 by @binbjz in https://github.com/pyenv/pyenv/pull/2915
|
||||||
|
* Minor grammar fix in libffi backport patch in 2.5.x by @cuinix in https://github.com/pyenv/pyenv/pull/2922
|
||||||
|
* Add CPython 3.13.0a5 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2924
|
||||||
|
* Add CPython 3.8.19 and 3.9.19 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2929
|
||||||
|
* Add GraalPy 24.0.0 by @msimacek in https://github.com/pyenv/pyenv/pull/2928
|
||||||
|
* Add CPython 3.10.14 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2930
|
||||||
|
* Add Jython 2.7.3 by @cesarcoatl in https://github.com/pyenv/pyenv/pull/2936
|
||||||
|
* Add CPython 3.11.9 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2938
|
||||||
|
* Add anaconda 2024.02 by @native-api in https://github.com/pyenv/pyenv/pull/2939
|
||||||
|
|
||||||
## Release v2.3.36
|
## Release v2.3.36
|
||||||
* Add a Dependabot config to auto-update GitHub action versions by @kurtmckee in https://github.com/pyenv/pyenv/pull/2863
|
* Add a Dependabot config to auto-update GitHub action versions by @kurtmckee in https://github.com/pyenv/pyenv/pull/2863
|
||||||
* Bump the github-actions group with 1 update by @dependabot in https://github.com/pyenv/pyenv/pull/2864
|
* Bump the github-actions group with 1 update by @dependabot in https://github.com/pyenv/pyenv/pull/2864
|
||||||
|
|
|
@ -86,7 +86,7 @@ to the correct Python installation.
|
||||||
|
|
||||||
### Understanding PATH
|
### Understanding PATH
|
||||||
|
|
||||||
When you run a command like `python` or `pip`, your operating system
|
When you run a command like `python` or `pip`, your shell (bash / zshrc / ...)
|
||||||
searches through a list of directories to find an executable file with
|
searches through a list of directories to find an executable file with
|
||||||
that name. This list of directories lives in an environment variable
|
that name. This list of directories lives in an environment variable
|
||||||
called `PATH`, with each directory in the list separated by a colon:
|
called `PATH`, with each directory in the list separated by a colon:
|
||||||
|
@ -580,10 +580,13 @@ uninstall from the system.
|
||||||
|
|
||||||
## Pyenv plugins
|
## Pyenv plugins
|
||||||
|
|
||||||
Pyenv provides a simple, flexible and maintainable way to extend and customize its functionality with plugins --
|
Pyenv provides a simple way to extend and customize its functionality with plugins --
|
||||||
as simple as creating a plugin directory and dropping a shell script on a certain subpath of it
|
as simple as creating a plugin directory and dropping a shell script on a certain subpath of it
|
||||||
with whatever extra logic you need to be run at certain moments.
|
with whatever extra logic you need to be run at certain moments.
|
||||||
|
|
||||||
|
The main idea is that most things that you can put under `$PYENV_ROOT/<whatever>` you can also put
|
||||||
|
under `$PYENV_ROOT/plugins/your_plugin_name/<whatever>`.
|
||||||
|
|
||||||
See [_Plugins_ on the wiki](https://github.com/pyenv/pyenv/wiki/Plugins) on how to install and use plugins
|
See [_Plugins_ on the wiki](https://github.com/pyenv/pyenv/wiki/Plugins) on how to install and use plugins
|
||||||
as well as a catalog of some useful existing plugins for common needs.
|
as well as a catalog of some useful existing plugins for common needs.
|
||||||
|
|
||||||
|
@ -675,7 +678,6 @@ name | default | description
|
||||||
`PYENV_DEBUG` | | Outputs debug information.<br>Also as: `pyenv --debug <subcommand>`
|
`PYENV_DEBUG` | | Outputs debug information.<br>Also as: `pyenv --debug <subcommand>`
|
||||||
`PYENV_HOOK_PATH` | [_see wiki_][hooks] | Colon-separated list of paths searched for pyenv hooks.
|
`PYENV_HOOK_PATH` | [_see wiki_][hooks] | Colon-separated list of paths searched for pyenv hooks.
|
||||||
`PYENV_DIR` | `$PWD` | Directory to start searching for `.python-version` files.
|
`PYENV_DIR` | `$PWD` | Directory to start searching for `.python-version` files.
|
||||||
`PYTHON_BUILD_ARIA2_OPTS` | | Used to pass additional parameters to [`aria2`](https://aria2.github.io/).<br>If the `aria2c` binary is available on `PATH`, pyenv uses `aria2c` instead of `curl` or `wget` to download the Python Source code. If you have an unstable internet connection, you can use this variable to instruct `aria2` to accelerate the download.<br>In most cases, you will only need to use `-x 10 -k 1M` as value to `PYTHON_BUILD_ARIA2_OPTS` environment variable
|
|
||||||
|
|
||||||
See also [_Special environment variables_ in Python-Build's README](plugins/python-build/README.md#special-environment-variables)
|
See also [_Special environment variables_ in Python-Build's README](plugins/python-build/README.md#special-environment-variables)
|
||||||
for environment variables that can be used to customize the build.
|
for environment variables that can be used to customize the build.
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
version="2.3.36"
|
version="2.4.3"
|
||||||
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
|
||||||
|
|
|
@ -96,7 +96,10 @@ versions of Python that are not yet supported by python-build.
|
||||||
See the [python-build built-in definitions](https://github.com/pyenv/pyenv/tree/master/plugins/python-build/share/python-build) as a starting point for
|
See the [python-build built-in definitions](https://github.com/pyenv/pyenv/tree/master/plugins/python-build/share/python-build) as a starting point for
|
||||||
custom definition files.
|
custom definition files.
|
||||||
|
|
||||||
[definitions]: https://github.com/pyenv/pyenv/tree/master/plugins/python-build/share/python-build
|
#### Adding definitions with a Pyenv plugin
|
||||||
|
|
||||||
|
You can add your own definitions with a [Pyenv plugin](https://github.com/pyenv/pyenv?tab=readme-ov-file#pyenv-plugins) by placing them under
|
||||||
|
`$PYENV_ROOT/plugins/your_plugin_name/share/python-build`.
|
||||||
|
|
||||||
### Default build configuration
|
### Default build configuration
|
||||||
|
|
||||||
|
@ -157,6 +160,7 @@ You can set certain environment variables to control the build process.
|
||||||
* `PYTHON_BUILD_SKIP_MIRROR`, if set, forces python-build to download packages from
|
* `PYTHON_BUILD_SKIP_MIRROR`, if set, forces python-build to download packages from
|
||||||
their original source URLs instead of using a mirror.
|
their original source URLs instead of using a mirror.
|
||||||
* `PYTHON_BUILD_HTTP_CLIENT`, explicitly specify the HTTP client type to use. `aria2`, `curl` and `wget` are the supported values and by default, are searched in that order.
|
* `PYTHON_BUILD_HTTP_CLIENT`, explicitly specify the HTTP client type to use. `aria2`, `curl` and `wget` are the supported values and by default, are searched in that order.
|
||||||
|
* `PYTHON_BUILD_CURL_OPTS`, `PYTHON_BUILD_WGET_OPTS`, `PYTHON_BUILD_ARIA2_OPTS` pass additional parameters to the corresponding HTTP client.
|
||||||
* `PYTHON_BUILD_SKIP_HOMEBREW`, if set, will not search for libraries installed by Homebrew when it would normally will.
|
* `PYTHON_BUILD_SKIP_HOMEBREW`, if set, will not search for libraries installed by Homebrew when it would normally will.
|
||||||
* `PYTHON_BUILD_USE_HOMEBREW`, if set, will search for libraries installed by Homebrew when it would normally not.
|
* `PYTHON_BUILD_USE_HOMEBREW`, if set, will search for libraries installed by Homebrew when it would normally not.
|
||||||
* `PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA`, override the Homebrew OpenSSL formula to use.
|
* `PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA`, override the Homebrew OpenSSL formula to use.
|
||||||
|
@ -196,20 +200,6 @@ $ cat fix1.patch fix2.patch | pyenv install --patch 2.7.10
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Building with `--enable-shared`
|
|
||||||
|
|
||||||
You can build CPython with `--enable-shared` to install a version with
|
|
||||||
shared object.
|
|
||||||
|
|
||||||
If `--enable-shared` was found in `PYTHON_CONFIGURE_OPTS` or `CONFIGURE_OPTS`,
|
|
||||||
`python-build` will automatically set `RPATH` to the pyenv's prefix directory.
|
|
||||||
This means you don't have to set `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` for
|
|
||||||
the version(s) installed with `--enable-shared`.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.9
|
|
||||||
```
|
|
||||||
|
|
||||||
### Building for maximum performance
|
### Building for maximum performance
|
||||||
|
|
||||||
Building CPython with `--enable-optimizations` will result in a faster
|
Building CPython with `--enable-optimizations` will result in a faster
|
||||||
|
@ -237,14 +227,30 @@ definition. (All bundled definitions include checksums.)
|
||||||
### Package download mirrors
|
### Package download mirrors
|
||||||
|
|
||||||
python-build will first attempt to download package files from a mirror hosted on
|
python-build will first attempt to download package files from a mirror hosted on
|
||||||
GitHub Pages. If a package is not available on the mirror, if the mirror
|
GitHub Pages. If this fails, it will fall back to the
|
||||||
is down, or if the download is corrupt, python-build will fall back to the
|
|
||||||
official URL specified in the definition file.
|
official URL specified in the definition file.
|
||||||
|
|
||||||
You can point python-build to another mirror by specifying the
|
You can point python-build to another mirror by specifying the
|
||||||
`PYTHON_BUILD_MIRROR_URL` environment variable--useful if you'd like to run your
|
`PYTHON_BUILD_MIRROR_URL` environment variable.
|
||||||
own local mirror, for example. Package mirror URLs are constructed by joining
|
|
||||||
this variable with the SHA2 checksum of the package file.
|
Package mirror URLs are constructed by joining
|
||||||
|
`$PYTHON_BUILD_MIRROR_URL` with the SHA2 checksum of the package file as specified in the URL
|
||||||
|
in the installation script (the part after the hash sign). E.g.:
|
||||||
|
|
||||||
|
```
|
||||||
|
https://mycache.example.com/0419e9085bf51b7a672009b3f50dbf1859acdf18ba725d0ec19aa5c8503f0ea3
|
||||||
|
```
|
||||||
|
|
||||||
|
If you have replicated the directory structure of an official site, the easiest way to adapt
|
||||||
|
would be to make symlinks at the mirror's root:
|
||||||
|
|
||||||
|
```
|
||||||
|
0419e9085bf51b7a672009b3f50dbf1859acdf18ba725d0ec19aa5c8503f0ea3 -> 3.10.10/Python-3.10.10.tar.xz
|
||||||
|
```
|
||||||
|
|
||||||
|
The rationale is to abstract away difference between directory structures of sites
|
||||||
|
of various Python flavors and their occasional changes as well as to accomodate
|
||||||
|
people who only wish to cache some select downloads. This also allows to mirror multiple sites at once.
|
||||||
|
|
||||||
If the mirror being used does not have the same checksum (*e.g.* with a
|
If the mirror being used does not have the same checksum (*e.g.* with a
|
||||||
pull-through cache like Artifactory), you can set the
|
pull-through cache like Artifactory), you can set the
|
||||||
|
@ -257,15 +263,15 @@ mirror by setting the `PYTHON_BUILD_SKIP_MIRROR` environment variable.
|
||||||
The official python-build download mirror is provided by
|
The official python-build download mirror is provided by
|
||||||
[GitHub Pages](http://yyuu.github.io/pythons/).
|
[GitHub Pages](http://yyuu.github.io/pythons/).
|
||||||
|
|
||||||
### Package download caching
|
### Package download cache
|
||||||
|
|
||||||
You can instruct python-build to keep a local cache of downloaded package files
|
Python-build will keep a cache of downloaded package files
|
||||||
by setting the `PYTHON_BUILD_CACHE_PATH` environment variable. When set, package
|
at the location specified by the `PYTHON_BUILD_CACHE_PATH` environment variable
|
||||||
files will be kept in this directory after the first successful download and
|
if it exists. The default is `~/.pyenv/cache`, so you can
|
||||||
reused by subsequent invocations of `python-build` and `pyenv install`.
|
enable caching by just creating that directory.
|
||||||
|
|
||||||
The `pyenv install` command defaults this path to `~/.pyenv/cache`, so in most
|
The name of the would-be cached file is reported by Pyenv in the "Downloading <filename>..." message.
|
||||||
cases you can enable download caching simply by creating that directory.
|
It's possible to warm up the cache by manually putting the file there under an appropriate name.
|
||||||
|
|
||||||
### Keeping the build directory after installation
|
### Keeping the build directory after installation
|
||||||
|
|
||||||
|
|
|
@ -397,7 +397,7 @@ http_get_aria2c() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if aria2c --allow-overwrite=true --no-conf=true -d "${dir_out}" -o "${out}" ${ARIA2_OPTS} "$1" >&4; then
|
if aria2c --allow-overwrite=true --no-conf=true -d "${dir_out}" -o "${out}" ${ARIA2_OPTS} "$1" >&4; then
|
||||||
[ -n "$2" ] || cat "${out}"
|
[ -n "$2" ] || cat "${dir_out:-.}/${out}"
|
||||||
else
|
else
|
||||||
false
|
false
|
||||||
fi
|
fi
|
||||||
|
@ -2021,6 +2021,11 @@ build_package_verify_py313() {
|
||||||
build_package_verify_py312 "$1" "${2:-3.13}"
|
build_package_verify_py312 "$1" "${2:-3.13}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Post-install check for Python 3.14.x
|
||||||
|
build_package_verify_py314() {
|
||||||
|
build_package_verify_py313 "$1" "${2:-3.13}"
|
||||||
|
}
|
||||||
|
|
||||||
# Post-install check for Python 3.x rolling release scripts
|
# Post-install check for Python 3.x rolling release scripts
|
||||||
# XXX: Will need splitting into project-specific ones if there emerge
|
# XXX: Will need splitting into project-specific ones if there emerge
|
||||||
# multiple rolling-release scripts with different checks needed
|
# multiple rolling-release scripts with different checks needed
|
||||||
|
|
9
plugins/python-build/share/python-build/3.10.14
Normal file
9
plugins/python-build/share/python-build/3.10.14
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.14" "https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tar.xz#9c50481faa8c2832329ba0fc8868d0a606a680fc4f60ec48d26ce8e076751fda" standard verify_py310 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.10.14" "https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tgz#cefea32d3be89c02436711c95a45c7f8e880105514b78680c14fe76f5709a0f6" standard verify_py310 copy_python_gdb ensurepip
|
||||||
|
fi
|
10
plugins/python-build/share/python-build/3.11.9
Normal file
10
plugins/python-build/share/python-build/3.11.9
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.1" "https://www.openssl.org/source/openssl-3.2.1.tar.gz#83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39" 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.9" "https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tar.xz#9b1e896523fc510691126c864406d9360a3d1e986acbda59cda57b5abda45b87" standard verify_py311 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.11.9" "https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgz#e7de3240a8bc2b1e1ba5c81bf943f06861ff494b69fda990ce2722a504c6153d" standard verify_py311 copy_python_gdb ensurepip
|
||||||
|
fi
|
9
plugins/python-build/share/python-build/3.12.3
Normal file
9
plugins/python-build/share/python-build/3.12.3
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
prefer_openssl3
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-3.2.1" "https://www.openssl.org/source/openssl-3.2.1.tar.gz#83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39" 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.3" "https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tar.xz#56bfef1fdfc1221ce6720e43a661e3eb41785dd914ce99698d8c7896af4bdaa1" standard verify_py312 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.12.3" "https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tgz#a6b9459f45a6ebbbc1af44f5762623fa355a0c87208ed417628b379d762dddb0" standard verify_py312 copy_python_gdb ensurepip
|
||||||
|
fi
|
9
plugins/python-build/share/python-build/3.12.4
Normal file
9
plugins/python-build/share/python-build/3.12.4
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
prefer_openssl3
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-3.2.2" "https://www.openssl.org/source/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.12.4" "https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tar.xz#f6d419a6d8743ab26700801b4908d26d97e8b986e14f95de31b32de2b0e79554" standard verify_py312 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.12.4" "https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tgz#01b3c1c082196f3b33168d344a9c85fb07bfe0e7ecfe77fee4443420d1ce2ad9" standard verify_py312 copy_python_gdb ensurepip
|
||||||
|
fi
|
|
@ -2,6 +2,6 @@ prefer_openssl3
|
||||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
||||||
export PYTHON_BUILD_CONFIGURE_WITH_DSYMUTIL=1
|
export PYTHON_BUILD_CONFIGURE_WITH_DSYMUTIL=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 "openssl-3.3.0" "https://www.openssl.org/source/openssl-3.3.0.tar.gz#53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02" 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
|
install_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline
|
||||||
install_git "Python-3.13-dev" "https://github.com/python/cpython" main standard verify_py313 copy_python_gdb ensurepip
|
install_git "Python-3.13-dev" "https://github.com/python/cpython" 3.13 standard verify_py313 copy_python_gdb ensurepip
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
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.0a3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a3.tar.xz#20784c8304eb1c69c80f966ebdf0775be2e37e23df3b62461eec12a85dcf7ead" standard verify_py313 copy_python_gdb ensurepip
|
|
||||||
else
|
|
||||||
install_package "Python-3.13.0a3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a3.tgz#9c7c2b42a20127816f9403723bfc88d1566f47dac0c46f50492f7ff8db646d8f" standard verify_py313 copy_python_gdb ensurepip
|
|
||||||
fi
|
|
9
plugins/python-build/share/python-build/3.13.0b2
Normal file
9
plugins/python-build/share/python-build/3.13.0b2
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
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.0b2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b2.tar.xz#bf11be01b42a07a3659e4e233591e03da631b7112aa61ee1e030eeb8c5dfd869" standard verify_py313 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.13.0b2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b2.tgz#c87c42aa8137230a15a02ed90a6600610ba680cb5b54c0fbc57581a0d032e0c4" standard verify_py313 copy_python_gdb ensurepip
|
||||||
|
fi
|
7
plugins/python-build/share/python-build/3.14-dev
Normal file
7
plugins/python-build/share/python-build/3.14-dev
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
prefer_openssl3
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_DSYMUTIL=1
|
||||||
|
install_package "openssl-3.3.0" "https://www.openssl.org/source/openssl-3.3.0.tar.gz#53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02" 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
|
||||||
|
install_git "Python-3.14-dev" "https://github.com/python/cpython" main standard verify_py314 copy_python_gdb ensurepip
|
12
plugins/python-build/share/python-build/3.8.19
Normal file
12
plugins/python-build/share/python-build/3.8.19
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.19" "https://www.python.org/ftp/python/3.8.19/Python-3.8.19.tar.xz#d2807ac69f69b84fd46a0b93bbd02a4fa48d3e70f4b2835ff0f72a2885040076" standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.8.19" "https://www.python.org/ftp/python/3.8.19/Python-3.8.19.tgz#c7fa55a36e5c7a19ec37d8f90f60a2197548908c9ac8b31e7c0dbffdd470eeac" standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
fi
|
12
plugins/python-build/share/python-build/3.9.19
Normal file
12
plugins/python-build/share/python-build/3.9.19
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.19" "https://www.python.org/ftp/python/3.9.19/Python-3.9.19.tar.xz#d4892cd1618f6458cb851208c030df1482779609d0f3939991bd38184f8c679e" standard verify_py39 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.9.19" "https://www.python.org/ftp/python/3.9.19/Python-3.9.19.tgz#f5f9ec8088abca9e399c3b62fd8ef31dbd2e1472c0ccb35070d4d136821aaf71" standard verify_py39 copy_python_gdb ensurepip
|
||||||
|
fi
|
25
plugins/python-build/share/python-build/anaconda3-2024.02-1
Normal file
25
plugins/python-build/share/python-build/anaconda3-2024.02-1
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-aarch64" )
|
||||||
|
install_script "Anaconda3-2024.02-1-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-aarch64.sh#28c5bed6fba84f418516e41640c7937514aabd55e929a8f66937c737303c7bba" "anaconda" verify_py311
|
||||||
|
;;
|
||||||
|
"Linux-s390x" )
|
||||||
|
install_script "Anaconda3-2024.02-1-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-s390x.sh#3e2e8b17ea9a5caafd448f52e01435998b2e1ce102040a924d5bd6e05a1d735b" "anaconda" verify_py311
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda3-2024.02-1-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh#c536ddb7b4ba738bddbd4e581b29308cb332fa12ae3fa2cd66814bd735dff231" "anaconda" verify_py311
|
||||||
|
;;
|
||||||
|
"MacOSX-arm64" )
|
||||||
|
install_script "Anaconda3-2024.02-1-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2024.02-1-MacOSX-arm64.sh#14a1c80af18c2c2e743e63cdb41228cd554a3fdb250563b6978348c80b6860f6" "anaconda" verify_py311
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda3-2024.02-1-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2024.02-1-MacOSX-x86_64.sh#944aee9b90f7d8a2a997d0337cb37219757f22e76c10de38c7c68191c6b5b226" "anaconda" verify_py311
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ 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.0.0
Normal file
64
plugins/python-build/share/python-build/graalpy-24.0.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.0.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="f0d194dea76da26093b9b01b78c0fcabbd8714640b08fcd2a9b05b9ded3e2039"
|
||||||
|
;;
|
||||||
|
"linux-aarch64" )
|
||||||
|
checksum="5bf0fd9d115c3ecd6bfb89a2fac7b9ba9343841c3928d14eac471b9b1ad1266e"
|
||||||
|
;;
|
||||||
|
"macos-amd64" )
|
||||||
|
checksum="1e2e51ea618bd6f6fe9a0248486b5962f6258193249c0657dc0480fd2b92d772"
|
||||||
|
;;
|
||||||
|
"macos-aarch64" )
|
||||||
|
checksum="d5597711839a41506beb129f9d8015f8997a1db1e0c79972636834d955d4ef61"
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ 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.0.0'
|
||||||
|
BUILD=''
|
||||||
|
|
||||||
|
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
|
||||||
|
|
||||||
|
case "$graalpy_arch" in
|
||||||
|
"linux-amd64" )
|
||||||
|
checksum="a77892d8d6b897b70b4226aa1b6abc8c41e824ae98d727429542b0157ae6f8d9"
|
||||||
|
;;
|
||||||
|
"linux-aarch64" )
|
||||||
|
checksum="201e2bad0ed59efc89654a77ae1634302111b3ffb9af53f9ee63ab43b735e5c3"
|
||||||
|
;;
|
||||||
|
"macos-amd64" )
|
||||||
|
checksum="7c816beb8c8b46ee0de60861f739c274efbc744304aa9034bffbd0319f13701d"
|
||||||
|
;;
|
||||||
|
"macos-aarch64" )
|
||||||
|
checksum="7f5540a28cf5c2c628cd003c3eb86bfa0a07175dae7d9b6528b40c44c4927402"
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ 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
|
54
plugins/python-build/share/python-build/graalpy-dev
Normal file
54
plugins/python-build/share/python-build/graalpy-dev
Normal file
|
@ -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.
|
||||||
|
|
||||||
|
JSON_URL=https://raw.githubusercontent.com/graalvm/graal-languages-ea-builds/main/graalpy/versions/latest-ea.json
|
||||||
|
|
||||||
|
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 "Release builds of the GraalVM Community Edition variant of GraalPy are available, with names starting with graalpy-community-" && echo
|
||||||
|
|
||||||
|
json=`http get "$JSON_URL"`
|
||||||
|
version=`expr "$json" : '{.*"version":[^"]*"\([^"]*\)'`
|
||||||
|
base_url=`expr "$json" : '{.*"download_base_url":[^"]*"\([^"]*\)'`
|
||||||
|
|
||||||
|
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
|
||||||
|
|
||||||
|
case "$graalpy_arch" in
|
||||||
|
"linux-amd64" )
|
||||||
|
;;
|
||||||
|
"linux-aarch64" )
|
||||||
|
;;
|
||||||
|
"macos-amd64" )
|
||||||
|
;;
|
||||||
|
"macos-aarch64" )
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": No binary distribution of GraalPy is available for $(uname -sm)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
url="${base_url}/graalpy-${version}-${graalpy_arch}.tar.gz"
|
||||||
|
|
||||||
|
install_package "graalpy-${version}" "${url}" "copy" ensurepip
|
14
plugins/python-build/share/python-build/jython-2.7.3
Normal file
14
plugins/python-build/share/python-build/jython-2.7.3
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
require_java
|
||||||
|
unrequire_python27
|
||||||
|
install_jar "jython-2.7.3" "https://repo1.maven.org/maven2/org/python/jython-installer/2.7.3/jython-installer-2.7.3.jar#3ffc25c5257d2028b176912a4091fe048c45c7d98218e52d7ce3160a62fdc9fc" jython
|
||||||
|
|
||||||
|
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||||
|
"osx64"|"win32" )
|
||||||
|
# Jython does not seem to work properly on OSX/windows unless JAVA_HOME is set
|
||||||
|
if [ -z "${JAVA_HOME+defined}" ]; then
|
||||||
|
colorize 1 "WARNING: "
|
||||||
|
echo "Please ensure that your JAVA_HOME environment variable is set correctly!"
|
||||||
|
echo "See http://bugs.jython.org/issue2346 for details."
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
|
@ -0,0 +1,25 @@
|
||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-aarch64" )
|
||||||
|
install_script "Miniconda3-py310_24.1.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.1.2-0-Linux-aarch64.sh#e560e737ac0e625dcc19ca2927457c2944434a61280daae2594632aca76d1422" "miniconda" verify_py310
|
||||||
|
;;
|
||||||
|
"Linux-s390x" )
|
||||||
|
install_script "Miniconda3-py310_24.1.2-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.1.2-0-Linux-s390x.sh#014fd09da9f7ecae040d586a6ff4218e508bf0e5e0232be6383ff37973a337c7" "miniconda" verify_py310
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Miniconda3-py310_24.1.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.1.2-0-Linux-x86_64.sh#8eb5999c2f7ac6189690d95ae5ec911032fa6697ae4b34eb3235802086566d78" "miniconda" verify_py310
|
||||||
|
;;
|
||||||
|
"MacOSX-arm64" )
|
||||||
|
install_script "Miniconda3-py310_24.1.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.1.2-0-MacOSX-arm64.sh#01110da80119c11078d2b39a499b6dc086c5fd4b413f4b333d32feb3b03cbe7b" "miniconda" verify_py310
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Miniconda3-py310_24.1.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.1.2-0-MacOSX-x86_64.sh#f078682fca26350717c1940650c227f9843fe9f3f0ecc87bf2665bccc5c64f9c" "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.1.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-Linux-aarch64.sh#1e046ef2d9d47289db2491f103c81b0b4baf943a9234ac59bd5bca076c881d98" "miniconda" verify_py311
|
||||||
|
;;
|
||||||
|
"Linux-s390x" )
|
||||||
|
install_script "Miniconda3-py311_24.1.2-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-Linux-s390x.sh#0489909051fd9e2c9addfa5fbd531ccb7f8f2463ac47376b8854e5a09b1c4011" "miniconda" verify_py311
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Miniconda3-py311_24.1.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-Linux-x86_64.sh#3f2e5498e550a6437f15d9cc8020d52742d0ba70976ee8fce4f0daefa3992d2e" "miniconda" verify_py311
|
||||||
|
;;
|
||||||
|
"MacOSX-arm64" )
|
||||||
|
install_script "Miniconda3-py311_24.1.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-MacOSX-arm64.sh#b5c4f646144fa4760bd5f6114ff2e6b49a3ef7c57b993f569adceea784f21a52" "miniconda" verify_py311
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Miniconda3-py311_24.1.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.1.2-0-MacOSX-x86_64.sh#3b26c0867561d0988040193c8efd9f53ca922026f735367436aa05b467b1f187" "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.1.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-Linux-aarch64.sh#942a057a52ec99f0fca4f413b87b332f6e61fad95c05fa7cabc003ae0b4471de" "miniconda" verify_py312
|
||||||
|
;;
|
||||||
|
"Linux-s390x" )
|
||||||
|
install_script "Miniconda3-py312_24.1.2-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-Linux-s390x.sh#7ee6a3c41a825eca3b1c9e3c7155c67f7c26e31a75d7dc4f78f75a4c438e3009" "miniconda" verify_py312
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Miniconda3-py312_24.1.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-Linux-x86_64.sh#b978856ec3c826eb495b60e3fffe621f670c101150ebcbdeede4f961f22dc438" "miniconda" verify_py312
|
||||||
|
;;
|
||||||
|
"MacOSX-arm64" )
|
||||||
|
install_script "Miniconda3-py312_24.1.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-MacOSX-arm64.sh#1c277b1ec046fd1b628390994e3fa3dbac0e364f44cd98b915daaa67a326c66a" "miniconda" verify_py312
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Miniconda3-py312_24.1.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-MacOSX-x86_64.sh#bc45a2ceea9341579532847cc9f29a9769d60f12e306bba7f0de6ad5acdd73e9" "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.1.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.1.2-0-Linux-aarch64.sh#b3e7d8ad4a4c9106594b268ab1cd9494ce982eaf7734bb2cd13a47e14e92a43e" "miniconda" verify_py39
|
||||||
|
;;
|
||||||
|
"Linux-s390x" )
|
||||||
|
install_script "Miniconda3-py39_24.1.2-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.1.2-0-Linux-s390x.sh#c1e5b7cee62b465a919b88a9c5658c426c6633f1fbcb568d2cff36a13aef6b97" "miniconda" verify_py39
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Miniconda3-py312_24.1.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.1.2-0-Linux-x86_64.sh#b978856ec3c826eb495b60e3fffe621f670c101150ebcbdeede4f961f22dc438" "miniconda" verify_py39
|
||||||
|
;;
|
||||||
|
"MacOSX-arm64" )
|
||||||
|
install_script "Miniconda3-py39_24.1.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.1.2-0-MacOSX-arm64.sh#2a7e44373bdf47caae991ff8d7d275a2ded51ed0e8e457c7edc9ecd45e48cda4" "miniconda" verify_py39
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Miniconda3-py39_24.1.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.1.2-0-MacOSX-x86_64.sh#d4e81df5beaa73dbbb9e1e91065e8f8222e9a9d44a2e7271aedd6e4a5054c541" "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
|
|
@ -197,7 +197,7 @@ index 0000000..1fc2747
|
||||||
+Before making the call, the VALUES vector should be initialized
|
+Before making the call, the VALUES vector should be initialized
|
||||||
+with pointers to the appropriate argument values.
|
+with pointers to the appropriate argument values.
|
||||||
+
|
+
|
||||||
+To call the the function using the initialized ffi_cif, use the
|
+To call the function using the initialized ffi_cif, use the
|
||||||
+ffi_call function:
|
+ffi_call function:
|
||||||
+
|
+
|
||||||
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
||||||
|
|
|
@ -197,7 +197,7 @@ index 0000000..1fc2747
|
||||||
+Before making the call, the VALUES vector should be initialized
|
+Before making the call, the VALUES vector should be initialized
|
||||||
+with pointers to the appropriate argument values.
|
+with pointers to the appropriate argument values.
|
||||||
+
|
+
|
||||||
+To call the the function using the initialized ffi_cif, use the
|
+To call the function using the initialized ffi_cif, use the
|
||||||
+ffi_call function:
|
+ffi_call function:
|
||||||
+
|
+
|
||||||
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
||||||
|
|
|
@ -197,7 +197,7 @@ index 0000000..1fc2747
|
||||||
+Before making the call, the VALUES vector should be initialized
|
+Before making the call, the VALUES vector should be initialized
|
||||||
+with pointers to the appropriate argument values.
|
+with pointers to the appropriate argument values.
|
||||||
+
|
+
|
||||||
+To call the the function using the initialized ffi_cif, use the
|
+To call the function using the initialized ffi_cif, use the
|
||||||
+ffi_call function:
|
+ffi_call function:
|
||||||
+
|
+
|
||||||
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
||||||
|
|
|
@ -197,7 +197,7 @@ index 0000000..1fc2747
|
||||||
+Before making the call, the VALUES vector should be initialized
|
+Before making the call, the VALUES vector should be initialized
|
||||||
+with pointers to the appropriate argument values.
|
+with pointers to the appropriate argument values.
|
||||||
+
|
+
|
||||||
+To call the the function using the initialized ffi_cif, use the
|
+To call the function using the initialized ffi_cif, use the
|
||||||
+ffi_call function:
|
+ffi_call function:
|
||||||
+
|
+
|
||||||
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
||||||
|
|
|
@ -197,7 +197,7 @@ index 0000000..1fc2747
|
||||||
+Before making the call, the VALUES vector should be initialized
|
+Before making the call, the VALUES vector should be initialized
|
||||||
+with pointers to the appropriate argument values.
|
+with pointers to the appropriate argument values.
|
||||||
+
|
+
|
||||||
+To call the the function using the initialized ffi_cif, use the
|
+To call the function using the initialized ffi_cif, use the
|
||||||
+ffi_call function:
|
+ffi_call function:
|
||||||
+
|
+
|
||||||
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
||||||
|
|
|
@ -197,7 +197,7 @@ index 0000000..1fc2747
|
||||||
+Before making the call, the VALUES vector should be initialized
|
+Before making the call, the VALUES vector should be initialized
|
||||||
+with pointers to the appropriate argument values.
|
+with pointers to the appropriate argument values.
|
||||||
+
|
+
|
||||||
+To call the the function using the initialized ffi_cif, use the
|
+To call the function using the initialized ffi_cif, use the
|
||||||
+ffi_call function:
|
+ffi_call function:
|
||||||
+
|
+
|
||||||
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
||||||
|
|
|
@ -197,7 +197,7 @@ index 0000000..1fc2747
|
||||||
+Before making the call, the VALUES vector should be initialized
|
+Before making the call, the VALUES vector should be initialized
|
||||||
+with pointers to the appropriate argument values.
|
+with pointers to the appropriate argument values.
|
||||||
+
|
+
|
||||||
+To call the the function using the initialized ffi_cif, use the
|
+To call the function using the initialized ffi_cif, use the
|
||||||
+ffi_call function:
|
+ffi_call function:
|
||||||
+
|
+
|
||||||
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);
|
||||||
|
|
81
plugins/python-build/share/python-build/pypy2.7-7.3.16
Normal file
81
plugins/python-build/share/python-build/pypy2.7-7.3.16
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
VERSION='7.3.16'
|
||||||
|
PYVER='2.7'
|
||||||
|
|
||||||
|
# https://www.pypy.org/checksums.html
|
||||||
|
aarch64_hash=be44e65dd8c00d2388b2580dbe2af6a5179f951a8f4979efc74360f92f3c7e96
|
||||||
|
linux32_hash=a19712d7a6bd4f6d113e352c5271803c583b5129b76a357d387b1fa85204f8e5
|
||||||
|
linux64_hash=04b2fceb712d6f811274825b8a471ee392d3d1b53afc83eb3f42439ce00d8e07
|
||||||
|
osarm64_hash=9cc13f4d6c4096820e1e0ddabb3959f853e45150ce0166a39aa23867e99f0145
|
||||||
|
osx64_hash=e8744c1cef8b9e4eb2d2b6b368ed19a1c5cde482c7ef750f2d9f0807bb77fd1c
|
||||||
|
s390x_hash=09eb70b932e6aac484cf4b5f2de5845f71589f2cbb53e5ed37a497613b43cd53
|
||||||
|
|
||||||
|
### 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'
|
14
plugins/python-build/share/python-build/pypy2.7-7.3.16-src
Normal file
14
plugins/python-build/share/python-build/pypy2.7-7.3.16-src
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
VERSION='7.3.16'
|
||||||
|
PYVER='2.7'
|
||||||
|
|
||||||
|
# https://www.pypy.org/checksums.html
|
||||||
|
hash=43721cc0c397f0f3560b325c20c70b11f7c76c27910d3df09f8418cec4f9c2ad
|
||||||
|
|
||||||
|
### 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'
|
81
plugins/python-build/share/python-build/pypy3.10-7.3.16
Normal file
81
plugins/python-build/share/python-build/pypy3.10-7.3.16
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
VERSION='7.3.16'
|
||||||
|
PYVER='3.10'
|
||||||
|
|
||||||
|
# https://www.pypy.org/checksums.html
|
||||||
|
aarch64_hash=fc720999bc5050e1d3706b3b6445e695cf42bfc71ebc7c88ed6bb88828b1d385
|
||||||
|
linux32_hash=0df48aa780159e879ac89a805d143e4a6cd1b842f98046f5a3f865814bfaa2a4
|
||||||
|
linux64_hash=404e6180d6caf9258eaab0c02c72018e9aa8eb03ab9094a0ff17ee5e3b265ac1
|
||||||
|
osarm64_hash=6c003376667a95c7a228544649677b9927b8210d6444b901817aad24b8719b93
|
||||||
|
osx64_hash=490f2c6ba2489f405444f3b4ad42166da6e2eb73489a9535b206067eaaf21737
|
||||||
|
s390x_hash=af97efe498a209ba18c7bc7d084164a9907fb3736588b6864955177e19d5216a
|
||||||
|
|
||||||
|
### 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'
|
14
plugins/python-build/share/python-build/pypy3.10-7.3.16-src
Normal file
14
plugins/python-build/share/python-build/pypy3.10-7.3.16-src
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
VERSION='7.3.16'
|
||||||
|
PYVER='3.10'
|
||||||
|
|
||||||
|
# https://www.pypy.org/checksums.html
|
||||||
|
hash=4a3a3177d0a1f51d59982bb981d1d485403bda3419d5437b9e077f55f59424ff
|
||||||
|
|
||||||
|
### 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'
|
81
plugins/python-build/share/python-build/pypy3.9-7.3.16
Normal file
81
plugins/python-build/share/python-build/pypy3.9-7.3.16
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
VERSION='7.3.16'
|
||||||
|
PYVER='3.9'
|
||||||
|
|
||||||
|
# https://www.pypy.org/checksums.html
|
||||||
|
aarch64_hash=de3f2ed3581b30555ac0dd3e4df78a262ec736a36fb2e8f28259f8539b278ef4
|
||||||
|
linux32_hash=583b6d6dd4e8c07cbc04da04a7ec2bdfa6674825289c2378c5e018d5abe779ea
|
||||||
|
linux64_hash=16f9c5b808c848516e742986e826b833cdbeda09ad8764e8704595adbe791b23
|
||||||
|
osarm64_hash=88f824e7a2d676440d09bc90fc959ae0fd3557d7e2f14bfbbe53d41d159a47fe
|
||||||
|
osx64_hash=fda015431621e7e5aa16359d114f2c45a77ed936992c1efff86302e768a6b21c
|
||||||
|
s390x_hash=7a56ebb27dba3110dc1ff52d8e0449cdb37fe5c2275f7faf11432e4e164833ba
|
||||||
|
|
||||||
|
### 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'
|
14
plugins/python-build/share/python-build/pypy3.9-7.3.16-src
Normal file
14
plugins/python-build/share/python-build/pypy3.9-7.3.16-src
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
VERSION='7.3.16'
|
||||||
|
PYVER='3.9'
|
||||||
|
|
||||||
|
# https://www.pypy.org/checksums.html
|
||||||
|
hash=5b75af3f8e76041e79c1ef5ce22ce63f8bd131733e9302081897d8f650e81843
|
||||||
|
|
||||||
|
### 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'
|
|
@ -100,10 +100,6 @@ if [ -n "${!_STUB_END}" ]; then
|
||||||
rm -f "${!_STUB_RUN}"
|
rm -f "${!_STUB_RUN}"
|
||||||
rm -f "${!_STUB_LOG}"
|
rm -f "${!_STUB_LOG}"
|
||||||
|
|
||||||
# Clean up the run file.
|
|
||||||
rm -f "${!_STUB_RUN}"
|
|
||||||
rm -f "${!_STUB_LOG}"
|
|
||||||
|
|
||||||
# Return the result.
|
# Return the result.
|
||||||
exit "${!_STUB_RESULT}"
|
exit "${!_STUB_RESULT}"
|
||||||
|
|
||||||
|
|
|
@ -64,6 +64,8 @@ redis-check-aof
|
||||||
redis-check-dump
|
redis-check-dump
|
||||||
redis-cli
|
redis-cli
|
||||||
redis-server
|
redis-server
|
||||||
|
# sed
|
||||||
|
sed
|
||||||
# sqlite3
|
# sqlite3
|
||||||
sqlite3
|
sqlite3
|
||||||
# xslt-config
|
# xslt-config
|
||||||
|
@ -190,3 +192,4 @@ who
|
||||||
whoami
|
whoami
|
||||||
yes
|
yes
|
||||||
# --- end exclusions from coreutils
|
# --- end exclusions from coreutils
|
||||||
|
greadlink
|
Loading…
Reference in a new issue