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
5e4879a2bc v2.3.36 2024-02-14 00:58:44 +03:00
Edgar Ramírez Mondragón
aca9af761e Add CPython 3.11.8 (#2898) 2024-02-10 13:28:24 +03:00
Edgar Ramírez Mondragón
443de6614b Add CPython 3.12.2 (#2899) 2024-02-10 13:25:30 +03:00
Ruben Laguna
9908daf81d Update pypy3.9-7.3.13 checksums
Releases have been reuploaded upstream
2024-01-25 00:22:54 +03:00
Edgar Ramírez Mondragón
2374260efa Add PyPy v7.3.15 (#2886) 2024-01-18 10:00:11 +03:00
Edgar Ramírez Mondragón
f82acf8d44 Add CPython 3.13.0a3 (#2885) 2024-01-17 21:45:12 +03:00
Michael Šimáček
46d3954bff Add graalpy-23.1.2 (#2884) 2024-01-16 21:43:29 +03:00
dand-oss
6e3b91a816 Added PyPy 7.3.14 (#2876)
Co-authored-by: Dan Dees <dand@appsmiths.com>
2023-12-31 22:32:19 +03:00
Ryan Williams
920d8d4dbe Make "Automatic installer" command a copy-able code block (#2874) 2023-12-30 18:11:56 +03:00
cpzt
2d85075123 Add micropython 1.20.0 and 1.21.0 (#2869) 2023-12-26 22:45:07 +03:00
binbjz
2798a6694d Add support for miniconda3 23.11.0-1, 23.11.0-2 with py3.11, py3.10, py3.9, py3.8 (#2870)
Co-authored-by: binbjz <bin.zhao@naxions.com>
2023-12-26 03:51:40 +03:00
Marvin Häuser
2c69732fec Add installation prefix to python-config --ldflags output (#2865)
Needed to link against libpython of the Pyenv-controlled installation
2023-12-26 03:43:53 +03:00
dependabot[bot]
96f93fd553 Bump the github-actions group with 1 update (#2864)
Bumps the github-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).

- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-12 08:04:41 +03:00
Kurt McKee
3c92216ea2 Add a Dependabot config to auto-update GitHub action versions (#2863) 2023-12-12 07:29:06 +03:00
Anton Petrov
74a2523c97 v2.3.35 2023-12-08 13:23:20 +03:00
Anton Petrov
dfde39650e v2.3.35 2023-12-08 13:22:44 +03:00
Anton Petrov
2aa2d17f05 Merge pull request #2861 from edgarrmondragon/cpython-3.12.0 2023-12-08 06:14:46 +03:00
Edgar Ramírez Mondragón
fce51d45a0 Add CPython 3.12.1 2023-12-07 18:52:56 -06:00
Anton Petrov
d3766f22a5 v2.3.34 2023-12-06 06:56:43 +03:00
Anton Petrov
99d74e78f7 v2.3.34 2023-12-06 06:56:03 +03:00
Anton Petrov
3fc9f4381a Merge pull request #2860 from edgarrmondragon/cpython-3.11.7
Add CPython 3.11.7
2023-12-05 09:07:32 +03:00
Edgar Ramírez Mondragón
1a9e9ee5da Add CPython 3.11.7 2023-12-04 23:44:38 -06:00
native-api
3e1b4e0be1 Move 3.11.5+ to OpenSSL 3 by default (#2858)
As per https://docs.python.org/3.11/whatsnew/3.11.html#notable-changes-in-3-11-5,
OpenSSL 3.0 support in CPython is finally official since 3.11.5.
2023-11-29 23:39:14 +03:00
native-api
ebff965cc6 Fix graalpy-community to use a separate package name (#2855)
Using the same name as graalpy causes a cache clash
2023-11-29 22:57:28 +03:00
Anton Petrov
2fb5b9e9a3 v2.3.33 2023-11-27 15:54:43 +03:00
Anton Petrov
efb01775c0 v2.3.33 2023-11-27 15:54:25 +03:00
native-api
1239b7cb1f python-build: Document PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA and PYTHON_BUILD_HTTP_CLIENT (#2853)
grammar
2023-11-26 12:59:10 +03:00
Anton Petrov
10f8805526 Merge pull request #2849 from edgarrmondragon/cpython-3.13.0a2 2023-11-24 09:14:29 +03:00
Edgar Ramírez Mondragón
ae74597ded Add CPython 3.13.0a2 2023-11-22 16:25:45 -06:00
Anton Petrov
ac32a20f83 Merge pull request #2844 from binbjz/miniconda-bin 2023-11-18 11:58:54 +03:00
binbjz
ae1c5d2bff Add support for miniconda3-3.10-23.10.0-1、miniconda3-3.9-23.10.0-1、miniconda3-3.8-23.10.0-1 2023-11-18 16:39:57 +08:00
Anton Petrov
94d879c92a Merge pull request #2843 from binbjz/new-miniconda 2023-11-18 11:24:38 +03:00
binbjz
ef0c2a787b Add support for miniconda3-3.11-23.10.0-1 2023-11-18 15:53:40 +08:00
Anton Petrov
4405459f57 Merge pull request #2839 from goerz-forks/miniforge3-23.3.1-1 2023-11-13 21:40:35 +03:00
Michael Goerz
62242c1d56 Add miniforge3-23.3.1-1 2023-11-13 12:39:23 -05:00
Anton Petrov
d312301099 v2.3.32 2023-11-12 18:53:11 +03:00
Anton Petrov
988258ea5f v2.3.32 2023-11-12 18:52:52 +03:00
native-api
fb2c65f149 Make pyenv init output insertable to startup files (#2838) 2023-11-12 12:41:13 +03:00
native-api
087793a660 Make adding $PYENV_ROOT/bin to PATH independent of other software (#2837)
Fixes breakage in WSL with Pyenv-win installed in the host system;
doesn't affect other supported installation scenarios.
2023-11-12 11:58:17 +03:00
fsc-eriker
63c471d020 Describe --no-rehash option in the manpage (#2832)
(Closes: #2831)
2023-10-30 22:10:26 +03:00
Anton Petrov
54f7a7c046 v2.3.31 2023-10-22 12:35:53 +03:00
Anton Petrov
011bbf0cca v2.3.31 2023-10-22 12:35:36 +03:00
Anton Petrov
a9a92dfdc5 Merge pull request #2824 from aphedges/update-miniconda-2023-10-21 2023-10-22 06:07:51 +03:00
Alex Hedges
968fc797c3 Update anaconda and miniconda with add_miniconda.py
This adds anaconda 2023.09 and miniconda 23.9.0.
2023-10-21 19:05:51 -04:00
Alex Hedges
27525adece Determine Python versions properly for Anaconda
The code for determining which Python version is bundled with which
version of Anaconda has not been updated in a while. I have added 3.10
and 3.11, both of which were used in bundles this year.

I also updated the URL for the source of this data, the Anaconda release
notes, because it has moved.
2023-10-21 19:05:48 -04:00
Anton Petrov
f50b99265c v2.3.30 2023-10-16 21:37:24 +03:00
Anton Petrov
9c8f92cf4e v2.3.30 2023-10-16 21:36:46 +03:00
startergo
d25cd0d0f5 Fix linking against Homebrew's Tcl/Tk 8.6.13 in MacOS (#2820)
Headers have been moved to the 'tcl-tk' subdir
This was causing Tcl/Tk 8.5 from XCode SDK to be silently picked instead
2023-10-15 17:17:22 +03:00
Ivan Pozdeev
709534c21f CI: add 3.12 2023-10-15 15:03:49 +03:00
native-api
62e2e9c743 Merge pull request #2807 from dand-oss/pypy-3.7.13
Add PyPy 7.3.13
2023-10-14 10:11:28 +03:00
Ivan Pozdeev
509d3a8855 Use pip<21 syntax in ensurepip call for pypy2.7-7.3.13 and 2.7.18 2023-10-14 07:38:42 +03:00
Dan Dees
c6f0d31dc9 pypy 3.7.13 2023-10-14 07:38:41 +03:00
Edgar Ramírez Mondragón
b8b6846a21 Add CPython 3.13.0a1 (#2818) 2023-10-13 21:07:42 +03:00
native-api
dee8a9dbad Fix intermittent "broken pipe" in version sort test (#2817) 2023-10-12 22:09:48 +03:00
Anton Petrov
bb38acd994 v2.3.29 2023-10-06 08:05:47 +03:00
Anton Petrov
7d7e7e5b93 v2.3.29 2023-10-06 08:05:28 +03:00
Alex Hedges
928f69cf9a Install ncurses from Homebrew, if available (#2813)
XCode Command Line Tools 15.0 was recently released, and it contains a
broken version of ncurses 6.0. Some uses of Python's `curses` module
will segfault when compiled with it. The solution is to switch to using
the version of ncurses from Homebrew, which is currently 6.4. Support
for ncurses 6 was added to Python 3.7 and was backported to 3.6 and 2.7,
so this change should not break any recently supported Python versions.

Tested with Python 3.12, 3.11, and 2.7, and all tests in
the `test.test_curses` module pass without issue.

See https://github.com/python/cpython/issues/109617 and
https://github.com/python/cpython/issues/69906 for more information.
2023-10-06 06:59:29 +03:00
Anton Petrov
44c8f061af Merge pull request #2812 from eregon/graalpy-gftc-23.1.0
Add GraalPy 23.1.0 definition using the faster Oracle GraalVM distribution
2023-10-05 19:19:41 +03:00
Benoit Daloze
931a7d7c7f Add GraalPy 23.1.0 definition using the faster Oracle GraalVM distribution
* Use the new Oracle GraalVM distribution to provide the best user experience,
  as it significantly faster than GraalVM CE and is free for development and production use:
  https://medium.com/graalvm/whats-new-in-graalvm-languages-161527df3d76
2023-10-05 12:16:37 +02:00
Anton Petrov
0ada42d89d Merge pull request #2806 from coatl-dev/cpython-3.11.6
Add CPython 3.11.6
2023-10-03 14:29:43 +03:00
César Román
7fbec9a971 Add CPython 3.11.6 2023-10-02 14:10:51 -07:00
69 changed files with 1798 additions and 68 deletions

10
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
groups:
github-actions:
patterns:
- "*"

View File

@@ -14,9 +14,10 @@ jobs:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
runs-on: macos-11
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# Normally, we would use the superbly maintained...
# - uses: actions/setup-python@v2
# with:

View File

@@ -6,7 +6,7 @@ jobs:
outputs:
versions: ${{steps.modified-versions.outputs.versions}}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: git fetch origin "$GITHUB_BASE_REF"
- shell: bash
run: >
@@ -33,7 +33,7 @@ jobs:
os: ["macos-11", "macos-12"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: |
#envvars
export PYENV_ROOT="$GITHUB_WORKSPACE"
@@ -93,7 +93,7 @@ jobs:
os: ["ubuntu-20.04", "ubuntu-22.04"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: |
#envvars
export PYENV_ROOT="$GITHUB_WORKSPACE"

View File

@@ -16,7 +16,7 @@ jobs:
- macos-11
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# Normally, we would use the superbly maintained...
# - uses: actions/setup-python@v2
# with:

View File

@@ -14,9 +14,10 @@ jobs:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# Normally, we would use the superbly maintained...
# - uses: actions/setup-python@v2
# with:

View File

@@ -1,5 +1,56 @@
# Version History
## 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
* Add installation prefix to `python-config --ldflags` output by @mhaeuser in https://github.com/pyenv/pyenv/pull/2865
* Add support for miniconda3 23.11.0-1, 23.11.0-2 with py3.11, py3.10, py3.9, py3.8 by @binbjz in https://github.com/pyenv/pyenv/pull/2870
* Add micropython 1.20.0 and 1.21.0 by @cpzt in https://github.com/pyenv/pyenv/pull/2869
* Make "Automatic installer" command in the README a copy-able code block by @ryan-williams in https://github.com/pyenv/pyenv/pull/2874
* Add PyPy 7.3.14 by @dand-oss in https://github.com/pyenv/pyenv/pull/2876
* Add graalpy-23.1.2 by @msimacek in https://github.com/pyenv/pyenv/pull/2884
* Add CPython 3.13.0a3 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2885
* Add PyPy v7.3.15 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2886
* Update pypy3.9-7.3.13 checksums by @ecerulm in https://github.com/pyenv/pyenv/pull/2887
* Add CPython 3.12.2 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2899
* Add CPython 3.11.8 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2898
## Release v2.3.35
* Add CPython 3.12.1 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2861
## Release v2.3.34
* Fix graalpy-community to use a separate package name by @native-api in https://github.com/pyenv/pyenv/pull/2855
* Move 3.11.5+ to OpenSSL 3 by default by @native-api in https://github.com/pyenv/pyenv/pull/2858
* Add CPython 3.11.7 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2860
## Release v2.3.33
* Add miniforge3-23.3.1-1 by @goerz in https://github.com/pyenv/pyenv/pull/2839
* Add support for miniconda3-3.11-23.10.0-1 by @binbjz in https://github.com/pyenv/pyenv/pull/2843
* Add support for miniconda3 23.10.0-1 with py3.10、py3.9、py3.8 by @binbjz in https://github.com/pyenv/pyenv/pull/2844
* Add CPython 3.13.0a2 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2849
* python-build: Document PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA and PYTHON_BUILD_HTTP_CLIENT by @native-api in https://github.com/pyenv/pyenv/pull/2853
## Release v2.3.32
* Describe --no-rehash option in the manpage by @fsc-eriker in https://github.com/pyenv/pyenv/pull/2832
* Make adding $PYENV_ROOT/bin to PATH independent of other software by @native-api in https://github.com/pyenv/pyenv/pull/2837
* Make `pyenv init` output insertable to startup files by @native-api in https://github.com/pyenv/pyenv/pull/2838
## Release v2.3.31
* Add new anaconda and miniconda definitions by @aphedges in https://github.com/pyenv/pyenv/pull/2824
## Release v2.3.30
* Fix intermittent "broken pipe" in tests by @native-api in https://github.com/pyenv/pyenv/pull/2817
* Add CPython 3.13.0a1 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2818
* Add PyPy 7.3.13 by @dand-oss in https://github.com/pyenv/pyenv/pull/2807
* Fix linking against Homebrew's Tcl/Tk 8.6.13 in MacOS by @startergo in https://github.com/pyenv/pyenv/pull/2820
## Release v2.3.29
* Add CPython 3.11.6 by @thecesrom in https://github.com/pyenv/pyenv/pull/2806
* Add GraalPy 23.1.0 definition using the faster Oracle GraalVM distribution by @eregon in https://github.com/pyenv/pyenv/pull/2812
* Install ncurses from Homebrew, if available by @aphedges in https://github.com/pyenv/pyenv/pull/2813
## Release v2.3.28
* Prioritize 'zlib from xcode sdk' flag correctly by @native-api in https://github.com/pyenv/pyenv/pull/2791

View File

@@ -238,7 +238,9 @@ As far as Pyenv is concerned, version names are simply directories under
##### Automatic installer
`curl https://pyenv.run | bash`
```bash
curl https://pyenv.run | bash
```
For more details visit our other project:
https://github.com/pyenv/pyenv-installer
@@ -317,14 +319,14 @@ See [Advanced configuration](#advanced-configuration) for details and more confi
* to add to `~/.bash_profile`:
~~~ bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
~~~
- For **Zsh**:
~~~ zsh
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
~~~

View File

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

View File

@@ -160,12 +160,12 @@ function help_() {
echo "$profile :"
else
echo
echo "${profile_explain:-$profile} (for login shells)"
echo "and $rc (for interactive shells) :"
echo "# ${profile_explain:-$profile} (for login shells)"
echo "# and $rc (for interactive shells) :"
fi
echo
echo 'export PYENV_ROOT="$HOME/.pyenv"'
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"'
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"'
echo 'eval "$(pyenv init -)"'
;;
esac

View File

@@ -234,6 +234,7 @@ Skip this section unless you must know what every line in your shell profile is
\fBSets up your shims path\.\fR This is the only requirement for pyenv to function properly\. You can do this by hand by prepending \fB$(pyenv root)/shims\fR to your \fB$PATH\fR\.
.IP "2." 4
\fBRehashes shims\.\fR From time to time you'll need to rebuild your shim files\. Doing this on init makes sure everything is up to date\. You can always run \fBpyenv rehash\fR manually\.
You can disable this functionality by adding \fB--no-rehash\fR to the end of your \fBpyenv init\fR command line.
.IP "3." 4
\fBInstalls the sh dispatcher\.\fR This bit is also optional, but allows pyenv and plugins to change variables in your current shell, making commands like \fBpyenv shell\fR possible\. The sh dispatcher doesn't do anything crazy like override \fBcd\fR or hack your shell prompt, but if for some reason you need \fBpyenv\fR to be a real script rather than a shell function, you can safely skip it\.
.IP "" 0

View File

@@ -113,7 +113,9 @@ You can set certain environment variables to control the build process.
checksum of the file to the mirror URL.
* `PYTHON_BUILD_SKIP_MIRROR`, if set, forces python-build to download packages from
their original source URLs instead of using a mirror.
* `PYTHON_BUILD_SKIP_HOMEBREW`, if set, will not search for libraries installed by Homebrew on macOS.
* `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_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.
* `PYTHON_BUILD_DEFINITIONS` can be a list of colon-separated paths that get

View File

@@ -803,6 +803,7 @@ build_package_standard_build() {
use_homebrew || true
use_tcltk || true
use_homebrew_readline || use_freebsd_pkg || true
use_homebrew_ncurses || true
if is_mac -ge 1014; then
use_xcode_sdk_zlib || use_homebrew_zlib || true
else
@@ -924,7 +925,13 @@ build_package_ironpython_builder() {
( cd "Stage/Release/IronPython-"* && build_package_ironpython )
}
build_package_micropython_1_9() {
# supported version 1.9.3 and 1.9.4
build_package_micropython "with_axtls"
}
build_package_micropython() {
# supported version 1.10 and higher
if [ "${MAKEOPTS+defined}" ]; then
MAKE_OPTS="$MAKEOPTS"
elif [ -z "${MAKE_OPTS+defined}" ]; then
@@ -933,7 +940,7 @@ build_package_micropython() {
{ cd mpy-cross
"$MAKE" $MAKE_OPTS
cd ../ports/unix
"$MAKE" $MAKE_OPTS axtls
[ "$1" = "with_axtls" ] && "$MAKE" $MAKE_OPTS axtls
"$MAKE" $MAKE_OPTS CFLAGS_EXTRA="-DMICROPY_PY_SYS_PATH_DEFAULT='\".frozen:${PREFIX_PATH}/lib/micropython\"' $CFLAGS_EXTRA"
"$MAKE" install $MAKE_INSTALL_OPTS PREFIX="${PREFIX_PATH}"
ln -fs micropython "${PREFIX_PATH}/bin/python"
@@ -1382,6 +1389,19 @@ configured_with_package_dir() {
return 1
}
# `python-config` ignores LDFLAGS envvar. Adding to LIBS is the only way to add extra stuff
# to `python-config --ldflags` output
append_ldflags_libs() {
local args="$1"
export LDFLAGS="${LDFLAGS:+$LDFLAGS }$args"
export LIBS="${LIBS:+${LIBS% } }$args"
}
prepend_ldflags_libs() {
local args="$1"
export LDFLAGS="$args${LDFLAGS:+ $LDFLAGS}"
export LIBS="$args${LIBS:+ $LIBS}"
}
use_homebrew() {
can_use_homebrew || return 1
# unless Homebrew is at the default /usr/local, need to add its paths to
@@ -1391,10 +1411,7 @@ use_homebrew() {
# /usr/local/lib:/usr/lib is the default library search path
if [[ -n $brew_prefix && $brew_prefix != "/usr" && $brew_prefix != "/usr/local" ]]; then
export CPPFLAGS="${CPPFLAGS:+$CPPFLAGS }-I${brew_prefix}/include"
export LDFLAGS="${LDFLAGS:+$LDFLAGS }-L${brew_prefix}/lib -Wl,-rpath,${brew_prefix}/lib"
# `python-config` ignores LDFLAGS envvar. Adding to LIBS is the only way to add extra stuff
# to `python-config --ldflags` output
export LIBS="${LIBS:+${LIBS% } }-L${brew_prefix}/lib -Wl,-rpath,${brew_prefix}/lib"
append_ldflags_libs "-L${brew_prefix}/lib -Wl,-rpath,${brew_prefix}/lib"
fi
fi
}
@@ -1468,6 +1485,18 @@ use_homebrew_readline() {
fi
}
use_homebrew_ncurses() {
can_use_homebrew || return 1
local libdir="$(brew --prefix ncurses 2>/dev/null || true)"
if [ -d "$libdir" ]; then
echo "python-build: use ncurses from homebrew"
export CPPFLAGS="-I$libdir/include${CPPFLAGS:+ $CPPFLAGS}"
export LDFLAGS="-L$libdir/lib${LDFLAGS:+ $LDFLAGS}"
else
return 1
fi
}
prefer_openssl11() {
# Allow overriding the preference of OpenSSL version per definition basis (#1302, #1325, #1326)
PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA="${PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA:-openssl@1.1 openssl}"
@@ -1616,6 +1645,9 @@ use_xcode_sdk_zlib() {
local xc_sdk_path="$(xcrun --show-sdk-path 2>/dev/null || true)"
if [ -d "$xc_sdk_path" ]; then
echo "python-build: use zlib from xcode sdk"
# Even though SDK's compiler uses the SDK dirs implicitly,
# CPython's setup.py has to have nonstandard paths specified explicitly
# to search for zlib.h in them
export CPPFLAGS="${CPPFLAGS:+$CPPFLAGS }-I${xc_sdk_path}/usr/include"
if is_mac -ge 1100; then
export LDFLAGS="${LDFLAGS:+$LDFLAGS }-L${xc_sdk_path}/usr/lib"
@@ -1632,7 +1664,15 @@ use_homebrew_tcltk() {
if [[ -z "$PYTHON_BUILD_TCLTK_USE_PKGCONFIG" ]]; then
local tcltk_version="$(sh -c '. '"$tcltk_libdir"'/lib/tclConfig.sh; echo $TCL_VERSION')"
package_option python configure --with-tcltk-libs="-L$tcltk_libdir/lib -ltcl$tcltk_version -ltk$tcltk_version"
package_option python configure --with-tcltk-includes="-I$tcltk_libdir/include"
# In Homebrew Tcl/Tk 8.6.13, headers have been moved to the 'tcl-tk' subdir.
# We're not using tclConfig.sh here 'cuz it produces the version-specific path to <brew prefix>/Cellar
# and we'd rather have rpath set to <brew prefix>/opt/<...> to allow micro release upgrades without rebuilding
# XXX: do use tclConfig.sh and translate the paths if more path shenanigans appear in later releases
if [ -d "$tcltk_libdir/include/tcl-tk" ]; then
package_option python configure --with-tcltk-includes="-I$tcltk_libdir/include/tcl-tk"
else
package_option python configure --with-tcltk-includes="-I$tcltk_libdir/include"
fi
fi
export PKG_CONFIG_PATH="${tcltk_libdir}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}"
fi
@@ -2024,14 +2064,23 @@ build_package_get_pip() {
build_package_symlink_version_suffix
}
# Pip <21 (in 2.7 and derivatives like PyPy-2.7) doesn't support -I
build_package_ensurepip_lt21() {
build_package_ensurepip lt21
}
build_package_ensurepip() {
local mode="$1"
local ensurepip_opts
# Install as `--altinstall` if the Python is installed as `altinstall` (#255)
if [[ "$PYTHON_MAKE_INSTALL_TARGET" == *"altinstall"* ]]; then
ensurepip_opts="--altinstall"
fi
local python_opts="-I"
if [[ $mode == "lt21" ]]; then python_opts="-s"; fi
# FIXME: `--altinstall` with `get-pip.py`
"$PYTHON_BIN" -I -m ensurepip ${ensurepip_opts} 1>/dev/null 2>&1 || build_package_get_pip "$@" || return 1
"$PYTHON_BIN" $python_opts -m ensurepip ${ensurepip_opts} 1>/dev/null 2>&1 || build_package_get_pip "$@" || return 1
build_package_symlink_version_suffix
}
@@ -2225,13 +2274,13 @@ package_option python configure --libdir="${PREFIX_PATH}/lib"
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS ${PYTHON_CONFIGURE_OPTS_ARRAY[@]}" == *"--enable-shared"* ]]; then
# The ld on Darwin embeds the full paths to each dylib by default
if [[ "$LDFLAGS" != *"-rpath="* ]] ; then
export LDFLAGS="-Wl,-rpath,${PREFIX_PATH}/lib${LDFLAGS:+ $LDFLAGS}"
prepend_ldflags_libs "-Wl,-rpath,${PREFIX_PATH}/lib"
fi
fi
# python-build: Set `RPATH` if --shared` was given for PyPy (#244)
if [[ "$PYPY_OPTS" == *"--shared"* ]]; then
export LDFLAGS="-Wl,-rpath=${PREFIX_PATH}/lib${LDFLAGS:+ $LDFLAGS}"
prepend_ldflags_libs "-Wl,-rpath=${PREFIX_PATH}/lib"
fi
# Add support for framework installation (`--enable-framework`) of CPython (#55, #99)
@@ -2413,7 +2462,7 @@ if [ -n "$VERBOSE" ]; then
trap "kill $TAIL_PID" SIGINT SIGTERM EXIT
fi
export LDFLAGS="-L${PREFIX_PATH}/lib${LDFLAGS:+ $LDFLAGS}"
prepend_ldflags_libs "-L${PREFIX_PATH}/lib"
export CPPFLAGS="-I${PREFIX_PATH}/include${CPPFLAGS:+ $CPPFLAGS}"
unset PYTHONHOME

View File

@@ -193,7 +193,11 @@ class CondaVersion(NamedTuple):
else:
return PyVersion.PY37
if self.flavor == "anaconda":
# https://docs.anaconda.com/anaconda/reference/release-notes/
# https://docs.anaconda.com/free/anaconda/reference/release-notes/
if v >= (2023,7):
return PyVersion.PY311
if v >= (2023,3):
return PyVersion.PY310
if v >= (2021,11):
return PyVersion.PY39
if v >= (2020,7):

View File

@@ -2,7 +2,7 @@ export PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA="openssl@1.1 openssl@1.0 openssl"
install_package "openssl-1.1.1v" "https://www.openssl.org/source/openssl-1.1.1v.tar.gz" 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
if has_tar_xz_support; then
install_package "Python-2.7.18" "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz#b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43" standard verify_py27 copy_python_gdb ensurepip
install_package "Python-2.7.18" "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz#b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43" standard verify_py27 copy_python_gdb ensurepip_lt21
else
install_package "Python-2.7.18" "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz#da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814" standard verify_py27 copy_python_gdb ensurepip
install_package "Python-2.7.18" "https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz#da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814" standard verify_py27 copy_python_gdb ensurepip_lt21
fi

View File

@@ -1,7 +1,7 @@
prefer_openssl11
prefer_openssl3
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
install_package "openssl-1.1.1s" "https://www.openssl.org/source/openssl-1.1.1s.tar.gz#c5ac01e760ee6ff0dab61d6b2bbd30146724d063eb322180c6f18a6f74e4b6aa" mac_openssl --if has_broken_mac_openssl
install_package "openssl-3.2.0" "https://www.openssl.org/source/openssl-3.2.0.tar.gz#14c826f07c7e433706fb5c69fa9e25dab95684844b4c962a2cf1bf183eb4690e" 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.5" "https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tar.xz#85cd12e9cf1d6d5a45f17f7afe1cebe7ee628d3282281c492e86adf636defa3f" standard verify_py311 copy_python_gdb ensurepip

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.0" "https://www.openssl.org/source/openssl-3.2.0.tar.gz#14c826f07c7e433706fb5c69fa9e25dab95684844b4c962a2cf1bf183eb4690e" 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.6" "https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tar.xz#0fab78fa7f133f4f38210c6260d90d7c0d5c7198446419ce057ec7ac2e6f5f38" standard verify_py311 copy_python_gdb ensurepip
else
install_package "Python-3.11.6" "https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tgz#c049bf317e877cbf9fce8c3af902436774ecef5249a29d10984ca3a37f7f4736" standard verify_py311 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.0" "https://www.openssl.org/source/openssl-3.2.0.tar.gz#14c826f07c7e433706fb5c69fa9e25dab95684844b4c962a2cf1bf183eb4690e" 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.7" "https://www.python.org/ftp/python/3.11.7/Python-3.11.7.tar.xz#18e1aa7e66ff3a58423d59ed22815a6954e53342122c45df20c96877c062b9b7" standard verify_py311 copy_python_gdb ensurepip
else
install_package "Python-3.11.7" "https://www.python.org/ftp/python/3.11.7/Python-3.11.7.tgz#068c05f82262e57641bd93458dfa883128858f5f4997aad7a36fd25b13b29209" standard verify_py311 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.8" "https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tar.xz#9e06008c8901924395bc1da303eac567a729ae012baa182ab39269f650383bb3" standard verify_py311 copy_python_gdb ensurepip
else
install_package "Python-3.11.8" "https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tgz#d3019a613b9e8761d260d9ebe3bd4df63976de30464e5c0189566e1ae3f61889" 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.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.12.1" "https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tar.xz#8dfb8f426fcd226657f9e2bd5f1e96e53264965176fa17d32658e873591aeb21" standard verify_py312 copy_python_gdb ensurepip
else
install_package "Python-3.12.1" "https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz#d01ec6a33bc10009b09c17da95cc2759af5a580a7316b3a446eb4190e13f97b2" 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.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.2" "https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xz#be28112dac813d2053545c14bf13a16401a21877f1a69eb6ea5d84c4a0f3d870" standard verify_py312 copy_python_gdb ensurepip
else
install_package "Python-3.12.2" "https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz#a7c4f6a9dc423d8c328003254ab0c9338b83037bd787d680826a5bf84308116e" 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.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,28 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Anaconda3-2023.09-0-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-aarch64.sh#69ee26361c1ec974199bce5c0369e3e9a71541de7979d2b9cfa4af556d1ae0ea" "anaconda" verify_py311
;;
"Linux-ppc64le" )
install_script "Anaconda3-2023.09-0-Linux-ppc64le" "https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-ppc64le.sh#5ea1ed9808af95eb2655fe6a4ffdb66bea66ecd1d053fc2ee69eacc7685ef665" "anaconda" verify_py311
;;
"Linux-s390x" )
install_script "Anaconda3-2023.09-0-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-s390x.sh#ee817071a2ad94e044fb48061a721bc86606b2f4906b705e4f42177eeb3ca7c5" "anaconda" verify_py311
;;
"Linux-x86_64" )
install_script "Anaconda3-2023.09-0-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh#6c8a4abb36fbb711dc055b7049a23bbfd61d356de9468b41c5140f8a11abd851" "anaconda" verify_py311
;;
"MacOSX-arm64" )
install_script "Anaconda3-2023.09-0-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2023.09-0-MacOSX-arm64.sh#34121775d9e30a6ea12af0a462e1881670b0c175b426e06fd7b1581625ebd69b" "anaconda" verify_py311
;;
"MacOSX-x86_64" )
install_script "Anaconda3-2023.09-0-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.09-0-MacOSX-x86_64.sh#0c64a2c634fe31335079d97340c277c81b3f0c9dfe862a06599570640ac897a4" "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,63 @@
# Copyright (c) 2023, 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='23.1.0'
BUILD=''
colorize 1 "GraalPy 23.1 and later installed by python-build use the faster Oracle GraalVM distribution" && echo
colorize 1 "Oracle GraalVM uses the GFTC license, which is free for development and production use, see https://medium.com/graalvm/161527df3d76" && echo
colorize 1 "The GraalVM Community Edition variant of GraalPy is also available, under the name graalpy-community-23.1.0" && echo
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
case "$graalpy_arch" in
"linux-amd64" )
checksum="afbb81f034e77aecf4717fe14f2a7403aa1b82f0abf53a2e55e46bd49efe8c39"
;;
"linux-aarch64" )
checksum="be1e21ea245ddbdb9c266e670d6f1e76a55c693f98cee44aa74a76b249e53f96"
;;
"macos-amd64" )
checksum="6445537c597567ccf5ae37d296ecd988a92149fb4a1fb57088811e75f19c6da4"
;;
"macos-aarch64" )
checksum="f1b9b22cd8c0afb7eabd59fad554c23f452fbafcdffccf8a22eca037199d62ae"
;;
* )
{ 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,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='23.1.2'
BUILD=''
colorize 1 "GraalPy 23.1 and later installed by python-build use the faster Oracle GraalVM distribution" && echo
colorize 1 "Oracle GraalVM uses the GFTC license, which is free for development and production use, see https://medium.com/graalvm/161527df3d76" && echo
colorize 1 "The GraalVM Community Edition variant of GraalPy is also available, under the name graalpy-community-23.1.2" && echo
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
case "$graalpy_arch" in
"linux-amd64" )
checksum="ea9c61845968dd396f57bbb6bb6ccf1608b198dffd99c6fe2e5c03d836e40a74"
;;
"linux-aarch64" )
checksum="715cc67f551a009a04814e7201bc33e629ba6c329e7d32c265a3ebf8619f4a66"
;;
"macos-amd64" )
checksum="e9e5977077ef4986fce0f8416b81c1c468add9f3f123edfb223b54a5d34a95c6"
;;
"macos-aarch64" )
checksum="46c859233c7c5ce44fc44e97f17a1685dc3f8516785c2e419f8661ed7b5185b1"
;;
* )
{ 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

@@ -51,4 +51,4 @@ else
url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-community-${VERSION}-${graalpy_arch}.tar.gz#${checksum}"
fi
install_package "graalpy-${VERSION}${BUILD}" "${url}" "copy" ensurepip
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.
VERSION='23.1.2'
BUILD=''
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
case "$graalpy_arch" in
"linux-amd64" )
checksum="27577bded9dd742c7b9b8e5315cec286657edb5842968cc966aa451ddc8729d9"
;;
"linux-aarch64" )
checksum="c993484132b9e196d351570ba6a74632eb8695767e383ca86ba1092c4484ff7a"
;;
"macos-amd64" )
checksum="e74d586f114b33e55e1a6849672e1a0ea5bd372d8f4a501b532d221c61915d3c"
;;
"macos-aarch64" )
checksum="d269f5fdb3e8ae323554de2876ef25d43aaa86867edc41f2b76ea53a27ee3662"
;;
* )
{ 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,4 @@
has_tar_xz_support \
&& { install=install_package; src="https://micropython.org/resources/source/micropython-1.20.0.tar.xz#098ef8e40abdc62551b5460d0ffe9489074240c0cb5589ca3c3a425551beb9bf"; } \
|| { install=install_zip; src="https://micropython.org/resources/source/micropython-1.20.0.zip#6a2ce86e372ee8c5b9310778fff7fca1daa580afa28ea755f1a303675a8612b7"; }
$install micropython-1.20.0 "$src" micropython

View File

@@ -0,0 +1,4 @@
has_tar_xz_support \
&& { install=install_package; src="https://micropython.org/resources/source/micropython-1.21.0.tar.xz#abd2152613559d3f44728668346e78be9d93458133a03b700baf222c322fd4d5"; } \
|| { install=install_zip; src="https://micropython.org/resources/source/micropython-1.21.0.zip#12521faacc7191353f2739267bd9fd2a5e60ea04fb47df74f8e22b6bf59ba967"; }
$install micropython-1.21.0 "$src" micropython

View File

@@ -1,4 +1,4 @@
has_tar_xz_support \
&& src="https://micropython.org/resources/source/micropython-1.9.3.tar.xz#3aa37065f5ea8df372d36253d0ae6333c68572e577df8558d4b7b93e070c624d" \
|| src="https://github.com/micropython/micropython/releases/download/v1.9.3/micropython-1.9.3.tar.gz#f94c0b4834edca625b86c0846c89e609ee8fbdbe98e7f719d5108d74b6b4945e"
install_package micropython-1.9.3 "$src" micropython
install_package micropython-1.9.3 "$src" micropython_1_9

View File

@@ -1,4 +1,4 @@
has_tar_xz_support \
&& src="https://micropython.org/resources/source/micropython-1.9.4.tar.xz#1d358d99e908a94fd6dd0d6b448ee56c5830b609cf27a42e0db3bee40cc52a9e" \
|| src="https://github.com/micropython/micropython/releases/download/v1.9.4/micropython-1.9.4.tar.gz#0db042011bffcbd65362b67eb3cca87eaefa9f2a55b747fa75e922c706b8ce1a"
install_package micropython-1.9.4 "$src" micropython
install_package micropython-1.9.4 "$src" micropython_1_9

View File

@@ -0,0 +1,28 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py310_23.10.0-1-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.10.0-1-Linux-aarch64.sh#3b8698e433dd9e8f948f94939b176b7819807bedb86020b81e2fca674d3df3b4" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniconda3-py310_23.10.0-1-Linux-ppc64le.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.10.0-1-Linux-ppc64le.sh#8ba2b32ee15be9e43c3712d9235e8c6f1350de733e72f67ef035c878eee134e5" "miniconda" verify_py310
;;
"Linux-s390x" )
install_script "Miniconda3-py310_23.10.0-1-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.10.0-1-Linux-s390x.sh#ab037a5df6414fe48979285769a61bf99e46d1efd1c98bd3b0a9ab767862f86b" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniconda3-py310_23.10.0-1-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.10.0-1-Linux-x86_64.sh#c7a34df472feb69805b64df6e8db58363c5ccab41cd3b40b07e3e6dfb924359a" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniconda3-py310_23.10.0-1-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.10.0-1-MacOSX-arm64.sh#a1477dfb4edfe922c2d1ed8dce90c16e6c57b3008f9503fae804acfda67736ae" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py310_23.10.0-1-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.10.0-1-MacOSX-x86_64.sh#bea320962dce404ecc1f6f4b0c0462cd3300df8ab165e5cb5bcee372c498535f" "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_23.11.0-1-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.11.0-1-Linux-aarch64.sh#30b3f26fee441c5d70bd50ec06ea1acaa0e373ad30771165eada3f6bdf27766a" "miniconda" verify_py310
;;
"Linux-s390x" )
install_script "Miniconda3-py310_23.11.0-1-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.11.0-1-Linux-s390x.sh#54bfe6a47e24ddaa74b02c88d64596c1234fdf6c3789740471dea2bf3c685392" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniconda3-py310_23.11.0-1-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.11.0-1-Linux-x86_64.sh#6581658486be8e700d77e24eccafba586a0fbafafadcf73d35ab13eaee4b80b1" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniconda3-py310_23.11.0-1-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.11.0-1-MacOSX-arm64.sh#570f66f7264d8ba3195fc0755baed35320842b36fb34ef16bdc142f1dc616cae" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py310_23.11.0-1-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.11.0-1-MacOSX-x86_64.sh#6517332e5af2088a0413dd9f536f258814efb6d5b9f78011a6f2ea53e2874484" "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_23.11.0-2-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.11.0-2-Linux-aarch64.sh#85bb96bca04b75f2081b4c0f7f10476fd67fba1637c18b07272aa3a518df5596" "miniconda" verify_py310
;;
"Linux-s390x" )
install_script "Miniconda3-py310_23.11.0-2-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.11.0-2-Linux-s390x.sh#fd506291eb51641e8cd3164c09fec31826f26dc446c3da9bb4c88fe35c95dfe7" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniconda3-py310_23.11.0-2-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.11.0-2-Linux-x86_64.sh#35a58b8961e1187e7311b979968662c6223e86e1451191bed2e67a72b6bd0658" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniconda3-py310_23.11.0-2-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.11.0-2-MacOSX-arm64.sh#958a8d6e14d9eb843b24ba4019a1b62e0dedd819d844247485fd0c0ea4acbc61" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py310_23.11.0-2-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.11.0-2-MacOSX-x86_64.sh#07a6f46146993510d5d839ee014fc2229f7870d92aa73a52f11dd240833f08fb" "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,28 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py310_23.9.0-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.9.0-0-Linux-aarch64.sh#bc0f7f0a1c83cdf1330726168518b55454d092c64593f82872a50c4b5742b958" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniconda3-py310_23.9.0-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.9.0-0-Linux-ppc64le.sh#fa9d79e1df278dc72e5935fec3c87c6897a9388895a2a47b0ed49935d71c92e7" "miniconda" verify_py310
;;
"Linux-s390x" )
install_script "Miniconda3-py310_23.9.0-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.9.0-0-Linux-s390x.sh#e10a160a44b0356f2ce59ce562855461499202976197ca7e1bf25ccb51dabb57" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniconda3-py310_23.9.0-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.9.0-0-Linux-x86_64.sh#b272a5f843762f0a18f6b70a162cd554a43a06adcd6f5a2102840e41907fffe5" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniconda3-py310_23.9.0-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.9.0-0-MacOSX-arm64.sh#3178aad8c75b30830e97d9a232433df1dfbe6cd34f55e0d7769cfaa17aa49e84" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py310_23.9.0-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.9.0-0-MacOSX-x86_64.sh#88266dda3e812bf6789fceeb9cfcfbbcada860aa4050ae2a781812fbd077ed35" "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,28 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py311_23.10.0-1-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.10.0-1-Linux-aarch64.sh#a60e70ad7e8ac5bb44ad876b5782d7cdc66e10e1f45291b29f4f8d37cc4aa2c8" "miniconda" verify_py311
;;
"Linux-ppc64le" )
install_script "Miniconda3-py311_23.10.0-1-Linux-ppc64le.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.10.0-1-Linux-ppc64le.sh#1a2eda0a9a52a4bd058abbe9de5bb2bc751fcd7904c4755deffdf938d6f4436e" "miniconda" verify_py311
;;
"Linux-s390x" )
install_script "Miniconda3-py311_23.10.0-1-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.10.0-1-Linux-s390x.sh#ae212385c9d7f7473da7401d3f5f6cbbbc79a1fce730aa48531947e9c07e0808" "miniconda" verify_py311
;;
"Linux-x86_64" )
install_script "Miniconda3-py311_23.10.0-1-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.10.0-1-Linux-x86_64.sh#d0643508fa49105552c94a523529f4474f91730d3e0d1f168f1700c43ae67595" "miniconda" verify_py311
;;
"MacOSX-arm64" )
install_script ""Miniconda3-py311_23.10.0-1-MacOSX-arm64.sh "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.10.0-1-MacOSX-arm64.sh#5043144d7eaea2286e30d091b62fcf50f7ed983b092230e56c370b592e7a57f2" "miniconda" verify_py311
;;
"MacOSX-x86_64" )
install_script ""Miniconda3-py311_23.10.0-1-MacOSX-x86_64.sh "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.10.0-1-MacOSX-x86_64.sh#8c50faa3880fdef96967477af09d41c52332998beeee7ef8116c79d4f5023d72" "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_23.11.0-1-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.11.0-1-Linux-aarch64.sh#63c06a1974695e50bbe767a030903d169e637e42d5b7b6d30876b19a01fbbad8" "miniconda" verify_py311
;;
"Linux-s390x" )
install_script "Miniconda3-py311_23.11.0-1-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.11.0-1-Linux-s390x.sh#04586c734987a39114b81384014c2cfa89360c518371b6fa249d3062efca27fe" "miniconda" verify_py311
;;
"Linux-x86_64" )
install_script "Miniconda3-py311_23.11.0-1-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.11.0-1-Linux-x86_64.sh#5b3cefe534e23541f5f703f40d4818e361c3615dbf14651a0f29554c3fc3d0fd" "miniconda" verify_py311
;;
"MacOSX-arm64" )
install_script "Miniconda3-py311_23.11.0-1-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.11.0-1-MacOSX-arm64.sh#7901f8f272478657bd023cfd6d832b53213053897efd23c1061bcc35c68c0637" "miniconda" verify_py311
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py311_23.11.0-1-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.11.0-1-MacOSX-x86_64.sh#7ee24fb01fbe1081d6dd600805f5f9c6a3a12714670ecad65a6dfcf870c8a74d" "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_23.11.0-2-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.11.0-2-Linux-aarch64.sh#decd447fb99dbd0fc5004481ec9bf8c04f9ba28b35a9292afe49ecefe400237f" "miniconda" verify_py311
;;
"Linux-s390x" )
install_script "Miniconda3-py311_23.11.0-2-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.11.0-2-Linux-s390x.sh#53a9e9eb97cd6e318f4f184add069436e1a46124cf864bf2d7bd67043e50e471" "miniconda" verify_py311
;;
"Linux-x86_64" )
install_script "Miniconda3-py311_23.11.0-2-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.11.0-2-Linux-x86_64.sh#c9ae82568e9665b1105117b4b1e499607d2a920f0aea6f94410e417a0eff1b9c" "miniconda" verify_py311
;;
"MacOSX-arm64" )
install_script "Miniconda3-py311_23.11.0-2-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.11.0-2-MacOSX-arm64.sh#5694c382e6056d62ed874f22692224c4f53bca22e8135b6f069111e081be07aa" "miniconda" verify_py311
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py311_23.11.0-2-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.11.0-2-MacOSX-x86_64.sh#2b7f9e46308c28c26dd83abad3e72121ef63916eaf17b63723b5a1f728dc3032" "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,28 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py311_23.9.0-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.9.0-0-Linux-aarch64.sh#1242847b34b23353d429fcbcfb6586f0c373e63070ad7d6371c23ddbb577778a" "miniconda" verify_py311
;;
"Linux-ppc64le" )
install_script "Miniconda3-py311_23.9.0-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.9.0-0-Linux-ppc64le.sh#07b53e411c2e4423bd34c3526d6644b916c4b2143daa8fbcb36b8ead412239b9" "miniconda" verify_py311
;;
"Linux-s390x" )
install_script "Miniconda3-py311_23.9.0-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.9.0-0-Linux-s390x.sh#707c68e25c643c84036a16acdf836a3835ea75ffd2341c05ec2da6db1f3e9963" "miniconda" verify_py311
;;
"Linux-x86_64" )
install_script "Miniconda3-py311_23.9.0-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.9.0-0-Linux-x86_64.sh#43651393236cb8bb4219dcd429b3803a60f318e5507d8d84ca00dafa0c69f1bb" "miniconda" verify_py311
;;
"MacOSX-arm64" )
install_script "Miniconda3-py311_23.9.0-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.9.0-0-MacOSX-arm64.sh#4215f6fc572207f73a8f64692b4936b1952051f4cd620eec2ebd1f946e98b886" "miniconda" verify_py311
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py311_23.9.0-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.9.0-0-MacOSX-x86_64.sh#4b60eb49cf8fea6272bd2060878ab02cbab187dffd2fd732685c3c92a60b62ed" "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,28 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py38_23.10.0-1-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.10.0-1-Linux-aarch64.sh#aee297bdefb15cfee9e2cb4c0881f811ce18c1a066ac75b811b21967ccd41acd" "miniconda" verify_py38
;;
"Linux-ppc64le" )
install_script "Miniconda3-py38_23.10.0-1-Linux-ppc64le.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.10.0-1-Linux-ppc64le.sh#1d7ccb2fa31042116b38ec518a63428d9cf87adba8771ffa9f0e3241f6b5a72a" "miniconda" verify_py38
;;
"Linux-s390x" )
install_script "Miniconda3-py38_23.10.0-1-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.10.0-1-Linux-s390x.sh#095bfb828b3155e6a345b7e821010451dfd291e8373b618a3b72a050a1c7a909" "miniconda" verify_py38
;;
"Linux-x86_64" )
install_script "Miniconda3-py38_23.10.0-1-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.10.0-1-Linux-x86_64.sh#6842afb93a64fd4f04daa0f49f4618857d2327ead1366851eb0e49f1ae460f00" "miniconda" verify_py38
;;
"MacOSX-arm64" )
install_script "Miniconda3-py38_23.10.0-1-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.10.0-1-MacOSX-arm64.sh#c5ece9fce0a2f3c68600476e4256146f03511f82f76d05324eedbdc9eb06bed7" "miniconda" verify_py38
;;
"MacOSX-x86_64" )
install_script ""Miniconda3-py38_23.10.0-1-MacOSX-x86_64.sh "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.10.0-1-MacOSX-x86_64.sh#0e6921f44b4278aa178969f59da57ca4ced2a55ef7730c774296f1de1801c561" "miniconda" verify_py38
;;
* )
{ 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-py38_23.11.0-1-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-1-Linux-aarch64.sh#3b28bce7689d42c85190e86738f152efc88a7d17cbcd90b4eb8cb92be42e3bff" "miniconda" verify_py38
;;
"Linux-s390x" )
install_script "Miniconda3-py38_23.11.0-1-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-1-Linux-s390x.sh#38e4050d6b73814071c065d36c41c6fea553fbf973e72e6375b958fcff747b69" "miniconda" verify_py38
;;
"Linux-x86_64" )
install_script "Miniconda3-py38_23.11.0-1-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-1-Linux-x86_64.sh#ad3cb53ddfbadd190172b864337572206733ae75515fcfb17157cc8f2cb907a5" "miniconda" verify_py38
;;
"MacOSX-arm64" )
install_script "Miniconda3-py38_23.11.0-1-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-1-MacOSX-arm64.sh#89b1b0428e68fea63af15193237f2efed9a3c80cffa2fc221cca0af2465d3fd2" "miniconda" verify_py38
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py38_23.11.0-1-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-1-MacOSX-x86_64.sh#5056bea02062a198991a09c8c9c02c39735ad2d26cdbf21863eaa799bcacd8ab" "miniconda" verify_py38
;;
* )
{ 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-py38_23.11.0-2-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-2-Linux-aarch64.sh#6e439ae5373d35b78a3f45775fa69f0afddd0c0a9e5e545cd2f75f913a6d143b" "miniconda" verify_py38
;;
"Linux-s390x" )
install_script "Miniconda3-py38_23.11.0-2-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-2-Linux-s390x.sh#4d53356e80b3be7e90dbcf021d40cd3d7f889cf4d19574c9957ba22f5a9d98f2" "miniconda" verify_py38
;;
"Linux-x86_64" )
install_script "Miniconda3-py38_23.11.0-2-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-2-Linux-x86_64.sh#cb908ddbd603d789d94076ea4dd3f8517b15866719e007725dca778a8dfab823" "miniconda" verify_py38
;;
"MacOSX-arm64" )
install_script "Miniconda3-py38_23.11.0-2-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-2-MacOSX-arm64.sh#5b0258717b9c53c90fc9255ef739d766325fc284761b637837e3d378bb12d3e3" "miniconda" verify_py38
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py38_23.11.0-2-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.11.0-2-MacOSX-x86_64.sh#143d79c7018c66ef452a27711090367dc36e0046ae765f514bc2b1c2b4f76746" "miniconda" verify_py38
;;
* )
{ 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,28 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py38_23.9.0-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.9.0-0-Linux-aarch64.sh#c59fbb2565812573f39b88425ef48607de70d1feadc522204811555e58bb972c" "miniconda" verify_py38
;;
"Linux-ppc64le" )
install_script "Miniconda3-py38_23.9.0-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.9.0-0-Linux-ppc64le.sh#4d1903b396de1c3473a81b2794f0d9792b30b4e9d98ae1c9dcfeef3aba15435b" "miniconda" verify_py38
;;
"Linux-s390x" )
install_script "Miniconda3-py38_23.9.0-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.9.0-0-Linux-s390x.sh#57cf786d2c30aed186a14e9319c596579750ef75d1c8c039734492b5e6d6762c" "miniconda" verify_py38
;;
"Linux-x86_64" )
install_script "Miniconda3-py38_23.9.0-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.9.0-0-Linux-x86_64.sh#3c684c1c22d3a0e6bd5ab28186fd7b068b5c552f0937ee927ad117f35a5573fc" "miniconda" verify_py38
;;
"MacOSX-arm64" )
install_script "Miniconda3-py38_23.9.0-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.9.0-0-MacOSX-arm64.sh#694facc3601da8a93592d6f947818c2064d6854ca1f2a7e5b40b3e2e91e65baa" "miniconda" verify_py38
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py38_23.9.0-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.9.0-0-MacOSX-x86_64.sh#6fab242ca8200a1d59e54c5cc1abb89f7519a136da234e2ab77a30fb87c4ce7d" "miniconda" verify_py38
;;
* )
{ 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,28 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py39_23.10.0-1-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.10.0-1-Linux-aarch64.sh#e7558e2a628ce2f40e8ea792763b942ba587b01b33a677d2d22e7372ec50dbb7" "miniconda" verify_py39
;;
"Linux-ppc64le" )
install_script "Miniconda3-py39_23.10.0-1-Linux-ppc64le.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.10.0-1-Linux-ppc64le.sh#cd92b3272d85c94ef54b685d49fbbd9d36c6680e6b518f1806c039ddb34fc754" "miniconda" verify_py39
;;
"Linux-s390x" )
install_script "Miniconda3-py39_23.10.0-1-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.10.0-1-Linux-s390x.sh#1aa4b984316faa9917c0dce8656bf3b32941def86397815adbe124185b7d3cdb" "miniconda" verify_py39
;;
"Linux-x86_64" )
install_script "Miniconda3-py39_23.10.0-1-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.10.0-1-Linux-x86_64.sh#3dbb87a74f80c84ae166a380bf51da8ef75699ce97c234e3e196afa20d1a9319" "miniconda" verify_py39
;;
"MacOSX-arm64" )
install_script "Miniconda3-py39_23.10.0-1-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.10.0-1-MacOSX-arm64.sh#adfac9e92405a6fdb60cc3b39018cb5084d096799be8f82fa88d26dadbe719b6" "miniconda" verify_py39
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py39_23.10.0-1-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.10.0-1-MacOSX-x86_64.sh#6d26cbe11e964bf573c459420154139d922ffa2e5c690c9c1e9bdb84f17f83af" "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_23.11.0-1-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-1-Linux-aarch64.sh#a8a9c37882209680d9258e57ce5d5ca0e186f0159e703736b9f5122e94864083" "miniconda" verify_py39
;;
"Linux-s390x" )
install_script "Miniconda3-py39_23.11.0-1-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-1-Linux-s390x.sh#719c653d7e4b724566c2a9fa365f7b6dbb830d279513ae62e02e11144722c1c9" "miniconda" verify_py39
;;
"Linux-x86_64" )
install_script "Miniconda3-py39_23.11.0-1-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-1-Linux-x86_64.sh#d36c0f778b6b164223a174acafbe8556b841b67e53cb84b3eb24f1956b62121a" "miniconda" verify_py39
;;
"MacOSX-arm64" )
install_script "Miniconda3-py39_23.11.0-1-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-1-MacOSX-arm64.sh#1f345d26837e505713aa7b9332cc740c7f2319c7208dc6bd7b95b6a251a9b665" "miniconda" verify_py39
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py39_23.11.0-1-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-1-MacOSX-x86_64.sh#7b05aff168e441ec500e038bb3e252e5b01f3059a74f92fb7f3a7630eb6a6b13" "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_23.11.0-2-Linux-aarch64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-2-Linux-aarch64.sh#465f30688bae46f73b8497bb601face6b652092ace0e515c898e2a64f8c0f15f" "miniconda" verify_py39
;;
"Linux-s390x" )
install_script "Miniconda3-py39_23.11.0-2-Linux-s390x.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-2-Linux-s390x.sh#ff1de437a3f9110d8d7665c1f6d178bb797150689264bec5d0d8b36604e3823a" "miniconda" verify_py39
;;
"Linux-x86_64" )
install_script "Miniconda3-py39_23.11.0-2-Linux-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-2-Linux-x86_64.sh#b911ff745c55db982078ac51ed4d848da0170f16ba642822a3bc7dd3fc8c61ba" "miniconda" verify_py39
;;
"MacOSX-arm64" )
install_script "Miniconda3-py39_23.11.0-2-MacOSX-arm64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-2-MacOSX-arm64.sh#0234becafc167a475fbbcd9a59dda0eec288343695ff6b9645b34fcb9f124bb5" "miniconda" verify_py39
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py39_23.11.0-2-MacOSX-x86_64.sh" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-2-MacOSX-x86_64.sh#cc22270c81080d50e518f74d36a151fd3727e2cd6fccc4b1fd345f9a852d5762" "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,28 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-aarch64" )
install_script "Miniconda3-py39_23.9.0-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.9.0-0-Linux-aarch64.sh#b3ae7a36e3adbe9f9ab152b645d8d20b09bd25b4f0a9be15bfb4d36aafdedd98" "miniconda" verify_py39
;;
"Linux-ppc64le" )
install_script "Miniconda3-py39_23.9.0-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.9.0-0-Linux-ppc64le.sh#f7699ab404cbcba918e1977cc54ee8573902835d3272e3d80b5a107f8c5b5b38" "miniconda" verify_py39
;;
"Linux-s390x" )
install_script "Miniconda3-py39_23.9.0-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.9.0-0-Linux-s390x.sh#eab9add06fe3b0beb9b54b3ab3fc57b944dc370a3c9342216082f7747d6c74a7" "miniconda" verify_py39
;;
"Linux-x86_64" )
install_script "Miniconda3-py39_23.9.0-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.9.0-0-Linux-x86_64.sh#9200a10c762186391c35709382ed7cfa6578a051c9c76ea58f998df62c5afab0" "miniconda" verify_py39
;;
"MacOSX-arm64" )
install_script "Miniconda3-py39_23.9.0-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.9.0-0-MacOSX-arm64.sh#3143f830fdff011a3d389fdb53b8021e90b662615a1ed62a0bcad099cef35c26" "miniconda" verify_py39
;;
"MacOSX-x86_64" )
install_script "Miniconda3-py39_23.9.0-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.9.0-0-MacOSX-x86_64.sh#763c08ad5bdf159d32e406bd3b03394e1fba6923f1936271ca27c8073f744ac2" "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-23.3.1-1-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-1/Miniforge3-23.3.1-1-Linux-aarch64.sh#dc5d94b83251621f088bd82df896ea45e63597293ece7ccd923b2346aed34b89" "miniconda" verify_py310
;;
"Linux-ppc64le" )
install_script "Miniforge3-23.3.1-1-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-1/Miniforge3-23.3.1-1-Linux-ppc64le.sh#2eafa28fee5f1dfffb01feaca70de000f8e8335e1f659603ef0b9a40b9d1f213" "miniconda" verify_py310
;;
"Linux-x86_64" )
install_script "Miniforge3-23.3.1-1-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-1/Miniforge3-23.3.1-1-Linux-x86_64.sh#b3e14bd70f99bc8959445fad3532128a6af36c5e77bc62226db0e80d1df0e9e9" "miniconda" verify_py310
;;
"MacOSX-arm64" )
install_script "Miniforge3-23.3.1-1-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-1/Miniforge3-23.3.1-1-MacOSX-arm64.sh#51d15ed1471ef8633f99574dc0c43fc972ce1981ebf08eade4d9b249bb7640e4" "miniconda" verify_py310
;;
"MacOSX-x86_64" )
install_script "Miniforge3-23.3.1-1-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/23.3.1-1/Miniforge3-23.3.1-1-MacOSX-x86_64.sh#d8eef4816b28f1bfc099d8fc2cdac4fb0ebbe1ddd27f4acb66d83d66c260cb63" "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,81 @@
VERSION='7.3.13'
PYVER='2.7'
# https://www.pypy.org/checksums.html
aarch64_hash=f1e20f833cc86a097c1f1318069fc17d01c3988678c1438fe27ed567fcb5cfd0
linux32_hash=b727d2e759a740f45bab1e333029d001c4384b52949bcbb4bd2ad7912eae8dad
linux64_hash=e41ceb5dc6c4d3a9311ed5f88edfeedbf3e8abbd1ed3c4f2e151a90a5cf4e1d7
osarm64_hash=5b86cf0750abc188a0355380d10c7bab1dec51b610cde23ce78f30a9ef296618
osx64_hash=50769df0091e8fa51c9e4356e0cb204e6f6aa54f502ec5a6e55aef03d0ac5675
s390x_hash=fbb2f3d92831c02b094f17e9609b95a6202d4bdcddae437e380ab14388d4556e
### 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.13'
PYVER='2.7'
# https://www.pypy.org/checksums.html
hash=976984bc6ca5ec9d37ae4e219b020cbed2751d1a02267033f59ed700ba8cec40
### 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.14'
PYVER='2.7'
# https://www.pypy.org/checksums.html
aarch64_hash=98468f4cc704a2821401afdd001ebddd367e594e05a70c7767fb86f1364fb21a
linux32_hash=b12b4b587da55c8f212ae854e31d29258451e069c65aca596e577644e520bc8b
linux64_hash=5938c3c6cddb2e8eb5e435cd3bf61d15134b94a9ac026e26a533bdda6c28a4a0
osarm64_hash=a428e18fcf1470b032fb1f4d75795aeed9216b4314a4c8a3e4d7e13f10f8607e
osx64_hash=8af24683621937e65c518fbca1eb34e17ffc741c2ac917e4ca20694348157d78
s390x_hash=5abc6a0f55a89c08def13b5f410b8e7bd706fe1b472f31db01ecbc4d0a49e8dc
### 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.14'
PYVER='2.7'
# https://www.pypy.org/checksums.html
hash=e096fe67ce2d8d4d5e7dceb84fe1ca854498f00766d31b27d32c8d8833131373
### 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.15'
PYVER='2.7'
# https://www.pypy.org/checksums.html
aarch64_hash=31b41fca7280636d7818713b7a0fab8f34ece9c82cc88e51d305d43b3e6306d6
linux32_hash=cb5c1da62a8ca31050173c4f6f537bc3ff316026895e5f1897b9bb526babae79
linux64_hash=e857553bdc4f25ba9670a5c173a057a9ff71262d5c5da73a6ddef9d7dc5d4f5e
osarm64_hash=618d33df7ac6570d88a58183e3e15c56f63f862968cecbd2ee896eac6255cea6
osx64_hash=72dac262fc63115b6ccd2c3c15e7afd1b2e7a65d7e97265c116246d1cf2cdffd
s390x_hash=eb442279ec3f1eb17da296e38b531d3ca50c6418eab208a020bca4646a1dea46
### 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.15'
PYVER='2.7'
# https://www.pypy.org/checksums.html
hash=a66ddaed39544a35bb7ab7a17dbf673a020c7cb3a614bd2b61a54776888daf2c
### 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.13'
PYVER='3.10'
# https://www.pypy.org/checksums.html
aarch64_hash=ac476f01c9653358404f2e4b52f62307b2f64ccdb8c96dadcbfe355824d81a63
linux32_hash=bfba57eb1f859dd0ad0d6fe841bb12e1256f1f023c7fbca083b536cccbc1233b
linux64_hash=54936eeafd9350a5ea0375b036272a260871b9bca82e1b0bb3201deea9f5a442
osarm64_hash=efb3007b7aace0af6e3b30d381088a5bbc175973a6627b6b0d624a2ca2dc63ce
osx64_hash=2c6238b9ece7b94ffdfd1d9b50619edef4b169a5c78adcdb691fce6709cd6610
s390x_hash=3c813c7efa6a026b281313b299c186c585155fc164c7538e65d41efdabff87c9
### 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.13'
PYVER='3.10'
# https://www.pypy.org/checksums.html
hash=4ac1733c19d014d3193c804e7f40ffccbf6924bcaaee1b6089b82b9bf9353a6d
### 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.14'
PYVER='3.10'
# https://www.pypy.org/checksums.html
aarch64_hash=fbef65dfc69dcd6006d843553d268b331f1b13dfc3938492bd35f0f477b5bcf4
linux32_hash=d37e7c7a03bed5dceca2ab7f821ad7655808cccf6908155f78f0effd811b7f4f
linux64_hash=a83879891dc0a6c1504da0954fba1125b21a2591782897231a8168100ea72b94
osarm64_hash=0f09584e21ed8f45e8ff1e3dd1582f077ebdd23a1068298f45006f67bc692632
osx64_hash=31ce62b7ea3b5b5bde68241ae9404f0a68f5a7d0094ef651062b7a64caecfd4e
s390x_hash=363e87ad3b6547cc68981c665cf049449bed44cf9e49cabbbcc61df73ea2d40b
### 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.14'
PYVER='3.10'
# https://www.pypy.org/checksums.html
hash=a3481af466103fa13740db4e27780e0423dcf8626b3340f60d3d3c28fbc11ae0
### 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.15'
PYVER='3.10'
# https://www.pypy.org/checksums.html
aarch64_hash=52146fccaf64e87e71d178dda8de63c01577ec3923073dc69e1519622bcacb74
linux32_hash=75dd58c9abd8b9d78220373148355bc3119febcf27a2c781d64ad85e7232c4aa
linux64_hash=33c584e9a70a71afd0cb7dd8ba9996720b911b3b8ed0156aea298d4487ad22c3
osarm64_hash=d927c5105ea7880f7596fe459183e35cc17c853ef5105678b2ad62a8d000a548
osx64_hash=559b61ba7e7c5a5c23cef5370f1fab47ccdb939ac5d2b42b4bef091abe3f6964
s390x_hash=209e57596381e13c9914d1332f359dc4b78de06576739747eb797bdbf85062b8
### 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.15'
PYVER='3.10'
# https://www.pypy.org/checksums.html
hash=837622130b36603a1893899bd9f529961a8e4a56c9eb67268d72ddf8920c9579
### 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.13'
PYVER='3.9'
# https://www.pypy.org/checksums.html
aarch64_hash=317d7876c5825a086f854253648b967a432b993ce87695d2895d3ad6ed0d2716
linux32_hash=ac695238b4a3635ac6b482e74e04e2ea78b31acca0decd5de601dfd2f4ebf35a
linux64_hash=323b05a9f607e932cda1995cbe77a96e4ea35994631aa6d734c8035e8479b74e
osarm64_hash=a07b17a790a1952b551e69d47d77a5546ad5e666ed1bd90b9ad60baaca6aa51e
osx64_hash=180802aa0122d4a05ec480bf3130c78591ba88fdde25d8e65a92d4a798b318a3
s390x_hash=213c88f652a99c4dc4e8e00b4b5b58f381c7f7e9ea1a9b65801fc0eb1e50df0a
### 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.13'
PYVER='3.9'
# https://www.pypy.org/checksums.html
hash=bc6147268105e7cb3bd57b401e6d97f66aa4ede269104b2712a7cdd9f02f68cd
### 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.14'
PYVER='3.9'
# https://www.pypy.org/checksums.html
aarch64_hash=14b842f32f60ce2d9d130971f9bcbdb6875824a0e78fac36806d267e0982179c
linux32_hash=4ad89a22369a6f2f83a7d8d047e0fc4cf5597f0921fa7afa23499ed05f663503
linux64_hash=febd770a616641ca8419c381c7fb224e515b892551d0db49a1231397ed38859d
osarm64_hash=4f8f2464a743f855b8fc8bda7ce7994a674616db3b5c2c1955cd08502fa782ca
osx64_hash=0e2fea9b2dadb82b7acf05f21c0144f7bb1cfaaa39c693ab1eba4aef5ed52680
s390x_hash=ba2451e9081db5bc724a05530a7f98817231de83ff6fdf15bad21a4e9b6dfeae
### 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.14'
PYVER='3.9'
# https://www.pypy.org/checksums.html
hash=560fe6161e159557e1fe612aaadf9b293eefded1da372e70b8e3b23bba598366
### 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.15'
PYVER='3.9'
# https://www.pypy.org/checksums.html
aarch64_hash=03e35fcba290454bb0ccf7ee57fb42d1e63108d10d593776a382c0a2fe355de0
linux32_hash=c6209380977066c9e8b96e8258821c70f996004ce1bc8659ae83d4fd5a89ff5c
linux64_hash=f062be307200bde434817e1620cebc13f563d6ab25309442c5f4d0f0d68f0912
osarm64_hash=300541c32125767a91b182b03d9cc4257f04971af32d747ecd4d62549d72acfd
osx64_hash=18ad7c9cb91c5e8ef9d40442b2fd1f6392ae113794c5b6b7d3a45e04f19edec6
s390x_hash=deeb5e54c36a0fd9cfefd16e63a0d5bed4f4a43e6bbc01c23f0ed8f7f1c0aaf3
### 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.15'
PYVER='3.9'
# https://www.pypy.org/checksums.html
hash=6bb9537d85aa7ad13c0aad2e41ff7fd55080bc9b4d1361b8f502df51db816e18
### 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

@@ -62,7 +62,7 @@ assert_build_log() {
cached_tarball "yaml-0.1.6"
cached_tarball "Python-3.6.2"
for i in {1..9}; do stub uname '-s : echo Linux'; done
for i in {1..10}; do stub uname '-s : echo Linux'; done
stub brew false
stub_make_install
stub_make_install
@@ -89,7 +89,7 @@ OUT
cached_tarball "yaml-0.1.6"
cached_tarball "Python-3.6.2"
for i in {1..9}; do stub uname '-s : echo Linux'; done
for i in {1..10}; do stub uname '-s : echo Linux'; done
stub brew false
stub_make_install
stub_make_install
@@ -119,7 +119,7 @@ OUT
cached_tarball "yaml-0.1.6"
cached_tarball "Python-3.6.2"
for i in {1..9}; do stub uname '-s : echo Linux'; done
for i in {1..10}; do stub uname '-s : echo Linux'; done
stub brew false
stub_make_install
stub_make_install
@@ -151,7 +151,7 @@ OUT
BREW_PREFIX="$TMP/homebrew-prefix"
mkdir -p "$BREW_PREFIX"
for i in {1..8}; do stub uname '-s : echo Darwin'; done
for i in {1..9}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
stub brew "--prefix : echo '$BREW_PREFIX'" false
stub_make_install
@@ -179,10 +179,10 @@ OUT
brew_libdir="$TMP/homebrew-yaml"
mkdir -p "$brew_libdir"
for i in {1..9}; do stub uname '-s : echo Darwin'; done
for i in {1..10}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
stub brew "--prefix libyaml : echo '$brew_libdir'"
for i in {1..4}; do stub brew false; done
for i in {1..5}; do stub brew false; done
stub_make_install
install_fixture definitions/needs-yaml
@@ -205,7 +205,7 @@ OUT
cached_tarball "yaml-0.1.6"
cached_tarball "Python-3.6.2"
for i in {1..9}; do stub uname '-s : echo Linux'; done
for i in {1..10}; do stub uname '-s : echo Linux'; done
stub brew true; brew
stub_make_install
stub_make_install
@@ -234,11 +234,11 @@ OUT
readline_libdir="$TMP/homebrew-readline"
mkdir -p "$readline_libdir"
for i in {1..7}; do stub uname '-s : echo Darwin'; done
for i in {1..8}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
for i in {1..2}; do stub brew false; done
stub brew "--prefix readline : echo '$readline_libdir'"
stub brew false
for i in {1..2}; do stub brew false; done
stub_make_install
run_inline_definition <<DEF
@@ -259,12 +259,42 @@ make install
OUT
}
@test "ncurses is linked from Homebrew" {
cached_tarball "Python-3.6.2"
ncurses_libdir="$TMP/homebrew-ncurses"
mkdir -p "$ncurses_libdir"
for i in {1..9}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
for i in {1..3}; do stub brew false; done
stub brew "--prefix ncurses : echo '$ncurses_libdir'"
stub brew false
stub_make_install
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 sw_vers
unstub brew
unstub make
assert_build_log <<OUT
Python-3.6.2: CPPFLAGS="-I$ncurses_libdir/include -I${TMP}/install/include" LDFLAGS="-L$ncurses_libdir/lib -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 "openssl is linked from Ports in FreeBSD if present" {
cached_tarball "Python-3.6.2"
for i in {1..7}; do stub uname '-s : echo FreeBSD'; done
stub uname '-r : echo 11.0-RELEASE'
for i in {1..2}; do stub uname '-s : echo FreeBSD'; done
for i in {1..3}; do stub uname '-s : echo FreeBSD'; done
stub sysctl '-n hw.ncpu : echo 1'
stub pkg "info -e openssl : true"
@@ -298,7 +328,7 @@ OUT
for i in {1..7}; do stub uname '-s : echo FreeBSD'; done
stub uname '-r : echo 11.0-RELEASE'
for i in {1..2}; do stub uname '-s : echo FreeBSD'; done
for i in {1..3}; do stub uname '-s : echo FreeBSD'; done
stub sysctl '-n hw.ncpu : echo 1'
stub pkg false
@@ -331,7 +361,7 @@ OUT
@test "no library searches performed during normal operation touch homebrew in non-MacOS" {
cached_tarball "Python-3.6.2"
for i in {1..8}; do stub uname '-s : echo Linux'; done
for i in {1..9}; do stub uname '-s : echo Linux'; done
stub brew true; brew
stub_make_install
@@ -386,10 +416,10 @@ OUT
mkdir -p "$readline_libdir/include/readline"
touch "$readline_libdir/include/readline/rlconf.h"
for i in {1..7}; do stub uname '-s : echo Darwin'; done
for i in {1..8}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
for i in {1..3}; do stub brew false; done
for i in {1..4}; do stub brew false; done
stub_make_install
export PYTHON_CONFIGURE_OPTS="CPPFLAGS=-I$readline_libdir/include LDFLAGS=-L$readline_libdir/lib"
@@ -418,12 +448,12 @@ OUT
mkdir -p "$tcl_tk_libdir/lib"
echo "TCL_VERSION='$tcl_tk_version'" >>"$tcl_tk_libdir/lib/tclConfig.sh"
for i in {1..9}; do stub uname '-s : echo Darwin'; done
for i in {1..10}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
stub brew false
for i in {1..2}; do stub brew "--prefix tcl-tk : echo '$tcl_tk_libdir'"; done
for i in {1..2}; do stub brew false; done
for i in {1..3}; do stub brew false; done
stub_make_install
@@ -452,10 +482,10 @@ OUT
tcl_tk_version_long="8.6.10"
tcl_tk_version="${tcl_tk_version_long%.*}"
for i in {1..8}; do stub uname '-s : echo Darwin'; done
for i in {1..9}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
for i in {1..4}; do stub brew false; done
for i in {1..5}; do stub brew false; done
stub_make_install
export PYTHON_CONFIGURE_OPTS="--with-tcltk-libs='-L${TMP}/custom-tcl-tk/lib -ltcl$tcl_tk_version -ltk$tcl_tk_version'"
@@ -480,7 +510,7 @@ OUT
@test "tcl-tk is linked from Homebrew via pkgconfig only when envvar is set" {
cached_tarball "Python-3.6.2"
for i in {1..9}; do stub uname '-s : echo Darwin'; done
for i in {1..10}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
tcl_tk_libdir="$TMP/homebrew-tcl-tk"
@@ -488,7 +518,7 @@ OUT
stub brew false
for i in {1..2}; do stub brew "--prefix tcl-tk : echo '${tcl_tk_libdir}'"; done
for i in {1..2}; do stub brew false; done
for i in {1..3}; do stub brew false; done
stub_make_install
@@ -513,7 +543,7 @@ OUT
@test "number of CPU cores defaults to 2" {
cached_tarball "Python-3.6.2"
for i in {1..9}; do stub uname '-s : echo Darwin'; done
for i in {1..10}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 10.10'; done
stub sysctl false
@@ -540,7 +570,7 @@ OUT
@test "number of CPU cores is detected on Mac" {
cached_tarball "Python-3.6.2"
for i in {1..9}; do stub uname '-s : echo Darwin'; done
for i in {1..10}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 10.10'; done
stub sysctl '-n hw.ncpu : echo 4'
@@ -570,7 +600,7 @@ OUT
for i in {1..7}; do stub uname '-s : echo FreeBSD'; done
stub uname '-r : echo 11.0-RELEASE'
for i in {1..2}; do stub uname '-s : echo FreeBSD'; done
for i in {1..3}; do stub uname '-s : echo FreeBSD'; done
for i in {1..3}; do stub pkg false; done
stub sysctl '-n hw.ncpu : echo 1'
@@ -597,7 +627,7 @@ OUT
@test "setting PYTHON_MAKE_INSTALL_OPTS to a multi-word string" {
cached_tarball "Python-3.6.2"
for i in {1..8}; do stub uname '-s : echo Linux'; done
for i in {1..9}; do stub uname '-s : echo Linux'; done
stub_make_install
@@ -621,7 +651,7 @@ OUT
@test "(PYTHON_)CONFIGURE_OPTS and (PYTHON_)MAKE_OPTS take priority over automatically added options" {
cached_tarball "Python-3.6.2"
for i in {1..8}; do stub uname '-s : echo Linux'; done
for i in {1..9}; do stub uname '-s : echo Linux'; done
stub_make_install
@@ -649,7 +679,7 @@ OUT
@test "--enable-shared is not added if --disable-shared is passed" {
cached_tarball "Python-3.6.2"
for i in {1..8}; do stub uname '-s : echo Linux'; done
for i in {1..9}; do stub uname '-s : echo Linux'; done
stub_make_install
@@ -673,9 +703,9 @@ OUT
@test "configuring with dSYM in MacOS" {
cached_tarball "Python-3.6.2"
for i in {1..9}; do stub uname '-s : echo Darwin'; done
for i in {1..10}; do stub uname '-s : echo Darwin'; done
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
for i in {1..4}; do stub brew false; done
for i in {1..5}; do stub brew false; done
stub_make_install
run_inline_definition <<DEF
@@ -700,7 +730,7 @@ OUT
@test "configuring with dSYM has no effect in non-MacOS" {
cached_tarball "Python-3.6.2"
for i in {1..9}; do stub uname '-s : echo Linux'; done
for i in {1..10}; do stub uname '-s : echo Linux'; done
stub_make_install
run_inline_definition <<DEF
@@ -735,7 +765,7 @@ OUT
stub uname "-s : echo FreeBSD" "-r : echo 9.1"
for i in {1..6}; do stub uname "-s : echo FreeBSD"; done
stub uname "-r : echo 9.1"
for i in {1..2}; do stub uname "-s : echo FreeBSD"; done
for i in {1..3}; do stub uname "-s : echo FreeBSD"; done
MAKE=gmake stub_make_install
@@ -752,7 +782,7 @@ OUT
stub uname "-s : echo FreeBSD" "-r : echo 10.0-RELEASE"
for i in {1..6}; do stub uname "-s : echo FreeBSD"; done
stub uname "-r : echo 10.0-RELEASE"
for i in {1..2}; do stub uname "-s : echo FreeBSD"; done
for i in {1..3}; do stub uname "-s : echo FreeBSD"; done
stub_make_install
@@ -768,7 +798,7 @@ OUT
stub uname "-s : echo FreeBSD" "-r : echo 11.0-RELEASE"
for i in {1..6}; do stub uname "-s : echo FreeBSD"; done
stub uname "-r : echo 11.0-RELEASE"
for i in {1..2}; do stub uname "-s : echo FreeBSD"; done
for i in {1..3}; do stub uname "-s : echo FreeBSD"; done
stub_make_install
@@ -787,7 +817,7 @@ apply -p1 -i /my/patch.diff
exec ./configure "\$@"
CONF
for i in {1..8}; do stub uname '-s : echo Linux'; done
for i in {1..9}; do stub uname '-s : echo Linux'; done
stub apply 'echo apply "$@" >> build.log'
stub_make_install

View File

@@ -69,7 +69,7 @@ DEF
mkdir -p "$INSTALL_ROOT"
cd "$INSTALL_ROOT"
for i in {1..9}; do stub uname '-s : echo Darwin'; done
for i in {1..10}; do stub uname '-s : echo Darwin'; done
for i in {1..3}; do stub sw_vers '-productVersion : echo 10.10'; done
stub cc 'false'
@@ -110,7 +110,7 @@ OUT
mkdir -p "$INSTALL_ROOT/bin"
cd "$INSTALL_ROOT"
stub make true true '(for a in "$@"; do echo $a; done)|grep -E "^CFLAGS_EXTRA="' true
stub make true '(for a in "$@"; do echo $a; done)|grep -E "^CFLAGS_EXTRA="' true
stub ln true
stub mkdir true
run_inline_definition <<DEF

View File

@@ -325,7 +325,7 @@ EOS
cached_tarball "Python-3.6.2"
for i in {1..4}; do stub brew false; done
for i in {1..7}; do stub uname '-s : echo Linux'; done
for i in {1..8}; do stub uname '-s : echo Linux'; done
stub "$MAKE" \
" : echo \"$MAKE \$@\" >> build.log" \
" : echo \"$MAKE \$@\" >> build.log && cat build.log >> '$INSTALL_ROOT/build.log'"

View File

@@ -201,6 +201,7 @@ OUT
create_version "1.218.0"
create_executable sort <<SH
#!$BASH
cat >/dev/null
if [ "\$1" == "--version-sort" ]; then
echo "${PYENV_ROOT}/versions/1.9.0"
echo "${PYENV_ROOT}/versions/1.53.0"