mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-08 11:33:49 -05:00
Compare commits
203 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
74a2523c97 | ||
|
|
dfde39650e | ||
|
|
2aa2d17f05 | ||
|
|
fce51d45a0 | ||
|
|
d3766f22a5 | ||
|
|
99d74e78f7 | ||
|
|
3fc9f4381a | ||
|
|
1a9e9ee5da | ||
|
|
3e1b4e0be1 | ||
|
|
ebff965cc6 | ||
|
|
2fb5b9e9a3 | ||
|
|
efb01775c0 | ||
|
|
1239b7cb1f | ||
|
|
10f8805526 | ||
|
|
ae74597ded | ||
|
|
ac32a20f83 | ||
|
|
ae1c5d2bff | ||
|
|
94d879c92a | ||
|
|
ef0c2a787b | ||
|
|
4405459f57 | ||
|
|
62242c1d56 | ||
|
|
d312301099 | ||
|
|
988258ea5f | ||
|
|
fb2c65f149 | ||
|
|
087793a660 | ||
|
|
63c471d020 | ||
|
|
54f7a7c046 | ||
|
|
011bbf0cca | ||
|
|
a9a92dfdc5 | ||
|
|
968fc797c3 | ||
|
|
27525adece | ||
|
|
f50b99265c | ||
|
|
9c8f92cf4e | ||
|
|
d25cd0d0f5 | ||
|
|
709534c21f | ||
|
|
62e2e9c743 | ||
|
|
509d3a8855 | ||
|
|
c6f0d31dc9 | ||
|
|
b8b6846a21 | ||
|
|
dee8a9dbad | ||
|
|
bb38acd994 | ||
|
|
7d7e7e5b93 | ||
|
|
928f69cf9a | ||
|
|
44c8f061af | ||
|
|
931a7d7c7f | ||
|
|
0ada42d89d | ||
|
|
7fbec9a971 | ||
|
|
28e7000b48 | ||
|
|
a19d613877 | ||
|
|
3edc31eb3d | ||
|
|
c9477dfd21 | ||
|
|
3fda63be30 | ||
|
|
f7f096503a | ||
|
|
8b0c743f12 | ||
|
|
bed2ec2f73 | ||
|
|
a82598e174 | ||
|
|
d2c4d963d2 | ||
|
|
c844b332ca | ||
|
|
64af7c3e54 | ||
|
|
261fd7c462 | ||
|
|
91928bfbc4 | ||
|
|
8cfc75604b | ||
|
|
da3ac7b7a3 | ||
|
|
259b5cad26 | ||
|
|
bdfb80cc12 | ||
|
|
abfa56e31d | ||
|
|
1dbb100933 | ||
|
|
9100243866 | ||
|
|
18ed727eb0 | ||
|
|
3ba8df29e5 | ||
|
|
e1b7e1b519 | ||
|
|
2cbba05966 | ||
|
|
6be6231444 | ||
|
|
7ec5c30451 | ||
|
|
14cf54fb1c | ||
|
|
6e79eb0b7c | ||
|
|
a8075debe5 | ||
|
|
552827d3f9 | ||
|
|
035c9336d2 | ||
|
|
c85ca6ce60 | ||
|
|
79a501139f | ||
|
|
791ae90aef | ||
|
|
db871427c7 | ||
|
|
4c5eac68c5 | ||
|
|
d4ff57d0ce | ||
|
|
ac5efed3a8 | ||
|
|
8aabba9485 | ||
|
|
879fa68b35 | ||
|
|
e908606554 | ||
|
|
b81204c08b | ||
|
|
37cc45a831 | ||
|
|
3f6bc8d16a | ||
|
|
dd5378941a | ||
|
|
2506c9773c | ||
|
|
51166377b7 | ||
|
|
af1a54482b | ||
|
|
64c70feb08 | ||
|
|
7b713a88c4 | ||
|
|
1874f95a0e | ||
|
|
1a882c6053 | ||
|
|
05dcd45741 | ||
|
|
a2dff4809b | ||
|
|
ad0d131032 | ||
|
|
7c17c741eb | ||
|
|
ba8b58f90d | ||
|
|
fe76b05445 | ||
|
|
c5d2639082 | ||
|
|
d4bd7bbe2b | ||
|
|
38ac747239 | ||
|
|
8f655d2ca6 | ||
|
|
d0b78fd5fe | ||
|
|
43f40eca05 | ||
|
|
687944d991 | ||
|
|
0f337a6c9a | ||
|
|
afe2615a1c | ||
|
|
d7d5ab5148 | ||
|
|
e79dd97afa | ||
|
|
021b6c2da0 | ||
|
|
e008430451 | ||
|
|
09fc5b8824 | ||
|
|
6eeda1f87e | ||
|
|
452647ab33 | ||
|
|
4086e452fd | ||
|
|
82c8d511c4 | ||
|
|
578c7507c6 | ||
|
|
23c727a767 | ||
|
|
fb73c4b714 | ||
|
|
3fa5812bfc | ||
|
|
c8a23e26e6 | ||
|
|
def5cd994e | ||
|
|
b5576240a2 | ||
|
|
920ef1456a | ||
|
|
528d10e96f | ||
|
|
cf9d0dcd7b | ||
|
|
aa5fd27e2f | ||
|
|
73b6307399 | ||
|
|
a57e0b5019 | ||
|
|
b3c91b37d6 | ||
|
|
777089466d | ||
|
|
20189ff06f | ||
|
|
5a8dbcf143 | ||
|
|
9a4f9c2511 | ||
|
|
bee178a95d | ||
|
|
0f75cd8800 | ||
|
|
29c4f279a3 | ||
|
|
be4939604e | ||
|
|
fc616a0aee | ||
|
|
b613a4abeb | ||
|
|
b1ee6c93c4 | ||
|
|
9fad1f46c5 | ||
|
|
f51d3dcb47 | ||
|
|
deb4935187 | ||
|
|
e28d747b83 | ||
|
|
ddd37eb823 | ||
|
|
be2bd5f03d | ||
|
|
4ef81b5c7a | ||
|
|
6bb75b3ba7 | ||
|
|
f507d08064 | ||
|
|
ad15c75e0e | ||
|
|
6052caa038 | ||
|
|
e8a4b54231 | ||
|
|
bcbdadf10d | ||
|
|
904dd5f828 | ||
|
|
3226a1870b | ||
|
|
0d19efecf5 | ||
|
|
ecab7b0d17 | ||
|
|
3bfc97ad29 | ||
|
|
276ce32643 | ||
|
|
b30508f9b8 | ||
|
|
0e80d0725b | ||
|
|
6bec7a50fe | ||
|
|
28be65992d | ||
|
|
68918e69b7 | ||
|
|
86a4423bbb | ||
|
|
0ab9683e58 | ||
|
|
7fe647968d | ||
|
|
c8daaa3954 | ||
|
|
88be70722f | ||
|
|
47d88d2c5f | ||
|
|
6b758c8cf9 | ||
|
|
017b6d877e | ||
|
|
063aa457e4 | ||
|
|
fcd7806529 | ||
|
|
a3f0bddc2a | ||
|
|
f72c1712dc | ||
|
|
a7b181c3ca | ||
|
|
c8c324afb4 | ||
|
|
72c5b034ca | ||
|
|
446411dc64 | ||
|
|
9fe80f28e5 | ||
|
|
9248255f70 | ||
|
|
368e04f3fa | ||
|
|
76e93b073e | ||
|
|
e3fe82a9b1 | ||
|
|
dd60d5fae2 | ||
|
|
96828af31e | ||
|
|
c998eae677 | ||
|
|
c20fc7bd6a | ||
|
|
f1a1f59c87 | ||
|
|
b64b0ab5e2 | ||
|
|
1a0b555baf | ||
|
|
819e2b8f45 | ||
|
|
bd618ea9ef |
4
.github/workflows/macos_build.yml
vendored
4
.github/workflows/macos_build.yml
vendored
@@ -10,14 +10,14 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version:
|
||||
- "3.7"
|
||||
- "3.8"
|
||||
- "3.9"
|
||||
- "3.10"
|
||||
- "3.11"
|
||||
- "3.12"
|
||||
runs-on: macos-11
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
# Normally, we would use the superbly maintained...
|
||||
# - uses: actions/setup-python@v2
|
||||
# with:
|
||||
|
||||
11
.github/workflows/modified_scripts_build.yml
vendored
11
.github/workflows/modified_scripts_build.yml
vendored
@@ -6,7 +6,7 @@ jobs:
|
||||
outputs:
|
||||
versions: ${{steps.modified-versions.outputs.versions}}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- run: git fetch origin "$GITHUB_BASE_REF"
|
||||
- shell: bash
|
||||
run: >
|
||||
@@ -15,7 +15,10 @@ jobs:
|
||||
if (/^plugins\/python-build\/share\/python-build\/(?:([^\/]+)|patches\/([^\/]+)\/.*)$/ and -e $& )
|
||||
{ print $1.$2; }' \
|
||||
| sort -u);
|
||||
echo -e "versions<<!\\n$versions\\n!" >> $GITHUB_ENV
|
||||
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64);
|
||||
echo "versions<<$EOF" >> $GITHUB_ENV;
|
||||
echo "$versions" >> $GITHUB_ENV;
|
||||
echo "$EOF" >> $GITHUB_ENV;
|
||||
- id: modified-versions
|
||||
run: |
|
||||
echo -n "::set-output name=versions::"
|
||||
@@ -30,7 +33,7 @@ jobs:
|
||||
os: ["macos-11", "macos-12"]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- run: |
|
||||
#envvars
|
||||
export PYENV_ROOT="$GITHUB_WORKSPACE"
|
||||
@@ -90,7 +93,7 @@ jobs:
|
||||
os: ["ubuntu-20.04", "ubuntu-22.04"]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- run: |
|
||||
#envvars
|
||||
export PYENV_ROOT="$GITHUB_WORKSPACE"
|
||||
|
||||
7
.github/workflows/pyenv_tests.yml
vendored
7
.github/workflows/pyenv_tests.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
- macos-11
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
# Normally, we would use the superbly maintained...
|
||||
# - uses: actions/setup-python@v2
|
||||
# with:
|
||||
@@ -42,3 +42,8 @@ jobs:
|
||||
echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
|
||||
- run: |
|
||||
make test
|
||||
- env:
|
||||
PYENV_NATIVE_EXT: 1
|
||||
run: |
|
||||
(cd src; ./configure; make)
|
||||
bats/bin/bats test/{pyenv,hooks,versions}.bats
|
||||
6
.github/workflows/ubuntu_build.yml
vendored
6
.github/workflows/ubuntu_build.yml
vendored
@@ -10,21 +10,21 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version:
|
||||
- "3.7"
|
||||
- "3.8"
|
||||
- "3.9"
|
||||
- "3.10"
|
||||
- "3.11"
|
||||
- "3.12"
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
# Normally, we would use the superbly maintained...
|
||||
# - uses: actions/setup-python@v2
|
||||
# with:
|
||||
# python-version: ${{ matrix.python-version }}
|
||||
# ... but in the repo, we want to test pyenv builds on Ubuntu
|
||||
- run: |
|
||||
sudo apt-get install -yq make build-essential libssl-dev zlib1g-dev \
|
||||
sudo apt-get update -q; sudo apt install -yq make build-essential libssl-dev zlib1g-dev \
|
||||
libbz2-dev libreadline-dev libsqlite3-dev curl \
|
||||
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
|
||||
# https://github.com/pyenv/pyenv#installation
|
||||
|
||||
150
CHANGELOG.md
150
CHANGELOG.md
@@ -1,5 +1,155 @@
|
||||
# Version History
|
||||
|
||||
## 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
|
||||
* Prefer OpenSSL 3 in Homebrew in 3.13-dev by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2793
|
||||
* Add CPython 3.12.0rc3 by @saaketp in https://github.com/pyenv/pyenv/pull/2795
|
||||
* Add graalpy-23.1.0 and split between graalpy and graalpy-community by @msimacek in https://github.com/pyenv/pyenv/pull/2796
|
||||
* Update the OpenSSL dependency for Python 2.7.18 by @lpapp-foundry in https://github.com/pyenv/pyenv/pull/2797
|
||||
* Add CPython 3.12.0 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2804
|
||||
|
||||
## Release v2.3.27
|
||||
|
||||
* Prefer OpenSSL 3 in Homebrew since 3.12 by @native-api in https://github.com/pyenv/pyenv/pull/2781
|
||||
* Fix get-pip urls for older pypy versions by @TimPansino in https://github.com/pyenv/pyenv/pull/2788
|
||||
* Update openssl url for 3.12.0rc2 by @zsol in https://github.com/pyenv/pyenv/pull/2789
|
||||
|
||||
## Release v2.3.26
|
||||
|
||||
* Prevent `grep` warning in `conda.bash` by @aphedges in https://github.com/pyenv/pyenv/pull/2768
|
||||
* fix a typo in README.md by @xzmeng in https://github.com/pyenv/pyenv/pull/2769
|
||||
* use -I with ensurepip by @xaocon in https://github.com/pyenv/pyenv/pull/2764
|
||||
* Add CPython 3.12.0rc2 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2778
|
||||
|
||||
## Release v2.3.25
|
||||
|
||||
* Add CPython 3.8.18, 3.9.18, 3.10.13, 3.11.5 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2763
|
||||
|
||||
## Release v2.3.24
|
||||
|
||||
* README update: Added UNIX reference near Automatic installer by @VictorieeMan in https://github.com/pyenv/pyenv/pull/2744
|
||||
* Fix FreeBSD tests in MacOS CI by @native-api in https://github.com/pyenv/pyenv/pull/2748
|
||||
* Add CPython 3.12.0rc1 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2752
|
||||
* [Add an updated Anaconda and Miniconda installers](https://github.com/pyenv/pyenv/commit/db871427c7a232e18ee7a6dc0182989a646ccca9)
|
||||
|
||||
## Release v2.3.23
|
||||
|
||||
* Add CPython 3.12.0b4 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2741
|
||||
* Add new anaconda and miniconda definitions by @aphedges in https://github.com/pyenv/pyenv/pull/2742
|
||||
|
||||
## Release v2.3.22
|
||||
|
||||
* Add CPython 3.12.0b3 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2730
|
||||
* Add Cinder 3.10 and Cinder configure patches by @filips123 in https://github.com/pyenv/pyenv/pull/2739
|
||||
|
||||
## Release v2.3.21
|
||||
|
||||
* Add graalpy-23.0.0 by @msimacek in https://github.com/pyenv/pyenv/pull/2724
|
||||
* Add PyPy 7.3.12 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2726
|
||||
* Fix occasional 'libexec/pyenv-latest: line 39: printf: write error: Broken pipe' by @native-api in https://github.com/pyenv/pyenv/pull/2729
|
||||
|
||||
## Release v2.3.20
|
||||
|
||||
* Backport bpo-42351 to 3.5.10 by @native-api in https://github.com/pyenv/pyenv/pull/2717
|
||||
* Add missing patches for Python 3.7/3.8/3.9 by @tomkins in https://github.com/pyenv/pyenv/pull/2718
|
||||
|
||||
## Release v2.3.19
|
||||
|
||||
* Add CPython 3.7.17, 3.8.17 and 3.9.17 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2711
|
||||
* Add CPython 3.11.4 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2715
|
||||
* Add CPython 3.10.12 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2714
|
||||
* Add CPython 3.12.0b2 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2713
|
||||
|
||||
## Release 2.3.18
|
||||
|
||||
* Fix not showing symlink contents for unselected versions in `pyenv versions` by @native-api in https://github.com/pyenv/pyenv/pull/2675
|
||||
* Correct link in has_tar_xz_support else branch of 3.10.11 and 3.11.3 by @mirekdlugosz in https://github.com/pyenv/pyenv/pull/2677
|
||||
* Fix #2682: Correct pyenv_user_setup.bash file by @tomschr in https://github.com/pyenv/pyenv/pull/2687
|
||||
* fix: updating heredoc delimiter to be random and unique by @aviadhahami in https://github.com/pyenv/pyenv/pull/2691
|
||||
* Support ksh alternative names by @kpschoedel in https://github.com/pyenv/pyenv/pull/2697
|
||||
* Add CPython 3.12.0b1 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2701
|
||||
* Update 3.12-dev and add 3.13-dev by @t0b3 in https://github.com/pyenv/pyenv/pull/2703
|
||||
|
||||
## Release 2.3.17
|
||||
|
||||
* Try locate `readlink` first in pyenv-hooks, fix #2654 by @Harry-Chen in https://github.com/pyenv/pyenv/pull/2655
|
||||
* Add CPython 3.12.0a7 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2668
|
||||
* Add CPython 3.11.3 by @mirekdlugosz in https://github.com/pyenv/pyenv/pull/2671
|
||||
* Add CPython 3.10.11 by @mirekdlugosz in https://github.com/pyenv/pyenv/pull/2670
|
||||
|
||||
## Release 2.3.16
|
||||
|
||||
* Add Miniforge3-22.11.1-4 by @jlec in https://github.com/pyenv/pyenv/pull/2642
|
||||
* Add Anaconda3-2023.03 by @anton-petrov in https://github.com/pyenv/pyenv/pull/2648
|
||||
|
||||
## Release 2.3.15
|
||||
|
||||
* Add miniconda 23.1.0-1 by @aphedges in https://github.com/pyenv/pyenv/pull/2635
|
||||
* Add CPython 3.12.0a6 by @saaketp in https://github.com/pyenv/pyenv/pull/2638
|
||||
|
||||
## Release 2.3.14
|
||||
|
||||
* Fix indentation by @rafrafek in https://github.com/pyenv/pyenv/pull/2620
|
||||
* Support for "BusyBox version" of "head" by @schuellerf in https://github.com/pyenv/pyenv/pull/2629
|
||||
* bpo-27987 for v3.5.10 and v3.6.15: align by 16bytes on 64bit platforms by @chaimleib in https://github.com/pyenv/pyenv/pull/2630
|
||||
* bpo-36231 for v3.5.10: fix Unsupported MacOS X CPU type in ffi.h by @chaimleib in https://github.com/pyenv/pyenv/pull/2633
|
||||
* README: clarify behavior of `pyenv latest` by @mrienstra in https://github.com/pyenv/pyenv/pull/2634
|
||||
|
||||
## Release 2.3.13
|
||||
|
||||
* Fix pyenv-latest to ignore virtualenvs by @native-api in https://github.com/pyenv/pyenv/pull/2608
|
||||
* Show symlink contents in non-bare `pyenv versions' by @native-api in https://github.com/pyenv/pyenv/pull/2609
|
||||
* Ignore virtualenvs in `pyenv latest' in a clean way by @native-api in https://github.com/pyenv/pyenv/pull/2610
|
||||
* Fix link resolving in pyenv-versions by @laggardkernel in https://github.com/pyenv/pyenv/pull/2612
|
||||
* Add CPython 3.11.2 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2615
|
||||
* Add CPython 3.10.10 by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/2616
|
||||
* Add CPython 3.12.0a5 by @Afront in https://github.com/pyenv/pyenv/pull/2614
|
||||
|
||||
## Release 2.3.12
|
||||
|
||||
* Undefined name: do not forget self when accessing flavor by @cclauss in https://github.com/pyenv/pyenv/pull/2595
|
||||
* Fix wrong libpython being linked to in MacOS by @native-api in https://github.com/pyenv/pyenv/pull/2596
|
||||
* Fix `:latest` by @native-api in https://github.com/pyenv/pyenv/pull/2599
|
||||
* Fix `pyenv which` to support auto-resolved prefixes by @native-api in https://github.com/pyenv/pyenv/pull/2601
|
||||
* Add more recent build of nogil Python. by @colesbury in https://github.com/pyenv/pyenv/pull/2602
|
||||
|
||||
## Release 2.3.11
|
||||
|
||||
* Add CPython 3.12.0a4 by @Afront in https://github.com/pyenv/pyenv/pull/2590
|
||||
|
||||
@@ -80,12 +80,12 @@ Deprecation policy
|
||||
|
||||
We do not provide official support for EOL releases and environments or otherwise provide any kind of extended support for old Python releases.
|
||||
|
||||
We do however accept fixes from interested parties that would allow running older, including EOL, releases in newer environments.
|
||||
We do however accept fixes from interested parties that would allow running older, including EOL, releases in environments that they do not officially support.
|
||||
In addition to the above requirements for release-specific fixes,
|
||||
|
||||
* Such a fix must not add maintenance burden (e.g. add new logic to `python-build` that has to be kept there indefinitely)
|
||||
* Unless the added logic is useful for both EOL and non-EOL releases. In this case, it will be considered as being primarily an improvement for non-EOL releases.
|
||||
* Support is provided on a "best effort" basis: we do not maintain these fixes but won't actively break them, either, and accept any corrections.
|
||||
* Support is provided on a "best effort" basis: we do not actively maintain these fixes but won't actively break them, either, and will accept any corrections.
|
||||
Since old releases never change, it's pretty safe to assume that the fixes will continue to work until a later version
|
||||
of an environment introduces further incompatible changes.
|
||||
|
||||
|
||||
80
README.md
80
README.md
@@ -44,16 +44,17 @@ This project was forked from [rbenv](https://github.com/rbenv/rbenv) and
|
||||
* [Locating Pyenv-provided Python Installations](#locating-pyenv-provided-python-installations)
|
||||
* **[Installation](#installation)**
|
||||
* [Getting Pyenv](#getting-pyenv)
|
||||
* [Homebrew in macOS](#homebrew-in-macos)
|
||||
* [UNIX/MacOS](#unixmacos)
|
||||
* [Homebrew in macOS](#homebrew-in-macos)
|
||||
* [Automatic installer](#automatic-installer)
|
||||
* [Basic GitHub Checkout](#basic-github-checkout)
|
||||
* [Windows](#windows)
|
||||
* [Automatic installer](#automatic-installer)
|
||||
* [Basic GitHub Checkout](#basic-github-checkout)
|
||||
* [Set up your shell environment for Pyenv](#set-up-your-shell-environment-for-pyenv)
|
||||
* [Restart your shell](#restart-your-shell)
|
||||
* [Install Python build dependencies](#install-python-build-dependencies)
|
||||
* **[Usage](#usage)**
|
||||
* [Install additional Python versions](#install-additional-python-versions)
|
||||
* [Prefix auto-resolution](#prefix-auto-resolution)
|
||||
* [Prefix auto-resolution to the latest version](#prefix-auto-resolution-to-the-latest-version)
|
||||
* [Python versions with extended support](#python-versions-with-extended-support)
|
||||
* [Switch between Python versions](#switch-between-python-versions)
|
||||
* [Uninstall Python versions](#uninstall-python-versions)
|
||||
@@ -62,6 +63,7 @@ This project was forked from [rbenv](https://github.com/rbenv/rbenv) and
|
||||
* [Upgrading with Homebrew](#upgrading-with-homebrew)
|
||||
* [Upgrading with Installer or Git checkout](#upgrading-with-installer-or-git-checkout)
|
||||
* [Uninstalling pyenv](#uninstalling-pyenv)
|
||||
* [Pyenv plugins](#pyenv-plugins)
|
||||
* [Advanced Configuration](#advanced-configuration)
|
||||
* [Using Pyenv without shims](#using-pyenv-without-shims)
|
||||
* [Environment variables](#environment-variables)
|
||||
@@ -199,7 +201,8 @@ As far as Pyenv is concerned, version names are simply directories under
|
||||
## Installation
|
||||
|
||||
### Getting Pyenv
|
||||
#### Homebrew in macOS
|
||||
#### UNIX/MacOS
|
||||
##### Homebrew in macOS
|
||||
|
||||
1. Consider installing with [Homebrew](https://brew.sh):
|
||||
```sh
|
||||
@@ -233,19 +236,7 @@ As far as Pyenv is concerned, version names are simply directories under
|
||||
~~~
|
||||
|
||||
|
||||
#### Windows
|
||||
|
||||
Pyenv does not officially support Windows and does not work in Windows outside
|
||||
the Windows Subsystem for Linux.
|
||||
Moreover, even there, the Pythons it installs are not native Windows versions
|
||||
but rather Linux versions running in a virtual machine --
|
||||
so you won't get Windows-specific functionality.
|
||||
|
||||
If you're in Windows, we recommend using @kirankotari's [`pyenv-win`](https://github.com/pyenv-win/pyenv-win) fork --
|
||||
which does install native Windows Python versions.
|
||||
|
||||
|
||||
#### Automatic installer
|
||||
##### Automatic installer
|
||||
|
||||
`curl https://pyenv.run | bash`
|
||||
|
||||
@@ -253,7 +244,7 @@ For more details visit our other project:
|
||||
https://github.com/pyenv/pyenv-installer
|
||||
|
||||
|
||||
#### Basic GitHub Checkout
|
||||
##### Basic GitHub Checkout
|
||||
|
||||
This will get you going with the latest version of Pyenv and make it
|
||||
easy to fork and contribute any changes back upstream.
|
||||
@@ -269,6 +260,18 @@ easy to fork and contribute any changes back upstream.
|
||||
cd ~/.pyenv && src/configure && make -C src
|
||||
```
|
||||
|
||||
#### Windows
|
||||
|
||||
Pyenv does not officially support Windows and does not work in Windows outside
|
||||
the Windows Subsystem for Linux.
|
||||
Moreover, even there, the Pythons it installs are not native Windows versions
|
||||
but rather Linux versions running in a virtual machine --
|
||||
so you won't get Windows-specific functionality.
|
||||
|
||||
If you're in Windows, we recommend using @kirankotari's [`pyenv-win`](https://github.com/pyenv-win/pyenv-win) fork --
|
||||
which does install native Windows Python versions.
|
||||
|
||||
|
||||
### Set up your shell environment for Pyenv
|
||||
|
||||
**Upgrade note:** The startup logic and instructions have been updated for simplicity in 2.3.0.
|
||||
@@ -314,14 +317,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
|
||||
~~~
|
||||
|
||||
@@ -401,22 +404,22 @@ You can pass options to Python's `configure` and compiler flags to customize the
|
||||
see [_Special environment variables_ in Python-Build's README](plugins/python-build/README.md#special-environment-variables)
|
||||
for details.
|
||||
|
||||
**NOTE:** If you'd like a faster interpreter at the cost of longer build times,
|
||||
see [_Building for maximum performance_ in Python-Build's README](plugins/python-build/README.md#building-for-maximum-performance).
|
||||
|
||||
**NOTE:** If you want to use proxy for download, please set the `http_proxy` and `https_proxy`
|
||||
environment variables.
|
||||
|
||||
**NOTE:** If you are having trouble installing a Python version,
|
||||
please visit the wiki page about
|
||||
[Common Build Problems](https://github.com/pyenv/pyenv/wiki/Common-build-problems).
|
||||
|
||||
**NOTE:** If you want to use proxy for download, please set the `http_proxy` and `https_proxy`
|
||||
environment variables.
|
||||
|
||||
#### Prefix auto-resolution
|
||||
**NOTE:** If you'd like a faster interpreter at the cost of longer build times,
|
||||
see [_Building for maximum performance_ in Python-Build's README](plugins/python-build/README.md#building-for-maximum-performance).
|
||||
|
||||
|
||||
#### Prefix auto-resolution to the latest version
|
||||
|
||||
All Pyenv subcommands except `uninstall` automatically resolve full prefixes to the latest version in the corresponding version line.
|
||||
|
||||
`pyenv install` picks the latest known version while other subcommands -- the latest installed version.
|
||||
`pyenv install` picks the latest known version, while other subcommands pick the latest installed version.
|
||||
|
||||
E.g. to install and then switch to the latest 3.10 release:
|
||||
|
||||
@@ -425,8 +428,7 @@ pyenv install 3.10
|
||||
pyenv global 3.10
|
||||
```
|
||||
|
||||
You can run [`pyenv latest <prefix>`](COMMANDS.md#pyenv-latest) to see
|
||||
what a specific prefix would be resolved to.
|
||||
You can run [`pyenv latest -k <prefix>`](COMMANDS.md#pyenv-latest) to see how `pyenv install` would resolve a specific prefix, or [`pyenv latest <prefix>`](COMMANDS.md#pyenv-latest) to see how other subcommands would resolve it.
|
||||
|
||||
See the [`pyenv latest` documentation](COMMANDS.md#pyenv-latest) for details.
|
||||
|
||||
@@ -439,7 +441,7 @@ it's safe to assume that they will continue working until there are further inco
|
||||
in a later version of those environments.
|
||||
|
||||
* *3.7.8-3.7.15, 3.8.4-3.8.12, 3.9.0-3.9.7* : XCode 13.3
|
||||
* *3.6.15* : MacOS 11+ and XCode 13.3
|
||||
* *3.5.10, 3.6.15* : MacOS 11+ and XCode 13.3
|
||||
* *2.7.18* : MacOS 10.15+ and Apple Silicon
|
||||
|
||||
|
||||
@@ -568,6 +570,19 @@ uninstall from the system.
|
||||
brew uninstall pyenv
|
||||
```
|
||||
|
||||
|
||||
## Pyenv plugins
|
||||
|
||||
Pyenv provides a simple, flexible and maintainable way to extend and customize its functionality with plugins --
|
||||
as simple as creating a plugin directory and dropping a shell script on a certain subpath of it
|
||||
with whatever extra logic you need to be run at certain moments.
|
||||
|
||||
See [_Plugins_ on the wiki](https://github.com/pyenv/pyenv/wiki/Plugins) on how to install and use plugins
|
||||
as well as a catalog of some useful existing plugins for common needs.
|
||||
|
||||
See [_Authoring plugins_ on the wiki](https://github.com/pyenv/pyenv/wiki/Authoring-plugins) on writing your own plugins.
|
||||
|
||||
|
||||
## Advanced Configuration
|
||||
|
||||
Skip this section unless you must know what every line in your shell
|
||||
@@ -660,7 +675,6 @@ for environment variables that can be used to customize the build.
|
||||
|
||||
----
|
||||
|
||||
|
||||
## Development
|
||||
|
||||
The pyenv source code is [hosted on
|
||||
|
||||
@@ -29,7 +29,7 @@ if enable -f "${BASH_SOURCE%/*}"/../libexec/pyenv-realpath.dylib realpath 2>/dev
|
||||
else
|
||||
[ -z "$PYENV_NATIVE_EXT" ] || abort "failed to load \`realpath' builtin"
|
||||
|
||||
READLINK=$(type -P greadlink readlink | head -1)
|
||||
READLINK=$(type -P readlink)
|
||||
[ -n "$READLINK" ] || abort "cannot find readlink - are you missing GNU coreutils?"
|
||||
|
||||
resolve_link() {
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
version="2.3.11"
|
||||
version="2.3.35"
|
||||
git_revision=""
|
||||
|
||||
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
||||
|
||||
@@ -46,7 +46,7 @@ extract_initial_comment_block() {
|
||||
collect_documentation() {
|
||||
# `tail` prevents "broken pipe" errors due to `head` closing the pipe without reading everything
|
||||
# https://superuser.com/questions/554855/how-can-i-fix-a-broken-pipe-error/642932#642932
|
||||
$(type -P gawk awk | tail -n +1 | head -1) '
|
||||
$(type -P gawk awk | tail -n +1 | head -n1) '
|
||||
/^Summary:/ {
|
||||
summary = substr($0, 10)
|
||||
next
|
||||
|
||||
@@ -26,7 +26,7 @@ if ! enable -f "${BASH_SOURCE%/*}"/pyenv-realpath.dylib realpath 2>/dev/null; th
|
||||
echo "pyenv: failed to load \`realpath' builtin" >&2
|
||||
exit 1
|
||||
fi
|
||||
READLINK=$(type -P greadlink readlink | head -1)
|
||||
READLINK=$(type -P readlink)
|
||||
if [ -z "$READLINK" ]; then
|
||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||
exit 1
|
||||
|
||||
@@ -109,7 +109,12 @@ function detect_profile() {
|
||||
profile='~/.zprofile'
|
||||
rc='~/.zshrc'
|
||||
;;
|
||||
ksh )
|
||||
ksh | ksh93 | mksh )
|
||||
# There are two implementations of Korn shell: AT&T (ksh93) and Mir (mksh).
|
||||
# Systems may have them installed under those names, or as ksh, so those
|
||||
# are recognized here. The obsolete ksh88 (subsumed by ksh93) and pdksh
|
||||
# (subsumed by mksh) are not included, since they are unlikely to still
|
||||
# be in use as interactive shells anywhere.
|
||||
profile='~/.profile'
|
||||
rc='~/.profile'
|
||||
;;
|
||||
@@ -155,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
|
||||
@@ -269,7 +274,7 @@ function pyenv
|
||||
end
|
||||
EOS
|
||||
;;
|
||||
ksh )
|
||||
ksh | ksh93 | mksh )
|
||||
cat <<EOS
|
||||
function pyenv {
|
||||
typeset command
|
||||
|
||||
@@ -31,12 +31,12 @@ exitcode=0
|
||||
IFS=$'\n'
|
||||
|
||||
if [[ -z $FROM_KNOWN ]]; then
|
||||
DEFINITION_CANDIDATES=( $(pyenv-versions --bare) )
|
||||
DEFINITION_CANDIDATES=( $(pyenv-versions --bare --skip-envs) )
|
||||
else
|
||||
DEFINITION_CANDIDATES=( $(python-build --definitions ) )
|
||||
fi
|
||||
|
||||
if printf '%s\n' "${DEFINITION_CANDIDATES[@]}" | grep -qxFe "$prefix"; then
|
||||
if printf '%s\n' "${DEFINITION_CANDIDATES[@]}" 2>/dev/null | grep -qxFe "$prefix"; then
|
||||
echo "$prefix"
|
||||
exit $exitcode;
|
||||
fi
|
||||
@@ -50,7 +50,7 @@ IFS=$'\n'
|
||||
|
||||
DEFINITION_CANDIDATES=(\
|
||||
$(printf '%s\n' "${DEFINITION_CANDIDATES[@]}" | \
|
||||
sed -E -e '/-dev$/d' -e '/-src$/d' -e '/-latest$/d' -e '/(b|rc)[0-9]+$/d'));
|
||||
sed -E -e '/-dev$/d' -e '/-src$/d' -e '/-latest$/d' -e '/(a|b|rc)[0-9]+$/d'));
|
||||
|
||||
# Compose a sorting key, followed by | and original value
|
||||
DEFINITION_CANDIDATES=(\
|
||||
|
||||
@@ -1,23 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# Summary: List all Python versions available to pyenv
|
||||
# Usage: pyenv versions [--bare] [--skip-aliases]
|
||||
# Usage: pyenv versions [--bare] [--skip-aliases] [--skip-envs]
|
||||
#
|
||||
# Lists all Python versions found in `$PYENV_ROOT/versions/*'.
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
unset bare
|
||||
unset skip_aliases
|
||||
unset bare skip_aliases skip_envs
|
||||
# Provide pyenv completions
|
||||
for arg; do
|
||||
case "$arg" in
|
||||
--complete )
|
||||
echo --bare
|
||||
echo --skip-aliases
|
||||
echo --skip-envs
|
||||
exit ;;
|
||||
--bare ) bare=1 ;;
|
||||
--skip-aliases ) skip_aliases=1 ;;
|
||||
--skip-envs ) skip_envs=1 ;;
|
||||
* )
|
||||
pyenv-help --usage versions >&2
|
||||
exit 1
|
||||
@@ -33,7 +34,7 @@ if ! enable -f "${BASH_SOURCE%/*}"/pyenv-realpath.dylib realpath 2>/dev/null; th
|
||||
exit 1
|
||||
fi
|
||||
|
||||
READLINK=$(type -P greadlink readlink | head -1)
|
||||
READLINK=$(type -P readlink)
|
||||
if [ -z "$READLINK" ]; then
|
||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||
exit 1
|
||||
@@ -70,8 +71,6 @@ else
|
||||
current_versions=()
|
||||
fi
|
||||
if [ -n "$bare" ]; then
|
||||
hit_prefix=""
|
||||
miss_prefix=""
|
||||
include_system=""
|
||||
else
|
||||
hit_prefix="* "
|
||||
@@ -104,12 +103,25 @@ exists() {
|
||||
}
|
||||
|
||||
print_version() {
|
||||
if [[ ${BASH_VERSINFO[0]} -ge 4 && ${current_versions["$1"]} ]]; then
|
||||
echo "${hit_prefix}$1 (set by $(pyenv-version-origin))"
|
||||
elif (( ${BASH_VERSINFO[0]} <= 3 )) && exists "$1" "${current_versions[@]}"; then
|
||||
echo "${hit_prefix}$1 (set by $(pyenv-version-origin))"
|
||||
local version="${1:?}"
|
||||
if [[ -n $bare ]]; then
|
||||
echo "$version"
|
||||
return
|
||||
fi
|
||||
local path="${2:?}"
|
||||
if [[ -L "$path" ]]; then
|
||||
# Only resolve the link itself for printing, do not resolve further.
|
||||
# Doing otherwise would misinform the user of what the link contains.
|
||||
version_repr="$version --> $(readlink "$path")"
|
||||
else
|
||||
echo "${miss_prefix}$1"
|
||||
version_repr="$version"
|
||||
fi
|
||||
if [[ ${BASH_VERSINFO[0]} -ge 4 && ${current_versions["$1"]} ]]; then
|
||||
echo "${hit_prefix}${version_repr} (set by $(pyenv-version-origin))"
|
||||
elif (( ${BASH_VERSINFO[0]} <= 3 )) && exists "$1" "${current_versions[@]}"; then
|
||||
echo "${hit_prefix}${version_repr} (set by $(pyenv-version-origin))"
|
||||
else
|
||||
echo "${miss_prefix}${version_repr}"
|
||||
fi
|
||||
num_versions=$((num_versions + 1))
|
||||
}
|
||||
@@ -119,7 +131,7 @@ if [ -n "$include_system" ] && \
|
||||
(PYENV_VERSION=system pyenv-which python >/dev/null 2>&1 || \
|
||||
PYENV_VERSION=system pyenv-which python3 >/dev/null 2>&1 || \
|
||||
PYENV_VERSION=system pyenv-which python2 >/dev/null 2>&1) ; then
|
||||
print_version system
|
||||
print_version system "/"
|
||||
fi
|
||||
|
||||
shopt -s dotglob nullglob
|
||||
@@ -139,16 +151,18 @@ for path in "${versions_dir_entries[@]}"; do
|
||||
if [ -d "$path" ]; then
|
||||
if [ -n "$skip_aliases" ] && [ -L "$path" ]; then
|
||||
target="$(realpath "$path")"
|
||||
[ "${target%/*}" != "$versions_dir" ] || continue
|
||||
[ "${target%/*/envs/*}" != "$versions_dir" ] || continue
|
||||
[ "${target%/*}" == "$versions_dir" ] && continue
|
||||
[ "${target%/*/envs/*}" == "$versions_dir" ] && continue
|
||||
fi
|
||||
print_version "${path##*/}" "$path"
|
||||
# virtual environments created by anaconda/miniconda/pyenv-virtualenv
|
||||
if [[ -z $skip_envs ]]; then
|
||||
for env_path in "${path}/envs/"*; do
|
||||
if [ -d "${env_path}" ]; then
|
||||
print_version "${env_path#${PYENV_ROOT}/versions/}" "${env_path}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
print_version "${path##*/}"
|
||||
# virtual environments created by anaconda/miniconda
|
||||
for env_path in "${path}/envs/"*; do
|
||||
if [ -d "${env_path}" ]; then
|
||||
print_version "${env_path#${PYENV_ROOT}/versions/}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
shopt -u dotglob nullglob
|
||||
|
||||
@@ -47,12 +47,20 @@ OLDIFS="$IFS"
|
||||
IFS=: versions=(${PYENV_VERSION:-$(pyenv-version-name)})
|
||||
IFS="$OLDIFS"
|
||||
|
||||
declare -a nonexistent_versions
|
||||
|
||||
for version in "${versions[@]}" "$system"; do
|
||||
if [ "$version" = "system" ]; then
|
||||
PATH="$(remove_from_path "${PYENV_ROOT}/shims")"
|
||||
PYENV_COMMAND_PATH="$(command -v "$PYENV_COMMAND" || true)"
|
||||
else
|
||||
PYENV_COMMAND_PATH="${PYENV_ROOT}/versions/${version}/bin/${PYENV_COMMAND}"
|
||||
# $version may be a prefix to be resolved by pyenv-latest
|
||||
version_path="$(pyenv-prefix "${version}" 2>/dev/null)" || \
|
||||
{ nonexistent_versions+=("$version"); continue; }
|
||||
# resolve $version for hooks
|
||||
version="$(basename "$version_path")"
|
||||
PYENV_COMMAND_PATH="$version_path/bin/${PYENV_COMMAND}"
|
||||
unset version_path
|
||||
fi
|
||||
if [ -x "$PYENV_COMMAND_PATH" ]; then
|
||||
break
|
||||
@@ -69,17 +77,10 @@ done
|
||||
if [ -x "$PYENV_COMMAND_PATH" ]; then
|
||||
echo "$PYENV_COMMAND_PATH"
|
||||
else
|
||||
any_not_installed=0
|
||||
for version in "${versions[@]}"; do
|
||||
if [ "$version" = "system" ]; then
|
||||
continue
|
||||
fi
|
||||
if ! [ -d "${PYENV_ROOT}/versions/${version}" ]; then
|
||||
if (( ${#nonexistent_versions[@]} )); then
|
||||
for version in "${nonexistent_versions[@]}"; do
|
||||
echo "pyenv: version \`$version' is not installed (set by $(pyenv-version-origin))" >&2
|
||||
any_not_installed=1
|
||||
fi
|
||||
done
|
||||
if [ "$any_not_installed" = 1 ]; then
|
||||
done
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH PYENV 1 "12 Dec 2020" "PYENV"
|
||||
.TH PYENV 1 "24 Apr 2023" "PYENV"
|
||||
.SH NAME
|
||||
pyenv \- Simple Python version management
|
||||
.SH SYNOPSIS
|
||||
@@ -12,10 +12,12 @@ pyenv lets you easily switch between multiple versions of Python\. It's simple,
|
||||
\fBAppend\fR the following to \fB$HOME/.bashrc\fR
|
||||
.P
|
||||
.RS 15
|
||||
source /usr/share/pyenv/pyenv_user_setup.bash
|
||||
.nf
|
||||
if command -v pyenv 1>/dev/null 2>&1; then\n
|
||||
eval "$(pyenv init -)" \n
|
||||
fi
|
||||
.fi
|
||||
.RE
|
||||
.\"OR
|
||||
.\"\fBsh echo \-e \if command \-v pyenv 1>/dev/null 2>&1; then\en eval "$(pyenv init \-)"\enfi' >> ~/\.bashrc\fR
|
||||
.RS 3
|
||||
.P
|
||||
.nh
|
||||
@@ -232,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
|
||||
|
||||
1
plugins/.gitignore
vendored
1
plugins/.gitignore
vendored
@@ -2,3 +2,4 @@
|
||||
!/.gitignore
|
||||
!/version-ext-compat
|
||||
!/python-build
|
||||
/python-build/test/build
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -59,7 +59,7 @@ usage() {
|
||||
|
||||
definitions() {
|
||||
local query="$1"
|
||||
python-build --definitions | $(type -P ggrep grep | head -1) -F "$query" || true
|
||||
python-build --definitions | $(type -P ggrep grep | head -n1) -F "$query" || true
|
||||
}
|
||||
|
||||
indent() {
|
||||
@@ -120,8 +120,8 @@ unset VERSION_NAME
|
||||
# version is specified by pyenv. Show usage instructions if a local
|
||||
# version is not specified.
|
||||
DEFINITIONS=("${ARGUMENTS[@]}")
|
||||
[ -n "${DEFINITIONS[*]}" ] || DEFINITIONS=($(pyenv-local 2>/dev/null || true))
|
||||
[ -n "${DEFINITIONS[*]}" ] || usage 1 >&2
|
||||
[[ "${#DEFINITIONS[*]}" -eq 0 ]] && DEFINITIONS=($(pyenv-local 2>/dev/null || true))
|
||||
[[ "${#DEFINITIONS[*]}" -eq 0 ]] && usage 1 >&2
|
||||
|
||||
# Define `before_install` and `after_install` functions that allow
|
||||
# plugin hooks to register a string of code for execution before or
|
||||
@@ -151,7 +151,10 @@ IFS=$'\n' scripts=(`pyenv-hooks install`)
|
||||
IFS="$OLDIFS"
|
||||
for script in "${scripts[@]}"; do source "$script"; done
|
||||
|
||||
for DEFINITION in "${DEFINITIONS[@]}";do
|
||||
COMBINED_STATUS=0
|
||||
for DEFINITION in "${DEFINITIONS[@]}"; do
|
||||
STATUS=0
|
||||
|
||||
# Try to resolve a prefix if user indeed gave a prefix.
|
||||
# We install the version under the resolved name
|
||||
# and hooks also see the resolved name
|
||||
@@ -173,7 +176,7 @@ for DEFINITION in "${DEFINITIONS[@]}";do
|
||||
|
||||
case "$REPLY" in
|
||||
y | Y | yes | YES ) ;;
|
||||
* ) exit 1 ;;
|
||||
* ) { STATUS=1; [[ $STATUS -gt $COMBINED_STATUS ]] && COMBINED_STATUS=$STATUS; }; continue ;;
|
||||
esac
|
||||
elif [ -n "$SKIP_EXISTING" ]; then
|
||||
# Since we know the python version is already installed, and are opting to
|
||||
@@ -247,8 +250,8 @@ for DEFINITION in "${DEFINITIONS[@]}";do
|
||||
for hook in "${before_hooks[@]}"; do eval "$hook"; done
|
||||
|
||||
# Invoke `python-build` and record the exit status in $STATUS.
|
||||
STATUS=0
|
||||
python-build $KEEP $VERBOSE $HAS_PATCH $DEBUG "$DEFINITION" "$PREFIX" || STATUS="$?"
|
||||
python-build $KEEP $VERBOSE $HAS_PATCH $DEBUG "$DEFINITION" "$PREFIX" || \
|
||||
{ STATUS=$?; [[ $STATUS -gt $COMBINED_STATUS ]] && COMBINED_STATUS=$STATUS; }
|
||||
|
||||
# Display a more helpful message if the definition wasn't found.
|
||||
if [ "$STATUS" == "2" ]; then
|
||||
@@ -279,13 +282,14 @@ for DEFINITION in "${DEFINITIONS[@]}";do
|
||||
for hook in "${after_hooks[@]}"; do eval "$hook"; done
|
||||
|
||||
# Run `pyenv-rehash` after a successful installation.
|
||||
if [ "$STATUS" == "0" ]; then
|
||||
if [[ $STATUS -eq 0 ]]; then
|
||||
pyenv-rehash
|
||||
else
|
||||
break
|
||||
cleanup
|
||||
break
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
exit "${STATUS:-0}"
|
||||
|
||||
exit "${COMBINED_STATUS}"
|
||||
|
||||
@@ -56,9 +56,14 @@ lib() {
|
||||
}
|
||||
lib "$1"
|
||||
|
||||
READLINK=$(type -P readlink)
|
||||
if [ -z "$READLINK" ]; then
|
||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
resolve_link() {
|
||||
$(type -P greadlink readlink | head -1) "$1"
|
||||
$READLINK "$1"
|
||||
}
|
||||
|
||||
abs_dirname() {
|
||||
@@ -102,7 +107,7 @@ os_information() {
|
||||
source /etc/os-release
|
||||
echo "$NAME" $VERSION_ID
|
||||
else
|
||||
local os="$(cat /etc/{centos,redhat,fedora,system}-release /etc/debian_version 2>/dev/null | head -1)"
|
||||
local os="$(cat /etc/{centos,redhat,fedora,system}-release /etc/debian_version 2>/dev/null | head -n1)"
|
||||
echo "${os:-$(uname -sr)}"
|
||||
fi
|
||||
}
|
||||
@@ -256,7 +261,7 @@ compute_sha2() {
|
||||
output="$(shasum -a 256 -b)" || return 1
|
||||
echo "${output% *}"
|
||||
elif type openssl &>/dev/null; then
|
||||
local openssl="$(command -v "$(brew --prefix openssl 2>/dev/null || true)"/bin/openssl openssl | head -1)"
|
||||
local openssl="$(command -v "$(brew --prefix openssl 2>/dev/null || true)"/bin/openssl openssl | head -n1)"
|
||||
output="$("$openssl" dgst -sha256 2>/dev/null)" || return 1
|
||||
echo "${output##* }"
|
||||
elif type sha256sum &>/dev/null; then
|
||||
@@ -798,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
|
||||
@@ -867,7 +873,7 @@ build_package_jython() {
|
||||
fix_jython_shebangs() {
|
||||
# Workaround for Jython 2.7+ (#458)
|
||||
for file in "${PREFIX_PATH}/bin"/*; do
|
||||
case "$(head -1 "${file}")" in
|
||||
case "$(head -n1 "${file}")" in
|
||||
"#!"*"/bin/jython" )
|
||||
sed -i.bak "1 s:.*:#\!${PREFIX_PATH}\/bin\/jython:" "${file}"
|
||||
;;
|
||||
@@ -1144,7 +1150,7 @@ fix_directory_permissions() {
|
||||
}
|
||||
|
||||
require_java7() {
|
||||
local version="$(java -version 2>&1 | grep '\(java\|openjdk\) version' | head -1)"
|
||||
local version="$(java -version 2>&1 | grep '\(java\|openjdk\) version' | head -n1)"
|
||||
if [[ $version != *[789]* ]]; then
|
||||
colorize 1 "ERROR" >&3
|
||||
echo ": Java 7 required. Please install a 1.7-compatible JRE." >&3
|
||||
@@ -1199,7 +1205,7 @@ require_gcc() {
|
||||
|
||||
export CC="$gcc"
|
||||
if is_mac -ge 1010; then
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.9
|
||||
export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET:-10.9}
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -1415,7 +1421,7 @@ use_freebsd_pkg() {
|
||||
# check if FreeBSD
|
||||
if [ "FreeBSD" = "$(uname -s)" ]; then
|
||||
# use openssl if installed from Ports Collection
|
||||
if [ -f /usr/local/include/openssl/ssl.h ]; then
|
||||
if pkg info -e openssl; then
|
||||
package_option python configure --with-openssl="/usr/local"
|
||||
fi
|
||||
|
||||
@@ -1463,12 +1469,30 @@ 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}"
|
||||
export PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA
|
||||
}
|
||||
|
||||
prefer_openssl3() {
|
||||
# Allow overriding the preference of OpenSSL version per definition basis (#1302, #1325, #1326)
|
||||
PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA="${PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA:-openssl@3 openssl@1.1 openssl}"
|
||||
export PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA
|
||||
}
|
||||
|
||||
build_package_mac_readline() {
|
||||
# Install to a subdirectory since we don't want shims for bin/readline.
|
||||
READLINE_PREFIX_PATH="${PREFIX_PATH}/readline"
|
||||
@@ -1587,7 +1611,7 @@ build_package_verify_openssl() {
|
||||
RbConfig::CONFIG.fetch("configure_args").shellsplit.each { |arg| $stderr.puts " #{arg}" }
|
||||
exit 1
|
||||
end
|
||||
' "$(basename "$(type -P yum apt-get | head -1)")" >&4 2>&1
|
||||
' "$(basename "$(type -P yum apt-get | head -n1)")" >&4 2>&1
|
||||
}
|
||||
|
||||
use_homebrew_zlib() {
|
||||
@@ -1605,7 +1629,10 @@ 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"
|
||||
export CFLAGS="${CFLAGS:+$CFLAGS }-I${xc_sdk_path}/usr/include"
|
||||
# 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"
|
||||
fi
|
||||
@@ -1621,7 +1648,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
|
||||
@@ -1742,9 +1777,9 @@ apply_patch() {
|
||||
|
||||
|
||||
build_package_symlink_version_suffix() {
|
||||
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
||||
if [[ "${PYTHON_CONFIGURE_OPTS_ARRAY[*]} $CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
||||
if [ -e "${PREFIX_PATH}/bin" ]; then
|
||||
# Always create `bin` as symlink to framework path if the version was built with `--enable-frameowrk` (#590)
|
||||
# Always create `bin` as symlink to framework path if the version was built with `--enable-framework` (#590)
|
||||
rm -rf "${PREFIX_PATH}/bin.orig"
|
||||
mv -f "${PREFIX_PATH}/bin" "${PREFIX_PATH}/bin.orig"
|
||||
fi
|
||||
@@ -1953,6 +1988,11 @@ build_package_verify_py312() {
|
||||
build_package_verify_py311 "$1" "${2:-3.12}"
|
||||
}
|
||||
|
||||
# Post-install check for Python 3.13.x
|
||||
build_package_verify_py313() {
|
||||
build_package_verify_py312 "$1" "${2:-3.13}"
|
||||
}
|
||||
|
||||
# Post-install check for Python 3.x rolling release scripts
|
||||
# XXX: Will need splitting into project-specific ones if there emerge
|
||||
# multiple rolling-release scripts with different checks needed
|
||||
@@ -2008,14 +2048,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" -s -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
|
||||
}
|
||||
|
||||
@@ -2208,8 +2257,8 @@ package_option python configure --libdir="${PREFIX_PATH}/lib"
|
||||
# python-build: Set `RPATH` if `--enable-shared` was given (#65, #66, #82)
|
||||
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="* ]] && ! is_mac; then
|
||||
export LDFLAGS="-Wl,-rpath=${PREFIX_PATH}/lib${LDFLAGS:+ $LDFLAGS}"
|
||||
if [[ "$LDFLAGS" != *"-rpath="* ]] ; then
|
||||
export LDFLAGS="-Wl,-rpath,${PREFIX_PATH}/lib${LDFLAGS:+ $LDFLAGS}"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -2219,6 +2268,7 @@ if [[ "$PYPY_OPTS" == *"--shared"* ]]; then
|
||||
fi
|
||||
|
||||
# Add support for framework installation (`--enable-framework`) of CPython (#55, #99)
|
||||
shopt -s extglob
|
||||
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
||||
if ! is_mac; then
|
||||
echo "python-build: framework installation is not supported outside of MacOS." >&2
|
||||
@@ -2237,15 +2287,29 @@ if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; the
|
||||
create_framework_dirs "${DEFINITION_PATH##*/}"
|
||||
# the `/Library/Frameworks` suffix makes CPython build install apps under prefix rather than into /Applications (#1003)
|
||||
package_option python configure --enable-framework="${PREFIX_PATH}/Library/Frameworks"
|
||||
|
||||
#FIXME: doesn't properly handle paths with spaces. Fix by parsing *OPTS into arrays.
|
||||
CONFIGURE_OPTS="${CONFIGURE_OPTS//--enable-framework?(=*([^ ]))?( )/}";
|
||||
CONFIGURE_OPTS="${CONFIGURE_OPTS% }"
|
||||
PYTHON_CONFIGURE_OPTS="${PYTHON_CONFIGURE_OPTS//--enable-framework?(=*([^ ]))?( )/}";
|
||||
PYTHON_CONFIGURE_OPTS="${PYTHON_CONFIGURE_OPTS% }"
|
||||
fi
|
||||
shopt -u extglob
|
||||
|
||||
# Build against universal SDK
|
||||
shopt -s extglob
|
||||
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-universalsdk"* ]]; then
|
||||
if ! is_mac; then
|
||||
echo "python-build: universal installation is not supported outside of MacOS." >&2
|
||||
exit 1
|
||||
fi
|
||||
package_option python configure --enable-universalsdk=/
|
||||
#FIXME: doesn't properly handle paths with spaces. Fix by parsing *OPTS into arrays.
|
||||
CONFIGURE_OPTS="${CONFIGURE_OPTS//--enable-universalsdk?(=*([^ ]))?( )/}"
|
||||
CONFIGURE_OPTS="${CONFIGURE_OPTS% }"
|
||||
PYTHON_CONFIGURE_OPTS="${PYTHON_CONFIGURE_OPTS//--enable-universalsdk?(=*([^ ]))?( )/}"
|
||||
PYTHON_CONFIGURE_OPTS="${PYTHON_CONFIGURE_OPTS% }"
|
||||
|
||||
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" != *"--with-universal-archs"* ]]; then
|
||||
# in CPython's configure.ac, --with-universal-archs defaults to 'intel' which means i386 + x86_64
|
||||
# since 2.7.5 and 3.3.0 -- i.e. in all non-EOL versions
|
||||
@@ -2255,6 +2319,7 @@ if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-universalsdk"* ]];
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
shopt -u extglob
|
||||
|
||||
# Compile with `--enable-unicode=ucs4` by default (#257)
|
||||
if [[ "$PYTHON_CONFIGURE_OPTS" != *"--enable-unicode="* ]]; then
|
||||
@@ -2305,7 +2370,7 @@ if [ -z "${GET_PIP_URL}" ]; then
|
||||
2.6 | 2.6.* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/2.6/get-pip.py"
|
||||
;;
|
||||
2.7 | 2.7.* )
|
||||
2.7 | 2.7.* | pypy2.7 | pypy2.7-* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/2.7/get-pip.py"
|
||||
;;
|
||||
3.2 | 3.2.* )
|
||||
@@ -2317,10 +2382,10 @@ if [ -z "${GET_PIP_URL}" ]; then
|
||||
3.4 | 3.4.* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.4/get-pip.py"
|
||||
;;
|
||||
3.5 | 3.5.* )
|
||||
3.5 | 3.5.* | pypy3.5 | pypy3.5-* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.5/get-pip.py"
|
||||
;;
|
||||
3.6 | 3.6.* )
|
||||
3.6 | 3.6.* | pypy3.6 | pypy3.6-* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.6/get-pip.py"
|
||||
;;
|
||||
* )
|
||||
|
||||
@@ -109,6 +109,7 @@ class PyVersion(StrEnum):
|
||||
PY38 = "py38"
|
||||
PY39 = "py39"
|
||||
PY310 = "py310"
|
||||
PY311 = "py311"
|
||||
|
||||
def version(self):
|
||||
first, *others = self.value[2:]
|
||||
@@ -150,20 +151,23 @@ class CondaVersion(NamedTuple):
|
||||
"""
|
||||
Convert a string of the form "miniconda_n-ver" or "miniconda_n-py_ver-ver" to a :class:`CondaVersion` object.
|
||||
"""
|
||||
components = s.split("-")
|
||||
if len(components) == 3:
|
||||
miniconda_n, py_ver, ver = components
|
||||
py_ver = PyVersion(f"py{py_ver.replace('.', '')}")
|
||||
else:
|
||||
miniconda_n, ver = components
|
||||
py_ver = None
|
||||
|
||||
miniconda_n, _, remainder = s.partition("-")
|
||||
suffix = miniconda_n[-1]
|
||||
if suffix in string.digits:
|
||||
flavor = miniconda_n[:-1]
|
||||
else:
|
||||
flavor = miniconda_n
|
||||
suffix = ""
|
||||
|
||||
components = remainder.split("-")
|
||||
if flavor == Flavor.MINICONDA and len(components) >= 2:
|
||||
py_ver, *ver_parts = components
|
||||
py_ver = PyVersion(f"py{py_ver.replace('.', '')}")
|
||||
ver = "-".join(ver_parts)
|
||||
else:
|
||||
ver = "-".join(components)
|
||||
py_ver = None
|
||||
|
||||
return CondaVersion(Flavor(flavor), Suffix(suffix), VersionStr(ver), py_ver)
|
||||
|
||||
def to_filename(self):
|
||||
@@ -189,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):
|
||||
@@ -200,7 +208,7 @@ class CondaVersion(NamedTuple):
|
||||
return PyVersion.PY37
|
||||
return PyVersion.PY36
|
||||
|
||||
raise ValueError(flavor)
|
||||
raise ValueError(self.flavor)
|
||||
|
||||
|
||||
class CondaSpec(NamedTuple):
|
||||
@@ -289,7 +297,7 @@ def get_existing_condas(name):
|
||||
logger.debug("Found existing %(name)s version %(v)s", locals())
|
||||
yield v
|
||||
except ValueError:
|
||||
pass
|
||||
logger.error("Unable to parse existing version %s", entry_name)
|
||||
|
||||
|
||||
def get_available_condas(name, repo):
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
export PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA="openssl@1.1 openssl@1.0 openssl"
|
||||
install_package "openssl-1.0.2q" "https://www.openssl.org/source/old/1.0.2/openssl-1.0.2q.tar.gz#5744cfcbcec2b1b48629f7354203bc1e5e9b5466998bbccc5b5fcde3b18eb684" mac_openssl --if has_broken_mac_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
|
||||
|
||||
9
plugins/python-build/share/python-build/3.10.10
Normal file
9
plugins/python-build/share/python-build/3.10.10
Normal file
@@ -0,0 +1,9 @@
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-1.1.1o" "https://www.openssl.org/source/openssl-1.1.1o.tar.gz#9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.10.10" "https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tar.xz#0419e9085bf51b7a672009b3f50dbf1859acdf18ba725d0ec19aa5c8503f0ea3" standard verify_py310 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.10.10" "https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tgz#fba64559dde21ebdc953e4565e731573bb61159de8e4d4cedee70fb1196f610d" standard verify_py310 copy_python_gdb ensurepip
|
||||
fi
|
||||
9
plugins/python-build/share/python-build/3.10.11
Normal file
9
plugins/python-build/share/python-build/3.10.11
Normal file
@@ -0,0 +1,9 @@
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-1.1.1o" "https://www.openssl.org/source/openssl-1.1.1o.tar.gz#9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.10.11" "https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tar.xz#3c3bc3048303721c904a03eb8326b631e921f11cc3be2988456a42f115daf04c" standard verify_py310 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.10.11" "https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz#f3db31b668efa983508bd67b5712898aa4247899a346f2eb745734699ccd3859" standard verify_py310 copy_python_gdb ensurepip
|
||||
fi
|
||||
9
plugins/python-build/share/python-build/3.10.12
Normal file
9
plugins/python-build/share/python-build/3.10.12
Normal file
@@ -0,0 +1,9 @@
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-1.1.1o" "https://www.openssl.org/source/openssl-1.1.1o.tar.gz#9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.10.12" "https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tar.xz#afb74bf19130e7a47d10312c8f5e784f24e0527981eab68e20546cfb865830b8" standard verify_py310 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.10.12" "https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz#a43cd383f3999a6f4a7db2062b2fc9594fefa73e175b3aedafa295a51a7bb65c" standard verify_py310 copy_python_gdb ensurepip
|
||||
fi
|
||||
9
plugins/python-build/share/python-build/3.10.13
Normal file
9
plugins/python-build/share/python-build/3.10.13
Normal file
@@ -0,0 +1,9 @@
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-1.1.1o" "https://www.openssl.org/source/openssl-1.1.1o.tar.gz#9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.10.13" "https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tar.xz#5c88848668640d3e152b35b4536ef1c23b2ca4bd2c957ef1ecbb053f571dd3f6" standard verify_py310 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.10.13" "https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz#698ec55234c1363bd813b460ed53b0f108877c7a133d48bde9a50a1eb57b7e65" standard verify_py310 copy_python_gdb ensurepip
|
||||
fi
|
||||
@@ -1,9 +1,10 @@
|
||||
prefer_openssl11
|
||||
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 "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.0a4" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0a4.tar.xz#b9176c46b1cd21dbdcb31bbbab6169faa92da9acc5f35bd4a009879ac74cf6af" standard verify_py312 copy_python_gdb ensurepip
|
||||
install_package "Python-3.11.2" "https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tar.xz#29e4b8f5f1658542a8c13e2dd277358c9c48f2b2f7318652ef1675e402b9d2af" standard verify_py311 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.12.0a4" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0a4.tgz#d9d9cbebc745ecaf5cae6b4004a84692154183b729954d3a421fba3d2a541d59" standard verify_py312 copy_python_gdb ensurepip
|
||||
install_package "Python-3.11.2" "https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tgz#2411c74bda5bbcfcddaf4531f66d1adc73f247f529aee981b029513aefdbf849" standard verify_py311 copy_python_gdb ensurepip
|
||||
fi
|
||||
10
plugins/python-build/share/python-build/3.11.3
Normal file
10
plugins/python-build/share/python-build/3.11.3
Normal file
@@ -0,0 +1,10 @@
|
||||
prefer_openssl11
|
||||
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 "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.3" "https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tar.xz#8a5db99c961a7ecf27c75956189c9602c968751f11dbeae2b900dbff1c085b5e" standard verify_py311 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.11.3" "https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz#1a79f3df32265d9e6625f1a0b31c28eb1594df911403d11f3320ee1da1b3e048" standard verify_py311 copy_python_gdb ensurepip
|
||||
fi
|
||||
10
plugins/python-build/share/python-build/3.11.4
Normal file
10
plugins/python-build/share/python-build/3.11.4
Normal file
@@ -0,0 +1,10 @@
|
||||
prefer_openssl11
|
||||
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 "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.4" "https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tar.xz#2f0e409df2ab57aa9fc4cbddfb976af44e4e55bf6f619eee6bc5c2297264a7f6" standard verify_py311 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.11.4" "https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz#85c37a265e5c9dd9f75b35f954e31fbfc10383162417285e30ad25cc073a0d63" standard verify_py311 copy_python_gdb ensurepip
|
||||
fi
|
||||
10
plugins/python-build/share/python-build/3.11.5
Normal file
10
plugins/python-build/share/python-build/3.11.5
Normal file
@@ -0,0 +1,10 @@
|
||||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
||||
install_package "openssl-3.2.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
|
||||
else
|
||||
install_package "Python-3.11.5" "https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz#a12a0a013a30b846c786c010f2c19dd36b7298d888f7c4bd1581d90ce18b5e58" standard verify_py311 copy_python_gdb ensurepip
|
||||
fi
|
||||
10
plugins/python-build/share/python-build/3.11.6
Normal file
10
plugins/python-build/share/python-build/3.11.6
Normal file
@@ -0,0 +1,10 @@
|
||||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
||||
install_package "openssl-3.2.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
|
||||
10
plugins/python-build/share/python-build/3.11.7
Normal file
10
plugins/python-build/share/python-build/3.11.7
Normal file
@@ -0,0 +1,10 @@
|
||||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
||||
install_package "openssl-3.2.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
|
||||
@@ -1,7 +1,7 @@
|
||||
prefer_openssl11
|
||||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_DSYMUTIL=1
|
||||
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
|
||||
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.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline
|
||||
install_git "Python-3.12-dev" "https://github.com/python/cpython" main standard verify_py312 copy_python_gdb ensurepip
|
||||
install_git "Python-3.12-dev" "https://github.com/python/cpython" 3.12 standard verify_py312 copy_python_gdb ensurepip
|
||||
|
||||
9
plugins/python-build/share/python-build/3.12.0
Normal file
9
plugins/python-build/share/python-build/3.12.0
Normal 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.0" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz#795c34f44df45a0e9b9710c8c71c15c671871524cd412ca14def212e8ccb155d" standard verify_py312 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.12.0" "https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz#51412956d24a1ef7c97f1cb5f70e185c13e3de1f50d131c0aac6338080687afb" standard verify_py312 copy_python_gdb ensurepip
|
||||
fi
|
||||
9
plugins/python-build/share/python-build/3.12.1
Normal file
9
plugins/python-build/share/python-build/3.12.1
Normal 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
|
||||
7
plugins/python-build/share/python-build/3.13-dev
Normal file
7
plugins/python-build/share/python-build/3.13-dev
Normal file
@@ -0,0 +1,7 @@
|
||||
prefer_openssl3
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
export PYTHON_BUILD_TCLTK_USE_PKGCONFIG=1
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_DSYMUTIL=1
|
||||
install_package "openssl-3.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.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline
|
||||
install_git "Python-3.13-dev" "https://github.com/python/cpython" main standard verify_py313 copy_python_gdb ensurepip
|
||||
9
plugins/python-build/share/python-build/3.13.0a2
Normal file
9
plugins/python-build/share/python-build/3.13.0a2
Normal 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.0a2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a2.tar.xz#b6d46b44190c4c02421eb69a042d16b0c55481bdda818c6c416dc244113a9c2d" standard verify_py313 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.13.0a2" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0a2.tgz#9a3c363589ec882f2d1ff008f29f66231ccb552366dd9d8041a65c7e799cbafd" standard verify_py313 copy_python_gdb ensurepip
|
||||
fi
|
||||
9
plugins/python-build/share/python-build/3.7.17
Normal file
9
plugins/python-build/share/python-build/3.7.17
Normal file
@@ -0,0 +1,9 @@
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-1.1.1u" "https://www.openssl.org/source/openssl-1.1.1u.tar.gz#e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.7.17" "https://www.python.org/ftp/python/3.7.17/Python-3.7.17.tar.xz#7911051ed0422fd54b8f59ffc030f7cf2ae30e0f61bda191800bb040dce4f9d2" standard verify_py37 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.7.17" "https://www.python.org/ftp/python/3.7.17/Python-3.7.17.tgz#fd50161bc2a04f4c22a0971ff0f3856d98b4bf294f89740a9f06b520aae63b49" standard verify_py37 copy_python_gdb ensurepip
|
||||
fi
|
||||
12
plugins/python-build/share/python-build/3.8.17
Normal file
12
plugins/python-build/share/python-build/3.8.17
Normal file
@@ -0,0 +1,12 @@
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
# Avoid a compilation error when linking against OpenSSL built with SSLv3 support (fixed in 3.10.0) (#2181)
|
||||
export PYTHON_CFLAGS="-DOPENSSL_NO_SSL3${PYTHON_CFLAGS:+ $PYTHON_CFLAGS}"
|
||||
|
||||
install_package "openssl-1.1.1u" "https://www.openssl.org/source/openssl-1.1.1u.tar.gz#e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.8.17" "https://www.python.org/ftp/python/3.8.17/Python-3.8.17.tar.xz#2e54b0c68191f16552f6de2e97a2396540572a219f6bbb28591a137cecc490a9" standard verify_py38 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.8.17" "https://www.python.org/ftp/python/3.8.17/Python-3.8.17.tgz#def428fa6cf61b66bcde72e3d9f7d07d33b2e4226f04f9d6fce8384c055113ae" standard verify_py38 copy_python_gdb ensurepip
|
||||
fi
|
||||
12
plugins/python-build/share/python-build/3.8.18
Normal file
12
plugins/python-build/share/python-build/3.8.18
Normal file
@@ -0,0 +1,12 @@
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
# Avoid a compilation error when linking against OpenSSL built with SSLv3 support (fixed in 3.10.0) (#2181)
|
||||
export PYTHON_CFLAGS="-DOPENSSL_NO_SSL3${PYTHON_CFLAGS:+ $PYTHON_CFLAGS}"
|
||||
|
||||
install_package "openssl-1.1.1u" "https://www.openssl.org/source/openssl-1.1.1u.tar.gz#e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.8.18" "https://www.python.org/ftp/python/3.8.18/Python-3.8.18.tar.xz#3ffb71cd349a326ba7b2fadc7e7df86ba577dd9c4917e52a8401adbda7405e3f" standard verify_py38 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.8.18" "https://www.python.org/ftp/python/3.8.18/Python-3.8.18.tgz#7c5df68bab1be81a52dea0cc2e2705ea00553b67107a301188383d7b57320b16" standard verify_py38 copy_python_gdb ensurepip
|
||||
fi
|
||||
12
plugins/python-build/share/python-build/3.9.17
Normal file
12
plugins/python-build/share/python-build/3.9.17
Normal file
@@ -0,0 +1,12 @@
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
# Avoid a compilation error when linking against OpenSSL built with SSLv3 support (fixed in 3.10.0) (#2181)
|
||||
export PYTHON_CFLAGS="-DOPENSSL_NO_SSL3${PYTHON_CFLAGS:+ $PYTHON_CFLAGS}"
|
||||
|
||||
install_package "openssl-1.1.1u" "https://www.openssl.org/source/openssl-1.1.1u.tar.gz#e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.9.17" "https://www.python.org/ftp/python/3.9.17/Python-3.9.17.tar.xz#30ce057c44f283f8ed93606ccbdb8d51dd526bdc4c62cce5e0dc217bfa3e8cee" standard verify_py39 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.9.17" "https://www.python.org/ftp/python/3.9.17/Python-3.9.17.tgz#8ead58f669f7e19d777c3556b62fae29a81d7f06a7122ff9bc57f7dd82d7e014" standard verify_py39 copy_python_gdb ensurepip
|
||||
fi
|
||||
12
plugins/python-build/share/python-build/3.9.18
Normal file
12
plugins/python-build/share/python-build/3.9.18
Normal file
@@ -0,0 +1,12 @@
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
# Avoid a compilation error when linking against OpenSSL built with SSLv3 support (fixed in 3.10.0) (#2181)
|
||||
export PYTHON_CFLAGS="-DOPENSSL_NO_SSL3${PYTHON_CFLAGS:+ $PYTHON_CFLAGS}"
|
||||
|
||||
install_package "openssl-1.1.1u" "https://www.openssl.org/source/openssl-1.1.1u.tar.gz#e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
if has_tar_xz_support; then
|
||||
install_package "Python-3.9.18" "https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tar.xz#01597db0132c1cf7b331eff68ae09b5a235a3c3caa9c944c29cac7d1c4c4c00a" standard verify_py39 copy_python_gdb ensurepip
|
||||
else
|
||||
install_package "Python-3.9.18" "https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tgz#504ce8cfd59addc04c22f590377c6be454ae7406cb1ebf6f5a350149225a9354" standard verify_py39 copy_python_gdb ensurepip
|
||||
fi
|
||||
28
plugins/python-build/share/python-build/anaconda3-2023.03
Normal file
28
plugins/python-build/share/python-build/anaconda3-2023.03
Normal file
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Anaconda3-2023.03-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-aarch64.sh#613797154d9383355677f7dfee10db32b2c327cbedabddcb303598f242c79883" "anaconda" verify_py310
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Anaconda3-2023.03-Linux-ppc64le" "https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-ppc64le.sh#eafeaccca96f60ebb0aa0052d9baac8eaa2ee422358ee35b12f60f37e8a3ebb2" "anaconda" verify_py310
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Anaconda3-2023.03-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-s390x.sh#2648337081c3ce4b760457c5f00fb768ecd7d1d0957051ef5252ab380bb78233" "anaconda" verify_py310
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda3-2023.03-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh#19737d5c27b23a1d8740c5cb2414bf6253184ce745d0a912bb235a212a15e075" "anaconda" verify_py310
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Anaconda3-2023.03-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-MacOSX-arm64.sh#d27ee5432438972e90548e3dfa89490c5dc38a723f4dcd53061f0bd9d53b1bd0" "anaconda" verify_py310
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda3-2023.03-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-MacOSX-x86_64.sh#cc37b1eb85bdc2ade3f95201a746cdc63ee4fbfae48ee9d0c7a3cf319562452d" "anaconda" verify_py310
|
||||
;;
|
||||
* )
|
||||
{ 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
|
||||
28
plugins/python-build/share/python-build/anaconda3-2023.03-0
Normal file
28
plugins/python-build/share/python-build/anaconda3-2023.03-0
Normal file
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Anaconda3-2023.03-0-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-0-Linux-aarch64.sh#613797154d9383355677f7dfee10db32b2c327cbedabddcb303598f242c79883" "anaconda" verify_py39
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Anaconda3-2023.03-0-Linux-ppc64le" "https://repo.anaconda.com/archive/Anaconda3-2023.03-0-Linux-ppc64le.sh#eafeaccca96f60ebb0aa0052d9baac8eaa2ee422358ee35b12f60f37e8a3ebb2" "anaconda" verify_py39
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Anaconda3-2023.03-0-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2023.03-0-Linux-s390x.sh#2648337081c3ce4b760457c5f00fb768ecd7d1d0957051ef5252ab380bb78233" "anaconda" verify_py39
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda3-2023.03-0-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-0-Linux-x86_64.sh#19737d5c27b23a1d8740c5cb2414bf6253184ce745d0a912bb235a212a15e075" "anaconda" verify_py39
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Anaconda3-2023.03-0-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-0-MacOSX-arm64.sh#d27ee5432438972e90548e3dfa89490c5dc38a723f4dcd53061f0bd9d53b1bd0" "anaconda" verify_py39
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda3-2023.03-0-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-0-MacOSX-x86_64.sh#cc37b1eb85bdc2ade3f95201a746cdc63ee4fbfae48ee9d0c7a3cf319562452d" "anaconda" verify_py39
|
||||
;;
|
||||
* )
|
||||
{ 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
|
||||
28
plugins/python-build/share/python-build/anaconda3-2023.03-1
Normal file
28
plugins/python-build/share/python-build/anaconda3-2023.03-1
Normal file
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Anaconda3-2023.03-1-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-aarch64.sh#54e600faa2af63a25717af30ecaddf1ee428cdfebd3721a70f41462e232e8153" "anaconda" verify_py39
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Anaconda3-2023.03-1-Linux-ppc64le" "https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-ppc64le.sh#a31f2d6da83534cff7c994403cc11fa634b31fcd10eb4153d00233345ee084b2" "anaconda" verify_py39
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Anaconda3-2023.03-1-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-s390x.sh#5af1406c6350b4ba6839c49faa32a3c90f2b9845a03c35843f118dd9dd013421" "anaconda" verify_py39
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda3-2023.03-1-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh#95102d7c732411f1458a20bdf47e4c1b0b6c8a21a2edfe4052ca370aaae57bab" "anaconda" verify_py39
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Anaconda3-2023.03-1-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-1-MacOSX-arm64.sh#85152324c423fedbeed2e7491cb32e597eaeb1b86ae7a61ff7597b401fd053ce" "anaconda" verify_py39
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda3-2023.03-1-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.03-1-MacOSX-x86_64.sh#3593921c8a5516db82f0d7dd1c691f7ee7794236852e7da614e9ad6e93eeb342" "anaconda" verify_py39
|
||||
;;
|
||||
* )
|
||||
{ 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
|
||||
28
plugins/python-build/share/python-build/anaconda3-2023.07-0
Normal file
28
plugins/python-build/share/python-build/anaconda3-2023.07-0
Normal file
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Anaconda3-2023.07-0-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-0-Linux-aarch64.sh#5f4865448c1111fb80cb49abff0f9b38b2970857dba7a4627c499ba102b82af5" "anaconda" verify_py39
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Anaconda3-2023.07-0-Linux-ppc64le" "https://repo.anaconda.com/archive/Anaconda3-2023.07-0-Linux-ppc64le.sh#98efb73758680b84f890d818b5748d7a08e82c4b825d597f7e3c4467125da278" "anaconda" verify_py39
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Anaconda3-2023.07-0-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2023.07-0-Linux-s390x.sh#f6933a8b70d346d423e089843fc151c46bdaee4e3e4e4fd0fb81ca06b8766892" "anaconda" verify_py39
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda3-2023.07-0-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-0-Linux-x86_64.sh#ac738639aba0b676a618911600d0a0e7825ee7fd10efb6b3d95cc2e570d9ee7b" "anaconda" verify_py39
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Anaconda3-2023.07-0-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-0-MacOSX-arm64.sh#23a9deb80acb145c65375bd73cbaa8793be81447278c4db7be50ef7c32a58635" "anaconda" verify_py39
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda3-2023.07-0-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-0-MacOSX-x86_64.sh#b6ea24fe16544d5b2d5adf6c913c1fc89a6dbdef12a4caff76ff574b33d0f3cb" "anaconda" verify_py39
|
||||
;;
|
||||
* )
|
||||
{ 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
|
||||
28
plugins/python-build/share/python-build/anaconda3-2023.07-1
Normal file
28
plugins/python-build/share/python-build/anaconda3-2023.07-1
Normal file
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Anaconda3-2023.07-1-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-aarch64.sh#2ebe549375f3f5ffec9558a8a8405ebd697e69c8133b8f9c1c5cd4ff69d1cc74" "anaconda" verify_py311
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Anaconda3-2023.07-1-Linux-ppc64le" "https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-ppc64le.sh#ee149f55ebdd3f15fc1db4e9cddb5126da62e7a193fa15026c9fa009a2575d0a" "anaconda" verify_py311
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Anaconda3-2023.07-1-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-s390x.sh#49aad1bc077334f30177443c234f3c982f1c9751fc78c4c29fb4cf736e4f61ef" "anaconda" verify_py311
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda3-2023.07-1-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-x86_64.sh#111ce0a7f26e606863008a9519fd608b1493e483b6f487aea71d82b13fe0967e" "anaconda" verify_py311
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Anaconda3-2023.07-1-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-1-MacOSX-arm64.sh#322045ad100dcc380decde5812db58c617901c6a8ac46dd7818080fe3ae19f8e" "anaconda" verify_py311
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda3-2023.07-1-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-1-MacOSX-x86_64.sh#803b2d0c5a142af3de14b410517c2c8889eaceb1b784d4c121512ebda13af6f8" "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
|
||||
28
plugins/python-build/share/python-build/anaconda3-2023.07-2
Normal file
28
plugins/python-build/share/python-build/anaconda3-2023.07-2
Normal file
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Anaconda3-2023.07-2-Linux-aarch64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Linux-aarch64.sh#75967bc2113d9e336e670e1e557c9198d8b98e59fb9adb82cbe0e71ce5f7c2db" "anaconda" verify_py311
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Anaconda3-2023.07-2-Linux-ppc64le" "https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Linux-ppc64le.sh#7a72e301fb3b8e175a96b6457fc84654dd2eb98942528d9988760779b92847e4" "anaconda" verify_py311
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Anaconda3-2023.07-2-Linux-s390x" "https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Linux-s390x.sh#121743a62210249dd9fb9d6527d545d08f6bf6d2624d51ad4b5d168cb3e860d6" "anaconda" verify_py311
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda3-2023.07-2-Linux-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Linux-x86_64.sh#589fb34fe73bc303379abbceba50f3131254e85ce4e7cd819ba4276ba29cad16" "anaconda" verify_py311
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Anaconda3-2023.07-2-MacOSX-arm64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-2-MacOSX-arm64.sh#8b08ca8a94dd5fda20d134fea13fa6c55c70d20d4b5a7a1c80d311aeb0cd7a88" "anaconda" verify_py311
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda3-2023.07-2-MacOSX-x86_64" "https://repo.anaconda.com/archive/Anaconda3-2023.07-2-MacOSX-x86_64.sh#a2f7d0c19f60d00742154db21bfb3976d82215ff58396353f4dc729828bd2f49" "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
|
||||
28
plugins/python-build/share/python-build/anaconda3-2023.09-0
Normal file
28
plugins/python-build/share/python-build/anaconda3-2023.09-0
Normal 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
|
||||
43
plugins/python-build/share/python-build/cinder-3.10-dev
Normal file
43
plugins/python-build/share/python-build/cinder-3.10-dev
Normal file
@@ -0,0 +1,43 @@
|
||||
if [ "$(expr substr "$(uname -s)" 1 5)" != "Linux" ]; then
|
||||
{
|
||||
echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": Cinder currently only supports Linux."
|
||||
echo
|
||||
return 1
|
||||
} >&2
|
||||
fi
|
||||
|
||||
if [[ $(${CC:-gcc} -dumpversion 2>/dev/null) != 10 ]] &&
|
||||
(command -v "gcc-10" >/dev/null) &&
|
||||
(command -v "g++-10" >/dev/null); then
|
||||
echo "python-build: setting the compiler to GCC 10"
|
||||
export CC="gcc-10"
|
||||
export CXX="g++-10"
|
||||
fi
|
||||
|
||||
if [[ $(awk -F. '{print $1}' <<< "$(${CC:-gcc} -dumpversion)") -lt 10 ]]; then
|
||||
{
|
||||
echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": Cinder requires at least GCC 10."
|
||||
echo
|
||||
return 1
|
||||
} >&2
|
||||
fi
|
||||
|
||||
require_distro Fedora 32 &> /dev/null ||
|
||||
{
|
||||
echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": Cinder officially only supports Facebook's Docker"
|
||||
echo "images which are based on Fedora 32. It may fail to build"
|
||||
echo "on a system with a different GCC and/or Glibc version."
|
||||
echo
|
||||
} >&2
|
||||
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-1.1.1n" "https://www.openssl.org/source/openssl-1.1.1n.tar.gz#40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline
|
||||
install_git "Cinder-3.10-dev" "https://github.com/facebookincubator/cinder" "cinder/3.10" standard verify_py310 copy_python_gdb ensurepip
|
||||
@@ -1,28 +1,40 @@
|
||||
require_distro Fedora 32 &>/dev/null || \
|
||||
{ echo
|
||||
colorize 1 "WARNING"
|
||||
cat >&2 <<!
|
||||
: The Cinder compiler only officially supports
|
||||
Facebook's Docker images which are Fedora 32 - based.
|
||||
It may fail to build on a system
|
||||
with a different GCC and/or Glibc version.
|
||||
!
|
||||
echo
|
||||
}
|
||||
if [ "$(expr substr "$(uname -s)" 1 5)" != "Linux" ]; then
|
||||
{
|
||||
echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": Cinder currently only supports Linux."
|
||||
echo
|
||||
return 1
|
||||
} >&2
|
||||
fi
|
||||
|
||||
[[ $(${CC:-gcc} -dumpversion 2>/dev/null) == 10 ]] || \
|
||||
{ command -v "gcc-10" >/dev/null && \
|
||||
export CC="gcc-10" && \
|
||||
echo "python-build: setting the compiler to \`gcc-10'"; } || \
|
||||
{
|
||||
echo
|
||||
colorize 1 WARNING
|
||||
cat >&2 <<!
|
||||
: GCC 10 is not found on PATH.
|
||||
The build may fail.
|
||||
!
|
||||
echo
|
||||
}
|
||||
if [[ $(${CC:-gcc} -dumpversion 2>/dev/null) != 10 ]] &&
|
||||
(command -v "gcc-10" >/dev/null) &&
|
||||
(command -v "g++-10" >/dev/null); then
|
||||
echo "python-build: setting the compiler to GCC 10"
|
||||
export CC="gcc-10"
|
||||
export CXX="g++-10"
|
||||
fi
|
||||
|
||||
if [[ $(awk -F. '{print $1}' <<< "$(${CC:-gcc} -dumpversion)") -lt 10 ]]; then
|
||||
{
|
||||
echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": Cinder requires at least GCC 10."
|
||||
echo
|
||||
return 1
|
||||
} >&2
|
||||
fi
|
||||
|
||||
require_distro Fedora 32 &> /dev/null ||
|
||||
{
|
||||
echo
|
||||
colorize 1 "WARNING"
|
||||
echo ": Cinder officially only supports Facebook's Docker"
|
||||
echo "images which are based on Fedora 32. It may fail to build"
|
||||
echo "on a system with a different GCC and/or Glibc version."
|
||||
echo
|
||||
} >&2
|
||||
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
|
||||
54
plugins/python-build/share/python-build/graalpy-23.0.0
Normal file
54
plugins/python-build/share/python-build/graalpy-23.0.0
Normal file
@@ -0,0 +1,54 @@
|
||||
# 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.0.0'
|
||||
BUILD=''
|
||||
|
||||
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
|
||||
|
||||
case "$graalpy_arch" in
|
||||
"linux-amd64" )
|
||||
checksum="25e4fa7c1d45db6dcac5bfa4d1a0aa9ef5581623dc5903ce98d246c5d394639c"
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
checksum="e2a00b2b6485282b4a04aa382e30d696e00d20eb2fe1736debbe2d9df2a8737a"
|
||||
;;
|
||||
"macos-amd64" )
|
||||
checksum="1578902976e6aaf45b9758931f0bddbb29c5c9bdca62c67591d6e153340c2a4f"
|
||||
;;
|
||||
"macos-aarch64" )
|
||||
checksum="cc40e1d47610c5f4a825a1a7c3ffe8b163c71b5d042d16aebd1a65451d4309a5"
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": No binary distribution of GraalPy is available for $(uname -sm)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "${BUILD}" ]; then
|
||||
urlprefix="https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/${VERSION}-${BUILD}"
|
||||
else
|
||||
urlprefix="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}"
|
||||
fi
|
||||
|
||||
install_package "graalpy-${VERSION}${BUILD}" "${urlprefix}/graalpython-${VERSION}-${graalpy_arch}.tar.gz#${checksum}" "copy" ensurepip
|
||||
63
plugins/python-build/share/python-build/graalpy-23.1.0
Normal file
63
plugins/python-build/share/python-build/graalpy-23.1.0
Normal 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
|
||||
@@ -0,0 +1,54 @@
|
||||
# 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=''
|
||||
|
||||
graalpy_arch="$(graalpy_architecture 2>/dev/null || true)"
|
||||
|
||||
case "$graalpy_arch" in
|
||||
"linux-amd64" )
|
||||
checksum="720334d90d52b5337db018ad6582953e9383c27188f08810250c2fe14a11db5a"
|
||||
;;
|
||||
"linux-aarch64" )
|
||||
checksum="c7dc4f94413e667070f7d46f57af04c4db53383e721be9637b58cb030dfa1f58"
|
||||
;;
|
||||
"macos-amd64" )
|
||||
checksum="13583382ba716231edce1b71d53e9efba776fef003ef2f515bda9c00a831779a"
|
||||
;;
|
||||
"macos-aarch64" )
|
||||
checksum="5bc39af6938c507ec169b02a34237b6f4b286982e5be04b3109c171becc1949d"
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": No binary distribution of GraalPy is available for $(uname -sm)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "${BUILD}" ]; then
|
||||
url="https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/${VERSION}-dev-${BUILD}/graalpy-community-dev-${graalpy_arch}.tar.gz"
|
||||
else
|
||||
url="https://github.com/oracle/graalpython/releases/download/graal-${VERSION}/graalpy-community-${VERSION}-${graalpy_arch}.tar.gz#${checksum}"
|
||||
fi
|
||||
|
||||
install_package "graalpy-community-${VERSION}${BUILD}" "${url}" "copy" ensurepip
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py310_23.1.0-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-aarch64.sh#80d6c306b015e1e3b01ea59dc66c676a81fa30279bc2da1f180a7ef7b2191d6e" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py310_23.1.0-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-ppc64le.sh#9ca8077a0af8845fc574a120ef8d68690d7a9862d354a2a4468de5d2196f406c" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py310_23.1.0-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-s390x.sh#0d00a9d34c5fd17d116bf4e7c893b7441a67c7a25416ede90289d87216104a97" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py310_23.1.0-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-x86_64.sh#32d73e1bc33fda089d7cd9ef4c1be542616bd8e437d1f77afeeaf7afdb019787" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py310_23.1.0-1-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-MacOSX-arm64.sh#cc5bcf95d5db0f7f454b2d800d52da8b70563f8454d529e7ac2da9725650eb27" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py310_23.1.0-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-MacOSX-x86_64.sh#bfb81814e16eb450b1dbde7b4ecb9ebc5186834cb4ede5926c699762ca69953b" "miniconda" verify_py310
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,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
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py310_23.3.1-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-Linux-aarch64.sh#6950c7b1f4f65ce9b87ee1a2d684837771ae7b2e6044e0da9e915d1dee6c924c" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py310_23.3.1-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-Linux-ppc64le.sh#b3de538cd542bc4f5a2f2d2a79386288d6e04f0e1459755f3cefe64763e51d16" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py310_23.3.1-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-Linux-s390x.sh#ed4f51afc967e921ff5721151f567a4c43c4288ac93ec2393c6238b8c4891de8" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py310_23.3.1-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-Linux-x86_64.sh#aef279d6baea7f67940f16aad17ebe5f6aac97487c7c03466ff01f4819e5a651" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py310_23.3.1-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-MacOSX-arm64.sh#9d1d12573339c49050b0d5a840af0ff6c32d33c3de1b3db478c01878eb003d64" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py310_23.3.1-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-MacOSX-x86_64.sh#5abc78b664b7da9d14ade330534cc98283bb838c6b10ad9cfd8b9cc4153f8104" "miniconda" verify_py310
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py310_23.5.0-3-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.0-3-Linux-aarch64.sh#a632110a9ebddd8528b26241663ee9368d218e36b40e570072774897762f1de8" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py310_23.5.0-3-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.0-3-Linux-ppc64le.sh#5ed0af4645f49c4412e33a3f94396bcb3eb25f4a3ccb0bfe5bc23ef06bad6f3f" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py310_23.5.0-3-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.0-3-Linux-s390x.sh#5701eba074e3c2894949370ab456df48361a2efaad9b11209dbf8258ddf1e331" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py310_23.5.0-3-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.0-3-Linux-x86_64.sh#738890e7a6f0719a942c632a0aab1df7a5a592c5667d0495d1f0495990a709ba" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py310_23.5.0-3-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.0-3-MacOSX-arm64.sh#ff2121c0a8245bbe63ff70cdb76b492c831889225f9c5277e096f08fd03e7f17" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py310_23.5.0-3-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.0-3-MacOSX-x86_64.sh#03a98ff5d1c813d7bf969203fe404d7a6f149b335c2077703656807721603495" "miniconda" verify_py310
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py310_23.5.1-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.1-0-Linux-aarch64.sh#d6a99c45326f8e849b18964090f0f5ac56bc4f173a6b18a4a5057bc09bd128f3" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py310_23.5.1-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.1-0-Linux-ppc64le.sh#920a8d8f9a6aa6bc1cd2ddf56cb0af779b3c70eb82d61fb05397814adfc0837f" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py310_23.5.1-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.1-0-Linux-s390x.sh#63962e4c21e13b680f62d8c7cf11fb1a4a2192188d0d7c0a0994099470b65567" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py310_23.5.1-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.1-0-Linux-x86_64.sh#9f4cd0a9f7289a1e03b79fe6d06bab0769c46c33a774ea8a94dc3c1883344d85" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py310_23.5.1-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.1-0-MacOSX-arm64.sh#dde48d596695115a05218d694b20212d900a66c005a1926a9018a756b1188f1f" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py310_23.5.1-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.1-0-MacOSX-x86_64.sh#4e5315e39ce5be6d64fb0bf0a62aa6e8d09224542fa5b9a4d695c599bd6f66b0" "miniconda" verify_py310
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py310_23.5.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-Linux-aarch64.sh#24f7fe91032538cf2d9748facabae346e45e46ca21bb5f2d5875b7865dca6fa4" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py310_23.5.2-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-Linux-ppc64le.sh#3a76e4e400271d1589770dac8f696b03d1faf45fee57da38e8c399b6cb0daadb" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py310_23.5.2-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-Linux-s390x.sh#7a65b8593db0ec4b561b9968daca7c7c4f5f95cb21fe717ba895fded924bc056" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py310_23.5.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-Linux-x86_64.sh#ea5e6e8a3d5a0247b9df85382d27220fac8e59b5778fd313c5913879cd9baafc" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py310_23.5.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-MacOSX-arm64.sh#71b7ca2ae4068504f9c6dab30fd6e83694086241156af1e319d598befe0f3a26" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py310_23.5.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-MacOSX-x86_64.sh#13c57188a4bcb7462a7580c9ddf8ff2d301e353c835d33042a51a231667cf25d" "miniconda" verify_py310
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,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
|
||||
@@ -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
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py311_23.5.0-3-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.0-3-Linux-aarch64.sh#6e3e60e7093194b3435fde19efc54d0dd78be393bf5b7487cc28cd1039ebed4d" "miniconda" verify_py311
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py311_23.5.0-3-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.0-3-Linux-ppc64le.sh#c1ab8b5d629f66a1609e456a0d6a83a2896af6dc0b2b702025cb19456030eacd" "miniconda" verify_py311
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py311_23.5.0-3-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.0-3-Linux-s390x.sh#42e7cc490fc81d9b1dc56cf8bd951e084e804824d60aca3a4b15d35c57ad373e" "miniconda" verify_py311
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py311_23.5.0-3-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.0-3-Linux-x86_64.sh#61a5c087893f6210176045931b89ee6e8760c17abd9c862b2cab4c1b7d00f7c8" "miniconda" verify_py311
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py311_23.5.0-3-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.0-3-MacOSX-arm64.sh#c4ce7311d2d1c729bf8d98e6d5aa2581ce0b08a1480985e63efaf8529b2fc6ca" "miniconda" verify_py311
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py311_23.5.0-3-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.0-3-MacOSX-x86_64.sh#2503d9e852fcaf85adca825bde84bdc297b118fd2c14316e4f27a93a190a7bdd" "miniconda" verify_py311
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py311_23.5.1-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.1-0-Linux-aarch64.sh#a7a68db6676075aa20991d3fac6d7cfdb2bb3c815c0c17ea26fac96241486c6b" "miniconda" verify_py311
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py311_23.5.1-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.1-0-Linux-ppc64le.sh#63d6756dd9956e3ff581381fd319088fe23af53df8ccad8c6f029c89f5a1e534" "miniconda" verify_py311
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py311_23.5.1-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.1-0-Linux-s390x.sh#4472acdf8bab722a6dc4ef0b59636feac12b3520ef3d88c1bebd11106b596a96" "miniconda" verify_py311
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py311_23.5.1-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.1-0-Linux-x86_64.sh#333779c9cae3fe14735949a8dcb9657b9e55ada69e9c60f191c5d582b2deac20" "miniconda" verify_py311
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py311_23.5.1-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.1-0-MacOSX-arm64.sh#52b3a134a73d48204e7517fb5b4378bece65a048e9a32c9276eb3fd51989b976" "miniconda" verify_py311
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py311_23.5.1-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.1-0-MacOSX-x86_64.sh#834a194e6d790eade3db98a78ec3f2857df13bb8b6661a26a34e67462561015b" "miniconda" verify_py311
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py311_23.5.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.2-0-Linux-aarch64.sh#3962738cfac270ae4ff30da0e382aecf6b3305a12064b196457747b157749a7a" "miniconda" verify_py311
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py311_23.5.2-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.2-0-Linux-ppc64le.sh#92237cb2a443dd15005ec004f2f744b14de02cd5513a00983c2f191eb43d1b29" "miniconda" verify_py311
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py311_23.5.2-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.2-0-Linux-s390x.sh#221a4cd7f0a9275c3263efa07fa37385746de884f4306bb5d1fe5733ca770550" "miniconda" verify_py311
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py311_23.5.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.2-0-Linux-x86_64.sh#634d76df5e489c44ade4085552b97bebc786d49245ed1a830022b0b406de5817" "miniconda" verify_py311
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py311_23.5.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.2-0-MacOSX-arm64.sh#c8f436dbde130f171d39dd7b4fca669c223f130ba7789b83959adc1611a35644" "miniconda" verify_py311
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py311_23.5.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py311_23.5.2-0-MacOSX-x86_64.sh#1622e7a0fa60a7d3d892c2d8153b54cd6ffe3e6b979d931320ba56bd52581d4b" "miniconda" verify_py311
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,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
|
||||
@@ -0,0 +1,25 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py37_23.1.0-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py37_23.1.0-1-Linux-aarch64.sh#31c1d635fae931b7c0687018cc87e918e8098ed5dd5e76a658e10c57e00ef864" "miniconda" verify_py37
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py37_23.1.0-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py37_23.1.0-1-Linux-ppc64le.sh#d2de534bfa46aa34ef0b115a309de7e8a681683af65faf86bcee6a00460f07be" "miniconda" verify_py37
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py37_23.1.0-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py37_23.1.0-1-Linux-s390x.sh#72a8fa9aca5abaf99771110746b1345a33d390c9b29a7b4daffe6a2ff00f2366" "miniconda" verify_py37
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py37_23.1.0-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py37_23.1.0-1-Linux-x86_64.sh#fc96109ea96493e31f70abbc5cae58e80634480c0686ab46924549ac41176812" "miniconda" verify_py37
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py37_23.1.0-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py37_23.1.0-1-MacOSX-x86_64.sh#bdfb2f01c0a3917bf258daffc65b69bfe07e29753be624aaf9cbda5ba02f43f4" "miniconda" verify_py37
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py38_23.1.0-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-Linux-aarch64.sh#10ea91cc579a64a3a88727119ac3f55839562f55118458b82824b544bc74f90d" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py38_23.1.0-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-Linux-ppc64le.sh#d89faee2d839c7e8a2c96f3ca60295c08e837c2f134f6bb9e9e21b707babedc2" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py38_23.1.0-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-Linux-s390x.sh#3d1e06eddaef0976530c54ed7dda80df62705c16513634e58f7d1c4567227b9e" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py38_23.1.0-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-Linux-x86_64.sh#640b7dceee6fad10cb7e7b54667b2945c4d6f57625d062b2b0952b7f3a908ab7" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py38_23.1.0-1-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-MacOSX-arm64.sh#8dfab7797151a31b16c174da9a5bc09529d5859f21e77f0655ea9b18209cc926" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py38_23.1.0-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-MacOSX-x86_64.sh#5d789cda38b23245ffed6b88c60b7479d984bbf20e3b70d66cd150f04a9c25c5" "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
|
||||
@@ -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
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py38_23.3.1-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.3.1-0-Linux-aarch64.sh#ad491ebad6efec7470fe2139c8b407a895cb2c828b3233b97da6e4f22cae0cde" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py38_23.3.1-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.3.1-0-Linux-ppc64le.sh#8aa819800ba3ec88ad8518a9e4fc71ada8087547300fc53527c4ecc8072a4d50" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py38_23.3.1-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.3.1-0-Linux-s390x.sh#e4d83bb9f0900c9128504f7e3c4d3b9e5eaf3b87c4bb5190a3086947e92bd3fa" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py38_23.3.1-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.3.1-0-Linux-x86_64.sh#d1f3a4388c1a6fd065e32870f67abc39eb38f4edd36c4947ec7411e32311bd59" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py38_23.3.1-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.3.1-0-MacOSX-arm64.sh#e0151c68f6a11a38b29c2f4a775bf6a22187fa2c8ca0f31930d69f2f013c0810" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py38_23.3.1-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.3.1-0-MacOSX-x86_64.sh#eb7b2d285f6d3b7c9cde9576c8c647e70b65361426b0e0e069b4ab23ccbb79e2" "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
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py38_23.5.0-3-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.0-3-Linux-aarch64.sh#853e1c3c24f1c4cc2a1c57b05059740127724a2b346f887e3f0bb92a6cd05fe1" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py38_23.5.0-3-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.0-3-Linux-ppc64le.sh#5bef0b71b9c9c6a27e534894e913e47e545793a549a8815bb4a66a8c9d793d45" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py38_23.5.0-3-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.0-3-Linux-s390x.sh#e0271bc3af023053258cfe01059d53769bbd32dc5542b5c96280d29dcd8568f6" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py38_23.5.0-3-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.0-3-Linux-x86_64.sh#f833ae8ad96db31d4f2a09d12f1b188721c769d60d813d7e6341c19e77bc791f" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py38_23.5.0-3-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.0-3-MacOSX-arm64.sh#5daf6837136d08a17f039b29993f67207ba90dcc90abe94c6d5a8925f6888076" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py38_23.5.0-3-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.0-3-MacOSX-x86_64.sh#54ead65ad1ff77d9cba2512a8765d64e6b7d8ae154e2fc1a6fcb01395b9a8cf3" "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
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py38_23.5.1-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.1-0-Linux-aarch64.sh#dcf57b73c3db9b4ce5ab1407f0573c83241b5041f2c6fd590959a091ca518b4c" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py38_23.5.1-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.1-0-Linux-ppc64le.sh#1c141b28ffe6dee40fc04c0d175da22270b86c63ec67e71798cd15183d10bcf2" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py38_23.5.1-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.1-0-Linux-s390x.sh#1c7c2188cad19a1a00bf8a5895af8bd67a06f983ea02d34ad3cdb40cb6a86224" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py38_23.5.1-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.1-0-Linux-x86_64.sh#05c1284d67d35abcc3a9b814cd124ec351020b9172962bcc166bf2f2ac22ea5e" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py38_23.5.1-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.1-0-MacOSX-arm64.sh#044bc2a3eab865448924bf2aeab069a7a61a174b132c58f6e9a88cf14c5b647c" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py38_23.5.1-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.1-0-MacOSX-x86_64.sh#ed617d73092e9f0b696f2b55e68126d751040ef6700c2ea38bc913bf18fd8956" "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
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py38_23.5.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.2-0-Linux-aarch64.sh#cd39b811ac9a2f9094c4dfff9ec0f7ec811d6ad7ede5ab3f1a31d330ab3a2c55" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py38_23.5.2-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.2-0-Linux-ppc64le.sh#6fc3bf00d4fe0c724fab884d93b981acbc22bb8fc41c144df6d2fc080ff80e25" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py38_23.5.2-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.2-0-Linux-s390x.sh#b840fd5a8474a3e6831cd50a64eadf73239c6ad7deeebf2c3d3fe366220b2722" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py38_23.5.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.2-0-Linux-x86_64.sh#e2a4438671e0e42c5bba14cb51de6ce9763938184d6ca2967340bbe972bbe7e6" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py38_23.5.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.2-0-MacOSX-arm64.sh#782bd1a401b20b41227a086adae98e270bbc942c3b7621788fb5574a9583142e" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py38_23.5.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_23.5.2-0-MacOSX-x86_64.sh#6dc8bfb3b382c31be1755545ae6afc5fbdf8a67726ffdb8a05b917204bd08779" "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
|
||||
@@ -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
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py39_23.1.0-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-Linux-aarch64.sh#5e67416a574c49e19dc21d5b9ed586400863a685bc4e34b4d933ea8c7c1ed2da" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py39_23.1.0-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-Linux-ppc64le.sh#cf5d7cad2b0eb260903b3661ee3fa822eecb25cf3c9b14bc9de10d72963d3d5a" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py39_23.1.0-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-Linux-s390x.sh#5159322f15d9e2b22b3cf90fe88b336d84f62189178c872a9288a339d86f5d20" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py39_23.1.0-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-Linux-x86_64.sh#5dc619babc1d19d6688617966251a38d245cb93d69066ccde9a013e1ebb5bf18" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py39_23.1.0-1-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-MacOSX-arm64.sh#a7133a703e41ea0b1738196fb03f72b22250327adea94521c9dd6100c304dc63" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py39_23.1.0-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.1.0-1-MacOSX-x86_64.sh#d78eaac94f85bacbc704f629bdfbc2cd42a72dc3a4fd383a3bfc80997495320e" "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
|
||||
@@ -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
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py39_23.3.1-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.3.1-0-Linux-aarch64.sh#e93ccab720b57f821e0d758f54e9aee9bd2f0ea931ebb26b78d866704437a296" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py39_23.3.1-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.3.1-0-Linux-ppc64le.sh#d2bcef86812863adaf11fcda6df829aa508760cbde4a19174cf0fec03e8498f5" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py39_23.3.1-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.3.1-0-Linux-s390x.sh#d0b658566edd239dd50fc28ab1d3a57b8b0da707481b3b18c27d11273c4fdb5a" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py39_23.3.1-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.3.1-0-Linux-x86_64.sh#1564571a6a06a9999a75a6c65d63cb82911fc647e96ba5b729f904bf00c177d3" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py39_23.3.1-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.3.1-0-MacOSX-arm64.sh#c74474bab188b8b3dcaf0f0ca52f5e0743591dbe171766016023d052acf96502" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py39_23.3.1-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.3.1-0-MacOSX-x86_64.sh#54d739715feb0cd5c127865215cc9f50697709d71e9ee7da430576c5a1c8010d" "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
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py39_23.5.0-3-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.0-3-Linux-aarch64.sh#f77868e96eee904cd137ebe463439258d76281830bb9e2bd330d23aea1ddd31a" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py39_23.5.0-3-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.0-3-Linux-ppc64le.sh#4bbda8ba3b8d1d26f04a469bbe29b3ef626a8b10b823f64314719e132f7c3696" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py39_23.5.0-3-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.0-3-Linux-s390x.sh#7ef72ef1411b028788c81308238b604cba46315cb42e70a2d65511c05440ebca" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py39_23.5.0-3-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.0-3-Linux-x86_64.sh#b7fc320922235ccbaacba7b5a61e34671e75f3a2c7110c63db0c6a9f98ecf8a8" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py39_23.5.0-3-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.0-3-MacOSX-arm64.sh#d006d99f86850510f9aed1a81e16a4213a4829e7ea6913f0c42054b4b0ac05a7" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py39_23.5.0-3-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.0-3-MacOSX-x86_64.sh#86ae780b5c5a32c45bc0f2e146941afea6dd1ca48e8d5e1bf99a83df255a0a78" "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
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py39_23.5.1-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.1-0-Linux-aarch64.sh#ac438ca1a76d78622cc7768d94988e5673983f60f0302941ce05ea4e11e1376e" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py39_23.5.1-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.1-0-Linux-ppc64le.sh#a981947722decf258e4a21f06ab5ddd545c709ba959957121a3e3b89b3dd860a" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py39_23.5.1-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.1-0-Linux-s390x.sh#b3ea1e4ce80901b70b49d14bc4a008d910410ddd58dead9c4c220834f5aa46c2" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py39_23.5.1-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.1-0-Linux-x86_64.sh#960b7aa0294d6d828739ad5542fe1d8b81bb602be401ad00febdf9d29bf37514" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py39_23.5.1-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.1-0-MacOSX-arm64.sh#63aaa53c1f6139d667f8e308a2849632efeb575e6223d075ab8a8c15850478d6" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py39_23.5.1-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.1-0-MacOSX-x86_64.sh#056b43eb844aac487e5f6e0f748c528a34cd3d38c8409f239a75bf89ffede3b9" "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
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py39_23.5.2-0-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.2-0-Linux-aarch64.sh#ecc06a39bdf786ebb8325a2754690a808f873154719c97d10087ef0883b69e84" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py39_23.5.2-0-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.2-0-Linux-ppc64le.sh#dc5aee01ee36a154b8070e6948b9a43773b6942476a144bc89e6135ac5beac58" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py39_23.5.2-0-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.2-0-Linux-s390x.sh#40ece8784a9e7dd521ab354ffc816bb466842ae3eee681a93647945c5070c9b4" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py39_23.5.2-0-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.2-0-Linux-x86_64.sh#9829d95f639bd0053b2ed06d1204e60644617bf37dd5cc57523732e0e8d64516" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py39_23.5.2-0-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.2-0-MacOSX-arm64.sh#1b10164086354b39a46ff928eef5797ff57e0fa9706ccaf7d4e621b416541479" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py39_23.5.2-0-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_23.5.2-0-MacOSX-x86_64.sh#dcbbdf92dc2954c79002b64ed53d3451e191dbdde0b30c67334f41dc6ca46ac1" "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
|
||||
@@ -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
|
||||
25
plugins/python-build/share/python-build/miniforge3-22.11.1-4
Normal file
25
plugins/python-build/share/python-build/miniforge3-22.11.1-4
Normal file
@@ -0,0 +1,25 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniforge3-22.11.1-4-Linux-aarch64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Miniforge3-22.11.1-4-Linux-aarch64.sh#2beb7624679016dcd4758ffb9b18efe4ba79af95e2357a606a4945f8ee64dbe6" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniforge3-22.11.1-4-Linux-ppc64le.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Miniforge3-22.11.1-4-Linux-ppc64le.sh#d689249d97e170d4dedd54291eb6680243ef83b39900ecb1d6df0679c70434d4" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniforge3-22.11.1-4-Linux-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Miniforge3-22.11.1-4-Linux-x86_64.sh#737d1b2666528416706a916b355c43ff58deeaebf5ca906bc1a551e96c73ab8e" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniforge3-22.11.1-4-MacOSX-arm64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Miniforge3-22.11.1-4-MacOSX-arm64.sh#7be6b8b25eb328d6df048a7b533514097a6d30ff348d0f28671059c98c4c31aa" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniforge3-22.11.1-4-MacOSX-x86_64.sh" "https://github.com/conda-forge/miniforge/releases/download/22.11.1-4/Miniforge3-22.11.1-4-MacOSX-x86_64.sh#d3bd39dc391552a037a95230786c026165c042499fa365aae0da4002d9530731" "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
|
||||
25
plugins/python-build/share/python-build/miniforge3-23.3.1-1
Normal file
25
plugins/python-build/share/python-build/miniforge3-23.3.1-1
Normal 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
|
||||
5
plugins/python-build/share/python-build/nogil-3.9.10-1
Normal file
5
plugins/python-build/share/python-build/nogil-3.9.10-1
Normal file
@@ -0,0 +1,5 @@
|
||||
prefer_openssl11
|
||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||
install_package "openssl-1.1.1l" "https://www.openssl.org/source/openssl-1.1.1l.tar.gz#0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||
install_package "nogil-3.9.10-1" "https://github.com/colesbury/nogil/archive/refs/tags/v3.9.10-nogil-2023-01-22.tar.gz#cbda308c7586745573d665cd53d71b50707fd6f85c1c5d7a9f5b092e869cc757" standard verify_py39 copy_python_gdb ensurepip
|
||||
@@ -0,0 +1,43 @@
|
||||
From 112cceb514e79b4c9805f9e5ea037a205be428da Mon Sep 17 00:00:00 2001
|
||||
From: Inada Naoki <songofacandy@gmail.com>
|
||||
Date: Tue, 14 May 2019 18:51:15 +0900
|
||||
Subject: [PATCH 1/2] bpo-27987: pymalloc: align by 16bytes on 64bit platform
|
||||
(GH-12850)
|
||||
|
||||
---
|
||||
.../2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst | 3 +++
|
||||
Objects/obmalloc.c | 6 ++++++
|
||||
2 files changed, 9 insertions(+)
|
||||
create mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst b/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst
|
||||
new file mode 100644
|
||||
index 0000000000..b0f32a5c6c
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+pymalloc returns memory blocks aligned by 16 bytes, instead of 8 bytes, on
|
||||
+64-bit platforms to conform x86-64 ABI. Recent compilers assume this alignment
|
||||
+more often. Patch by Inada Naoki.
|
||||
diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c
|
||||
index 9dd8421a33..da9029c4a6 100644
|
||||
--- a/Objects/obmalloc.c
|
||||
+++ b/Objects/obmalloc.c
|
||||
@@ -540,8 +540,14 @@ static int running_on_valgrind = -1;
|
||||
*
|
||||
* You shouldn't change this unless you know what you are doing.
|
||||
*/
|
||||
+
|
||||
+#if SIZEOF_VOID_P > 4
|
||||
+#define ALIGNMENT 16 /* must be 2^N */
|
||||
+#define ALIGNMENT_SHIFT 4
|
||||
+#else
|
||||
#define ALIGNMENT 8 /* must be 2^N */
|
||||
#define ALIGNMENT_SHIFT 3
|
||||
+#endif
|
||||
|
||||
/* Return the number of bytes in size class I, as a uint. */
|
||||
#define INDEX2SIZE(I) (((uint)(I) + 1) << ALIGNMENT_SHIFT)
|
||||
--
|
||||
2.38.4
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
From 618ef35426ecc57da1bee50f8dc5896f5fb178a9 Mon Sep 17 00:00:00 2001
|
||||
From: Inada Naoki <songofacandy@gmail.com>
|
||||
Date: Sat, 25 May 2019 21:13:33 +0900
|
||||
Subject: [PATCH 2/2] bpo-27987: align PyGC_Head to alignof(long double)
|
||||
(GH-13335)
|
||||
|
||||
---
|
||||
Include/objimpl.h | 6 +++++-
|
||||
.../2019-05-15-18-28-43.bpo-27987.FaxuLy.rst | 2 ++
|
||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
||||
create mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst
|
||||
|
||||
diff --git a/Include/objimpl.h b/Include/objimpl.h
|
||||
index 65b6d91c36..eaf57975c8 100644
|
||||
--- a/Include/objimpl.h
|
||||
+++ b/Include/objimpl.h
|
||||
@@ -250,7 +250,11 @@ typedef union _gc_head {
|
||||
union _gc_head *gc_prev;
|
||||
Py_ssize_t gc_refs;
|
||||
} gc;
|
||||
- double dummy; /* force worst-case alignment */
|
||||
+ long double dummy; /* force worst-case alignment */
|
||||
+ // malloc returns memory block aligned for any built-in types and
|
||||
+ // long double is the largest standard C type.
|
||||
+ // On amd64 linux, long double requires 16 byte alignment.
|
||||
+ // See bpo-27987 for more discussion.
|
||||
} PyGC_Head;
|
||||
|
||||
extern PyGC_Head *_PyGC_generation0;
|
||||
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst b/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst
|
||||
new file mode 100644
|
||||
index 0000000000..97ca37b262
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst
|
||||
@@ -0,0 +1,2 @@
|
||||
+``PyGC_Head`` structure is aligned to ``long double``. This is needed to
|
||||
+GC-ed objects are aligned properly. Patch by Inada Naoki.
|
||||
--
|
||||
2.38.4
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
From 655f26bb742d6bd32c388e9fea14b64eb25fd4de Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Tue, 15 Mar 2022 03:18:39 -0400
|
||||
Subject: [PATCH] bpo-45405: Prevent internal configure error when running
|
||||
configure with recent versions of clang. (GH-28845) (GH-31890)
|
||||
|
||||
Change the configure logic to function properly on macOS when the compiler
|
||||
outputs a platform triplet for option --print-multiarch.
|
||||
The Apple Clang included with Xcode 13.3 now supports --print-multiarch
|
||||
causing configure to fail without this change.
|
||||
|
||||
Co-authored-by: Ned Deily <nad@python.org>
|
||||
(cherry picked from commit 9c4766772cda67648184f8ddba546a5fc0167f91)
|
||||
|
||||
Co-authored-by: David Bohman <debohman@gmail.com>
|
||||
(cherry picked from commit 720bb456dc711b0776bae837d1f9a0b10c28ddf2)
|
||||
---
|
||||
.../next/Build/2021-10-11-16-27-38.bpo-45405.iSfdW5.rst | 2 ++
|
||||
configure | 8 +++++---
|
||||
configure.ac | 8 +++++---
|
||||
3 files changed, 12 insertions(+), 6 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/Build/2021-10-11-16-27-38.bpo-45405.iSfdW5.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/Build/2021-10-11-16-27-38.bpo-45405.iSfdW5.rst b/Misc/NEWS.d/next/Build/2021-10-11-16-27-38.bpo-45405.iSfdW5.rst
|
||||
new file mode 100644
|
||||
index 0000000000..13c93d1b8a
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/Build/2021-10-11-16-27-38.bpo-45405.iSfdW5.rst
|
||||
@@ -0,0 +1,2 @@
|
||||
+Prevent ``internal configure error`` when running ``configure``
|
||||
+with recent versions of clang. Patch by David Bohman.
|
||||
diff --git a/configure b/configure
|
||||
index fb0a499145..67e6e69b5f 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -5203,9 +5203,6 @@ $as_echo "$as_me:
|
||||
fi
|
||||
|
||||
|
||||
-MULTIARCH=$($CC --print-multiarch 2>/dev/null)
|
||||
-
|
||||
-
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the platform triplet based on compiler characteristics" >&5
|
||||
$as_echo_n "checking for the platform triplet based on compiler characteristics... " >&6; }
|
||||
cat >> conftest.c <<EOF
|
||||
@@ -5334,6 +5331,11 @@ $as_echo "none" >&6; }
|
||||
fi
|
||||
rm -f conftest.c conftest.out
|
||||
|
||||
+if test x$PLATFORM_TRIPLET != xdarwin; then
|
||||
+ MULTIARCH=$($CC --print-multiarch 2>/dev/null)
|
||||
+fi
|
||||
+
|
||||
+
|
||||
if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then
|
||||
if test x$PLATFORM_TRIPLET != x$MULTIARCH; then
|
||||
as_fn_error $? "internal configure error for the platform triplet, please file a bug report" "$LINENO" 5
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d86dad9a7c..468ad6070f 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -747,9 +747,6 @@ then
|
||||
fi
|
||||
|
||||
|
||||
-MULTIARCH=$($CC --print-multiarch 2>/dev/null)
|
||||
-AC_SUBST(MULTIARCH)
|
||||
-
|
||||
AC_MSG_CHECKING([for the platform triplet based on compiler characteristics])
|
||||
cat >> conftest.c <<EOF
|
||||
#undef bfin
|
||||
@@ -875,6 +872,11 @@ else
|
||||
fi
|
||||
rm -f conftest.c conftest.out
|
||||
|
||||
+if test x$PLATFORM_TRIPLET != xdarwin; then
|
||||
+ MULTIARCH=$($CC --print-multiarch 2>/dev/null)
|
||||
+fi
|
||||
+AC_SUBST(MULTIARCH)
|
||||
+
|
||||
if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then
|
||||
if test x$PLATFORM_TRIPLET != x$MULTIARCH; then
|
||||
AC_MSG_ERROR([internal configure error for the platform triplet, please file a bug report])
|
||||
--
|
||||
2.32.0 (Apple Git-132)
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 002501946bad91a308f37a09204393c172f03c3e Mon Sep 17 00:00:00 2001
|
||||
From: Takumi Sueda <puhitaku@gmail.com>
|
||||
Date: Sat, 11 Sep 2021 16:50:14 +0900
|
||||
Subject: [PATCH 2/6] Detect arm64 in configure
|
||||
|
||||
---
|
||||
configure | 3 +++
|
||||
configure.ac | 3 +++
|
||||
2 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index e39c16eee2..8dc1fc7595 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -9230,6 +9230,9 @@ fi
|
||||
ppc)
|
||||
MACOSX_DEFAULT_ARCH="ppc64"
|
||||
;;
|
||||
+ arm64)
|
||||
+ MACOSX_DEFAULT_ARCH="arm64"
|
||||
+ ;;
|
||||
*)
|
||||
as_fn_error $? "Unexpected output of 'arch' on OSX" "$LINENO" 5
|
||||
;;
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index cf280506bd..34846a7df3 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2435,6 +2435,9 @@ case $ac_sys_system/$ac_sys_release in
|
||||
ppc)
|
||||
MACOSX_DEFAULT_ARCH="ppc64"
|
||||
;;
|
||||
+ arm64)
|
||||
+ MACOSX_DEFAULT_ARCH="arm64"
|
||||
+ ;;
|
||||
*)
|
||||
AC_MSG_ERROR([Unexpected output of 'arch' on OSX])
|
||||
;;
|
||||
--
|
||||
2.30.1 (Apple Git-130)
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
From 8ea6353f60625c96ce96588c70ff24a77f8c71f9 Mon Sep 17 00:00:00 2001
|
||||
From: Ronald Oussoren <ronaldoussoren@mac.com>
|
||||
Date: Thu, 25 Jun 2020 16:55:48 +0200
|
||||
Subject: [PATCH] BPO-41100: Support macOS 11 when building (GH-21113)
|
||||
|
||||
---
|
||||
Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst | 1 +
|
||||
configure | 2 +-
|
||||
configure.ac | 2 +-
|
||||
3 files changed, 3 insertions(+), 2 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst b/Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst
|
||||
new file mode 100644
|
||||
index 0000000000..ded66b567a
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst
|
||||
@@ -0,0 +1 @@
|
||||
+Support macOS 11 when building.
|
||||
diff --git a/configure b/configure
|
||||
index c51f396824..5024860ca4 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -3375,7 +3375,7 @@ $as_echo "#define _BSD_SOURCE 1" >>confdefs.h
|
||||
# has no effect, don't bother defining them
|
||||
Darwin/[6789].*)
|
||||
define_xopen_source=no;;
|
||||
- Darwin/1[0-9].*)
|
||||
+ Darwin/[12][0-9].*)
|
||||
define_xopen_source=no;;
|
||||
# On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but
|
||||
# used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 70deefb6b9..5a3e340aa3 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -495,7 +495,7 @@ case $ac_sys_system/$ac_sys_release in
|
||||
# has no effect, don't bother defining them
|
||||
Darwin/@<:@6789@:>@.*)
|
||||
define_xopen_source=no;;
|
||||
- Darwin/1@<:@0-9@:>@.*)
|
||||
+ Darwin/@<:@[12]@:>@@<:@0-9@:>@.*)
|
||||
define_xopen_source=no;;
|
||||
# On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but
|
||||
# used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined
|
||||
--
|
||||
2.30.1 (Apple Git-130)
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
From 604d95e235d86465b8c17f02095edcaf18464d4c Mon Sep 17 00:00:00 2001
|
||||
From: Lawrence D'Anna <64555057+lawrence-danna-apple@users.noreply.github.com>
|
||||
Date: Tue, 30 Jun 2020 02:15:46 -0700
|
||||
Subject: [PATCH] bpo-41100: fix _decimal for arm64 Mac OS (GH-21228)
|
||||
|
||||
Patch by Lawrence Danna.
|
||||
---
|
||||
.../Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst | 1 +
|
||||
Modules/_decimal/libmpdec/mpdecimal.h | 3 +++
|
||||
2 files changed, 4 insertions(+)
|
||||
create mode 100644 Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst b/Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst
|
||||
new file mode 100644
|
||||
index 0000000000..d6176d69f0
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst
|
||||
@@ -0,0 +1 @@
|
||||
+add arm64 to the allowable Mac OS arches in mpdecimal.h
|
||||
\ No newline at end of file
|
||||
diff --git a/Modules/_decimal/libmpdec/mpdecimal.h b/Modules/_decimal/libmpdec/mpdecimal.h
|
||||
index 108b76efa8..35ce429f60 100644
|
||||
--- a/Modules/_decimal/libmpdec/mpdecimal.h
|
||||
+++ b/Modules/_decimal/libmpdec/mpdecimal.h
|
||||
@@ -135,6 +135,9 @@ const char *mpd_version(void);
|
||||
#elif defined(__x86_64__)
|
||||
#define CONFIG_64
|
||||
#define ASM
|
||||
+ #elif defined(__arm64__)
|
||||
+ #define CONFIG_64
|
||||
+ #define ANSI
|
||||
#else
|
||||
#error "unknown architecture for universal build."
|
||||
#endif
|
||||
--
|
||||
2.30.1 (Apple Git-130)
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
From 409b4ecef88643996ce00482b650c0246a977a4b Mon Sep 17 00:00:00 2001
|
||||
From: Chaim Halbert <chaim.leib.halbert@gmail.com>
|
||||
Date: Sun, 26 Feb 2023 06:21:54 -0700
|
||||
Subject: [PATCH] Port ctypes and system libffi patch for arm64/macOS 10.15+ to
|
||||
Python 3.5.10
|
||||
|
||||
This backports the following ctypes and libffi pyenv patch for Python
|
||||
3.6.15 to Python 3.5.10:
|
||||
|
||||
* `0004-Port-ctypes-and-system-libffi-patches-for-arm64-macO.patch`
|
||||
|
||||
This patch enables use of system libffi (fixing a broken `ctypes` module
|
||||
on arm64 targets) and enables calling variadic functions on arm64.
|
||||
---
|
||||
setup.py | 65 +++++++++++++++++++++++++++++++++++++++++++-------------
|
||||
1 file changed, 50 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 2944c9dd6f..ab8065866f 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -73,6 +73,13 @@ def macosx_sdk_root():
|
||||
sysroot = m.group(1)
|
||||
return sysroot
|
||||
|
||||
+def is_macosx_at_least(vers):
|
||||
+ if host_platform == 'darwin':
|
||||
+ dep_target = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET')
|
||||
+ if dep_target:
|
||||
+ return tuple(map(int, str(dep_target).split('.'))) >= vers
|
||||
+ return False
|
||||
+
|
||||
def is_macosx_sdk_path(path):
|
||||
"""
|
||||
Returns True if 'path' can be located in an OSX SDK
|
||||
@@ -81,6 +88,13 @@ def is_macosx_sdk_path(path):
|
||||
or path.startswith('/System/')
|
||||
or path.startswith('/Library/') )
|
||||
|
||||
+def grep_headers_for(function, headers):
|
||||
+ for header in headers:
|
||||
+ with open(header, 'r') as f:
|
||||
+ if function in f.read():
|
||||
+ return True
|
||||
+ return False
|
||||
+
|
||||
def find_file(filename, std_dirs, paths):
|
||||
"""Searches for the directory where a given file is located,
|
||||
and returns a possibly-empty list of additional directories, or None
|
||||
@@ -1939,7 +1953,11 @@ class PyBuildExt(build_ext):
|
||||
return True
|
||||
|
||||
def detect_ctypes(self, inc_dirs, lib_dirs):
|
||||
- self.use_system_libffi = False
|
||||
+ if not sysconfig.get_config_var("LIBFFI_INCLUDEDIR") and is_macosx_at_least((10,15)):
|
||||
+ self.use_system_libffi = True
|
||||
+ else:
|
||||
+ self.use_system_libffi = '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS")
|
||||
+
|
||||
include_dirs = []
|
||||
extra_compile_args = []
|
||||
extra_link_args = []
|
||||
@@ -1986,19 +2004,29 @@ class PyBuildExt(build_ext):
|
||||
libraries=math_libs)
|
||||
self.extensions.extend([ext, ext_test])
|
||||
|
||||
- if not '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"):
|
||||
- return
|
||||
+ ffi_inc = sysconfig.get_config_var("LIBFFI_INCLUDEDIR")
|
||||
+ ffi_lib = None
|
||||
|
||||
if host_platform == 'darwin':
|
||||
- # OS X 10.5 comes with libffi.dylib; the include files are
|
||||
- # in /usr/include/ffi
|
||||
- inc_dirs.append('/usr/include/ffi')
|
||||
-
|
||||
- ffi_inc = [sysconfig.get_config_var("LIBFFI_INCLUDEDIR")]
|
||||
- if not ffi_inc or ffi_inc[0] == '':
|
||||
- ffi_inc = find_file('ffi.h', [], inc_dirs)
|
||||
- if ffi_inc is not None:
|
||||
- ffi_h = ffi_inc[0] + '/ffi.h'
|
||||
+ if not self.use_system_libffi:
|
||||
+ return
|
||||
+ ffi_in_sdk = os.path.join(macosx_sdk_root(), "usr/include/ffi")
|
||||
+ if os.path.exists(ffi_in_sdk):
|
||||
+ ffi_inc = ffi_in_sdk
|
||||
+ ffi_lib = 'ffi'
|
||||
+ else:
|
||||
+ # OS X 10.5 comes with libffi.dylib; the include files are
|
||||
+ # in /usr/include/ffi
|
||||
+ inc_dirs.append('/usr/include/ffi')
|
||||
+ elif '--without-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"):
|
||||
+ return
|
||||
+
|
||||
+ if not ffi_inc:
|
||||
+ found = find_file('ffi.h', [], inc_dirs)
|
||||
+ if found:
|
||||
+ ffi_inc = found[0]
|
||||
+ if ffi_inc:
|
||||
+ ffi_h = ffi_inc + '/ffi.h'
|
||||
with open(ffi_h) as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
@@ -2009,15 +2037,22 @@ class PyBuildExt(build_ext):
|
||||
ffi_inc = None
|
||||
print('Header file {} does not define LIBFFI_H or '
|
||||
'ffi_wrapper_h'.format(ffi_h))
|
||||
- ffi_lib = None
|
||||
- if ffi_inc is not None:
|
||||
+ if ffi_lib is None and ffi_inc is not None:
|
||||
for lib_name in ('ffi_convenience', 'ffi_pic', 'ffi'):
|
||||
if (self.compiler.find_library_file(lib_dirs, lib_name)):
|
||||
ffi_lib = lib_name
|
||||
break
|
||||
|
||||
if ffi_inc and ffi_lib:
|
||||
- ext.include_dirs.extend(ffi_inc)
|
||||
+ ffi_headers = glob(os.path.join(ffi_inc, '*.h'))
|
||||
+ if grep_headers_for('ffi_closure_alloc', ffi_headers):
|
||||
+ try:
|
||||
+ sources.remove('_ctypes/malloc_closure.c')
|
||||
+ except ValueError:
|
||||
+ pass
|
||||
+ if grep_headers_for('ffi_prep_cif_var', ffi_headers):
|
||||
+ ext.extra_compile_args.append("-DHAVE_FFI_PREP_CIF_VAR=1")
|
||||
+ ext.include_dirs.append(ffi_inc)
|
||||
ext.libraries.append(ffi_lib)
|
||||
self.use_system_libffi = True
|
||||
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
From 2ad0bb719f5ce416d3bfa366814ebcf3b654f081 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Pozdeev <vano@mail.mipt.ru>
|
||||
Date: Sat, 10 Jun 2023 20:17:25 +0300
|
||||
Subject: [PATCH] bpo-36231: Support building on macOS without /usr/include
|
||||
(GH-13773) (GH-14208)
|
||||
|
||||
---
|
||||
.../2019-06-03-05-49-49.bpo-36231.RfmW_p.rst | 3 ++
|
||||
setup.py | 53 ++++++++++++++++---
|
||||
2 files changed, 49 insertions(+), 7 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2019-06-03-05-49-49.bpo-36231.RfmW_p.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2019-06-03-05-49-49.bpo-36231.RfmW_p.rst b/Misc/NEWS.d/next/macOS/2019-06-03-05-49-49.bpo-36231.RfmW_p.rst
|
||||
new file mode 100644
|
||||
index 0000000000..c82e54c12c
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2019-06-03-05-49-49.bpo-36231.RfmW_p.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+Support building Python on macOS without /usr/include installed. As of macOS
|
||||
+10.14, system header files are only available within an SDK provided by
|
||||
+either the Command Line Tools or the Xcode app.
|
||||
diff --git a/setup.py b/setup.py
|
||||
index ab8065866f..28dc801845 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -60,18 +60,57 @@ def add_dir_to_list(dirlist, dir):
|
||||
return
|
||||
dirlist.insert(0, dir)
|
||||
|
||||
+MACOS_SDK_ROOT = None
|
||||
+
|
||||
def macosx_sdk_root():
|
||||
+ """Return the directory of the current macOS SDK.
|
||||
+
|
||||
+ If no SDK was explicitly configured, call the compiler to find which
|
||||
+ include files paths are being searched by default. Use '/' if the
|
||||
+ compiler is searching /usr/include (meaning system header files are
|
||||
+ installed) or use the root of an SDK if that is being searched.
|
||||
+ (The SDK may be supplied via Xcode or via the Command Line Tools).
|
||||
+ The SDK paths used by Apple-supplied tool chains depend on the
|
||||
+ setting of various variables; see the xcrun man page for more info.
|
||||
"""
|
||||
- Return the directory of the current OSX SDK,
|
||||
- or '/' if no SDK was specified.
|
||||
- """
|
||||
+ global MACOS_SDK_ROOT
|
||||
+
|
||||
+ # If already called, return cached result.
|
||||
+ if MACOS_SDK_ROOT:
|
||||
+ return MACOS_SDK_ROOT
|
||||
+
|
||||
cflags = sysconfig.get_config_var('CFLAGS')
|
||||
m = re.search(r'-isysroot\s+(\S+)', cflags)
|
||||
- if m is None:
|
||||
- sysroot = '/'
|
||||
+ if m is not None:
|
||||
+ MACOS_SDK_ROOT = m.group(1)
|
||||
else:
|
||||
- sysroot = m.group(1)
|
||||
- return sysroot
|
||||
+ MACOS_SDK_ROOT = '/'
|
||||
+ cc = sysconfig.get_config_var('CC')
|
||||
+ tmpfile = '/tmp/setup_sdk_root.%d' % os.getpid()
|
||||
+ try:
|
||||
+ os.unlink(tmpfile)
|
||||
+ except:
|
||||
+ pass
|
||||
+ ret = os.system('%s -E -v - </dev/null 2>%s 1>/dev/null' % (cc, tmpfile))
|
||||
+ in_incdirs = False
|
||||
+ try:
|
||||
+ if ret >> 8 == 0:
|
||||
+ with open(tmpfile) as fp:
|
||||
+ for line in fp.readlines():
|
||||
+ if line.startswith("#include <...>"):
|
||||
+ in_incdirs = True
|
||||
+ elif line.startswith("End of search list"):
|
||||
+ in_incdirs = False
|
||||
+ elif in_incdirs:
|
||||
+ line = line.strip()
|
||||
+ if line == '/usr/include':
|
||||
+ MACOS_SDK_ROOT = '/'
|
||||
+ elif line.endswith(".sdk/usr/include"):
|
||||
+ MACOS_SDK_ROOT = line[:-12]
|
||||
+ finally:
|
||||
+ os.unlink(tmpfile)
|
||||
+
|
||||
+ return MACOS_SDK_ROOT
|
||||
|
||||
def is_macosx_at_least(vers):
|
||||
if host_platform == 'darwin':
|
||||
--
|
||||
2.36.1.windows.1
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From 3cc28dc409d0db3752278379e7a8d4c23e0f2e29 Mon Sep 17 00:00:00 2001
|
||||
From: Ronald Oussoren <ronaldoussoren@mac.com>
|
||||
Date: Sat, 14 Nov 2020 16:07:47 +0100
|
||||
Subject: [PATCH] bpo-42351: Avoid error when opening header with non-UTF8
|
||||
encoding (GH-23279)
|
||||
|
||||
grep_headers_for() would error out when a header contained
|
||||
text that cannot be interpreted as UTF-8.
|
||||
---
|
||||
setup.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 28dc801845..dd50485213 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -129,7 +129,7 @@ def is_macosx_sdk_path(path):
|
||||
|
||||
def grep_headers_for(function, headers):
|
||||
for header in headers:
|
||||
- with open(header, 'r') as f:
|
||||
+ with open(header, 'r', errors='surrogateescape') as f:
|
||||
if function in f.read():
|
||||
return True
|
||||
return False
|
||||
--
|
||||
2.36.1.windows.1
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From 54dc627769bf112b0181972a52c4b45e4a02da57 Mon Sep 17 00:00:00 2001
|
||||
From: Inada Naoki <songofacandy@gmail.com>
|
||||
Date: Tue, 14 May 2019 18:51:15 +0900
|
||||
Subject: [PATCH 09/10] bpo-27987: pymalloc: align by 16bytes on 64bit platform
|
||||
(GH-12850)
|
||||
|
||||
---
|
||||
.../2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst | 3 +++
|
||||
Objects/obmalloc.c | 6 ++++++
|
||||
2 files changed, 9 insertions(+)
|
||||
create mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst b/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst
|
||||
new file mode 100644
|
||||
index 0000000000..b0f32a5c6c
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/Core and Builtins/2019-04-16-11-52-21.bpo-27987.n2_DcQ.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+pymalloc returns memory blocks aligned by 16 bytes, instead of 8 bytes, on
|
||||
+64-bit platforms to conform x86-64 ABI. Recent compilers assume this alignment
|
||||
+more often. Patch by Inada Naoki.
|
||||
diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c
|
||||
index d46d149311..47283354f4 100644
|
||||
--- a/Objects/obmalloc.c
|
||||
+++ b/Objects/obmalloc.c
|
||||
@@ -650,8 +650,14 @@ static int running_on_valgrind = -1;
|
||||
*
|
||||
* You shouldn't change this unless you know what you are doing.
|
||||
*/
|
||||
+
|
||||
+#if SIZEOF_VOID_P > 4
|
||||
+#define ALIGNMENT 16 /* must be 2^N */
|
||||
+#define ALIGNMENT_SHIFT 4
|
||||
+#else
|
||||
#define ALIGNMENT 8 /* must be 2^N */
|
||||
#define ALIGNMENT_SHIFT 3
|
||||
+#endif
|
||||
|
||||
/* Return the number of bytes in size class I, as a uint. */
|
||||
#define INDEX2SIZE(I) (((uint)(I) + 1) << ALIGNMENT_SHIFT)
|
||||
--
|
||||
2.38.4
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
From e68ff170dc6764b22886e703f583fb53e90367ef Mon Sep 17 00:00:00 2001
|
||||
From: Inada Naoki <songofacandy@gmail.com>
|
||||
Date: Sat, 25 May 2019 21:13:33 +0900
|
||||
Subject: [PATCH 10/10] bpo-27987: align PyGC_Head to alignof(long double)
|
||||
(GH-13335)
|
||||
|
||||
---
|
||||
Include/objimpl.h | 6 +++++-
|
||||
.../2019-05-15-18-28-43.bpo-27987.FaxuLy.rst | 2 ++
|
||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
||||
create mode 100644 Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst
|
||||
|
||||
diff --git a/Include/objimpl.h b/Include/objimpl.h
|
||||
index e7a3696d7a..90d71b87ea 100644
|
||||
--- a/Include/objimpl.h
|
||||
+++ b/Include/objimpl.h
|
||||
@@ -255,7 +255,11 @@ typedef union _gc_head {
|
||||
union _gc_head *gc_prev;
|
||||
Py_ssize_t gc_refs;
|
||||
} gc;
|
||||
- double dummy; /* force worst-case alignment */
|
||||
+ long double dummy; /* force worst-case alignment */
|
||||
+ // malloc returns memory block aligned for any built-in types and
|
||||
+ // long double is the largest standard C type.
|
||||
+ // On amd64 linux, long double requires 16 byte alignment.
|
||||
+ // See bpo-27987 for more discussion.
|
||||
} PyGC_Head;
|
||||
|
||||
extern PyGC_Head *_PyGC_generation0;
|
||||
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst b/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst
|
||||
new file mode 100644
|
||||
index 0000000000..97ca37b262
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/Core and Builtins/2019-05-15-18-28-43.bpo-27987.FaxuLy.rst
|
||||
@@ -0,0 +1,2 @@
|
||||
+``PyGC_Head`` structure is aligned to ``long double``. This is needed to
|
||||
+GC-ed objects are aligned properly. Patch by Inada Naoki.
|
||||
--
|
||||
2.38.4
|
||||
|
||||
@@ -0,0 +1,310 @@
|
||||
From: Christian Hammond <christian@beanbaginc.com>
|
||||
Date: Wed, 15 Dec 2021 23:12:36 -0800
|
||||
Subject: Port ctypes and system libffi patches for arm64/macOS 10.15+ to Python 3.7.12
|
||||
|
||||
This ports the following ctypes and libffi pyenv patches for Python
|
||||
2.7.18 to Python 3.7.12:
|
||||
|
||||
* `0004-Use-system-libffi-for-Mac-OS-10.15-and-up.patch`
|
||||
* `0005-ctypes-use-the-correct-ABI-for-variadic-functions.patch`
|
||||
* `0006-ctypes-probe-libffi-for-ffi_closure_alloc-and-ffi_pr.patch`
|
||||
|
||||
These patches enable use of system libffi (fixing a broken `ctypes`
|
||||
module on arm64 targets) and enable calling variadic functions on arm64.
|
||||
They've been combined from patches port from Homebrew to pyenv by Takumi
|
||||
Sueda, updated to work on the Python 3.7.12 codebase.
|
||||
|
||||
The Homebrew patches are themselves backports of changes in Python 3.9
|
||||
and 3.10. That patch can be found at:
|
||||
|
||||
https://github.com/Homebrew/formula-patches/blob/master/python/3.8.7.patch
|
||||
|
||||
diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst
|
||||
index 715d595b24..7743144978 100644
|
||||
--- a/Doc/library/ctypes.rst
|
||||
+++ b/Doc/library/ctypes.rst
|
||||
@@ -1551,6 +1551,13 @@ They are instances of a private class:
|
||||
value usable as argument (integer, string, ctypes instance). This allows
|
||||
defining adapters that can adapt custom objects as function parameters.
|
||||
|
||||
+ .. attribute:: variadic
|
||||
+
|
||||
+ Assign a boolean to specify that the function takes a variable number of
|
||||
+ arguments. This does not matter on most platforms, but for Apple arm64
|
||||
+ platforms variadic functions have a different calling convention than
|
||||
+ normal functions.
|
||||
+
|
||||
.. attribute:: errcheck
|
||||
|
||||
Assign a Python function or another callable to this attribute. The
|
||||
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
|
||||
index 4ebd82d3e0..7b73c190b6 100644
|
||||
--- a/Lib/test/test_unicode.py
|
||||
+++ b/Lib/test/test_unicode.py
|
||||
@@ -2458,11 +2458,14 @@ class CAPITest(unittest.TestCase):
|
||||
def test_from_format(self):
|
||||
support.import_module('ctypes')
|
||||
from ctypes import (
|
||||
+ c_char_p,
|
||||
pythonapi, py_object, sizeof,
|
||||
c_int, c_long, c_longlong, c_ssize_t,
|
||||
c_uint, c_ulong, c_ulonglong, c_size_t, c_void_p)
|
||||
name = "PyUnicode_FromFormat"
|
||||
_PyUnicode_FromFormat = getattr(pythonapi, name)
|
||||
+ _PyUnicode_FromFormat.argtypes = (c_char_p,)
|
||||
+ _PyUnicode_FromFormat.variadic = True
|
||||
_PyUnicode_FromFormat.restype = py_object
|
||||
|
||||
def PyUnicode_FromFormat(format, *args):
|
||||
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
|
||||
index dd0c61fd8a..79137e1dc7 100644
|
||||
--- a/Modules/_ctypes/_ctypes.c
|
||||
+++ b/Modules/_ctypes/_ctypes.c
|
||||
@@ -3174,6 +3174,34 @@ PyCFuncPtr_get_restype(PyCFuncPtrObject *self, void *Py_UNUSED(ignored))
|
||||
}
|
||||
}
|
||||
|
||||
+static int
|
||||
+PyCFuncPtr_set_variadic(PyCFuncPtrObject *self, PyObject *ob)
|
||||
+{
|
||||
+ StgDictObject *dict = PyObject_stgdict((PyObject *)self);
|
||||
+ assert(dict);
|
||||
+ int r = PyObject_IsTrue(ob);
|
||||
+ if (r == 1) {
|
||||
+ dict->flags |= FUNCFLAG_VARIADIC;
|
||||
+ return 0;
|
||||
+ } else if (r == 0) {
|
||||
+ dict->flags &= ~FUNCFLAG_VARIADIC;
|
||||
+ return 0;
|
||||
+ } else {
|
||||
+ return -1;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static PyObject *
|
||||
+PyCFuncPtr_get_variadic(PyCFuncPtrObject *self)
|
||||
+{
|
||||
+ StgDictObject *dict = PyObject_stgdict((PyObject *)self);
|
||||
+ assert(dict); /* Cannot be NULL for PyCFuncPtrObject instances */
|
||||
+ if (dict->flags & FUNCFLAG_VARIADIC)
|
||||
+ Py_RETURN_TRUE;
|
||||
+ else
|
||||
+ Py_RETURN_FALSE;
|
||||
+}
|
||||
+
|
||||
static int
|
||||
PyCFuncPtr_set_argtypes(PyCFuncPtrObject *self, PyObject *ob, void *Py_UNUSED(ignored))
|
||||
{
|
||||
@@ -3219,6 +3247,8 @@ static PyGetSetDef PyCFuncPtr_getsets[] = {
|
||||
{ "argtypes", (getter)PyCFuncPtr_get_argtypes,
|
||||
(setter)PyCFuncPtr_set_argtypes,
|
||||
"specify the argument types", NULL },
|
||||
+ { "variadic", (getter)PyCFuncPtr_get_variadic, (setter)PyCFuncPtr_set_variadic,
|
||||
+ "specify if function takes variable number of arguments", NULL },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
@@ -5632,6 +5662,7 @@ PyInit__ctypes(void)
|
||||
PyModule_AddObject(m, "FUNCFLAG_USE_ERRNO", PyLong_FromLong(FUNCFLAG_USE_ERRNO));
|
||||
PyModule_AddObject(m, "FUNCFLAG_USE_LASTERROR", PyLong_FromLong(FUNCFLAG_USE_LASTERROR));
|
||||
PyModule_AddObject(m, "FUNCFLAG_PYTHONAPI", PyLong_FromLong(FUNCFLAG_PYTHONAPI));
|
||||
+ PyModule_AddObject(m, "FUNCFLAG_VARIADIC", PyLong_FromLong(FUNCFLAG_VARIADIC));
|
||||
PyModule_AddStringConstant(m, "__version__", "1.1.0");
|
||||
|
||||
PyModule_AddObject(m, "_memmove_addr", PyLong_FromVoidPtr(memmove));
|
||||
diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
|
||||
index 9cbf9801ad..e7fe11176b 100644
|
||||
--- a/Modules/_ctypes/callproc.c
|
||||
+++ b/Modules/_ctypes/callproc.c
|
||||
@@ -754,7 +756,8 @@ static int _call_function_pointer(int flags,
|
||||
ffi_type **atypes,
|
||||
ffi_type *restype,
|
||||
void *resmem,
|
||||
- int argcount)
|
||||
+ int argcount,
|
||||
+ int argtypecount)
|
||||
{
|
||||
PyThreadState *_save = NULL; /* For Py_BLOCK_THREADS and Py_UNBLOCK_THREADS */
|
||||
PyObject *error_object = NULL;
|
||||
@@ -780,15 +783,39 @@ static int _call_function_pointer(int flags,
|
||||
if ((flags & FUNCFLAG_CDECL) == 0)
|
||||
cc = FFI_STDCALL;
|
||||
#endif
|
||||
- if (FFI_OK != ffi_prep_cif(&cif,
|
||||
- cc,
|
||||
- argcount,
|
||||
- restype,
|
||||
- atypes)) {
|
||||
- PyErr_SetString(PyExc_RuntimeError,
|
||||
- "ffi_prep_cif failed");
|
||||
- return -1;
|
||||
+
|
||||
+#if HAVE_FFI_PREP_CIF_VAR
|
||||
+ /* Everyone SHOULD set f.variadic=True on variadic function pointers, but
|
||||
+ * lots of existing code will not. If there's at least one arg and more
|
||||
+ * args are passed than are defined in the prototype, then it must be a
|
||||
+ * variadic function. */
|
||||
+ if ((flags & FUNCFLAG_VARIADIC) ||
|
||||
+ (argtypecount != 0 && argcount > argtypecount))
|
||||
+ {
|
||||
+ if (FFI_OK != ffi_prep_cif_var(&cif,
|
||||
+ cc,
|
||||
+ argtypecount,
|
||||
+ argcount,
|
||||
+ restype,
|
||||
+ atypes)) {
|
||||
+ PyErr_SetString(PyExc_RuntimeError,
|
||||
+ "ffi_prep_cif_var failed");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ } else {
|
||||
+#endif
|
||||
+ if (FFI_OK != ffi_prep_cif(&cif,
|
||||
+ cc,
|
||||
+ argcount,
|
||||
+ restype,
|
||||
+ atypes)) {
|
||||
+ PyErr_SetString(PyExc_RuntimeError,
|
||||
+ "ffi_prep_cif failed");
|
||||
+ return -1;
|
||||
+ }
|
||||
+#if HAVE_FFI_PREP_CIF_VAR
|
||||
}
|
||||
+#endif
|
||||
|
||||
if (flags & (FUNCFLAG_USE_ERRNO | FUNCFLAG_USE_LASTERROR)) {
|
||||
error_object = _ctypes_get_errobj(&space);
|
||||
@@ -1187,9 +1214,8 @@ PyObject *_ctypes_callproc(PPROC pProc,
|
||||
|
||||
if (-1 == _call_function_pointer(flags, pProc, avalues, atypes,
|
||||
rtype, resbuf,
|
||||
- Py_SAFE_DOWNCAST(argcount,
|
||||
- Py_ssize_t,
|
||||
- int)))
|
||||
+ Py_SAFE_DOWNCAST(argcount, Py_ssize_t, int),
|
||||
+ Py_SAFE_DOWNCAST(argtype_count, Py_ssize_t, int)))
|
||||
goto cleanup;
|
||||
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
diff --git a/Modules/_ctypes/ctypes.h b/Modules/_ctypes/ctypes.h
|
||||
index e58f85233c..e45975f6ad 100644
|
||||
--- a/Modules/_ctypes/ctypes.h
|
||||
+++ b/Modules/_ctypes/ctypes.h
|
||||
@@ -285,6 +285,7 @@ PyObject *_ctypes_callproc(PPROC pProc,
|
||||
#define FUNCFLAG_PYTHONAPI 0x4
|
||||
#define FUNCFLAG_USE_ERRNO 0x8
|
||||
#define FUNCFLAG_USE_LASTERROR 0x10
|
||||
+#define FUNCFLAG_VARIADIC 0x20
|
||||
|
||||
#define TYPEFLAG_ISPOINTER 0x100
|
||||
#define TYPEFLAG_HASPOINTER 0x200
|
||||
diff --git a/setup.py b/setup.py
|
||||
index bf90600eaa..48ff120e9a 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -142,6 +142,13 @@ def macosx_sdk_root():
|
||||
|
||||
return MACOS_SDK_ROOT
|
||||
|
||||
+def is_macosx_at_least(vers):
|
||||
+ if host_platform == 'darwin':
|
||||
+ dep_target = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET')
|
||||
+ if dep_target:
|
||||
+ return tuple(map(int, str(dep_target).split('.'))) >= vers
|
||||
+ return False
|
||||
+
|
||||
def is_macosx_sdk_path(path):
|
||||
"""
|
||||
Returns True if 'path' can be located in an OSX SDK
|
||||
@@ -150,6 +157,13 @@ def is_macosx_sdk_path(path):
|
||||
or path.startswith('/System/')
|
||||
or path.startswith('/Library/') )
|
||||
|
||||
+def grep_headers_for(function, headers):
|
||||
+ for header in headers:
|
||||
+ with open(header, 'r') as f:
|
||||
+ if function in f.read():
|
||||
+ return True
|
||||
+ return False
|
||||
+
|
||||
def find_file(filename, std_dirs, paths):
|
||||
"""Searches for the directory where a given file is located,
|
||||
and returns a possibly-empty list of additional directories, or None
|
||||
@@ -1972,7 +1986,11 @@ class PyBuildExt(build_ext):
|
||||
return True
|
||||
|
||||
def detect_ctypes(self, inc_dirs, lib_dirs):
|
||||
- self.use_system_libffi = False
|
||||
+ if not sysconfig.get_config_var("LIBFFI_INCLUDEDIR") and is_macosx_at_least((10,15)):
|
||||
+ self.use_system_libffi = True
|
||||
+ else:
|
||||
+ self.use_system_libffi = '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS")
|
||||
+
|
||||
include_dirs = []
|
||||
extra_compile_args = []
|
||||
extra_link_args = []
|
||||
@@ -2018,30 +2036,47 @@ class PyBuildExt(build_ext):
|
||||
libraries=['m'])
|
||||
self.extensions.extend([ext, ext_test])
|
||||
|
||||
+ ffi_inc = sysconfig.get_config_var("LIBFFI_INCLUDEDIR")
|
||||
+ ffi_lib = None
|
||||
+
|
||||
if host_platform == 'darwin':
|
||||
- if '--with-system-ffi' not in sysconfig.get_config_var("CONFIG_ARGS"):
|
||||
+ if not self.use_system_libffi:
|
||||
return
|
||||
- # OS X 10.5 comes with libffi.dylib; the include files are
|
||||
- # in /usr/include/ffi
|
||||
- inc_dirs.append('/usr/include/ffi')
|
||||
-
|
||||
- ffi_inc = [sysconfig.get_config_var("LIBFFI_INCLUDEDIR")]
|
||||
- if not ffi_inc or ffi_inc[0] == '':
|
||||
- ffi_inc = find_file('ffi.h', [], inc_dirs)
|
||||
- if ffi_inc is not None:
|
||||
- ffi_h = ffi_inc[0] + '/ffi.h'
|
||||
+ ffi_in_sdk = os.path.join(macosx_sdk_root(), "usr/include/ffi")
|
||||
+ if os.path.exists(ffi_in_sdk):
|
||||
+ ffi_inc = ffi_in_sdk
|
||||
+ ffi_lib = 'ffi'
|
||||
+ else:
|
||||
+ # OS X 10.5 comes with libffi.dylib; the include files are
|
||||
+ # in /usr/include/ffi
|
||||
+ inc_dirs.append('/usr/include/ffi')
|
||||
+
|
||||
+ if not ffi_inc:
|
||||
+ found = find_file('ffi.h', [], inc_dirs)
|
||||
+ if found:
|
||||
+ ffi_inc = found[0]
|
||||
+ if ffi_inc:
|
||||
+ ffi_h = ffi_inc + '/ffi.h'
|
||||
if not os.path.exists(ffi_h):
|
||||
ffi_inc = None
|
||||
print('Header file {} does not exist'.format(ffi_h))
|
||||
- ffi_lib = None
|
||||
- if ffi_inc is not None:
|
||||
- for lib_name in ('ffi', 'ffi_pic'):
|
||||
+
|
||||
+ if ffi_lib is None and ffi_inc:
|
||||
+ for lib_name in ('ffi_convenience', 'ffi_pic', 'ffi'):
|
||||
if (self.compiler.find_library_file(lib_dirs, lib_name)):
|
||||
ffi_lib = lib_name
|
||||
break
|
||||
|
||||
if ffi_inc and ffi_lib:
|
||||
- ext.include_dirs.extend(ffi_inc)
|
||||
+ ffi_headers = glob(os.path.join(ffi_inc, '*.h'))
|
||||
+ if grep_headers_for('ffi_closure_alloc', ffi_headers):
|
||||
+ try:
|
||||
+ sources.remove('_ctypes/malloc_closure.c')
|
||||
+ except ValueError:
|
||||
+ pass
|
||||
+ if grep_headers_for('ffi_prep_cif_var', ffi_headers):
|
||||
+ ext.extra_compile_args.append("-DHAVE_FFI_PREP_CIF_VAR=1")
|
||||
+ ext.include_dirs.append(ffi_inc)
|
||||
ext.libraries.append(ffi_lib)
|
||||
self.use_system_libffi = True
|
||||
|
||||
--
|
||||
2.30.1 (Apple Git-130)
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
From f2595c038ed7bfd182d9d05d83786106ebd02ca0 Mon Sep 17 00:00:00 2001
|
||||
From: Lawrence D'Anna <64555057+lawrence-danna-apple@users.noreply.github.com>
|
||||
Date: Tue, 30 Jun 2020 02:15:46 -0700
|
||||
Subject: [PATCH] bpo-41100: fix _decimal for arm64 Mac OS (GH-21228)
|
||||
|
||||
Patch by Lawrence Danna.
|
||||
---
|
||||
.../Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst | 1 +
|
||||
Modules/_decimal/libmpdec/mpdecimal.h | 3 +++
|
||||
2 files changed, 4 insertions(+)
|
||||
create mode 100644 Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst b/Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst
|
||||
new file mode 100644
|
||||
index 0000000000..d6176d69f0
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/Core and Builtins/2020-06-30-04-44-29.bpo-41100.PJwA6F.rst
|
||||
@@ -0,0 +1 @@
|
||||
+add arm64 to the allowable Mac OS arches in mpdecimal.h
|
||||
\ No newline at end of file
|
||||
diff --git a/Modules/_decimal/libmpdec/mpdecimal.h b/Modules/_decimal/libmpdec/mpdecimal.h
|
||||
index a67dd9bc12..3e9c8185c3 100644
|
||||
--- a/Modules/_decimal/libmpdec/mpdecimal.h
|
||||
+++ b/Modules/_decimal/libmpdec/mpdecimal.h
|
||||
@@ -135,6 +135,9 @@ const char *mpd_version(void);
|
||||
#elif defined(__x86_64__)
|
||||
#define CONFIG_64
|
||||
#define ASM
|
||||
+ #elif defined(__arm64__)
|
||||
+ #define CONFIG_64
|
||||
+ #define ANSI
|
||||
#else
|
||||
#error "unknown architecture for universal build."
|
||||
#endif
|
||||
--
|
||||
2.37.3
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
From 245427d207ee88a4ba26a66c3de350bcbcc036f2 Mon Sep 17 00:00:00 2001
|
||||
From: Ronald Oussoren <ronaldoussoren@mac.com>
|
||||
Date: Sat, 14 Nov 2020 16:07:47 +0100
|
||||
Subject: [PATCH] bpo-42351: Avoid error when opening header with non-UTF8
|
||||
encoding (GH-23279)
|
||||
|
||||
grep_headers_for() would error out when a header contained
|
||||
text that cannot be interpreted as UTF-8.
|
||||
|
||||
cherry-picked from 7a27c7ed4b by Pedro Fonini <fonini@ip.tv>
|
||||
---
|
||||
setup.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index f211989aac..467362813d 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -159,7 +159,7 @@ def is_macosx_sdk_path(path):
|
||||
|
||||
def grep_headers_for(function, headers):
|
||||
for header in headers:
|
||||
- with open(header, 'r') as f:
|
||||
+ with open(header, 'r', errors='surrogateescape') as f:
|
||||
if function in f.read():
|
||||
return True
|
||||
return False
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
diff --git a/configure b/configure
|
||||
index 5c74f00a..8bb51f40 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -7057,8 +7057,8 @@ $as_echo "$ac_cv_extra_warnings" >&6; }
|
||||
|
||||
if test $ac_cv_extra_warnings = yes
|
||||
then
|
||||
- CFLAGS_NODIST="$CFLAGS_NODIST -Wextra -Werror"
|
||||
- CXXFLAGS_NODIST="$CXXFLAGS_NODIST -Wextra -Werror -Wno-implicit-fallthrough"
|
||||
+ CFLAGS_NODIST="$CFLAGS_NODIST -Wextra"
|
||||
+ CXXFLAGS_NODIST="$CXXFLAGS_NODIST -Wextra -Wno-implicit-fallthrough"
|
||||
fi
|
||||
|
||||
# Python doesn't violate C99 aliasing rules, but older versions of
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c06b992d..6dee6632 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1622,8 +1622,8 @@ yes)
|
||||
|
||||
if test $ac_cv_extra_warnings = yes
|
||||
then
|
||||
- CFLAGS_NODIST="$CFLAGS_NODIST -Wextra -Werror"
|
||||
- CXXFLAGS_NODIST="$CXXFLAGS_NODIST -Wextra -Werror -Wno-implicit-fallthrough"
|
||||
+ CFLAGS_NODIST="$CFLAGS_NODIST -Wextra"
|
||||
+ CXXFLAGS_NODIST="$CXXFLAGS_NODIST -Wextra -Wno-implicit-fallthrough"
|
||||
fi
|
||||
|
||||
# Python doesn't violate C99 aliasing rules, but older versions of
|
||||
@@ -0,0 +1,30 @@
|
||||
diff --git a/configure b/configure
|
||||
index 0df332f7..df8143cf 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6952,8 +6952,8 @@ $as_echo "$ac_cv_extra_warnings" >&6; }
|
||||
|
||||
if test $ac_cv_extra_warnings = yes
|
||||
then
|
||||
- CFLAGS_NODIST="$CFLAGS_NODIST -Wextra -Werror"
|
||||
- CXXFLAGS_NODIST="$CXXFLAGS_NODIST -Wextra -Werror -Wno-implicit-fallthrough"
|
||||
+ CFLAGS_NODIST="$CFLAGS_NODIST -Wextra"
|
||||
+ CXXFLAGS_NODIST="$CXXFLAGS_NODIST -Wextra -Wno-implicit-fallthrough"
|
||||
fi
|
||||
|
||||
# Python doesn't violate C99 aliasing rules, but older versions of
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f6718e36..0a651e7d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1579,8 +1579,8 @@ yes)
|
||||
|
||||
if test $ac_cv_extra_warnings = yes
|
||||
then
|
||||
- CFLAGS_NODIST="$CFLAGS_NODIST -Wextra -Werror"
|
||||
- CXXFLAGS_NODIST="$CXXFLAGS_NODIST -Wextra -Werror -Wno-implicit-fallthrough"
|
||||
+ CFLAGS_NODIST="$CFLAGS_NODIST -Wextra"
|
||||
+ CXXFLAGS_NODIST="$CXXFLAGS_NODIST -Wextra -Wno-implicit-fallthrough"
|
||||
fi
|
||||
|
||||
# Python doesn't violate C99 aliasing rules, but older versions of
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user