1
0
mirror of https://github.com/pyenv/pyenv.git synced 2025-11-08 11:33:49 -05:00

Compare commits

...

61 Commits

Author SHA1 Message Date
Ivan Pozdeev
ca90363d73 2.4.6 2024-07-05 06:57:48 +03:00
Jon Crall
672eef1561 Speed up pyenv prefix by not constructing advice text when it would be discarded (#3005)
by adding an internal flag
2024-07-04 03:49:12 +03:00
Sam Gross
384361167a Add 3.13.0b3t and exclude it from pyenv latest (#3001)
This adds the free-threaded (without GIL) version of 3.13.0b3.

Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2024-07-01 22:50:03 +03:00
native-api
1bcaab05b7 CI: push MacOS jobs to MacOS 13 and 14 (#3002)
Github has finally released those as free and retired macos-11
2024-07-01 22:38:06 +03:00
Ivan Pozdeev
2c2c7616e2 2.4.5 2024-06-30 20:58:02 +03:00
Edgar Ramírez Mondragón
e8e8cfddcd Add CPython 3.13.0b3 (#2996) 2024-06-30 20:55:53 +03:00
Ivan Pozdeev
9546f729f7 2.4.4 2024-06-27 23:21:27 +03:00
Sam Gross
d660c5a84f Add support for free-threaded Python (#2995) 2024-06-27 23:18:14 +03:00
binbjz
7947efc130 Add support for miniconda3 24.5.0-0 with py3.12, py3.11, py3.10, py3.9 (#2994) 2024-06-27 20:18:34 +03:00
Ivan Pozdeev
756aad2613 2.4.3 2024-06-12 22:48:15 +03:00
Ivan Pozdeev
cb27e44291 Merge branch 'master' of https://github.com/pyenv/pyenv 2024-06-10 23:20:31 +03:00
Ivan Pozdeev
42c66c92d8 Document mirror structure and download cache
in more details
2024-06-10 23:20:20 +03:00
binbjz
613e5142b3 Add support for miniconda3 24.4.0-0 with py3.12, py3.11, py3.10, py3.9 (#2982)
Co-authored-by: zhaobin <zhaobin@skycloudsys.com>
2024-06-10 19:38:04 +03:00
Ivan Pozdeev
7a91070c02 Removed obsoltete section about --enable-shared 2024-06-09 00:19:44 +03:00
Ivan Pozdeev
a86ca7ac2e Document adding defnitions with a plugin 2024-06-09 00:19:03 +03:00
Ivan Pozdeev
cb99cbcc8e README: Emphasize the main design idea of the plugins 2024-06-09 00:01:20 +03:00
Ivan Pozdeev
0963c8ac02 2.4.2 2024-06-08 23:49:46 +03:00
Taras I
79951112cc Add CPython 3.12.4 (#2981)
Also bump up openssl version
2024-06-08 23:32:07 +03:00
John Sirois
2e0bb023e1 Add CPython 3.13.0b2 (#2978) 2024-06-06 21:09:33 +03:00
native-api
b0cd5bf883 Add sed and greadlink to exceptions (#2977)
Anaconda has packages that override at least sed
Greadlink is also a critical executable if present
2024-06-04 01:06:33 +03:00
native-api
4ab9b3710b Document PYTHON_BUILD_CURL_OPTS, PYTHON_BUILD_WGET_OPTS, PYTHON_BUILD_ARIA2_OPTS (#2976)
[no ci]
2024-06-02 15:24:00 +03:00
Younes Askour
8a464cfed1 Correct the Explanation of PATH Variable Lookup (#2975)
This PR corrects a small but important detail in the documentation regarding how the system searches for executable files. The original text incorrectly stated that the operating system performs this search. The corrected text clarifies that it is actually the shell that performs the search.
2024-06-01 22:13:57 +03:00
native-api
56956e9d90 Merge pull request #2969 from timfel/tim/graalpy-dev
Add script to install graalpy development builds
2024-05-27 21:25:30 +03:00
Tim Felgentreff
98c5b711dc fix http_get_aria to cat the correct file 2024-05-27 10:58:58 +02:00
Tim Felgentreff
2ecec311fe Merge branch 'pyenv:master' into tim/graalpy-dev 2024-05-25 10:38:04 +02:00
Ivan Pozdeev
0e0ca0966b CI: Run changed scripts in debug mode also 2024-05-24 20:36:43 +03:00
Ivan Pozdeev
948f53f6d8 CI: run builds in debug mode
since we're only interested in the output when something goes wrong
2024-05-24 20:34:25 +03:00
Tim Felgentreff
037ba4516b add script to install graalpy ea builds 2024-05-23 14:55:00 +02:00
Ivan Pozdeev
aabaa89243 2.4.1 2024-05-09 14:31:11 +03:00
Edgar Ramírez Mondragón
ef8daeaea7 Add CPython 3.13.0b1 (#2959)
* Add CPython 3.13.0b1
* Use OpenSSL 3.3.0

---------

Co-authored-by: Ivan Pozdeev <vano@mail.mipt.ru>
2024-05-09 14:13:45 +03:00
Edgar Ramírez Mondragón
8c7fc98c4f Add CPython 3.14-dev, update 3.13-dev (#2960)
* Add CPython 3.14-dev
* Update 3.13-dev branch to 3.13
* Use OpenSSL 3.3.0
2024-05-09 12:58:17 +03:00
Edgar Ramírez Mondragón
3ff54e89bc Add PyPy v7.3.16 (#2948) 2024-04-25 21:51:58 +03:00
Edgar Ramírez Mondragón
e1f07da73a Add CPython 3.13.0a6 (#2942) 2024-04-09 23:38:07 +03:00
Edgar Ramírez Mondragón
e5997ef66b Add CPython 3.12.3 (#2941) 2024-04-09 22:28:42 +03:00
Ivan Pozdeev
21eef94ea0 2.4.0 2024-04-07 21:29:02 +03:00
native-api
961882403a Add anaconda 2024.02 (#2939) 2024-04-07 21:22:53 +03:00
Ivan Pozdeev
b80d5fd28d 2.3.37 2024-04-07 20:48:40 +03:00
Ivan Pozdeev
5b4d5a32d3 remove duplication 2024-04-03 21:08:18 +03:00
Edgar Ramírez Mondragón
465b8ee74a Add CPython 3.11.9 (#2938) 2024-04-02 17:49:31 +03:00
César Román
51a626c1ea Add Jython 2.7.3 (#2936) 2024-03-30 12:57:02 +03:00
Edgar Ramírez Mondragón
7e550e31f7 Add CPython 3.10.14 (#2930) 2024-03-21 22:26:57 +03:00
Michael Šimáček
7deace6666 Add GraalPy 24.0.0 (#2928) 2024-03-19 23:43:01 +03:00
Edgar Ramírez Mondragón
e41f7c9ee4 Add CPython 3.8.19 and 3.9.19 (#2929) 2024-03-19 23:41:58 +03:00
Edgar Ramírez Mondragón
0167890c8c Add CPython 3.13.0a5 (#2924) 2024-03-16 01:53:11 +03:00
cuinix
c5eae0f263 minor grammar fix in libffi backport patch in 2.5.x (#2922)
Signed-off-by: cuinix <915115094@qq.com>
2024-03-07 00:15:41 +03:00
binbjz
21c2a3dd69 Add miniconda3-24.1.2-0 support for py312、py311、py310、py39 (#2915)
Co-authored-by: binbjz <binbjz@skiff.com>
2024-02-28 18:58:25 +03:00
native-api
556edfb0ae Merge pull request #2909 from aphedges/update-miniforge-2024-02-26
Add new miniforge and mambaforge definitions
2024-02-27 20:09:22 +03:00
native-api
5503efffcf Merge pull request #2906 from native-api/use_linuxbrew_if_preferred
Use Homebrew in Linux if Pyenv is installled with Homebrew
2024-02-27 20:03:40 +03:00
Ivan Pozdeev
1e017f3917 Set useful PS4 in python-build 2024-02-27 19:17:47 +03:00
Ivan Pozdeev
05bb4f9a8d Use Homebrew in Linux if Pyenv is installed with Homebrew or PYTHON_BUILD_USE_HOMEBREW is set 2024-02-27 19:17:47 +03:00
native-api
9d8764f545 Document default build configuration customizations (#2911) 2024-02-27 19:10:39 +03:00
Ivan Pozdeev
57594c0600 More detailed explanation of the band-aid code 2024-02-27 18:51:46 +03:00
Ivan Pozdeev
2aa13dc4fe Remove broken miniforge3 and mambaforge 22.11.1-0 to 22.11.1-2
Cause 403s on dependency packages
2024-02-27 18:35:43 +03:00
Alex Hedges
5d06a27118 Update miniforge and mambaforge with add_miniforge.py 2024-02-26 18:48:29 -05:00
Alex Hedges
dbbe2b63f4 Skip check for miniforge version 4.13.0-0
We always detect missing build scripts for `4.13.0-0` because the
release[^1] doesn't have any mambaforge artifacts. Given that we've
already created the build files, we don't need to check the release
again.

[^1]: https://github.com/conda-forge/miniforge/releases/tag/4.13.0-0
2024-02-26 18:46:28 -05:00
Alex Hedges
a43259a186 Fix overly broad check for existing miniforge build files
The glob pattern we were using was too permissive and detecting
miniconda build scripts as miniforge build scripts when they shared the
same version. I have rewritten the pattern matching code to ensure we
only look at files starting with `miniforge` and `mambaforge`.
2024-02-26 18:44:05 -05:00
Alex Hedges
8316450887 Fix KeyError when running add_miniforge.py
I was attempting to run the script to generate build files for new
versions, but it failed because version `23.1.0-4`[^1] contained a
malformed `.sha256` file.[^2] I looked at the miniforge repo's script
`releases.py`[^3] and copied the logic about which release artifacts
should be skipped when generating a list of downloads.

[^1]: https://github.com/conda-forge/miniforge/releases/tag/23.1.0-4
[^2]: https://github.com/conda-forge/miniforge/releases/download/23.1.0-4/Miniforge3-uninstaller-patch-Windows-x86_64.exe.sha256
[^3]: a15762906b/docs/releases.py (L35-L36)
2024-02-26 18:39:48 -05:00
Alex Hedges
02e1d4a293 Handle case where pyenv-commands --sh returns nothing (#2908)
In exceptional cases (custom installation, malfunctions elsewhere), `pyenv-commands --sh` may return nothing.
In non-Fish, this would cause "syntax error near unexpected token `)'" in `pyenv()`.

Bash does not allow to specify a `case` option that would never match.
This works around it by defaulting to `/`. Commands, being filenames, can never match it.
In Fish, nothing needs to be done: it apparently does interpret a `case` without argument as one that never matches.
2024-02-26 00:07:52 +03:00
Ivan Pozdeev
f9a2bb81b6 Revert "Add CPython 3.13.0a4 (#2903)" -- MacOS build is broken
This reverts commit 932dc464f5.
2024-02-20 20:42:21 +03:00
Saaket Prakash
932dc464f5 Add CPython 3.13.0a4 (#2903)
Co-authored-by: Edgar Ramírez Mondragón <16805946+edgarrmondragon@users.noreply.github.com>
2024-02-20 20:17:32 +03:00
native-api
8f8a5e03b4 Better document installing the HEAD version with Homebrew 2024-02-15 22:40:53 +03:00
87 changed files with 1783 additions and 134 deletions

View File

@@ -15,7 +15,7 @@ jobs:
- "3.10"
- "3.11"
- "3.12"
runs-on: macos-11
runs-on: macos-14
steps:
- uses: actions/checkout@v4
# Normally, we would use the superbly maintained...
@@ -32,7 +32,7 @@ jobs:
run: |
echo $PYENV_ROOT
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 rehash
- run: python --version

View File

@@ -30,7 +30,7 @@ jobs:
fail-fast: false
matrix:
python-version: ${{fromJson(needs.discover_modified_scripts.outputs.versions)}}
os: ["macos-11", "macos-12"]
os: ["macos-13", "macos-14"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
@@ -49,7 +49,7 @@ jobs:
fi
- run: |
#build
pyenv install -v ${{ matrix.python-version }}
pyenv --debug install ${{ matrix.python-version }}
pyenv global ${{ matrix.python-version }}
# Micropython doesn't support --version
- run: |

View File

@@ -12,8 +12,8 @@ jobs:
os:
- ubuntu-22.04
- ubuntu-20.04
- macos-12
- macos-11
- macos-14
- macos-13
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4

View File

@@ -34,7 +34,7 @@ jobs:
run: |
echo $PYENV_ROOT
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 rehash
- run: python --version

View File

@@ -1,5 +1,51 @@
# Version History
## Release v2.4.6
* CI: push MacOS jobs to MacOS 13 and 14 by @native-api in https://github.com/pyenv/pyenv/pull/3002
* Add 3.13.0b3t and exclude it from `pyenv latest` by @colesbury in https://github.com/pyenv/pyenv/pull/3001
* Speed up `pyenv prefix` by not constructing advice text when it would be discarded by @Erotemic in https://github.com/pyenv/pyenv/pull/3005
## Release v2.4.5
* Add CPython 3.13.0b3 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2996
## Release v2.4.4
* Add support for miniconda3 24.5.0-0 with py3.12, py3.11, py3.10, py3.9 by @binbjz in https://github.com/pyenv/pyenv/pull/2994
* Add support for free-threaded Python by @colesbury in https://github.com/pyenv/pyenv/pull/2995
## 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
* 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

View File

@@ -86,7 +86,7 @@ to the correct Python installation.
### 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
that name. This list of directories lives in an environment variable
called `PATH`, with each directory in the list separated by a colon:
@@ -209,10 +209,15 @@ As far as Pyenv is concerned, version names are simply directories under
brew update
brew install pyenv
```
2. Then follow the rest of the post-installation steps, starting with
If you want to install (and update to) the latest development head of Pyenv
rather than the latest release, instead run:
```sh
brew install pyenv --head
```
3. Then follow the rest of the post-installation steps, starting with
[Set up your shell environment for Pyenv](#set-up-your-shell-environment-for-pyenv).
3. OPTIONAL. To fix `brew doctor`'s warning _""config" scripts exist outside your system or Homebrew directories"_
4. OPTIONAL. To fix `brew doctor`'s warning _""config" scripts exist outside your system or Homebrew directories"_
If you're going to build Homebrew formulae from source that link against Python
like Tkinter or NumPy
@@ -504,7 +509,7 @@ If you've installed Pyenv using Homebrew, upgrade using:
brew upgrade pyenv
```
To switch from a release to the latest development version of Pyenv, use:
To switch from a release to the latest development head of Pyenv, use:
```sh
brew uninstall pyenv
@@ -575,10 +580,13 @@ uninstall from the system.
## 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
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
as well as a catalog of some useful existing plugins for common needs.
@@ -670,7 +678,6 @@ name | default | description
`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_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)
for environment variables that can be used to customize the build.

View File

@@ -12,7 +12,7 @@
set -e
[ -n "$PYENV_DEBUG" ] && set -x
version="2.3.36"
version="2.4.6"
git_revision=""
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then

View File

@@ -297,7 +297,7 @@ EOS
fi
case "\$command" in
${commands[*]})
${commands[*]:-/})
eval "\$(pyenv "sh-\$command" "\$@")"
;;
*)

View File

@@ -50,7 +50,7 @@ IFS=$'\n'
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'));
sed -E -e '/-dev$/d' -e '/-src$/d' -e '/-latest$/d' -e '/(a|b|rc)[0-9]+$/d' -e '/[0-9]+t$/d'));
# Compose a sorting key, followed by | and original value
DEFINITION_CANDIDATES=(\

View File

@@ -30,9 +30,9 @@ OLDIFS="$IFS"
{ IFS=:
for version in ${PYENV_VERSION}; do
if [ "$version" = "system" ]; then
if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python 2>/dev/null)" || \
PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python3 2>/dev/null)" || \
PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python2 2>/dev/null)"; then
if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python --skip-advice 2>/dev/null)" || \
PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python3 --skip-advice 2>/dev/null)" || \
PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python2 --skip-advice 2>/dev/null)"; then
shopt -s extglob
# In some distros (Arch), Python can be found in sbin as well as bin
PYENV_PREFIX_PATH="${PYTHON_PATH%/?(s)bin/*}"

View File

@@ -128,9 +128,9 @@ print_version() {
# Include "system" in the non-bare output, if it exists
if [ -n "$include_system" ] && \
(PYENV_VERSION=system pyenv-which python >/dev/null 2>&1 || \
PYENV_VERSION=system pyenv-which python3 >/dev/null 2>&1 || \
PYENV_VERSION=system pyenv-which python2 >/dev/null 2>&1) ; then
(PYENV_VERSION=system pyenv-which python --skip-advice >/dev/null 2>&1 || \
PYENV_VERSION=system pyenv-which python3 --skip-advice >/dev/null 2>&1 || \
PYENV_VERSION=system pyenv-which python2 --skip-advice >/dev/null 2>&1) ; then
print_version system "/"
fi

View File

@@ -2,13 +2,14 @@
#
# Summary: Display the full path to an executable
#
# Usage: pyenv which <command> [--nosystem]
# Usage: pyenv which <command> [--nosystem] [--skip-advice]
#
# Displays the full path to the executable that pyenv will invoke when
# you run the given command.
# Use --nosystem argument in case when you don't need to search command in the
# system environment.
#
# Internal switch --skip-advice used to skip printing an error message on a
# failed search.
set -e
[ -n "$PYENV_DEBUG" ] && set -x
@@ -18,11 +19,27 @@ if [ "$1" = "--complete" ]; then
exec pyenv-shims --short
fi
if [ "$2" = "--nosystem" ]; then
system=""
else
system="system"
fi
system="system"
SKIP_ADVICE=""
PYENV_COMMAND="$1"
while [[ $# -gt 0 ]]
do
case "$1" in
--skip-advice)
SKIP_ADVICE=1
shift
;;
--nosystem)
system=""
shift
;;
*)
shift
;;
esac
done
remove_from_path() {
local path_to_remove="$1"
@@ -36,8 +53,6 @@ remove_from_path() {
echo "${result#:}"
}
PYENV_COMMAND="$1"
if [ -z "$PYENV_COMMAND" ]; then
pyenv-help --usage which >&2
exit 1
@@ -85,16 +100,17 @@ else
fi
echo "pyenv: $PYENV_COMMAND: command not found" >&2
versions="$(pyenv-whence "$PYENV_COMMAND" || true)"
if [ -n "$versions" ]; then
{ echo
echo "The \`$1' command exists in these Python versions:"
echo "$versions" | sed 's/^/ /g'
echo
echo "Note: See 'pyenv help global' for tips on allowing both"
echo " python2 and python3 to be found."
} >&2
if [ -z "$SKIP_ADVICE" ]; then
versions="$(pyenv-whence "$PYENV_COMMAND" || true)"
if [ -n "$versions" ]; then
{ echo
echo "The \`$PYENV_COMMAND' command exists in these Python versions:"
echo "$versions" | sed 's/^/ /g'
echo
echo "Note: See 'pyenv help global' for tips on allowing both"
echo " python2 and python3 to be found."
} >&2
fi
fi
exit 127

View File

@@ -96,7 +96,53 @@ 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
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
Without the user customizing the build with environment variables (see below),
`python-build` builds Python with mostly default Configure options
to maintain the principle of the least surprise.
The exceptions -- non-default options that are set by default -- are listed below:
| Option/Behavior | Rationale |
|-----------------|-----------|
| `--enable-shared` is on by default. Pass `--disable-shared` to Configure options to override | The official CPython Docker image uses it. It's required to embed CPython. |
| argument to `--enable-universalsdk` is ignored and set to `/` |
| `--with-universal-archs` defaults to `universal2` on ARM64 architecture | the only dual-architecture Macs in use today are Apple Silicon which can only build that one |
| argument to `--enable-framework` is ignored and set to a specific value | CPython's build logic requires a very specific argument to avoid installing the `Applications` part globally |
| argument to `--enable-unicode` in non-MacOS is overridden to `ucs4` for 2.x-3.3 |
| `MACOSX_DEPLOYMENT_TARGET` defaults to the running MacOS version |
#### Integration with 3rd-party package ecosystems
##### Homebrew
Homebrew is used to find dependency packages if `brew` is found on `PATH`:
* In MacOS, or
* If the running Pyenv itself is installed with Homebrew
Set `PYTHON_BUILD_USE_HOMEBREW` or `PYTHON_BUILD_SKIP_HOMEBREW` to override this default.
When Homebrew is used, its `include` and `lib` paths are added to compiler search path (the latter is also set as `rpath`),
and also Python dependencies that are typically keg-only are searched for in the Homebrew installation and added individually.
**NOTE:** Homebrew is not used in Linux by default because it's rolling-release which causes a problem.
Upgrading a Python dependency in Homebrew to a new major version (that `brew` does without warning)
would break all Pyenv-managed installations that depend on it.
You can use a [community plugin `fix-version`](https://github.com/pyenv/pyenv/wiki/Plugins#community-plugins)
to fix installations in such a case.
##### Portage
In FreeBSD, if `pkg` is on PATH, Ports are searched for some dependencies that Configure is known to not search for via `pkg-config`.
(Later versions of CPython search for more packages via `pkg-config` so this may eventually become redundant.)
### Special environment variables
@@ -114,7 +160,9 @@ You can set certain environment variables to control the build process.
* `PYTHON_BUILD_SKIP_MIRROR`, if set, forces python-build to download packages from
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_SKIP_HOMEBREW`, if set, will not search for libraries installed by Homebrew in macOS.
* `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_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_ROOT` overrides the default location from where build definitions
in `share/python-build/` are looked up.
@@ -152,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 CPython with `--enable-optimizations` will result in a faster
@@ -193,14 +227,30 @@ definition. (All bundled definitions include checksums.)
### Package download mirrors
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
is down, or if the download is corrupt, python-build will fall back to the
GitHub Pages. If this fails, it will fall back to the
official URL specified in the definition file.
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
own local mirror, for example. Package mirror URLs are constructed by joining
this variable with the SHA2 checksum of the package file.
`PYTHON_BUILD_MIRROR_URL` environment variable.
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
pull-through cache like Artifactory), you can set the
@@ -213,15 +263,15 @@ mirror by setting the `PYTHON_BUILD_SKIP_MIRROR` environment variable.
The official python-build download mirror is provided by
[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
by setting the `PYTHON_BUILD_CACHE_PATH` environment variable. When set, package
files will be kept in this directory after the first successful download and
reused by subsequent invocations of `python-build` and `pyenv install`.
Python-build will keep a cache of downloaded package files
at the location specified by the `PYTHON_BUILD_CACHE_PATH` environment variable
if it exists. The default is `~/.pyenv/cache`, so you can
enable caching by just creating that directory.
The `pyenv install` command defaults this path to `~/.pyenv/cache`, so in most
cases you can enable download caching simply by creating that directory.
The name of the would-be cached file is reported by Pyenv in the "Downloading &lt;filename&gt;..." message.
It's possible to warm up the cache by manually putting the file there under an appropriate name.
### Keeping the build directory after installation

View File

@@ -19,7 +19,10 @@ PYTHON_BUILD_VERSION="20180424"
OLDIFS="$IFS"
set -E
[ -n "$PYENV_DEBUG" ] && set -x
[ -n "$PYENV_DEBUG" ] && {
export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'
set -x
}
exec 3<&2 # preserve original stderr at fd 3
@@ -118,8 +121,17 @@ is_mac() {
}
can_use_homebrew() {
[ -z "$PYTHON_BUILD_SKIP_HOMEBREW" ] || return 1
is_mac || return 1
[[ -n "$PYTHON_BUILD_USE_HOMEBREW" && -n "$PYTHON_BUILD_SKIP_HOMEBREW" ]] && {
echo "error: mutually exclusive environment variables PYTHON_BUILD_USE_HOMEBREW and PYTHON_BUILD_SKIP_HOMEBREW are set" >&3
exit 1
}
[[ -n "$PYTHON_BUILD_USE_HOMEBREW" ]] && return 0
[[ -n "$PYTHON_BUILD_SKIP_HOMEBREW" ]] && return 1
is_mac && return 0
# In Linux, if Pyenv itself is installed with Homebrew,
# we assume the user wants to take dependencies from there as well by default
command -v brew &>/dev/null && [[ $(abs_dirname "${BASH_SOURCE}") == "$(abs_dirname "$(brew --prefix 2>/dev/null ||true)")"/* ]] && return 0
return 1
}
# 9.1 -> 901
@@ -385,7 +397,7 @@ http_get_aria2c() {
fi
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
false
fi
@@ -810,6 +822,7 @@ build_package_standard_build() {
use_homebrew_zlib || true
fi
use_dsymutil || true
use_free_threading || true
fi
( if [ "${CFLAGS+defined}" ] || [ "${!PACKAGE_CFLAGS+defined}" ]; then
@@ -1749,6 +1762,12 @@ use_dsymutil() {
fi
}
use_free_threading() {
if [[ -n "$PYTHON_BUILD_FREE_THREADING" ]]; then
package_option python configure --disable-gil
fi
}
build_package_enable_shared() {
package_option python configure --enable-shared
}
@@ -2009,6 +2028,11 @@ build_package_verify_py313() {
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
# XXX: Will need splitting into project-specific ones if there emerge
# multiple rolling-release scripts with different checks needed

View File

@@ -71,8 +71,9 @@ def supported(filename):
return ('pypy' not in filename) and ('Windows' not in filename)
def add_version(release):
tag_name = release['tag_name']
download_urls = { f['name']: f['browser_download_url'] for f in release['assets'] }
shas = dict([download_sha(url) for (name, url) in download_urls.items() if name.endswith('.sha256')])
shas = dict([download_sha(url) for (name, url) in download_urls.items() if name.endswith('.sha256') and tag_name in name])
specs = [create_spec(filename, sha, download_urls[filename]) for (filename, sha) in shas.items() if supported(filename)]
for distribution in DISTRIBUTIONS:
@@ -99,6 +100,13 @@ for release in requests.get(f'https://api.github.com/repos/{MINIFORGE_REPO}/rele
logger.info('Looking for %(version)s in %(out_dir)s', locals())
if not list(out_dir.glob(f'*-{version}')):
# This release has no mambaforge artifacts which causes the next check to always trigger.
# Build scripts for miniforge3-4.13.0-0 have already been generated.
# Assuming this was a fluke, we don't yet need to implement proactively checking all releases for contents
# or ignoring a release if _any_ of the flavors is already present in Pyenv.
if version == '4.13.0-0':
continue
if any(not list(out_dir.glob(f'{distribution}*-{version}')) for distribution in DISTRIBUTIONS):
logger.info('Downloading %(version)s', locals())
add_version(release)

View 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

View 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

View 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

View 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

View File

@@ -2,6 +2,6 @@ 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.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_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

View File

@@ -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

View 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.0b3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b3.tar.xz#3be094ad08b11dc2a065463524239c78dc9f2b342b01dcd4e1e606dbbc5c78a5" standard verify_py313 copy_python_gdb ensurepip
else
install_package "Python-3.13.0b3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b3.tgz#5e9c01cdb3e2fb1f5732a55e9522cb6a011693e795ec347b3f69ff5e217175e4" standard verify_py313 copy_python_gdb ensurepip
fi

View File

@@ -0,0 +1,2 @@
export PYTHON_BUILD_FREE_THREADING=1
source "$(dirname "${BASH_SOURCE[0]}")"/3.13.0b3

View File

@@ -0,0 +1,2 @@
export PYTHON_BUILD_FREE_THREADING=1
source "$(dirname "${BASH_SOURCE[0]}")"/3.13-dev

View 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

View File

@@ -0,0 +1,2 @@
export PYTHON_BUILD_FREE_THREADING=1
source "$(dirname "${BASH_SOURCE[0]}")"/3.14-dev

View 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

View 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

View 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

View 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

View 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.
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

View 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

View 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

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-22.11.1-3-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-3/Mambaforge-22.11.1-3-Linux-aarch64.sh#898134462553de6b16cdcf649b2fc5f46b7bff5ac92b12cae7f6a46eeb973c8d" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-22.11.1-3-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-3/Mambaforge-22.11.1-3-Linux-ppc64le.sh#446b3c31293cfec57dc651fbd0aadb9b9663746863e7601b2aa25aa005907192" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-22.11.1-3-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-3/Mambaforge-22.11.1-3-Linux-x86_64.sh#dc7b120aa6f12004e406498cb605c752bd6e4bfe18da169dfe119b91d0c8c8ce" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-22.11.1-3-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-3/Mambaforge-22.11.1-3-MacOSX-arm64.sh#a85225bc54ba3c5caaf202817b4f49578d6134e6818c8fbc75173af69a80847d" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-22.11.1-3-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-3/Mambaforge-22.11.1-3-MacOSX-x86_64.sh#0b17731c449ab96b3c5e39553fd68fbe1e4c68e9b016126ccf68a8f00a4a3a38" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-22.11.1-4-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Mambaforge-22.11.1-4-Linux-aarch64.sh#96191001f27e0cc76612d4498d34f9f656d8a7dddee44617159e42558651479c" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-22.11.1-4-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Mambaforge-22.11.1-4-Linux-ppc64le.sh#9ad024c2ed11e1c75324515727c70384f073be1373111c34b14b7212944e7e0d" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-22.11.1-4-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Mambaforge-22.11.1-4-Linux-x86_64.sh#16c7d256de783ceeb39970e675efa4a8eb830dcbb83187f1197abfea0bf07d30" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-22.11.1-4-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Mambaforge-22.11.1-4-MacOSX-arm64.sh#a551be4b416a05f31ba3605f78694f1e21559533744c45ded0c4bfeb7666f317" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-22.11.1-4-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Mambaforge-22.11.1-4-MacOSX-x86_64.sh#0f0f746330259c6f9c3678fdbdb6195dddad4b9bac921a6de07c62a60234ad8d" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-23.1.0-0-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Mambaforge-23.1.0-0-Linux-aarch64.sh#01c29a399ad63c9aa28a69a622e9273e9bb8c5d504f1858ba789c5ca63ba1187" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-23.1.0-0-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Mambaforge-23.1.0-0-Linux-ppc64le.sh#ec0b8b10fbb9a7eb1b9c6ddf0487d0e8e0b16926791b84afc1623b43f45d1faf" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-23.1.0-0-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Mambaforge-23.1.0-0-Linux-x86_64.sh#0598ec82e02233e0e242b12129349416225dd07c2318f0ec1cfce4d7d9c397d8" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-23.1.0-0-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Mambaforge-23.1.0-0-MacOSX-arm64.sh#538ea7a9d24cad041a2b7fd71cf49f433137f9b4bc8e11408f2285e99cf79f96" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-23.1.0-0-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Mambaforge-23.1.0-0-MacOSX-x86_64.sh#61d95ff7a7bbe465a416f5ad43460fb1a50e621ed15233cc4e3441a03bb48cd4" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-23.1.0-1-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Mambaforge-23.1.0-1-Linux-aarch64.sh#d9d89c9e349369702171008d9ee7c5ce80ed420e5af60bd150a3db4bf674443a" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-23.1.0-1-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Mambaforge-23.1.0-1-Linux-ppc64le.sh#f7065963c9c7eba0ea80ad6431903ddb89fe1ec34c47967cbb8a5247c613b30b" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-23.1.0-1-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Mambaforge-23.1.0-1-Linux-x86_64.sh#cfb16c47dc2d115c8b114280aa605e322173f029fdb847a45348bf4bd23c62ab" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-23.1.0-1-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Mambaforge-23.1.0-1-MacOSX-arm64.sh#e519a74734f963c2fe744557115f8862fa573dea0de581b0b4a22cbd31127448" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-23.1.0-1-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Mambaforge-23.1.0-1-MacOSX-x86_64.sh#e33f9d426d62759e7c4adf5431fdd91a23df71732b5e22b699cace52255e8196" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-23.1.0-2-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-2/Mambaforge-23.1.0-2-Linux-aarch64.sh#a1a3f7cd517e97ef9b0f8e4c1afeb659c7c69849e623904297984e79b1f29b37" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-23.1.0-2-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-2/Mambaforge-23.1.0-2-Linux-ppc64le.sh#fa7e75949d227c12d152efce5ae494ad5725fb0f71151dfdbdddd60e3d265dde" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-23.1.0-2-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-2/Mambaforge-23.1.0-2-Linux-x86_64.sh#8c9244094375379cfe1b6317afc9e693924d0f58ea5c68c64cde4463847c1e31" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-23.1.0-2-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-2/Mambaforge-23.1.0-2-MacOSX-arm64.sh#a58be683b4c00c32591eedc7a6675c8a4d3c7cbf3ef3808f4513033de46be7c8" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-23.1.0-2-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-2/Mambaforge-23.1.0-2-MacOSX-x86_64.sh#f7c53778a47579d886441747a7fe697d020da3b1726f3f7fe7d7e779c3d506e2" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-23.1.0-3-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-3/Mambaforge-23.1.0-3-Linux-aarch64.sh#b7038f4f4d972fa2589dd9edd014940b94600589f924cc6d35a9b11d37506c25" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-23.1.0-3-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-3/Mambaforge-23.1.0-3-Linux-ppc64le.sh#b89f25891ce072a0de5f6f1f5889609dc1eee71ac1301c8ddb7538bd608f273c" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-23.1.0-3-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-3/Mambaforge-23.1.0-3-Linux-x86_64.sh#7a6a07de6063245163a87972fb15be3a226045166eb7ee526344f82da1f3b694" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-23.1.0-3-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-3/Mambaforge-23.1.0-3-MacOSX-arm64.sh#75368b03ac79b170537748a600ea847e35d83a4fef9ea438c34217b7e28b9330" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-23.1.0-3-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-3/Mambaforge-23.1.0-3-MacOSX-x86_64.sh#7e4dd16067bbb4ab41616f3378d0c788302818c7fe13806fe8e97707471c9004" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-23.1.0-4-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-4/Mambaforge-23.1.0-4-Linux-aarch64.sh#95c354268f62e32d57c84f2e1a0caf9b19f77c894ecc83008db0e5e666ce3d43" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-23.1.0-4-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-4/Mambaforge-23.1.0-4-Linux-ppc64le.sh#70ed57b9d32457c172c208b16a839937e2dd77e3fa1bff5ef1cb2f1a7da102ba" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-23.1.0-4-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-4/Mambaforge-23.1.0-4-Linux-x86_64.sh#6ca38e02be99c410644c283bac74601f296dd10995ce1c8d345af995a39b5916" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-23.1.0-4-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-4/Mambaforge-23.1.0-4-MacOSX-arm64.sh#baa1ae638537766cac808efba09175ba21878b34288476dc7bbd01347145721f" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-23.1.0-4-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-4/Mambaforge-23.1.0-4-MacOSX-x86_64.sh#26937ea98870531e51da942b7f6cc26cc9af49bb16390486ee6dde9e0dc2c597" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-23.10.0-0-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.10.0-0/Mambaforge-23.10.0-0-Linux-aarch64.sh#38d86db6ef78caa0ac001c48f454112df2a1e90cd6884dba03a3265393f762b2" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-23.10.0-0-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.10.0-0/Mambaforge-23.10.0-0-Linux-ppc64le.sh#8f28c516ef441c0691d94a7cf3917b8c77eda4ac378c89bd491d4d8ff4f887c8" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-23.10.0-0-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.10.0-0/Mambaforge-23.10.0-0-Linux-x86_64.sh#cf2782419e118db664653a6e63bbf212a24cbc3126c413aa5886fd0f7d20d3c0" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-23.10.0-0-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.10.0-0/Mambaforge-23.10.0-0-MacOSX-arm64.sh#8b300c413195f33c3965445213de2b76bbf5fcbe9087aa80b8d6bf81a21b5764" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-23.10.0-0-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.10.0-0/Mambaforge-23.10.0-0-MacOSX-x86_64.sh#8f1ddb27deffe5e631b3ce69fc3f880c7f3710ee08a42fee64e2b2e1a039683f" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-23.11.0-0-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Mambaforge-23.11.0-0-Linux-aarch64.sh#71320f28280b4e41f37469f6b0ae85e31ba9c26a87c7ee69cecaae3eaa5a4057" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-23.11.0-0-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Mambaforge-23.11.0-0-Linux-ppc64le.sh#148b18f94b5a0878d5fa1190b41cad5a803eca1cd15429e26571fef11422e2b2" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-23.11.0-0-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Mambaforge-23.11.0-0-Linux-x86_64.sh#3dfdcc162bf0df83b5025608dc2acdbbc575bd416b75701fb5863343c0517a78" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-23.11.0-0-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Mambaforge-23.11.0-0-MacOSX-arm64.sh#dd832d8a65a861b5592b2cf1d55f26031f7c1491b30321754443931e7b1e6832" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-23.11.0-0-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Mambaforge-23.11.0-0-MacOSX-x86_64.sh#c6ac073b80cedb313561bc11c2e61b0bd102b74df0363ed6c1e90303b322092a" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-23.3.0-0-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.0-0/Mambaforge-23.3.0-0-Linux-aarch64.sh#ae506f8013fc3f487dd3c9a4fde0b1a529b02bb5478921913c46a115dbcd7d1f" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-23.3.0-0-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.0-0/Mambaforge-23.3.0-0-Linux-ppc64le.sh#f8c0e24abaedfcf611c70451d0bb771f453a0eb4cc0bbbb0670f9753817827a6" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-23.3.0-0-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.0-0/Mambaforge-23.3.0-0-Linux-x86_64.sh#f8b12a9815575b0fec9c85100053ef24e59043194546826fb565288c51ba930d" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-23.3.0-0-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.0-0/Mambaforge-23.3.0-0-MacOSX-arm64.sh#82ed548de9de74d2b6dda9830f581d897eb82694c1df79d957eaef9066dd7ef4" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-23.3.0-0-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.0-0/Mambaforge-23.3.0-0-MacOSX-x86_64.sh#d4603c9b380d5daa923f8d0543de5df57ba971a1562a519c6e3fe1240963012a" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-23.3.1-0-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-0/Mambaforge-23.3.1-0-Linux-aarch64.sh#6e4feeafeff69f35a7455a35f763eb6d5a1e946e7b9b321099640ac93e619a53" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-23.3.1-0-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-0/Mambaforge-23.3.1-0-Linux-ppc64le.sh#6518bf3aa2499a4c76fee54d33450d386a1d4c1bf2e0b2ddaec03f8f7b4319d2" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-23.3.1-0-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-0/Mambaforge-23.3.1-0-Linux-x86_64.sh#c425dcc3501692f23564d8b0a7b3ba69166c61424e9ce0d825f64f9479dcafa1" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-23.3.1-0-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-0/Mambaforge-23.3.1-0-MacOSX-arm64.sh#71e7ea4295d22f0c7ab08b334c07d9540e10775c8abd456314e186625cfb3bf1" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-23.3.1-0-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-0/Mambaforge-23.3.1-0-MacOSX-x86_64.sh#b7b5fe0690528a4d449597e49edb2595625f2cf29e0473fd2a8d2dabc4d948f5" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Mambaforge-23.3.1-1-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-1/Mambaforge-23.3.1-1-Linux-aarch64.sh#32dcc92b4f0b0108ac0734721fb65172395f6c39ecdcaf5bf63edc01f0932020" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Mambaforge-23.3.1-1-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-1/Mambaforge-23.3.1-1-Linux-ppc64le.sh#93fa681cadda8b73bd93a1bf2f60aaa577fe02ef537ee5300eab33af2b45f6d0" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Mambaforge-23.3.1-1-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-1/Mambaforge-23.3.1-1-Linux-x86_64.sh#dbe92c011a1315b9626e2f93a165892f4b89177145bc350b3859a483a3642a24" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Mambaforge-23.3.1-1-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-1/Mambaforge-23.3.1-1-MacOSX-arm64.sh#1b07c1a231a18f21da6aac1abe87dd173ce141ce7612f06eab962eb9f8353a27" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Mambaforge-23.3.1-1-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-1/Mambaforge-23.3.1-1-MacOSX-x86_64.sh#ee707e117c4eb54b7a02a0ba1b2fc2b60325ce6f767e76274e45dbe7743efa7d" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Mambaforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -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

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py310_24.4.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.4.0-0-Linux-aarch64.sh#68f3a537bf2ba8031961c8be6b52236c75478c797e0333e055539f02147676b8" "miniconda" verify_py310
;;
"Linux-s390x" )
install_script "Miniconda3-py310_24.4.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.4.0-0-Linux-s390x.sh#d5d06f9aa66d9cc9a23d6278826cb09f44f8e005b8b8fcf2664bef02e61ca751" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniconda3-py310_24.4.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.4.0-0-Linux-x86_64.sh#fdaa5afdea8c07b6f2203b8f95abe0e4e8c4d3fd3c10d19fe590311446591ffa" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniconda3-py310_24.4.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.4.0-0-MacOSX-arm64.sh#21f0b7c653518a6eb6135593c509cefc78fdff839bb2e887d36bc03eda607faf" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py310_24.4.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.4.0-0-MacOSX-x86_64.sh#c2eed72ff97b4eb81bc1171616b0ff48a440a2e1ad5638e1899b80286767c568" "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

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py310_24.5.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.5.0-0-Linux-aarch64.sh#edcf076c80846beded0b72e98811cf7b93d0abc2ae93c060efc76f8da1e6fc45" "miniconda" verify_py310
;;
"Linux-s390x" )
install_script "Miniconda3-py310_24.5.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.5.0-0-Linux-s390x.sh#e00f3d03d13fc4fa394a5d20a5476087237ee6cb029eba3b02322acc104b530b" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniconda3-py310_24.5.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.5.0-0-Linux-x86_64.sh#b3d73db6a05069fbdf20dc33fc9b6a29fa7198578f0d090c639f5ca0e84102bd" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniconda3-py310_24.5.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.5.0-0-MacOSX-arm64.sh#e422602aa19140c600b5889e5b41a0d7187640107ea82fcb5da857dd25330148" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py310_24.5.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_24.5.0-0-MacOSX-x86_64.sh#6d7c1cc138adfc4bb2ccbb8a22eb8e9eb13a366b6af0d63245b643e6c3a3c708" "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

View File

@@ -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

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py311_24.4.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.4.0-0-Linux-aarch64.sh#d3ed9ff565c7341a4e4c957443ccb4f12f3dd5a087549099e7f199c36469e55c" "miniconda" verify_py311
;;
"Linux-s390x" )
install_script "Miniconda3-py311_24.4.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.4.0-0-Linux-s390x.sh#f2bea598cb72ed838a6e62b7dd8fbf1c3941a92783ba686822f70108c8c2e543" "miniconda" verify_py311
;;
"Linux-x86_64" )
install_script "Miniconda3-py311_24.4.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.4.0-0-Linux-x86_64.sh#7cb030a12d1da35e1c548344a895b108e0d2fbdc4f6b67d5180b2ac8539cc473" "miniconda" verify_py311
;;
"MacOSX-arm64" )
install_script "Miniconda3-py311_24.4.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.4.0-0-MacOSX-arm64.sh#a396cf4ca0088cf2d78517b28732b61697cdcb698528300946ef6409353eca86" "miniconda" verify_py311
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py311_24.4.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.4.0-0-MacOSX-x86_64.sh#b7f3adebd2b25dbefdc85e16f5ee130ac0d1167f416078f961e90f277476b115" "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

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py311_24.5.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.5.0-0-Linux-aarch64.sh#94a742af7bf5c7bae3dba6bd07d84d94b858b839e15af2ea0cd10fdf2bde8a73" "miniconda" verify_py311
;;
"Linux-s390x" )
install_script "Miniconda3-py311_24.5.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.5.0-0-Linux-s390x.sh#002963f32aebe1091d5da9a82416831f3c11217e6b4ea164c655f0d11f0cff80" "miniconda" verify_py311
;;
"Linux-x86_64" )
install_script "Miniconda3-py311_24.5.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.5.0-0-Linux-x86_64.sh#38b203bb1f2be78b735ebc00162f29e8e73fcd9a619ed5980490a72193ee1f58" "miniconda" verify_py311
;;
"MacOSX-arm64" )
install_script "Miniconda3-py311_24.5.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.5.0-0-MacOSX-arm64.sh#a3d62f20f09e8079db76379090f21b7ae34832dadeb5a250e4fab324c8328727" "miniconda" verify_py311
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py311_24.5.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_24.5.0-0-MacOSX-x86_64.sh#9e7dc7e0fbf0e9b2ff6bafdae9bf6ef122ae92d53533c2bbeb73433c0c6a4bd9" "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

View File

@@ -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

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py312_24.4.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.4.0-0-Linux-aarch64.sh#832d48e11e444c1a25f320fccdd0f0fabefec63c1cd801e606836e1c9c76ad51" "miniconda" verify_py312
;;
"Linux-s390x" )
install_script "Miniconda3-py312_24.4.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.4.0-0-Linux-s390x.sh#e973f1b6352d58b1ab35f30424f1565d7ffa469dcde2d52c86ec1c117db11aad" "miniconda" verify_py312
;;
"Linux-x86_64" )
install_script "Miniconda3-py312_24.4.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.4.0-0-Linux-x86_64.sh#b6597785e6b071f1ca69cf7be6d0161015b96340b9a9e132215d5713408c3a7c" "miniconda" verify_py312
;;
"MacOSX-arm64" )
install_script "Miniconda3-py312_24.4.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.4.0-0-MacOSX-arm64.sh#f4925c0150d232d95de798a64c696f4b2df2745bb997b793506bdfd27bf91e11" "miniconda" verify_py312
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py312_24.4.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.4.0-0-MacOSX-x86_64.sh#1413369470adb7cf52f8b961e81b3ceeb92f5931a451bef9cb0c42be0ce17ef3" "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

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py312_24.5.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.5.0-0-Linux-aarch64.sh#70afe954cc8ee91f605f9aa48985bfe01ecfc10751339e8245eac7262b01298d" "miniconda" verify_py312
;;
"Linux-s390x" )
install_script "Miniconda3-py312_24.5.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.5.0-0-Linux-s390x.sh#bd2a0a8ea34c84c860868d5b8efde07afc51cdede76b64dd94e9c3fd2d65257e" "miniconda" verify_py312
;;
"Linux-x86_64" )
install_script "Miniconda3-py312_24.5.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.5.0-0-Linux-x86_64.sh#4b3b3b1b99215e85fd73fb2c2d7ebf318ac942a457072de62d885056556eb83e" "miniconda" verify_py312
;;
"MacOSX-arm64" )
install_script "Miniconda3-py312_24.5.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.5.0-0-MacOSX-arm64.sh#12e678b8156aea69a132568b6176a019c7a1ba753ddf5caedf086d3c5460fe92" "miniconda" verify_py312
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py312_24.5.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py312_24.5.0-0-MacOSX-x86_64.sh#b1c87c8334ea878d30a9976c1860b1004e6d55bdec5228089fec40be81156363" "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

View File

@@ -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

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py39_24.4.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.4.0-0-Linux-aarch64.sh#6f09fd08165a9fdccb2a2c64e9bbcf68ce58a9bfb571600306eb44d29718b13f" "miniconda" verify_py39
;;
"Linux-s390x" )
install_script "Miniconda3-py39_24.4.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.4.0-0-Linux-s390x.sh#8766e30b038087e7da2bb9a8bca4ca3f2ed621659f0ea8954ffab789f4a8f192" "miniconda" verify_py39
;;
"Linux-x86_64" )
install_script "Miniconda3-py39_24.4.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.4.0-0-Linux-x86_64.sh#edd7610f2e2b25d15f6ffa81ca94de0748dd107096871459a7966dcf9a564ea9" "miniconda" verify_py39
;;
"MacOSX-arm64" )
install_script "Miniconda3-py39_24.4.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.4.0-0-MacOSX-arm64.sh#74f3de552d93712cc7c531f690b78d6acad8e3812da43fc3a1acbc5c39243480" "miniconda" verify_py39
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py39_24.4.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.4.0-0-MacOSX-x86_64.sh#d3ad5e0bf74aa1cb838df2f73e4be4e5d9a0f259a05b5223199ea1f6f6edf9f3" "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

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py39_24.5.0-0-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.5.0-0-Linux-aarch64.sh#b716e3bc556e9ab7a4f206b04b53bd57c24e94956598d89fc78863b115cce9e8" "miniconda" verify_py39
;;
"Linux-s390x" )
install_script "Miniconda3-py39_24.5.0-0-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.5.0-0-Linux-s390x.sh#c2d6bec964a96130eb5f1c4ea46993cf10f7957d45ac31d9aa94c34b5ebfed32" "miniconda" verify_py39
;;
"Linux-x86_64" )
install_script "Miniconda3-py39_24.5.0-0-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.5.0-0-Linux-x86_64.sh#07a2435123fd8f41e6528baa5f272ce754fd8acaef08ce7081afb00227b8754a" "miniconda" verify_py39
;;
"MacOSX-arm64" )
install_script "Miniconda3-py39_24.5.0-0-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.5.0-0-MacOSX-arm64.sh#f5f63a0de44b7b0872f3c00dca71b896933ccc844a93bf120aad6df66b6475b3" "miniconda" verify_py39
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py39_24.5.0-0-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_24.5.0-0-MacOSX-x86_64.sh#b65d7f01820bdfe1abb6b4dd84d48e6c62a6d72ee0cc400a4e8bb4ea89ff1c84" "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

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniforge3-22.11.1-3-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-3/Miniforge3-22.11.1-3-Linux-aarch64.sh#6ee6fbbaaf900f090e9786b093ad829f0d3e6224d8c50ee37d5fc2c1317b2521" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniforge3-22.11.1-3-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-3/Miniforge3-22.11.1-3-Linux-ppc64le.sh#bfccb07a65500c7ed2a7eb363c720caf69dc6baaa36ef52b1224df270c215c2c" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniforge3-22.11.1-3-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-3/Miniforge3-22.11.1-3-Linux-x86_64.sh#b96991615834e66a34f3653f12597b5938425bb00a0ce47dc493ea03ecf6f339" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniforge3-22.11.1-3-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-3/Miniforge3-22.11.1-3-MacOSX-arm64.sh#f416cc5ceb8420d12d078254f161f7c59fd41ca4dfcd86ce6a67c9c34069a15e" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniforge3-22.11.1-3-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-3/Miniforge3-22.11.1-3-MacOSX-x86_64.sh#9e590b6635d97a81fcb8b5366384317db544629b290f34423f3710a6917d2d58" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniforge3-23.1.0-0-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Miniforge3-23.1.0-0-Linux-aarch64.sh#4972174d7bc88c636f50257fd2dc718abfd648b227dacbde4c8db716d05bb08b" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniforge3-23.1.0-0-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Miniforge3-23.1.0-0-Linux-ppc64le.sh#21ccc195bdee24caf9eef5e8fdd250d3fba9147a68e1cd114c2375cb03ba6043" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniforge3-23.1.0-0-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Miniforge3-23.1.0-0-Linux-x86_64.sh#9bbcc29e8e43151bd4634fbe086e3d7914aba3963ac6b1e8d59c530435bd33d9" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniforge3-23.1.0-0-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Miniforge3-23.1.0-0-MacOSX-arm64.sh#0aece610f84e023d062e1c88bfc6033dd60101ec9b79819f87fc1b009263989b" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniforge3-23.1.0-0-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-0/Miniforge3-23.1.0-0-MacOSX-x86_64.sh#a9665fec3c8c1abd572666d4c49d512b3c27082324a1713ca2fde6efb8ce7856" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniforge3-23.1.0-1-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Miniforge3-23.1.0-1-Linux-aarch64.sh#9083f5aa0a125bfbc1a8e8d5eb57812a2761b884e0806a75ebc3c95be894791e" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniforge3-23.1.0-1-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Miniforge3-23.1.0-1-Linux-ppc64le.sh#6b9d4af128f6378ec688ce412fb1a4fe8ce298df9d05bb7092637c8047faeb26" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniforge3-23.1.0-1-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Miniforge3-23.1.0-1-Linux-x86_64.sh#7a5859e873ed36fc9a141fff0ac60e133b971b3413aed49a4c82693d4f4a2ad2" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniforge3-23.1.0-1-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Miniforge3-23.1.0-1-MacOSX-arm64.sh#147ee54acc6ebd5148d712945fed29c4e01a247528f28fd958615f63bfc75687" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniforge3-23.1.0-1-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Miniforge3-23.1.0-1-MacOSX-x86_64.sh#7c737a78918164c5a07a6489b8429f9788aadb58536434c0d34316e7686dc424" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniforge3-23.1.0-2-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-2/Miniforge3-23.1.0-2-Linux-aarch64.sh#ca662b0c5620cc4f70afe75a674b212a424bb16da103251d07afe8cfa268983c" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniforge3-23.1.0-2-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-2/Miniforge3-23.1.0-2-Linux-ppc64le.sh#34e7db7d071b15abb07603108d5a74c4878aa25be30005163ed9bdbafe8ecf79" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniforge3-23.1.0-2-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-2/Miniforge3-23.1.0-2-Linux-x86_64.sh#ee75d00832ef4aeb1ae04ac62ffb1dc917409696cfbe50f5f93125ab9b165278" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniforge3-23.1.0-2-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-2/Miniforge3-23.1.0-2-MacOSX-arm64.sh#05891e572dedd62c128c51ed7cdcceba191155779f5ea1abdf0e57e3fba8a982" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniforge3-23.1.0-2-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-2/Miniforge3-23.1.0-2-MacOSX-x86_64.sh#1d837379b50b57bf009b6a6956a7cff10dc25ca52a940a35b7090f2e9b6c5482" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniforge3-23.1.0-3-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-3/Miniforge3-23.1.0-3-Linux-aarch64.sh#2e180aa558ff38481ec5147b7f06060c3c8cfbd12894abe31b5f75fc23f7d09a" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniforge3-23.1.0-3-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-3/Miniforge3-23.1.0-3-Linux-ppc64le.sh#00722f3dd257143816d94d8fc97a3c43ccc3046e31956240d14c210268ccc64e" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniforge3-23.1.0-3-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-3/Miniforge3-23.1.0-3-Linux-x86_64.sh#d4e4750ac95508512c52ff33fa71834e7839e8c51224694a544aecdd655ce29c" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniforge3-23.1.0-3-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-3/Miniforge3-23.1.0-3-MacOSX-arm64.sh#85f4f38d3502871c09d94ab2fd43fe221284eb33c361c486c2b420a726328a7e" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniforge3-23.1.0-3-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-3/Miniforge3-23.1.0-3-MacOSX-x86_64.sh#846df715e78ef3b875d1cbf17ed124e261f5ece2dd0e2556310cf4dfbc1238f6" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniforge3-23.1.0-4-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-4/Miniforge3-23.1.0-4-Linux-aarch64.sh#bf6a4b9d3e0195b9c64b58f0e28738edc259a214f362edbc23884e82ad59cb8c" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniforge3-23.1.0-4-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-4/Miniforge3-23.1.0-4-Linux-ppc64le.sh#0e49480e6a3429d9578bdbdc154d623375273b3e8c205353c1cc9d6e0cce1f59" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniforge3-23.1.0-4-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-4/Miniforge3-23.1.0-4-Linux-x86_64.sh#35c531207d2a8d212215bdb7f998c926f24bc8686e1cf46a693a3ea375613a7f" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniforge3-23.1.0-4-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-4/Miniforge3-23.1.0-4-MacOSX-arm64.sh#de48052b85900a3878cedbb25add7e17b14d5bdfba8ba523791851a10a6b84fe" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniforge3-23.1.0-4-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.1.0-4/Miniforge3-23.1.0-4-MacOSX-x86_64.sh#a43f4e34aa27b5cb849027b01b03931df52f768fc8b82b1f72f40ff064abb6f3" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniforge3-23.10.0-0-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.10.0-0/Miniforge3-23.10.0-0-Linux-aarch64.sh#3760323416d2ce48ca8445386a8c12b453a92f111614dd1870f0ea684d6d32a8" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniforge3-23.10.0-0-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.10.0-0/Miniforge3-23.10.0-0-Linux-ppc64le.sh#d1a5287138cc4bcc70dad3d1dcf770d8ec13f93c82aeea481bb727860b0f4b5c" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniforge3-23.10.0-0-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.10.0-0/Miniforge3-23.10.0-0-Linux-x86_64.sh#da66ba24d5ffdf4c339ec8923de9e207f682f2027f9f382103080dea4407ef33" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniforge3-23.10.0-0-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.10.0-0/Miniforge3-23.10.0-0-MacOSX-arm64.sh#057b6ba35d5872b33b6342183546bd0d5e838460bb019a2fe4db2208eb042135" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniforge3-23.10.0-0-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.10.0-0/Miniforge3-23.10.0-0-MacOSX-x86_64.sh#a1785d943daba4f23dac64fc389b4e5929aee6d20eb8ba245671887249238df9" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniforge3-23.11.0-0-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Miniforge3-23.11.0-0-Linux-aarch64.sh#775968746d062a14bd84db3ae72f18f60f4acf229bd840625805e87668486bf4" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniforge3-23.11.0-0-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Miniforge3-23.11.0-0-Linux-ppc64le.sh#a77f1293dbc2a70c5b58f495f70dfc143f3455ca9da9edbc1afa66157c1c722a" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniforge3-23.11.0-0-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Miniforge3-23.11.0-0-Linux-x86_64.sh#73576b96409ed38a7ca596bece058e8c77c6ef3eab42af7cfdf2ae975e8f3928" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniforge3-23.11.0-0-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Miniforge3-23.11.0-0-MacOSX-arm64.sh#9382007611d4ad7201976a33cd65aaf2b3de582285b76c894d8c71eac544bfe1" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniforge3-23.11.0-0-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Miniforge3-23.11.0-0-MacOSX-x86_64.sh#6e586a93cc8c6d21deb543d46740806795eae4ff16a76bc5f8a57673e3044c73" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniforge3-23.3.0-0-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.0-0/Miniforge3-23.3.0-0-Linux-aarch64.sh#ca3ccf3006d7923b91157c434c4a9ba58b99812a00cf48aa83f2835ea3f7d167" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniforge3-23.3.0-0-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.0-0/Miniforge3-23.3.0-0-Linux-ppc64le.sh#4b12965a0c0746110480c61440ba836022db72cdfed69616de3dfa66ba7c92df" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniforge3-23.3.0-0-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.0-0/Miniforge3-23.3.0-0-Linux-x86_64.sh#17484f59cbe983abb953cc33e7a4c0ee0b33153de61d5465bb1aaf176e43d038" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniforge3-23.3.0-0-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.0-0/Miniforge3-23.3.0-0-MacOSX-arm64.sh#37ca7c33fefcfb45deef58eaa690970c7392a87f01a076f932dd7f3f684888d7" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniforge3-23.3.0-0-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.0-0/Miniforge3-23.3.0-0-MacOSX-x86_64.sh#32f797ba073ae153bd1fd36a556833c0082c3cd44ac25f13fc5228258aadf7a5" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -0,0 +1,25 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniforge3-23.3.1-0-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-0/Miniforge3-23.3.1-0-Linux-aarch64.sh#b71277b8b40a6817d923fde0b858f56a4504f4e9b659d343dd8eae9d9473ab7f" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniforge3-23.3.1-0-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-0/Miniforge3-23.3.1-0-Linux-ppc64le.sh#434b461d309110bfeb72198541a541985aa197e3b605de27978c15f31d1520ef" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniforge3-23.3.1-0-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-0/Miniforge3-23.3.1-0-Linux-x86_64.sh#9be723d231609919fa3e3bb06f899a9a9c22e92e570bada8129a1bf50fee8d73" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniforge3-23.3.1-0-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-0/Miniforge3-23.3.1-0-MacOSX-arm64.sh#32632039d6f457e56589591bd893f62cba85e31379ec8b663f8b06f35b0860e7" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniforge3-23.3.1-0-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-0/Miniforge3-23.3.1-0-MacOSX-x86_64.sh#e9447f308499d99821c48293fe258bb47595f238140cd9c834f57321d3839cd0" "miniconda" verify_py310
;;
* )
{ echo
colorize 1 "ERROR"
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
echo
} >&2
exit 1
;;
esac

View File

@@ -197,7 +197,7 @@ index 0000000..1fc2747
+Before making the call, the VALUES vector should be initialized
+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:
+
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);

View File

@@ -197,7 +197,7 @@ index 0000000..1fc2747
+Before making the call, the VALUES vector should be initialized
+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:
+
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);

View File

@@ -197,7 +197,7 @@ index 0000000..1fc2747
+Before making the call, the VALUES vector should be initialized
+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:
+
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);

View File

@@ -197,7 +197,7 @@ index 0000000..1fc2747
+Before making the call, the VALUES vector should be initialized
+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:
+
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);

View File

@@ -197,7 +197,7 @@ index 0000000..1fc2747
+Before making the call, the VALUES vector should be initialized
+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:
+
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);

View File

@@ -197,7 +197,7 @@ index 0000000..1fc2747
+Before making the call, the VALUES vector should be initialized
+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:
+
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);

View File

@@ -197,7 +197,7 @@ index 0000000..1fc2747
+Before making the call, the VALUES vector should be initialized
+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:
+
+void ffi_call(ffi_cif *cif, void *fn, void *rvalue, void **avalues);

View 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'

View 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'

View 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'

View 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'

View 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'

View 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'

View File

@@ -201,34 +201,6 @@ make install
OUT
}
@test "yaml is not linked from Homebrew in non-MacOS" {
cached_tarball "yaml-0.1.6"
cached_tarball "Python-3.6.2"
for i in {1..10}; do stub uname '-s : echo Linux'; done
stub brew true; brew
stub_make_install
stub_make_install
install_fixture definitions/needs-yaml
assert_success
unstub uname
unstub brew
unstub make
assert_build_log <<OUT
yaml-0.1.6: CPPFLAGS="-I${TMP}/install/include" LDFLAGS="-L${TMP}/install/lib -Wl,-rpath,${TMP}/install/lib" PKG_CONFIG_PATH=""
yaml-0.1.6: --prefix=${TMP}/install
make -j 2
make install
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include" LDFLAGS="-L${TMP}/install/lib -Wl,-rpath,${TMP}/install/lib" PKG_CONFIG_PATH=""
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
make -j 2
make install
OUT
}
@test "readline is linked from Homebrew" {
cached_tarball "Python-3.6.2"
@@ -358,12 +330,14 @@ OUT
done
}
@test "no library searches performed during normal operation touch homebrew in non-MacOS" {
@test "homebrew is not touched if PYTHON_BUILD_SKIP_HOMEBREW is set" {
cached_tarball "Python-3.6.2"
for i in {1..9}; do stub uname '-s : echo Linux'; done
for i in {1..4}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
stub brew true; brew
stub_make_install
export PYTHON_BUILD_SKIP_HOMEBREW=1
run_inline_definition <<DEF
install_package "Python-3.6.2" "http://python.org/ftp/python/3.6.2/Python-3.6.2.tar.gz"
@@ -382,14 +356,74 @@ make install
OUT
}
@test "no library searches performed during normal operation touch homebrew if envvar is set" {
@test "homebrew is used in Linux if PYTHON_BUILD_USE_HOMEBREW is set" {
cached_tarball "Python-3.6.2"
for i in {1..4}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
stub brew true; brew
BREW_PREFIX="$TMP/homebrew-prefix"
mkdir -p "$BREW_PREFIX"
for i in {1..4}; do stub uname '-s : echo Linux'; done
stub brew "--prefix : echo '$BREW_PREFIX'"
for i in {1..4}; do stub brew false; done
stub_make_install
export PYTHON_BUILD_USE_HOMEBREW=1
run_inline_definition <<DEF
install_package "Python-3.6.2" "http://python.org/ftp/python/3.6.2/Python-3.6.2.tar.gz"
DEF
assert_success
unstub uname
unstub brew
unstub make
assert_build_log <<OUT
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include -I$BREW_PREFIX/include" LDFLAGS="-L${TMP}/install/lib -Wl,-rpath,${TMP}/install/lib -L$BREW_PREFIX/lib -Wl,-rpath,$BREW_PREFIX/lib" PKG_CONFIG_PATH=""
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
make -j 2
make install
OUT
}
@test "homebrew is used in Linux if Pyenv is installed with Homebrew" {
cached_tarball "Python-3.6.2"
BREW_PREFIX="$(type -p python-build)"
BREW_PREFIX="${BREW_PREFIX%/*}"
BREW_PREFIX="${BREW_PREFIX%/*}"
for i in {1..4}; do stub uname '-s : echo Linux'; done
stub brew "--prefix : echo '$BREW_PREFIX'"
for i in {1..4}; do stub brew false; done
stub_make_install
export PYTHON_BUILD_USE_HOMEBREW=1
run_inline_definition <<DEF
install_package "Python-3.6.2" "http://python.org/ftp/python/3.6.2/Python-3.6.2.tar.gz"
DEF
assert_success
unstub uname
unstub brew
unstub make
assert_build_log <<OUT
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include -I$BREW_PREFIX/include" LDFLAGS="-L${TMP}/install/lib -Wl,-rpath,${TMP}/install/lib -L$BREW_PREFIX/lib -Wl,-rpath,$BREW_PREFIX/lib" PKG_CONFIG_PATH=""
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
make -j 2
make install
OUT
}
@test "homebrew is not used in Linux if Pyenv is not installed with Homebrew" {
cached_tarball "Python-3.6.2"
BREW_PREFIX="$TMP/homebrew-prefix"
mkdir -p "$BREW_PREFIX"
for i in {1..9}; do stub uname '-s : echo Linux'; done
for i in {1..5}; do stub brew "--prefix : echo '$BREW_PREFIX'"; done
stub_make_install
export PYTHON_BUILD_SKIP_HOMEBREW=1
run_inline_definition <<DEF
install_package "Python-3.6.2" "http://python.org/ftp/python/3.6.2/Python-3.6.2.tar.gz"

View File

@@ -100,10 +100,6 @@ if [ -n "${!_STUB_END}" ]; then
rm -f "${!_STUB_RUN}"
rm -f "${!_STUB_LOG}"
# Clean up the run file.
rm -f "${!_STUB_RUN}"
rm -f "${!_STUB_LOG}"
# Return the result.
exit "${!_STUB_RESULT}"

View File

@@ -10,7 +10,7 @@ pyenv_install_resolve_latest() {
$(python-build --definitions | \
grep -F "${DEFINITION_PREFIX}" | \
grep "^${DEFINITION_TYPE}" | \
sed -E -e '/-dev$/d' -e '/-src$/d' -e '/(b|rc)[0-9]+$/d' | \
sed -E -e '/-dev$/d' -e '/-src$/d' -e '/(b|rc)[0-9]+$/d' -e '/[0-9]+t$/d' | \
sort -t. -k1,1r -k 2,2nr -k 3,3nr \
|| true))
DEFINITION="${DEFINITION_CANDIDATES}"

View File

@@ -64,6 +64,8 @@ redis-check-aof
redis-check-dump
redis-cli
redis-server
# sed
sed
# sqlite3
sqlite3
# xslt-config
@@ -189,4 +191,5 @@ wc
who
whoami
yes
# --- end exclusions from coreutils
# --- end exclusions from coreutils
greadlink

View File

@@ -2,6 +2,18 @@
load test_helper
setup() {
export PATH="${PYENV_TEST_DIR}/bin:$PATH"
}
create_executable() {
local name="$1"
local bin="${PYENV_TEST_DIR}/bin"
mkdir -p "$bin"
sed -Ee '1s/^ +//' > "${bin}/$name"
chmod +x "${bin}/$name"
}
@test "creates shims and versions directories" {
assert [ ! -d "${PYENV_ROOT}/shims" ]
assert [ ! -d "${PYENV_ROOT}/versions" ]
@@ -167,6 +179,24 @@ echo "\$PATH"
assert_line ' case "$command" in'
}
@test "outputs sh-compatible case syntax" {
create_executable pyenv-commands <<!
#!$BASH
echo -e 'activate\ndeactivate\nrehash\nshell'
!
run pyenv-init - bash
assert_success
assert_line ' activate|deactivate|rehash|shell)'
create_executable pyenv-commands <<!
#!$BASH
echo
!
run pyenv-init - bash
assert_success
assert_line ' /)'
}
@test "outputs fish-specific syntax (fish)" {
run pyenv-init - fish
assert_success

View File

@@ -103,6 +103,9 @@ echo 3.8.5-latest
echo 3.8.5a2
echo 3.8.5b3
echo 3.8.5rc2
echo 3.8.5t
echo 3.8.5b3t
echo 3.8.5rc2t
echo 3.8.1
echo 3.8.1/envs/foo
!

View File

@@ -155,3 +155,15 @@ exit
PYENV_VERSION=3.4 run pyenv-which python
assert_success "version=3.4.2"
}
@test "skip advice supresses error messages" {
create_executable "2.7" "python"
create_executable "3.3" "py.test"
create_executable "3.4" "py.test"
PYENV_VERSION=2.7 run pyenv-which py.test --skip-advice
assert_failure
assert_output <<OUT
pyenv: py.test: command not found
OUT
}