mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-08 19:43:48 -05:00
Compare commits
166 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f39e8a944 | ||
|
|
337b92d95d | ||
|
|
781db9bb8c | ||
|
|
775a4b6379 | ||
|
|
22b7de95d6 | ||
|
|
0e3e812aa8 | ||
|
|
962fdd974d | ||
|
|
f07184b34c | ||
|
|
b246ba437f | ||
|
|
bdd58ff278 | ||
|
|
ec9fb5492b | ||
|
|
cc35fbd0b8 | ||
|
|
dd523b706d | ||
|
|
0c69fc9501 | ||
|
|
e302f0d443 | ||
|
|
80414b1b5b | ||
|
|
e389c8d906 | ||
|
|
cd7c8af487 | ||
|
|
835707da22 | ||
|
|
ee7b974160 | ||
|
|
62213bbfff | ||
|
|
75ca7613ad | ||
|
|
21c75c19e3 | ||
|
|
99346da8eb | ||
|
|
1a276f2d78 | ||
|
|
650d9bd652 | ||
|
|
5603eb51c9 | ||
|
|
c6e3f95f67 | ||
|
|
7190216884 | ||
|
|
b7eea9003b | ||
|
|
1e96b2c321 | ||
|
|
0bdae9fd9d | ||
|
|
9c7bdbc5e2 | ||
|
|
97f244fbb5 | ||
|
|
c057a80c82 | ||
|
|
0e3f04c429 | ||
|
|
3de7c5f298 | ||
|
|
996a2d12a5 | ||
|
|
4812e0387b | ||
|
|
334e413722 | ||
|
|
2f1fb3a6e1 | ||
|
|
d48a954c6c | ||
|
|
d08c9cfb36 | ||
|
|
43235c2716 | ||
|
|
cbf3983ac5 | ||
|
|
9c1d677d23 | ||
|
|
eee72eecdf | ||
|
|
09494e3943 | ||
|
|
8eeddaebc1 | ||
|
|
dad0fc708a | ||
|
|
a2d51328ee | ||
|
|
3faba7d47c | ||
|
|
3f8ea04cc2 | ||
|
|
f7a3ffd2d8 | ||
|
|
df0437f111 | ||
|
|
d6ba379e08 | ||
|
|
47436606b5 | ||
|
|
b3ba0fd7e3 | ||
|
|
750c63c643 | ||
|
|
c8ad3385c7 | ||
|
|
11067155f4 | ||
|
|
18df84f535 | ||
|
|
098fb9f07a | ||
|
|
fc90785f75 | ||
|
|
1ec57a0c68 | ||
|
|
7973e59473 | ||
|
|
b1e3f13a85 | ||
|
|
a6c15fb242 | ||
|
|
63c4b7f45c | ||
|
|
20e4f53aac | ||
|
|
35f7ef8708 | ||
|
|
83429344ea | ||
|
|
83f97ef2b3 | ||
|
|
b960f863cc | ||
|
|
a41d7561d0 | ||
|
|
980b03b582 | ||
|
|
f3aba64a84 | ||
|
|
fc33f674b4 | ||
|
|
f5663f084a | ||
|
|
a1d39c1e25 | ||
|
|
90dfb261e2 | ||
|
|
367c6765ab | ||
|
|
abbb606041 | ||
|
|
359aa1f4c6 | ||
|
|
b95d0d9542 | ||
|
|
15ff779eb5 | ||
|
|
f35aea984f | ||
|
|
806b9384a1 | ||
|
|
5861aee062 | ||
|
|
967d9b6a1b | ||
|
|
ed2d2a921e | ||
|
|
143e0be9fc | ||
|
|
694b551935 | ||
|
|
59846ca9b1 | ||
|
|
adbb59ed2c | ||
|
|
05143526f4 | ||
|
|
296ce06d69 | ||
|
|
3daed2e517 | ||
|
|
a8e207f330 | ||
|
|
5f74547379 | ||
|
|
c8ba27fd07 | ||
|
|
9daf81f16e | ||
|
|
23e1c5049f | ||
|
|
7ca1923a44 | ||
|
|
445d59ae2e | ||
|
|
bc9687576e | ||
|
|
907a86b743 | ||
|
|
812f02662b | ||
|
|
5c0570cdc0 | ||
|
|
43c4063f51 | ||
|
|
aab718844a | ||
|
|
59050aa093 | ||
|
|
42349d9d24 | ||
|
|
2ba2d8797b | ||
|
|
04d9342f82 | ||
|
|
d85bc23592 | ||
|
|
f114557698 | ||
|
|
95ad305bcb | ||
|
|
6c0625710f | ||
|
|
86e1b9a8ad | ||
|
|
b64c445b61 | ||
|
|
1864fd7b93 | ||
|
|
6f27c91b5f | ||
|
|
b704c4242c | ||
|
|
978d8e0f9a | ||
|
|
65ddf84926 | ||
|
|
9a59c8490a | ||
|
|
4a14d2f62a | ||
|
|
66412f556d | ||
|
|
785738d5b3 | ||
|
|
71f09a6d71 | ||
|
|
9619e6bd53 | ||
|
|
2c3998f88b | ||
|
|
69d47d5fd7 | ||
|
|
dc145fa5a2 | ||
|
|
5149c53165 | ||
|
|
c5e4bab858 | ||
|
|
b943955dbf | ||
|
|
643023d98f | ||
|
|
af53c790cc | ||
|
|
6aa70b6541 | ||
|
|
5f8a4c4d62 | ||
|
|
eda952ab08 | ||
|
|
b80ea43e25 | ||
|
|
c310bc5f83 | ||
|
|
eab68688dc | ||
|
|
5183e32887 | ||
|
|
e2f469a7cd | ||
|
|
33a5c2495d | ||
|
|
66b9f6fb2b | ||
|
|
a9ca72ab8e | ||
|
|
1a8b5e04a9 | ||
|
|
2d7cefe782 | ||
|
|
650c9d3452 | ||
|
|
4ebd1bd12c | ||
|
|
dbaa8c83b6 | ||
|
|
615f8443fe | ||
|
|
fc706daf60 | ||
|
|
6cd487db81 | ||
|
|
e3e99cc906 | ||
|
|
95b1b05cbe | ||
|
|
9d93605e18 | ||
|
|
1f1e291385 | ||
|
|
db39044ef6 | ||
|
|
fab5cf912f | ||
|
|
9f52b56aa8 |
21
.github/ISSUE_TEMPLATE.md
vendored
Normal file
21
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
Too many issues will kill our team's development velocity, drastically.
|
||||||
|
Make sure you have checked all steps below.
|
||||||
|
|
||||||
|
### Prerequisite
|
||||||
|
* [ ] Make sure your problem is not listed in [the common build problems](https://github.com/pyenv/pyenv/wiki/Common-build-problems).
|
||||||
|
* [ ] Make sure no duplicated issue has already been reported in [the pyenv issues](https://github.com/pyenv/pyenv/issues). You should look for closed issues, too.
|
||||||
|
* [ ] Make sure you are not asking us to help solving your specific issue.
|
||||||
|
* GitHub issues is opened mainly for development purposes. If you want to ask someone to help solving your problem, go to some community site like [Gitter](https://gitter.im/yyuu/pyenv), [StackOverflow](https://stackoverflow.com/questions/tagged/pyenv), etc.
|
||||||
|
* [ ] Make sure your problem is not derived from packaging (e.g. [Homebrew](https://brew.sh)).
|
||||||
|
* Please refer to the package documentation for the installation issues, etc.
|
||||||
|
* [ ] Make sure your problem is not derived from plugins.
|
||||||
|
* This repository is maintaining `pyenv` and the default `python-build` plugin only. Please refrain from reporting issues of other plugins here.
|
||||||
|
|
||||||
|
### Description
|
||||||
|
- [ ] Platform information (e.g. Ubuntu Linux 16.04):
|
||||||
|
- [ ] OS architecture (e.g. amd64):
|
||||||
|
- [ ] pyenv version:
|
||||||
|
- [ ] Python version:
|
||||||
|
- [ ] C Compiler information (e.g. gcc 7.3):
|
||||||
|
- [ ] Please attach verbose build log as gist
|
||||||
|
* You can turn on verbose debug logging using by setting `PYENV_DEBUG=1`, e.g. `env PYENV_DEBUG=1 pyenv install -v 3.6.4`
|
||||||
16
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
16
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Make sure you have checked all steps below.
|
||||||
|
|
||||||
|
### Prerequisite
|
||||||
|
* [ ] Please consider implementing the feature as a hook script or plugin as a first step.
|
||||||
|
* pyenv has some powerful support for plugins and hook scripts. Please refer to [Authoring plugins](https://github.com/pyenv/pyenv/wiki/Authoring-plugins) for details and try to implement it as a plugin if possible.
|
||||||
|
* [ ] Please consider contributing the patch upstream to [rbenv](https://github.com/rbenv/rbenv), since we have borrowed most of the code from that project.
|
||||||
|
* We occasionally import the changes from rbenv. In general, you can expect changes made in rbenv will be imported to pyenv too, eventually.
|
||||||
|
* Generally speaking, we prefer not to make changes in the core in order to keep compatibility with rbenv.
|
||||||
|
* [ ] My PR addresses the following pyenv issue (if any)
|
||||||
|
- https://github.com/pyenv/pyenv/issues/XXXX
|
||||||
|
|
||||||
|
### Description
|
||||||
|
- [ ] Here are some details about my PR
|
||||||
|
|
||||||
|
### Tests
|
||||||
|
- [ ] My PR adds the following unit tests (if any)
|
||||||
59
CHANGELOG.md
59
CHANGELOG.md
@@ -1,5 +1,64 @@
|
|||||||
## Version History
|
## Version History
|
||||||
|
|
||||||
|
## 1.2.9
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.7.2 and CPython 3.6.8 (#1256)
|
||||||
|
* python-build: Add anaconda[23]-5.3.1 (#1246)
|
||||||
|
* python-build: Add Anaconda 2018.12 (#1259)
|
||||||
|
* python-build: Fix ironpython-dev git repo url (#1260)
|
||||||
|
* python-build: Add `OPENSSL_NO_SSL3` patch for CPython 3.3.7 (#1263)
|
||||||
|
|
||||||
|
## 1.2.8
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.7.1
|
||||||
|
* python-build: Add CPython 3.6.7
|
||||||
|
* python-build: Add anaconda[23]-5.3.0 (#1220)
|
||||||
|
|
||||||
|
## 1.2.7
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.5.6 (#1199)
|
||||||
|
* python-build: Add CPython 3.4.9
|
||||||
|
|
||||||
|
## 1.2.6
|
||||||
|
|
||||||
|
* python-build: Added CPython 3.6.6 (#1178)
|
||||||
|
* python-build: Check wget version iff wget is going to be used (#1180)
|
||||||
|
|
||||||
|
## 1.2.5
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.7.0 (#1177)
|
||||||
|
* python-build: Add micropython 1.9.4 (#1160)
|
||||||
|
* python-build: Add anaconda[23]-5.2.0 (#1165)
|
||||||
|
* pyenv: Fix `seq(1)` is not available on OpenBSD (#1166)
|
||||||
|
|
||||||
|
## 1.2.4
|
||||||
|
|
||||||
|
* python-build: Add CPython 2.7.15
|
||||||
|
* python-build: Add PyPy 6.0.0
|
||||||
|
* python-build: Allow overriding HTTP client type based on environment variable `PYTHON_BUILD_HTTP_CLIENT` (#1126)
|
||||||
|
* python-build: Use version-specific `get-pip.py` when installing 2.6 and 3.2 (#1131)
|
||||||
|
* pyenv: Merge rbenv master (#1151)
|
||||||
|
* pyenv: Make `pyenv-rehash` safer for multiple processes (#1092)
|
||||||
|
|
||||||
|
## 1.2.3
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.6.5
|
||||||
|
* python-build: Set openssl PKG_CONFIG_PATH for python 3.7 (#1117)
|
||||||
|
* python-build: Add ActivePython versions 2.7.14, 3.5.4, 3.6.0 (#1113)
|
||||||
|
* python-build: Unset `PIP_VERSION` before invoking `get-pip.py` as a workaround for `invalid truth value` error (#1124)
|
||||||
|
|
||||||
|
## 1.2.2
|
||||||
|
|
||||||
|
* python-build: Add PyPy3 5.10.1 (#1084)
|
||||||
|
* python-build: Add CPython 3.5.5 (#1090)
|
||||||
|
* python-build: Add Anaconda[23]-5.1.0 (#1100)
|
||||||
|
* python-build: Fix checksum issue for CPython 3.4.8 (#1094)
|
||||||
|
* python-build: Prevent Anaconda from installing a `clear` shim (#1084)
|
||||||
|
## 1.2.1
|
||||||
|
|
||||||
|
* python-build: Add CPython 3.6.4
|
||||||
|
* python-build: Add PyPy[23] 5.10
|
||||||
|
|
||||||
## 1.2.0
|
## 1.2.0
|
||||||
|
|
||||||
* python-build: Import changes from ruby-build v20171031 (#1026)
|
* python-build: Import changes from ruby-build v20171031 (#1026)
|
||||||
|
|||||||
27
README.md
27
README.md
@@ -11,7 +11,7 @@ tools that do one thing well.
|
|||||||
This project was forked from [rbenv](https://github.com/rbenv/rbenv) and
|
This project was forked from [rbenv](https://github.com/rbenv/rbenv) and
|
||||||
[ruby-build](https://github.com/rbenv/ruby-build), and modified for Python.
|
[ruby-build](https://github.com/rbenv/ruby-build), and modified for Python.
|
||||||
|
|
||||||
<img src="https://i.gyazo.com/699a58927b77e46e71cd674c7fc7a78d.png" width="735" height="490" />
|

|
||||||
|
|
||||||
|
|
||||||
### pyenv _does..._
|
### pyenv _does..._
|
||||||
@@ -48,7 +48,7 @@ This project was forked from [rbenv](https://github.com/rbenv/rbenv) and
|
|||||||
* **[Installation](#installation)**
|
* **[Installation](#installation)**
|
||||||
* [Basic GitHub Checkout](#basic-github-checkout)
|
* [Basic GitHub Checkout](#basic-github-checkout)
|
||||||
* [Upgrading](#upgrading)
|
* [Upgrading](#upgrading)
|
||||||
* [Homebrew on Mac OS X](#homebrew-on-mac-os-x)
|
* [Homebrew on macOS](#homebrew-on-macos)
|
||||||
* [Advanced Configuration](#advanced-configuration)
|
* [Advanced Configuration](#advanced-configuration)
|
||||||
* [Uninstalling Python Versions](#uninstalling-python-versions)
|
* [Uninstalling Python Versions](#uninstalling-python-versions)
|
||||||
* **[Command Reference](#command-reference)**
|
* **[Command Reference](#command-reference)**
|
||||||
@@ -167,7 +167,7 @@ We'd recommend to install pyenv-virtualenv as well if you have some plan to play
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
If you're on Mac OS X, consider [installing with Homebrew](#homebrew-on-mac-os-x).
|
If you're on macOS, consider [installing with Homebrew](#homebrew-on-macos).
|
||||||
|
|
||||||
|
|
||||||
### The automatic installer
|
### The automatic installer
|
||||||
@@ -219,7 +219,12 @@ easy to fork and contribute any changes back upstream.
|
|||||||
```sh
|
```sh
|
||||||
$ exec "$SHELL"
|
$ exec "$SHELL"
|
||||||
```
|
```
|
||||||
5. **Install Python versions into `$(pyenv root)/versions`.**
|
|
||||||
|
5. **Install Python build dependencies** before attempting to install a new Python version. The
|
||||||
|
[pyenv wiki](https://github.com/pyenv/pyenv/wiki) provides suggested installation packages
|
||||||
|
and commands for various operating systems.
|
||||||
|
|
||||||
|
6. **Install Python versions into `$(pyenv root)/versions`.**
|
||||||
For example, to download and install Python 2.7.8, run:
|
For example, to download and install Python 2.7.8, run:
|
||||||
```sh
|
```sh
|
||||||
$ pyenv install 2.7.8
|
$ pyenv install 2.7.8
|
||||||
@@ -281,10 +286,10 @@ uninstall from the system.
|
|||||||
|
|
||||||
brew uninstall pyenv
|
brew uninstall pyenv
|
||||||
|
|
||||||
### Homebrew on Mac OS X
|
### Homebrew on macOS
|
||||||
|
|
||||||
You can also install pyenv using the [Homebrew](http://brew.sh)
|
You can also install pyenv using the [Homebrew](https://brew.sh)
|
||||||
package manager for Mac OS X.
|
package manager for macOS.
|
||||||
|
|
||||||
$ brew update
|
$ brew update
|
||||||
$ brew install pyenv
|
$ brew install pyenv
|
||||||
@@ -381,3 +386,11 @@ tracker](https://github.com/pyenv/pyenv/issues).
|
|||||||
|
|
||||||
[pyenv-virtualenv]: https://github.com/pyenv/pyenv-virtualenv#readme
|
[pyenv-virtualenv]: https://github.com/pyenv/pyenv-virtualenv#readme
|
||||||
[hooks]: https://github.com/pyenv/pyenv/wiki/Authoring-plugins#pyenv-hooks
|
[hooks]: https://github.com/pyenv/pyenv/wiki/Authoring-plugins#pyenv-hooks
|
||||||
|
|
||||||
|
### Version History
|
||||||
|
|
||||||
|
See [CHANGELOG.md](CHANGELOG.md).
|
||||||
|
|
||||||
|
### License
|
||||||
|
|
||||||
|
[The MIT License](LICENSE)
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
unset CDPATH
|
|
||||||
|
|
||||||
if [ "$1" = "--debug" ]; then
|
if [ "$1" = "--debug" ]; then
|
||||||
export PYENV_DEBUG=1
|
export PYENV_DEBUG=1
|
||||||
@@ -22,7 +21,8 @@ abort() {
|
|||||||
|
|
||||||
if enable -f "${BASH_SOURCE%/*}"/../libexec/pyenv-realpath.dylib realpath 2>/dev/null; then
|
if enable -f "${BASH_SOURCE%/*}"/../libexec/pyenv-realpath.dylib realpath 2>/dev/null; then
|
||||||
abs_dirname() {
|
abs_dirname() {
|
||||||
local path="$(realpath "$1")"
|
local path
|
||||||
|
path="$(realpath "$1")"
|
||||||
echo "${path%/*}"
|
echo "${path%/*}"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -69,6 +69,11 @@ if [ -z "${PYENV_DIR}" ]; then
|
|||||||
export PYENV_DIR
|
export PYENV_DIR
|
||||||
unset PYENV_FILE_ARG
|
unset PYENV_FILE_ARG
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
[[ $PYENV_DIR == /* ]] || PYENV_DIR="$PWD/$PYENV_DIR"
|
||||||
|
cd "$PYENV_DIR" 2>/dev/null || abort "cannot change working directory to \`$PYENV_DIR'"
|
||||||
|
PYENV_DIR="$PWD"
|
||||||
|
cd "$OLDPWD"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "${PYENV_DIR}" ]; then
|
if [ -z "${PYENV_DIR}" ]; then
|
||||||
@@ -121,7 +126,13 @@ case "$command" in
|
|||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
command_path="$(command -v "pyenv-$command" || true)"
|
command_path="$(command -v "pyenv-$command" || true)"
|
||||||
[ -n "$command_path" ] || abort "no such command \`$command'"
|
if [ -z "$command_path" ]; then
|
||||||
|
if [ "$command" == "shell" ]; then
|
||||||
|
abort "shell integration not enabled. Run \`pyenv init' for instructions."
|
||||||
|
else
|
||||||
|
abort "no such command \`$command'"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
shift 1
|
shift 1
|
||||||
if [ "$1" = --help ]; then
|
if [ "$1" = --help ]; then
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
version="1.2.0"
|
version="1.2.9"
|
||||||
git_revision=""
|
git_revision=""
|
||||||
|
|
||||||
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
||||||
|
|||||||
@@ -28,15 +28,15 @@ shopt -s nullglob
|
|||||||
for command in "${path}/pyenv-"*; do
|
for command in "${path}/pyenv-"*; do
|
||||||
command="${command##*pyenv-}"
|
command="${command##*pyenv-}"
|
||||||
if [ -n "$sh" ]; then
|
if [ -n "$sh" ]; then
|
||||||
if [ ${command:0:3} = "sh-" ]; then
|
if [ "${command:0:3}" = "sh-" ]; then
|
||||||
echo ${command##sh-}
|
echo "${command##sh-}"
|
||||||
fi
|
fi
|
||||||
elif [ -n "$nosh" ]; then
|
elif [ -n "$nosh" ]; then
|
||||||
if [ ${command:0:3} != "sh-" ]; then
|
if [ "${command:0:3}" != "sh-" ]; then
|
||||||
echo ${command##sh-}
|
echo "${command##sh-}"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo ${command##sh-}
|
echo "${command##sh-}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ extract_initial_comment_block() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
collect_documentation() {
|
collect_documentation() {
|
||||||
|
# shellcheck disable=SC2016
|
||||||
$(type -p gawk awk | head -1) '
|
$(type -p gawk awk | head -1) '
|
||||||
/^Summary:/ {
|
/^Summary:/ {
|
||||||
summary = substr($0, 10)
|
summary = substr($0, 10)
|
||||||
@@ -86,7 +87,8 @@ collect_documentation() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
documentation_for() {
|
documentation_for() {
|
||||||
local filename="$(command_path "$1")"
|
local filename
|
||||||
|
filename="$(command_path "$1")"
|
||||||
if [ -n "$filename" ]; then
|
if [ -n "$filename" ]; then
|
||||||
extract_initial_comment_block < "$filename" | collect_documentation
|
extract_initial_comment_block < "$filename" | collect_documentation
|
||||||
fi
|
fi
|
||||||
@@ -114,7 +116,7 @@ print_help() {
|
|||||||
eval "$(documentation_for "$command")"
|
eval "$(documentation_for "$command")"
|
||||||
[ -n "$help" ] || help="$summary"
|
[ -n "$help" ] || help="$summary"
|
||||||
|
|
||||||
if [ -n "$usage" -o -n "$summary" ]; then
|
if [ -n "$usage" ] || [ -n "$summary" ]; then
|
||||||
if [ -n "$usage" ]; then
|
if [ -n "$usage" ]; then
|
||||||
echo "$usage"
|
echo "$usage"
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ esac
|
|||||||
if [ "$shell" != "fish" ]; then
|
if [ "$shell" != "fish" ]; then
|
||||||
IFS="|"
|
IFS="|"
|
||||||
cat <<EOS
|
cat <<EOS
|
||||||
command="\$1"
|
command="\${1:-}"
|
||||||
if [ "\$#" -gt 0 ]; then
|
if [ "\$#" -gt 0 ]; then
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -10,30 +10,51 @@ PROTOTYPE_SHIM_PATH="${SHIM_PATH}/.pyenv-shim"
|
|||||||
# Create the shims directory if it doesn't already exist.
|
# Create the shims directory if it doesn't already exist.
|
||||||
mkdir -p "$SHIM_PATH"
|
mkdir -p "$SHIM_PATH"
|
||||||
|
|
||||||
|
acquire_lock() {
|
||||||
# Ensure only one instance of pyenv-rehash is running at a time by
|
# Ensure only one instance of pyenv-rehash is running at a time by
|
||||||
# setting the shell's `noclobber` option and attempting to write to
|
# setting the shell's `noclobber` option and attempting to write to
|
||||||
# the prototype shim file. If the file already exists, print a warning
|
# the prototype shim file. If the file already exists, print a warning
|
||||||
# to stderr and exit with a non-zero status.
|
# to stderr and exit with a non-zero status.
|
||||||
|
local ret
|
||||||
set -o noclobber
|
set -o noclobber
|
||||||
{ echo > "$PROTOTYPE_SHIM_PATH"
|
echo > "$PROTOTYPE_SHIM_PATH" 2>| /dev/null || ret=1
|
||||||
} 2>/dev/null ||
|
|
||||||
{ if [ -w "$SHIM_PATH" ]; then
|
|
||||||
echo "pyenv: cannot rehash: $PROTOTYPE_SHIM_PATH exists"
|
|
||||||
else
|
|
||||||
echo "pyenv: cannot rehash: $SHIM_PATH isn't writable"
|
|
||||||
fi
|
|
||||||
exit 1
|
|
||||||
} >&2
|
|
||||||
set +o noclobber
|
set +o noclobber
|
||||||
|
[ -z "${ret}" ]
|
||||||
|
}
|
||||||
|
|
||||||
# If we were able to obtain a lock, register a trap to clean up the
|
# If we were able to obtain a lock, register a trap to clean up the
|
||||||
# prototype shim when the process exits.
|
# prototype shim when the process exits.
|
||||||
trap remove_prototype_shim EXIT
|
trap release_lock EXIT
|
||||||
|
|
||||||
remove_prototype_shim() {
|
remove_prototype_shim() {
|
||||||
rm -f "$PROTOTYPE_SHIM_PATH"
|
rm -f "$PROTOTYPE_SHIM_PATH"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
release_lock() {
|
||||||
|
remove_prototype_shim
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ ! -w "$SHIM_PATH" ]; then
|
||||||
|
echo "pyenv: cannot rehash: $SHIM_PATH isn't writable"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset acquired
|
||||||
|
for (( i=1; i<="${PYENV_REHASH_TIMEOUT:-60}"; i++ )); do
|
||||||
|
if acquire_lock 2>/dev/null; then
|
||||||
|
acquired=1
|
||||||
|
break
|
||||||
|
else
|
||||||
|
# POSIX sleep(1) doesn't provides time precision of subsecond
|
||||||
|
sleep 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "${acquired}" ]; then
|
||||||
|
echo "pyenv: cannot rehash: $PROTOTYPE_SHIM_PATH exists"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# The prototype shim file is a script that re-execs itself, passing
|
# The prototype shim file is a script that re-execs itself, passing
|
||||||
# its filename and any arguments to `pyenv exec`. This file is
|
# its filename and any arguments to `pyenv exec`. This file is
|
||||||
# hard-linked for every executable and then removed. The linking
|
# hard-linked for every executable and then removed. The linking
|
||||||
@@ -83,7 +104,7 @@ remove_outdated_shims() {
|
|||||||
list_executable_names() {
|
list_executable_names() {
|
||||||
local version file
|
local version file
|
||||||
pyenv-versions --bare --skip-aliases | \
|
pyenv-versions --bare --skip-aliases | \
|
||||||
while read version; do
|
while read -r version; do
|
||||||
for file in "${PYENV_ROOT}/versions/${version}/bin/"*; do
|
for file in "${PYENV_ROOT}/versions/${version}/bin/"*; do
|
||||||
echo "${file##*/}"
|
echo "${file##*/}"
|
||||||
done
|
done
|
||||||
@@ -136,6 +157,7 @@ shopt -s nullglob
|
|||||||
# executables.
|
# executables.
|
||||||
create_prototype_shim
|
create_prototype_shim
|
||||||
remove_outdated_shims
|
remove_outdated_shims
|
||||||
|
# shellcheck disable=SC2046
|
||||||
make_shims $(list_executable_names | sort -u)
|
make_shims $(list_executable_names | sort -u)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Summary: Display the root directory where versions and shims are kept
|
# Summary: Display the root directory where versions and shims are kept
|
||||||
echo $PYENV_ROOT
|
echo "$PYENV_ROOT"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ fi
|
|||||||
|
|
||||||
whence() {
|
whence() {
|
||||||
local command="$1"
|
local command="$1"
|
||||||
pyenv-versions --bare | while read version; do
|
pyenv-versions --bare | while read -r version; do
|
||||||
path="$(pyenv-prefix "$version")/bin/${command}"
|
path="$(pyenv-prefix "$version")/bin/${command}"
|
||||||
if [ -x "$path" ]; then
|
if [ -x "$path" ]; then
|
||||||
[ "$print_paths" ] && echo "$path" || echo "$version"
|
[ "$print_paths" ] && echo "$path" || echo "$version"
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
# -g/--debug Build a debug version
|
# -g/--debug Build a debug version
|
||||||
#
|
#
|
||||||
|
|
||||||
PYTHON_BUILD_VERSION="20160602"
|
PYTHON_BUILD_VERSION="20180424"
|
||||||
|
|
||||||
OLDIFS="$IFS"
|
OLDIFS="$IFS"
|
||||||
|
|
||||||
@@ -60,6 +60,7 @@ resolve_link() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
abs_dirname() {
|
abs_dirname() {
|
||||||
|
local cwd="$(pwd)"
|
||||||
local path="$1"
|
local path="$1"
|
||||||
|
|
||||||
# Use a subshell to avoid modifying the current path
|
# Use a subshell to avoid modifying the current path
|
||||||
@@ -72,6 +73,7 @@ abs_dirname() {
|
|||||||
|
|
||||||
pwd
|
pwd
|
||||||
)
|
)
|
||||||
|
# cd "$cwd"
|
||||||
}
|
}
|
||||||
|
|
||||||
capitalize() {
|
capitalize() {
|
||||||
@@ -155,6 +157,9 @@ num_cpu_cores() {
|
|||||||
Darwin | *BSD )
|
Darwin | *BSD )
|
||||||
num="$(sysctl -n hw.ncpu 2>/dev/null || true)"
|
num="$(sysctl -n hw.ncpu 2>/dev/null || true)"
|
||||||
;;
|
;;
|
||||||
|
SunOS )
|
||||||
|
num="$(getconf NPROCESSORS_ONLN 2>/dev/null || true)"
|
||||||
|
;;
|
||||||
* )
|
* )
|
||||||
num="$({ getconf _NPROCESSORS_ONLN ||
|
num="$({ getconf _NPROCESSORS_ONLN ||
|
||||||
grep -c ^processor /proc/cpuinfo; } 2>/dev/null)"
|
grep -c ^processor /proc/cpuinfo; } 2>/dev/null)"
|
||||||
@@ -325,21 +330,27 @@ http() {
|
|||||||
local file="$3"
|
local file="$3"
|
||||||
[ -n "$url" ] || return 1
|
[ -n "$url" ] || return 1
|
||||||
|
|
||||||
|
local http_client
|
||||||
|
if [ -n "${PYTHON_BUILD_HTTP_CLIENT}" ]; then
|
||||||
|
http_client="http_${method}_${PYTHON_BUILD_HTTP_CLIENT}"
|
||||||
|
else
|
||||||
if type aria2c &>/dev/null; then
|
if type aria2c &>/dev/null; then
|
||||||
"http_${method}_aria2c" "$url" "$file"
|
http_client="http_${method}_aria2c"
|
||||||
elif type curl &>/dev/null; then
|
elif type curl &>/dev/null; then
|
||||||
"http_${method}_curl" "$url" "$file"
|
http_client="http_${method}_curl"
|
||||||
elif type wget &>/dev/null; then
|
elif type wget &>/dev/null; then
|
||||||
# SSL Certificate error with older wget that does not support Server Name Indication (#60)
|
# SSL Certificate error with older wget that does not support Server Name Indication (#60)
|
||||||
if [[ "$(wget --version 2>/dev/null || true)" = "GNU Wget 1.1"[0-3]* ]]; then
|
if [[ "$(wget --version 2>/dev/null || true)" = "GNU Wget 1.1"[0-3]* ]]; then
|
||||||
echo "python-build: wget (< 1.14) doesn't support Server Name Indication. Please install curl (>= 7.18.1) and try again" >&2
|
echo "python-build: wget (< 1.14) doesn't support Server Name Indication. Please install curl (>= 7.18.1) and try again" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
"http_${method}_wget" "$url" "$file"
|
http_client="http_${method}_wget"
|
||||||
else
|
else
|
||||||
echo "error: please install \`aria2c\`, \`curl\` or \`wget\` and try again" >&2
|
echo "error: please install \`aria2c\`, \`curl\` or \`wget\` and try again" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
"${http_client}" "$url" "$file"
|
||||||
}
|
}
|
||||||
|
|
||||||
http_head_aria2c() {
|
http_head_aria2c() {
|
||||||
@@ -1065,6 +1076,26 @@ build_package_pypy_builder() {
|
|||||||
build_package_pypy
|
build_package_pypy
|
||||||
}
|
}
|
||||||
|
|
||||||
|
activepython_architecture() {
|
||||||
|
case "$(uname -s)" in
|
||||||
|
"Darwin" ) echo "macosx10.9-i386-x86_64" ;;
|
||||||
|
"Linux" )
|
||||||
|
case "$(uname -m)" in
|
||||||
|
"i368" | "i486" | "i586" | "i686" | "i786" ) echo "linux-x86" ;;
|
||||||
|
"x86_64" ) echo "linux-x86_64" ;;
|
||||||
|
* ) return 1 ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
* ) return 1 ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
build_package_activepython() {
|
||||||
|
local package_name="$1"
|
||||||
|
{ bash "install.sh" --install-dir "${PREFIX_PATH}"
|
||||||
|
} >&4 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
anaconda_architecture() {
|
anaconda_architecture() {
|
||||||
case "$(uname -s)" in
|
case "$(uname -s)" in
|
||||||
"Darwin" ) echo "MacOSX-x86_64" ;;
|
"Darwin" ) echo "MacOSX-x86_64" ;;
|
||||||
@@ -1160,7 +1191,7 @@ fix_rbx_irb() {
|
|||||||
|
|
||||||
require_java7() {
|
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 -1)"
|
||||||
if [[ $version != *1.[789]* ]]; then
|
if [[ $version != *[789]* ]]; then
|
||||||
colorize 1 "ERROR" >&3
|
colorize 1 "ERROR" >&3
|
||||||
echo ": Java 7 required. Please install a 1.7-compatible JRE." >&3
|
echo ": Java 7 required. Please install a 1.7-compatible JRE." >&3
|
||||||
return 1
|
return 1
|
||||||
@@ -1358,6 +1389,17 @@ require_distro() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
require_osx_version() {
|
||||||
|
function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; }
|
||||||
|
|
||||||
|
local required_version="$@"
|
||||||
|
local osx_version="$(sw_vers -productVersion)"
|
||||||
|
if [[ $(version $osx_version) -ge $(version $required_version) ]]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
configured_with_package_dir() {
|
configured_with_package_dir() {
|
||||||
local package_var_name="$(capitalize "$1")"
|
local package_var_name="$(capitalize "$1")"
|
||||||
shift 1
|
shift 1
|
||||||
@@ -1453,6 +1495,7 @@ use_homebrew_openssl() {
|
|||||||
local ssldir="$(brew --prefix openssl 2>/dev/null || true)"
|
local ssldir="$(brew --prefix openssl 2>/dev/null || true)"
|
||||||
if [ -d "$ssldir" ]; then
|
if [ -d "$ssldir" ]; then
|
||||||
echo "python-build: use openssl from homebrew"
|
echo "python-build: use openssl from homebrew"
|
||||||
|
export PKG_CONFIG_PATH="$ssldir/lib/pkgconfig/:${PKG_CONFIG_PATH}"
|
||||||
export CPPFLAGS="-I$ssldir/include ${CPPFLAGS}"
|
export CPPFLAGS="-I$ssldir/include ${CPPFLAGS}"
|
||||||
export LDFLAGS="-L$ssldir/lib ${LDFLAGS}"
|
export LDFLAGS="-L$ssldir/lib ${LDFLAGS}"
|
||||||
else
|
else
|
||||||
@@ -1471,10 +1514,16 @@ build_package_mac_openssl() {
|
|||||||
export CPPFLAGS="-I${OPENSSL_PREFIX_PATH}/include ${CPPFLAGS}"
|
export CPPFLAGS="-I${OPENSSL_PREFIX_PATH}/include ${CPPFLAGS}"
|
||||||
export LDFLAGS="-L${OPENSSL_PREFIX_PATH}/lib ${LDFLAGS}"
|
export LDFLAGS="-L${OPENSSL_PREFIX_PATH}/lib ${LDFLAGS}"
|
||||||
|
|
||||||
|
# Make sure pkg-config finds our build first.
|
||||||
|
export PKG_CONFIG_PATH="${OPENSSL_PREFIX_PATH}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}"
|
||||||
|
|
||||||
# Hint OpenSSL that we prefer a 64-bit build.
|
# Hint OpenSSL that we prefer a 64-bit build.
|
||||||
export KERNEL_BITS="64"
|
export KERNEL_BITS="64"
|
||||||
OPENSSL_CONFIGURE="${OPENSSL_CONFIGURE:-./config}"
|
OPENSSL_CONFIGURE="${OPENSSL_CONFIGURE:-./config}"
|
||||||
|
|
||||||
|
local nokerberos
|
||||||
|
[[ "$1" != openssl-1.0.* ]] || nokerberos=1
|
||||||
|
|
||||||
# Compile a shared lib with zlib dynamically linked, no kerberos.
|
# Compile a shared lib with zlib dynamically linked, no kerberos.
|
||||||
package_option openssl configure --openssldir="$OPENSSLDIR" zlib-dynamic no-ssl2 no-ssl3 no-krb5 shared
|
package_option openssl configure --openssldir="$OPENSSLDIR" zlib-dynamic no-ssl2 no-ssl3 no-krb5 shared
|
||||||
|
|
||||||
@@ -1759,6 +1808,11 @@ build_package_verify_py37() {
|
|||||||
build_package_verify_py36 "$1" "${2:-3.7}"
|
build_package_verify_py36 "$1" "${2:-3.7}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Post-install check for Python 3.8.x
|
||||||
|
build_package_verify_py38() {
|
||||||
|
build_package_verify_py37 "$1" "${2:-3.8}"
|
||||||
|
}
|
||||||
|
|
||||||
build_package_ez_setup() {
|
build_package_ez_setup() {
|
||||||
local ez_setup="ez_setup.py"
|
local ez_setup="ez_setup.py"
|
||||||
rm -f "${ez_setup}"
|
rm -f "${ez_setup}"
|
||||||
@@ -1766,7 +1820,7 @@ build_package_ez_setup() {
|
|||||||
echo "Installing setuptools from ${EZ_SETUP}..." 1>&2
|
echo "Installing setuptools from ${EZ_SETUP}..." 1>&2
|
||||||
cat "${EZ_SETUP}"
|
cat "${EZ_SETUP}"
|
||||||
else
|
else
|
||||||
[ -n "${EZ_SETUP_URL}" ] || EZ_SETUP_URL="https://bootstrap.pypa.io/ez_setup.py"
|
[ -n "${EZ_SETUP_URL}" ]
|
||||||
echo "Installing setuptools from ${EZ_SETUP_URL}..." 1>&2
|
echo "Installing setuptools from ${EZ_SETUP_URL}..." 1>&2
|
||||||
http get "${EZ_SETUP_URL}"
|
http get "${EZ_SETUP_URL}"
|
||||||
fi
|
fi
|
||||||
@@ -1785,7 +1839,7 @@ build_package_get_pip() {
|
|||||||
echo "Installing pip from ${GET_PIP}..." 1>&2
|
echo "Installing pip from ${GET_PIP}..." 1>&2
|
||||||
cat "${GET_PIP}"
|
cat "${GET_PIP}"
|
||||||
else
|
else
|
||||||
[ -n "${GET_PIP_URL}" ] || GET_PIP_URL="https://bootstrap.pypa.io/get-pip.py"
|
[ -n "${GET_PIP_URL}" ]
|
||||||
echo "Installing pip from ${GET_PIP_URL}..." 1>&2
|
echo "Installing pip from ${GET_PIP_URL}..." 1>&2
|
||||||
http get "${GET_PIP_URL}"
|
http get "${GET_PIP_URL}"
|
||||||
fi
|
fi
|
||||||
@@ -1825,7 +1879,7 @@ usage() {
|
|||||||
|
|
||||||
list_definitions() {
|
list_definitions() {
|
||||||
{ for DEFINITION_DIR in "${PYTHON_BUILD_DEFINITIONS[@]}"; do
|
{ for DEFINITION_DIR in "${PYTHON_BUILD_DEFINITIONS[@]}"; do
|
||||||
[ -d "$DEFINITION_DIR" ] && find "$DEFINITION_DIR" -maxdepth 1 -type f -print0 | xargs -0 -n 1 basename 2>/dev/null
|
[ -d "$DEFINITION_DIR" ] && ls "$DEFINITION_DIR" | grep -xv patches
|
||||||
done
|
done
|
||||||
} | sort_versions | uniq
|
} | sort_versions | uniq
|
||||||
}
|
}
|
||||||
@@ -2068,11 +2122,39 @@ if [ -e "$HOME/.pydistutils.cfg" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Download specified version of ez_setup.py/get-pip.py (#202)
|
# Download specified version of ez_setup.py/get-pip.py (#202)
|
||||||
|
if [ -z "${EZ_SETUP_URL}" ]; then
|
||||||
if [ -n "${SETUPTOOLS_VERSION}" ]; then
|
if [ -n "${SETUPTOOLS_VERSION}" ]; then
|
||||||
EZ_SETUP_URL="https://bitbucket.org/pypa/setuptools/raw/${SETUPTOOLS_VERSION}/ez_setup.py"
|
EZ_SETUP_URL="https://bitbucket.org/pypa/setuptools/raw/${SETUPTOOLS_VERSION}/ez_setup.py"
|
||||||
|
unset SETUPTOOLS_VERSION
|
||||||
|
else
|
||||||
|
EZ_SETUP_URL="https://bootstrap.pypa.io/ez_setup.py"
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
if [ -z "${GET_PIP_URL}" ]; then
|
||||||
if [ -n "${PIP_VERSION}" ]; then
|
if [ -n "${PIP_VERSION}" ]; then
|
||||||
|
{ colorize 1 "WARNING"
|
||||||
|
echo ": Setting PIP_VERSION=${PIP_VERSION} is no longer supported and may cause failures during the install process."
|
||||||
|
} 1>&2
|
||||||
GET_PIP_URL="https://raw.githubusercontent.com/pypa/pip/${PIP_VERSION}/contrib/get-pip.py"
|
GET_PIP_URL="https://raw.githubusercontent.com/pypa/pip/${PIP_VERSION}/contrib/get-pip.py"
|
||||||
|
# Unset `PIP_VERSION` from environment before invoking `get-pip.py` to deal with "ValueError: invalid truth value" (pypa/pip#4528)
|
||||||
|
unset PIP_VERSION
|
||||||
|
else
|
||||||
|
# Use custom get-pip URL based on the target version (#1127)
|
||||||
|
case "${DEFINITION_PATH##*/}" in
|
||||||
|
2.6 | 2.6.* )
|
||||||
|
GET_PIP_URL="https://bootstrap.pypa.io/2.6/get-pip.py"
|
||||||
|
;;
|
||||||
|
3.2 | 3.2.* )
|
||||||
|
GET_PIP_URL="https://bootstrap.pypa.io/3.2/get-pip.py"
|
||||||
|
;;
|
||||||
|
3.3 | 3.3.* )
|
||||||
|
GET_PIP_URL="https://bootstrap.pypa.io/3.3/get-pip.py"
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
GET_PIP_URL="https://bootstrap.pypa.io/get-pip.py"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220)
|
# Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
if has_tar_xz_support; then
|
if has_tar_xz_support; then
|
||||||
install_package "Python-3.7.0a3" "https://www.python.org/ftp/python/3.7.0/Python-3.7.0a3.tar.xz#3432d3ddf97483339badda961f7d0564595460fee166dd8f106dc4201e68446e" ldflags_dirs standard verify_py37 ensurepip
|
install_package "Python-2.7.15" "https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz#22d9b1ac5b26135ad2b8c2901a9413537e08749a753356ee913c84dbd2df5574" ldflags_dirs standard verify_py27 ensurepip
|
||||||
else
|
else
|
||||||
install_package "Python-3.7.0a3" "https://www.python.org/ftp/python/3.7.0/Python-3.7.0a3.tgz#ef75398e6f978a4ead005b11d988ab2d871cf24afa4bdeef97fe09b506a76736" ldflags_dirs standard verify_py37 ensurepip
|
install_package "Python-2.7.15" "https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz#18617d1f15a380a919d517630a9cd85ce17ea602f9bbdc58ddc672df4b0239db" ldflags_dirs standard verify_py27 ensurepip
|
||||||
fi
|
fi
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
if has_tar_xz_support; then
|
if has_tar_xz_support; then
|
||||||
install_package "Python-3.6.4rc1" "https://www.python.org/ftp/python/3.6.4/Python-3.6.4rc1.tar.xz#4a86dba99662ad96f293b5ef7f5b00cc0087b466a5422de876857f6ab844397d" ldflags_dirs standard verify_py36 ensurepip
|
install_package "Python-3.4.8" "https://www.python.org/ftp/python/3.4.8/Python-3.4.8.tar.xz#29a472fa902c7b2add152f5e1e82e0885a8d360645689c1db5d1949a7e8ac3ea" ldflags_dirs standard verify_py34 ensurepip
|
||||||
else
|
else
|
||||||
install_package "Python-3.6.4rc1" "https://www.python.org/ftp/python/3.6.4/Python-3.6.4rc1.tgz#55585e05fc97413972825d79d44b7c5838ff6e3e31f76898c2009fa3eec6b90c" ldflags_dirs standard verify_py36 ensurepip
|
install_package "Python-3.4.8" "https://www.python.org/ftp/python/3.4.8/Python-3.4.8.tgz#8b1a1ce043e132082d29a5d09f2841f193c77b631282a82f98895a5dbaba1639" ldflags_dirs standard verify_py34 ensurepip
|
||||||
fi
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.4.9
Normal file
8
plugins/python-build/share/python-build/3.4.9
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.4.9" "https://www.python.org/ftp/python/3.4.9/Python-3.4.9.tar.xz#59629676ba2b01a798f5211d8f63c26ee52f1d5133cf37583e0bf1bad50c2bd9" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.4.9" "https://www.python.org/ftp/python/3.4.9/Python-3.4.9.tgz#e02e565372750a6678efe35ddecbe5ccd5330a8a2e8bbe38d3060713492e3dab" ldflags_dirs standard verify_py34 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.5.5
Normal file
8
plugins/python-build/share/python-build/3.5.5
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.5.5" "https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tar.xz#063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009" ldflags_dirs standard verify_py35 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.5.5" "https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tgz#2f988db33913dcef17552fd1447b41afb89dbc26e3cdfc068ea6c62013a3a2a5" ldflags_dirs standard verify_py35 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.5.6
Normal file
8
plugins/python-build/share/python-build/3.5.6
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.5.6" "https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tar.xz#f55cde04f521f273c7cba08912921cc5642cfc15ca7b22d5829f0aff4371155f" ldflags_dirs standard verify_py35 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.5.6" "https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tgz#30d2ff093988e74283e1abfee823292c6b59590796b9827e95ba4940b27d26f8" ldflags_dirs standard verify_py35 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.6.4
Normal file
8
plugins/python-build/share/python-build/3.6.4
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.6.4" "https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz#159b932bf56aeaa76fd66e7420522d8c8853d486b8567c459b84fe2ed13bcaba" ldflags_dirs standard verify_py36 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.6.4" "https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz#7dc453e1a93c083388eb1a23a256862407f8234a96dc4fae0fc7682020227486" ldflags_dirs standard verify_py36 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.6.5
Normal file
8
plugins/python-build/share/python-build/3.6.5
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.6.5" "https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz#f434053ba1b5c8a5cc597e966ead3c5143012af827fd3f0697d21450bb8d87a6" ldflags_dirs standard verify_py36 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.6.5" "https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz#53a3e17d77cd15c5230192b6a8c1e031c07cd9f34a2f089a731c6f6bd343d5c6" ldflags_dirs standard verify_py36 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.6.6
Normal file
8
plugins/python-build/share/python-build/3.6.6
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.6.6" "https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz#d79bc15d456e73a3173a2938f18a17e5149c850ebdedf84a78067f501ee6e16f" ldflags_dirs standard verify_py36 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.6.6" "https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz#7d56dadf6c7d92a238702389e80cfe66fbfae73e584189ed6f89c75bbf3eda58" ldflags_dirs standard verify_py36 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.6.7
Normal file
8
plugins/python-build/share/python-build/3.6.7
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.6.7" "https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz#81fd1401a9d66533b0a3e9e3f4ea1c7c6702d57d5b90d659f971e6f1b745f77d" ldflags_dirs standard verify_py37 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.6.7" "https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tgz#b7c36f7ed8f7143b2c46153b7332db2227669f583ea0cce753facf549d1a4239" ldflags_dirs standard verify_py37 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.6.8
Normal file
8
plugins/python-build/share/python-build/3.6.8
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.6.8" "https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz#35446241e995773b1bed7d196f4b624dadcadc8429f26282e756b2fb8a351193" ldflags_dirs standard verify_py37 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.6.8" "https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz#7f5b1f08b3b0a595387ef6c64c85b1b13b38abef0dd871835ee923262e4f32f0" ldflags_dirs standard verify_py37 ensurepip
|
||||||
|
fi
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#require_gcc
|
#require_gcc
|
||||||
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
install_git "Python-3.7-dev" "https://github.com/python/cpython" master standard verify_py37 ensurepip
|
install_git "Python-3.7-dev" "https://github.com/python/cpython" "3.7" standard verify_py37 ensurepip
|
||||||
|
|||||||
8
plugins/python-build/share/python-build/3.7.0
Normal file
8
plugins/python-build/share/python-build/3.7.0
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.7.0" "https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz#0382996d1ee6aafe59763426cf0139ffebe36984474d0ec4126dd1c40a8b3549" ldflags_dirs standard verify_py37 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.7.0" "https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz#85bb9feb6863e04fb1700b018d9d42d1caac178559ffa453d7e6a436e259fd0d" ldflags_dirs standard verify_py37 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.7.1
Normal file
8
plugins/python-build/share/python-build/3.7.1
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.7.1" "https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz#fa7e2b8e8c9402f192ad56dc4f814089d1c4466c97d780f5e5acc02c04243d6d" ldflags_dirs standard verify_py37 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.7.1" "https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz#36c1b81ac29d0f8341f727ef40864d99d8206897be96be73dc34d4739c9c9f06" ldflags_dirs standard verify_py37 ensurepip
|
||||||
|
fi
|
||||||
8
plugins/python-build/share/python-build/3.7.2
Normal file
8
plugins/python-build/share/python-build/3.7.2
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.7.2" "https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz#d83fe8ce51b1bb48bbcf0550fd265b9a75cdfdfa93f916f9e700aef8444bf1bb" ldflags_dirs standard verify_py37 ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.7.2" "https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz#f09d83c773b9cc72421abba2c317e4e6e05d919f9bcf34468e192b6a6c8e328d" ldflags_dirs standard verify_py37 ensurepip
|
||||||
|
fi
|
||||||
4
plugins/python-build/share/python-build/3.8-dev
Normal file
4
plugins/python-build/share/python-build/3.8-dev
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||||
|
install_git "Python-3.8-dev" "https://github.com/python/cpython" master standard verify_py38 ensurepip
|
||||||
15
plugins/python-build/share/python-build/activepython-2.7.14
Normal file
15
plugins/python-build/share/python-build/activepython-2.7.14
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# Download source: http://downloads.activestate.com/ActivePython/releases/2.7.14.2717/
|
||||||
|
|
||||||
|
case "$(activepython_architecture 2>/dev/null || true)" in
|
||||||
|
"linux-x86_64" )
|
||||||
|
install_package "ActivePython-2.7.14.2717-linux-x86_64-glibc-2.12-404899" "http://downloads.activestate.com/ActivePython/releases/2.7.14.2717/ActivePython-2.7.14.2717-linux-x86_64-glibc-2.12-404899.tar.gz#0b514b0edb6b847524d44637f56fdebcedb007864c61f8500e68bc2015dad937" "activepython" verify_py27
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Active Python is not available for $(activepython_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
15
plugins/python-build/share/python-build/activepython-3.5.4
Normal file
15
plugins/python-build/share/python-build/activepython-3.5.4
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# Location source: http://downloads.activestate.com/ActivePython/releases/3.5.4.3504/
|
||||||
|
|
||||||
|
case "$(activepython_architecture 2>/dev/null || true)" in
|
||||||
|
"linux-x86_64" )
|
||||||
|
install_package "ActivePython-3.5.4.3504-linux-x86_64-glibc-2.12-404899" "http://downloads.activestate.com/ActivePython/releases/3.5.4.3504/ActivePython-3.5.4.3504-linux-x86_64-glibc-2.12-404899.tar.gz#c65e7384bcff715399ef077aea5a17a9f60c3f5de3532a3767497af1d555f092" "activepython" verify_py35
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Active Python is not available for $(activepython_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
18
plugins/python-build/share/python-build/activepython-3.6.0
Normal file
18
plugins/python-build/share/python-build/activepython-3.6.0
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Download source: http://downloads.activestate.com/ActivePython/releases/3.6.0.3600/
|
||||||
|
|
||||||
|
case "$(activepython_architecture 2>/dev/null || true)" in
|
||||||
|
"linux-x86_64" )
|
||||||
|
install_package "ActivePython-3.6.0.3600-linux-x86_64-glibc-2.3.6-401834" "http://downloads.activestate.com/ActivePython/releases/3.6.0.3600/ActivePython-3.6.0.3600-linux-x86_64-glibc-2.3.6-401834.tar.gz#edd17d3221d9744fe27d37842b325f55d0261e69073de3be54e29c1806fe57ae" "activepython" verify_py36
|
||||||
|
;;
|
||||||
|
"linux-x86" )
|
||||||
|
install_package "ActivePython-3.6.0.3600-linux-x86-glibc-2.3.6-401834" "http://downloads.activestate.com/ActivePython/releases/3.6.0.3600/ActivePython-3.6.0.3600-linux-x86-glibc-2.3.6-401834.tar.gz#fafa22ad3346532384866ad009da0c9f23323167dff9de5995f94e827a5eba32" "activepython" verify_py36
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Active Python is not available for $(activepython_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda2-2018.12
Normal file
19
plugins/python-build/share/python-build/anaconda2-2018.12
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda2-2018.12-Linux-x86.sh" "https://repo.anaconda.com/archive/Anaconda2-2018.12-Linux-x86.sh#e086c041695c0e50642aee8f4e7adad3185c6ce1d11737665653497d2edd78fd" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda2-2018.12-Linux-x86_64.sh" "https://repo.anaconda.com/archive/Anaconda2-2018.12-Linux-x86_64.sh#1821d4b623ed449e0acb6df3ecbabd3944cffa98f96a5234b7a102a7c0853dc6" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda2-2018.12-MacOSX-x86_64.sh" "https://repo.anaconda.com/archive/Anaconda2-2018.12-MacOSX-x86_64.sh#5c590b1b3cdc2eedd52edce0caabbce6665d84084d31b913e789e8c46a94859d" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda2 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda2-5.1.0
Normal file
19
plugins/python-build/share/python-build/anaconda2-5.1.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda2-5.1.0-Linux-x86" "https://repo.continuum.io/archive/Anaconda2-5.1.0-Linux-x86.sh#5af0c7a09a5f3aaf3666c0b362246d342d80e782128ef043998c9ead5ad41df7" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda2-5.1.0-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda2-5.1.0-Linux-x86_64.sh#5f26ee92860d1dffdcd20910ff2cf75572c39d2892d365f4e867a611cca2af5b" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda2-5.1.0-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda2-5.1.0-MacOSX-x86_64.sh#b686e01aeadb33526d9c154a0ac6f691dfad135080df96fb44d3ae1e4b128521" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda2 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda2-5.2.0
Normal file
19
plugins/python-build/share/python-build/anaconda2-5.2.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda2-5.2.0-Linux-x86" "https://repo.continuum.io/archive/Anaconda2-5.2.0-Linux-x86.sh#402758c24767e9eb3b77312c388725a058f76e03316464797c3ca404e6eebc2c" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda2-5.2.0-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda2-5.2.0-Linux-x86_64.sh#cb0d7a08b0e2cec4372033d3269979b4e72e2353ffd1444f57cb38bc9621219f" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda2-5.2.0-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda2-5.2.0-MacOSX-x86_64.sh#d7d46e566306da5979cd5632079497fe6103b980e3a089ccf27a9f30cbee84dc" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda2 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda2-5.3.0
Normal file
19
plugins/python-build/share/python-build/anaconda2-5.3.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda2-5.3.0-Linux-x86" "https://repo.continuum.io/archive/Anaconda2-5.3.0-Linux-x86.sh#58d4229ad7097e1f3387d7f6582dcf2bbc684bffea284cd25096bd87530ba590" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda2-5.3.0-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda2-5.3.0-Linux-x86_64.sh#50eeaab24bfa2472bc6485fe8f0e612ed67e561eda1ff9fbf07b62c96443c1be" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda2-5.3.0-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda2-5.3.0-MacOSX-x86_64.sh#bea3eb7667d265c8fe678ddde8432ac1f8286224baae498d092bb068b8185e88" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda2 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda2-5.3.1
Normal file
19
plugins/python-build/share/python-build/anaconda2-5.3.1
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda2-5.3.1-Linux-x86" "https://repo.continuum.io/archive/Anaconda2-5.3.1-Linux-x86.sh#a38017dfa59141c63ec9882a15bd35e7ce63810ae0d1bcf47c79b7fb9f83e969" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda2-5.3.1-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda2-5.3.1-Linux-x86_64.sh#f0650ad2f9ca4ae3f3162d7204a32950bc794f37f322eb47b5ad9412454f998c" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda2-5.3.1-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda2-5.3.1-MacOSX-x86_64.sh#df81e9d5d7d4c6595609a8d353eab80102a83b49cf8c19e5c1e5ad4ac0f39328" "anaconda" verify_py27
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda2 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda3-2018.12
Normal file
19
plugins/python-build/share/python-build/anaconda3-2018.12
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda3-2018.12-Linux-x86.sh" "https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86.sh#7895052814921d45ed0585d1fb19f8edd6fbd02b61639310f770e2ebe85cd975" "anaconda" verify_py37
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda3-2018.12-Linux-x86_64.sh" "https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh#1019d0857e5865f8a6861eaf15bfe535b87e92b72ce4f531000dc672be7fce00" "anaconda" verify_py37
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda3-2018.12-MacOSX-x86_64.sh" "https://repo.anaconda.com/archive/Anaconda3-2018.12-MacOSX-x86_64.sh#4ccd3944d994fd47e5701c341725a63e984f8c042bf4dc19c9dfc7c135e7d8e4" "anaconda" verify_py37
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda3-5.1.0
Normal file
19
plugins/python-build/share/python-build/anaconda3-5.1.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda3-5.1.0-Linux-x86" "https://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86.sh#0e940272517d8f8a6f26316a19e4be2bdaea8477a3a32cc2ecee7b48fd0fae84" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda3-5.1.0-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86_64.sh#7e6785caad25e33930bc03fac4994a434a21bc8401817b7efa28f53619fa9c29" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda3-5.1.0-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda3-5.1.0-MacOSX-x86_64.sh#be705b3c3a0ca29ee32ce7658890bb5edb32a9eadedc09dec3d7e3cfbfd23cb7" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda3-5.2.0
Normal file
19
plugins/python-build/share/python-build/anaconda3-5.2.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda3-5.2.0-Linux-x86" "https://repo.continuum.io/archive/Anaconda3-5.2.0-Linux-x86.sh#f3527d085d06f35b6aeb96be2a9253ff9ec9ced3dc913c8e27e086329f3db588" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda3-5.2.0-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda3-5.2.0-Linux-x86_64.sh#09f53738b0cd3bb96f5b1bac488e5528df9906be2480fe61df40e0e0d19e3d48" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda3-5.2.0-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda3-5.2.0-MacOSX-x86_64.sh#c8089121dc89ffe8f9a0c01205bab75a112821a13d413152d6690f5eef094afa" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda3-5.3.0
Normal file
19
plugins/python-build/share/python-build/anaconda3-5.3.0
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda3-5.3.0-Linux-x86" "https://repo.continuum.io/archive/Anaconda3-5.3.0-Linux-x86.sh#c15ffac2ae35179a15dc5872e5bb405b4027a0fd76c6817e9cee39545bc5ca0b" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda3-5.3.0-Linux-x86_64" "https://repo.continuum.io/archive/Anaconda3-5.3.0-Linux-x86_64.sh#cfbf5fe70dd1b797ec677e63c61f8efc92dad930fd1c94d60390bb07fdc09959" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda3-5.3.0-MacOSX-x86_64" "https://repo.continuum.io/archive/Anaconda3-5.3.0-MacOSX-x86_64.sh#bc073b6e6d3b2ef29d01a2caf1de7c206c95968231ef0492d958eae1a314b4e9" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/anaconda3-5.3.1
Normal file
19
plugins/python-build/share/python-build/anaconda3-5.3.1
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86" )
|
||||||
|
install_script "Anaconda3-5.3.1-Linux-x86.sh" "https://repo.continuum.io/archive/Anaconda3-5.3.1-Linux-x86.sh#5dab8b2c95595df7fa55b88643f8372135c14faabd9ec05a34021551bb0999a1" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Anaconda3-5.3.1-Linux-x86_64.sh" "https://repo.continuum.io/archive/Anaconda3-5.3.1-Linux-x86_64.sh#d4c4256a8f46173b675dd6a62d12f566ed3487f932bab6bb7058f06c124bcc27" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Anaconda3-5.3.1-MacOSX-x86_64.sh" "https://repo.continuum.io/archive/Anaconda3-5.3.1-MacOSX-x86_64.sh#23c373abce2463d4df495f5a1c7e8b0faec6eda09542d98f41ed65a0fa0dbde0" "anaconda" verify_py36
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Anaconda3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
install_git "ironpython-dev" "https://github.com/IronLanguages/main.git" master ironpython_builder
|
install_git "ironpython-dev" "https://github.com/IronLanguages/ironpython2.git" master ironpython_builder
|
||||||
# FIXME: have not confirmed to install setuptools into IronPython yet
|
# FIXME: have not confirmed to install setuptools into IronPython yet
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package micropython-1.9.4 "https://github.com/micropython/micropython/releases/download/v1.9.4/micropython-1.9.4.tar.gz#0db042011bffcbd65362b67eb3cca87eaefa9f2a55b747fa75e922c706b8ce1a" micropython
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
diff -ur ../Python-2.7.6/configure ./configure
|
||||||
|
--- ../Python-2.7.6/configure 2014-06-19 14:35:59.000000000 -0400
|
||||||
|
+++ ./configure 2018-04-24 12:44:24.143179222 -0400
|
||||||
|
@@ -6045,8 +6045,14 @@
|
||||||
|
|
||||||
|
# Calculate the right deployment target for this build.
|
||||||
|
#
|
||||||
|
- cur_target=`sw_vers -productVersion | sed 's/\(10\.[0-9]*\).*/\1/'`
|
||||||
|
- if test ${cur_target} '>' 10.2; then
|
||||||
|
+ cur_target_major=`sw_vers -productVersion | \
|
||||||
|
+ sed 's/\([0-9]*\)\.\([0-9]*\).*/\1/'`
|
||||||
|
+ cur_target_minor=`sw_vers -productVersion | \
|
||||||
|
+ sed 's/\([0-9]*\)\.\([0-9]*\).*/\2/'`
|
||||||
|
+ cur_target="${cur_target_major}.${cur_target_minor}"
|
||||||
|
+ if test ${cur_target_major} -eq 10 && \
|
||||||
|
+ test ${cur_target_minor} -ge 3
|
||||||
|
+ then
|
||||||
|
cur_target=10.3
|
||||||
|
if test ${enable_universalsdk}; then
|
||||||
|
if test "${UNIVERSAL_ARCHS}" = "all"; then
|
||||||
|
@@ -8230,15 +8236,14 @@
|
||||||
|
# Use -undefined dynamic_lookup whenever possible (10.3 and later).
|
||||||
|
# This allows an extension to be used in any Python
|
||||||
|
|
||||||
|
- if test ${MACOSX_DEPLOYMENT_TARGET} '>' 10.2
|
||||||
|
+ dep_target_major=`echo ${MACOSX_DEPLOYMENT_TARGET} | \
|
||||||
|
+ sed 's/\([0-9]*\)\.\([0-9]*\).*/\1/'`
|
||||||
|
+ dep_target_minor=`echo ${MACOSX_DEPLOYMENT_TARGET} | \
|
||||||
|
+ sed 's/\([0-9]*\)\.\([0-9]*\).*/\2/'`
|
||||||
|
+ if test ${dep_target_major} -eq 10 && \
|
||||||
|
+ test ${dep_target_minor} -le 2
|
||||||
|
then
|
||||||
|
- if test "${enable_universalsdk}"; then
|
||||||
|
- LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}"
|
||||||
|
- fi
|
||||||
|
- LDSHARED='$(CC) -bundle -undefined dynamic_lookup'
|
||||||
|
- LDCXXSHARED='$(CXX) -bundle -undefined dynamic_lookup'
|
||||||
|
- BLDSHARED="$LDSHARED"
|
||||||
|
- else
|
||||||
|
+ # building for OS X 10.0 through 10.2
|
||||||
|
LDSHARED='$(CC) -bundle'
|
||||||
|
LDCXXSHARED='$(CXX) -bundle'
|
||||||
|
if test "$enable_framework" ; then
|
||||||
|
@@ -8252,6 +8257,14 @@
|
||||||
|
LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
|
||||||
|
LDCXXSHARED="$LDCXXSHARED "'-bundle_loader $(BINDIR)/python$(VERSION)$(EXE)'
|
||||||
|
fi
|
||||||
|
+ else
|
||||||
|
+ # building for OS X 10.3 and later
|
||||||
|
+ if test "${enable_universalsdk}"; then
|
||||||
|
+ LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}"
|
||||||
|
+ fi
|
||||||
|
+ LDSHARED='$(CC) -bundle -undefined dynamic_lookup'
|
||||||
|
+ LDCXXSHARED='$(CXX) -bundle -undefined dynamic_lookup'
|
||||||
|
+ BLDSHARED="$LDSHARED"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
Linux*|GNU*|QNX*)
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
diff -r -u ../Python-3.3.6.orig/Lib/ssl.py ./Lib/ssl.py
|
||||||
|
--- ../Python-3.3.6.orig/Lib/ssl.py 2014-10-12 07:03:53.000000000 +0000
|
||||||
|
+++ ./Lib/ssl.py 2015-12-20 06:43:59.175134734 +0000
|
||||||
|
@@ -66,47 +66,32 @@
|
||||||
|
SSLSyscallError, SSLEOFError,
|
||||||
|
)
|
||||||
|
from _ssl import CERT_NONE, CERT_OPTIONAL, CERT_REQUIRED
|
||||||
|
-from _ssl import (
|
||||||
|
- OP_ALL, OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_TLSv1,
|
||||||
|
- OP_CIPHER_SERVER_PREFERENCE, OP_SINGLE_DH_USE
|
||||||
|
- )
|
||||||
|
-try:
|
||||||
|
- from _ssl import OP_NO_COMPRESSION
|
||||||
|
-except ImportError:
|
||||||
|
- pass
|
||||||
|
+from _ssl import RAND_status, RAND_add, RAND_bytes, RAND_pseudo_bytes
|
||||||
|
try:
|
||||||
|
- from _ssl import OP_SINGLE_ECDH_USE
|
||||||
|
+ from _ssl import RAND_egd
|
||||||
|
except ImportError:
|
||||||
|
+ # LibreSSL does not provide RAND_egd
|
||||||
|
pass
|
||||||
|
-from _ssl import RAND_status, RAND_egd, RAND_add, RAND_bytes, RAND_pseudo_bytes
|
||||||
|
-from _ssl import (
|
||||||
|
- SSL_ERROR_ZERO_RETURN,
|
||||||
|
- SSL_ERROR_WANT_READ,
|
||||||
|
- SSL_ERROR_WANT_WRITE,
|
||||||
|
- SSL_ERROR_WANT_X509_LOOKUP,
|
||||||
|
- SSL_ERROR_SYSCALL,
|
||||||
|
- SSL_ERROR_SSL,
|
||||||
|
- SSL_ERROR_WANT_CONNECT,
|
||||||
|
- SSL_ERROR_EOF,
|
||||||
|
- SSL_ERROR_INVALID_ERROR_CODE,
|
||||||
|
- )
|
||||||
|
+
|
||||||
|
+def _import_symbols(prefix):
|
||||||
|
+ for n in dir(_ssl):
|
||||||
|
+ if n.startswith(prefix):
|
||||||
|
+ globals()[n] = getattr(_ssl, n)
|
||||||
|
+
|
||||||
|
+_import_symbols('OP_')
|
||||||
|
+_import_symbols('SSL_ERROR_')
|
||||||
|
+_import_symbols('PROTOCOL_')
|
||||||
|
+
|
||||||
|
from _ssl import HAS_SNI, HAS_ECDH, HAS_NPN
|
||||||
|
-from _ssl import (PROTOCOL_SSLv3, PROTOCOL_SSLv23,
|
||||||
|
- PROTOCOL_TLSv1)
|
||||||
|
+
|
||||||
|
from _ssl import _OPENSSL_API_VERSION
|
||||||
|
|
||||||
|
-_PROTOCOL_NAMES = {
|
||||||
|
- PROTOCOL_TLSv1: "TLSv1",
|
||||||
|
- PROTOCOL_SSLv23: "SSLv23",
|
||||||
|
- PROTOCOL_SSLv3: "SSLv3",
|
||||||
|
-}
|
||||||
|
+_PROTOCOL_NAMES = {value: name for name, value in globals().items() if name.startswith('PROTOCOL_')}
|
||||||
|
+
|
||||||
|
try:
|
||||||
|
- from _ssl import PROTOCOL_SSLv2
|
||||||
|
_SSLv2_IF_EXISTS = PROTOCOL_SSLv2
|
||||||
|
-except ImportError:
|
||||||
|
+except NameError:
|
||||||
|
_SSLv2_IF_EXISTS = None
|
||||||
|
-else:
|
||||||
|
- _PROTOCOL_NAMES[PROTOCOL_SSLv2] = "SSLv2"
|
||||||
|
|
||||||
|
from socket import getnameinfo as _getnameinfo
|
||||||
|
from socket import error as socket_error
|
||||||
|
@@ -664,7 +649,7 @@
|
||||||
|
d = pem_cert_string.strip()[len(PEM_HEADER):-len(PEM_FOOTER)]
|
||||||
|
return base64.decodebytes(d.encode('ASCII', 'strict'))
|
||||||
|
|
||||||
|
-def get_server_certificate(addr, ssl_version=PROTOCOL_SSLv3, ca_certs=None):
|
||||||
|
+def get_server_certificate(addr, ssl_version=PROTOCOL_SSLv23, ca_certs=None):
|
||||||
|
"""Retrieve the certificate from the server at the specified address,
|
||||||
|
and return it as a PEM-encoded string.
|
||||||
|
If 'ca_certs' is specified, validate the server cert against it.
|
||||||
|
diff -r -u ../Python-3.3.6.orig/Modules/_ssl.c ./Modules/_ssl.c
|
||||||
|
--- ../Python-3.3.6.orig/Modules/_ssl.c 2014-10-12 07:03:53.000000000 +0000
|
||||||
|
+++ ./Modules/_ssl.c 2015-12-20 06:42:45.773667904 +0000
|
||||||
|
@@ -1746,8 +1746,10 @@
|
||||||
|
PySSL_BEGIN_ALLOW_THREADS
|
||||||
|
if (proto_version == PY_SSL_VERSION_TLS1)
|
||||||
|
ctx = SSL_CTX_new(TLSv1_method());
|
||||||
|
+#ifndef OPENSSL_NO_SSL3
|
||||||
|
else if (proto_version == PY_SSL_VERSION_SSL3)
|
||||||
|
ctx = SSL_CTX_new(SSLv3_method());
|
||||||
|
+#endif
|
||||||
|
#ifndef OPENSSL_NO_SSL2
|
||||||
|
else if (proto_version == PY_SSL_VERSION_SSL2)
|
||||||
|
ctx = SSL_CTX_new(SSLv2_method());
|
||||||
|
@@ -2842,8 +2844,10 @@
|
||||||
|
PyModule_AddIntConstant(m, "PROTOCOL_SSLv2",
|
||||||
|
PY_SSL_VERSION_SSL2);
|
||||||
|
#endif
|
||||||
|
+#ifndef OPENSSL_NO_SSL3
|
||||||
|
PyModule_AddIntConstant(m, "PROTOCOL_SSLv3",
|
||||||
|
PY_SSL_VERSION_SSL3);
|
||||||
|
+#endif
|
||||||
|
PyModule_AddIntConstant(m, "PROTOCOL_SSLv23",
|
||||||
|
PY_SSL_VERSION_SSL23);
|
||||||
|
PyModule_AddIntConstant(m, "PROTOCOL_TLSv1",
|
||||||
47
plugins/python-build/share/python-build/pypy2.7-5.10.0
Normal file
47
plugins/python-build/share/python-build/pypy2.7-5.10.0
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||||
|
"linux" )
|
||||||
|
if require_distro "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||||
|
install_package "pypy2-v5.10.0-linux32" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.10.0-linux32.tar.bz2#ee1980467ac8cc9fa9d609f7da93c5282503e59a548781248fe1914a7199d540" "pypy" verify_py27 ensurepip
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"linux64" )
|
||||||
|
if require_distro "Ubuntu 14.04" "Ubuntu 16.04" 1>/dev/null 2>&1; then
|
||||||
|
install_package "pypy2-v5.10.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.10.0-linux64.tar.bz2#da85af9240220179493ad66c857934dc7ea91aef8f168cd293a2d99af8346ee2" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
install_package "pypy-5.10.0-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-5.10.0-linux_x86_64-portable.tar.bz2#c966124497ba8728654ce1161fa4c46b035ff30f289be70960f58292e5897cc8" "pypy" verify_py27 ensurepip
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"linux-armel" )
|
||||||
|
require_distro "Ubuntu 12.04" || true
|
||||||
|
install_package "pypy2-v5.10.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.10.0-linux-armel.tar.bz2#6fdd55dd8f674efd06f76edb60a09a03b9b04a5fbc56741f416a94a0b9d2ff91" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
"linux-armhf" )
|
||||||
|
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
|
||||||
|
install_package "pypy2-v5.10.0-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.10.0-linux-armhf-raspbian.tar.bz2#5ec3617bb9a07a0a0b2f3c8fbe69912345da4696cdb0a2aca7889b6f1e74435c" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||||
|
echo "try 'pypy2.7-5.10.0-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"osx64" )
|
||||||
|
install_package "pypy2-v5.10.0-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.10.0-osx64.tar.bz2#7e4120f0a83529a6851cbae0ec107dc7085ba8a4aeff4e7bd9da9aadb1ef37a4" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
"win32" )
|
||||||
|
# FIXME: never tested on Windows
|
||||||
|
install_zip "pypy2-v5.10.0-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.10.0-win32.zip#350914f9b70404781674f2f188f84d440d9d25da46ed9733b3f98269a510e033" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||||
|
echo "try 'pypy2.7-5.10.0-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "pypy2-v5.10.0-src" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.10.0-src.tar.bz2#1209f2db718e6afda17528baa5138177a14a0938588a7d3e1b7c722c483079a8" "pypy_builder" verify_py27 ensurepip
|
||||||
50
plugins/python-build/share/python-build/pypy2.7-6.0.0
Normal file
50
plugins/python-build/share/python-build/pypy2.7-6.0.0
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||||
|
"linux" )
|
||||||
|
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||||
|
install_package "pypy2-v6.0.0-linux32" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v6.0.0-linux32.tar.bz2#ad1082d4328ae8f32617b14628648583b82b6d29df3aa42b97bd1853c08c4bc8" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true), OS X < 10.13."
|
||||||
|
echo "try 'pypy3.5-6.0.0-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"linux-armel" )
|
||||||
|
require_distro "Ubuntu 12.04" || true
|
||||||
|
install_package "pypy2-v6.0.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v6.0.0-linux-armel.tar.bz2#924ca3f90aa28e8961859508c25752c95253b842318a0f267267ffe90f56a916" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
"linux-armhf" )
|
||||||
|
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
|
||||||
|
install_package "pypy2-v6.0.0-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v6.0.0-linux-armhf-raspbian.tar.bz2#6506ce739e31981e5596d3cc2e2c7f5b086ee77bb4d97773082b62b2f283eef2" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
require_distro "Ubuntu 13.04" || true
|
||||||
|
install_package "pypy2-v6.0.0-linux-armhf-raring" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v6.0.0-linux-armhf-raring.tar.bz2#2c430240cecb562102c677598f106aa57899f00cd37f719989e18ed9ca44bd01" "pypy" verify_py27 ensurepip
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"linux64" )
|
||||||
|
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||||
|
install_package "pypy2-v6.0.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v6.0.0-linux64.tar.bz2#6cbf942ba7c90f504d8d6a2e45d4244e3bf146c8722d64e9410b85eac6b5af67" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
install_package "pypy-6.0.0-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-6.0.0-linux_x86_64-portable.tar.bz2#1d2a833680f9432b6b5f6b8503f656535f429eeb6c4bc5408abe5b637bfb9b94" "pypy" verify_py27 ensurepip
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"osx64" )
|
||||||
|
install_package "pypy2-v6.0.0-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v6.0.0-osx64.tar.bz2#d7dc443e6bb9a45212e8d8f5a63e9f6ce23f1d88c50709efea1c75b76c8bc186" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
"win32" )
|
||||||
|
# FIXME: never tested on Windows
|
||||||
|
install_zip "pypy2-v6.0.0-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v6.0.0-win32.zip#6e2210dae1ae721ed4eb9cba19f15453514b64111511c84f24843c4fdefdaf7f" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||||
|
echo "try 'pypy2-6.0.0-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "pypy2-v6.0.0-src" "https://bitbucket.org/pypy/pypy/downloads/pypy2-v6.0.0-src.tar.bz2#6097ec5ee23d0d34d8cd27a1072bed041c8a080ad48731190a03a2223029212d" "pypy_builder" verify_py27 ensurepip
|
||||||
51
plugins/python-build/share/python-build/pypy3.5-5.10.0
Normal file
51
plugins/python-build/share/python-build/pypy3.5-5.10.0
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||||
|
"linux" )
|
||||||
|
if require_distro "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||||
|
install_package "pypy3-v5.10.0-linux32" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.0-linux32.tar.bz2#529bc3b11edbdcdd676d90c805b8f607f6eedd5f0ec457a31bbe09c03f5bebfe" "pypy" verify_py27 ensurepip
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"linux64" )
|
||||||
|
if require_distro "Ubuntu 14.04" "Ubuntu 16.04" 1>/dev/null 2>&1; then
|
||||||
|
install_package "pypy3-v5.10.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.0-linux64.tar.bz2#aa4fb52fb858d973dd838dcf8d74f30705e5afdf1150acb8e056eb99353dfe77" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
install_package "pypy3.5-5.10.0-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3.5-5.10.0-linux_x86_64-portable.tar.bz2#d03f81f26e5e67d808569c5c69d56ceb007df78f7e36ab1c50da4d9096cebde0" "pypy" verify_py35 ensurepip
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"linux-armel" )
|
||||||
|
require_distro "Ubuntu 12.04" || true
|
||||||
|
install_package "pypy3-v5.10.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.0-linux-armel.tar.bz2#c2cc529befb3e1f2ef8bd4e96af4a823c52ef2d180b0b3bd87511c5b47d59210" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
"linux-armhf" )
|
||||||
|
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
|
||||||
|
install_package "pypy3-v5.10.0-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.0-linux-armhf-raspbian.tar.bz2#4e902e0e79f62f2a9049c1c71310ff4fc801011bec4d25082edb5c537d3f15c9" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||||
|
echo "try 'pypy3.5-5.10.0-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"osx64" )
|
||||||
|
if require_osx_version "10.13"; then
|
||||||
|
install_package "pypy3-v5.10.0-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.0-osx64.tar.bz2#7e389a103f560de1eead1271ec3a2df9424c6ccffe7cbae8e95e6e81ae811a16" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
install_package "pypy3-v5.10.0-osx64-2" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.0-osx64-2.tar.bz2#f5ced20934fff78e55c72aa82a4703954349a5a8099b94e77d74b96a94326a2c" "pypy" verify_py27 ensurepip
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"win32" )
|
||||||
|
# FIXME: never tested on Windows
|
||||||
|
install_zip "pypy3-v5.10.0-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.0-win32.zip#2d93bf2bd7b1d031b96331d3fde6cacdda95673ce6875d6d1669c4c0ea2a52bc" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||||
|
echo "try 'pypy3.5-5.10.0-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "pypy3-v5.10.0-src" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.0-src.tar.bz2#a6e4cffde71e3f08b6e1befa5c0352a9bcc5f4e9f5cbf395001e0763a1a0d9e3" "pypy_builder" verify_py35 ensurepip
|
||||||
58
plugins/python-build/share/python-build/pypy3.5-5.10.1
Normal file
58
plugins/python-build/share/python-build/pypy3.5-5.10.1
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||||
|
"linux" )
|
||||||
|
if require_distro "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||||
|
install_package "pypy3-v5.10.1-linux32" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.1-linux32.tar.bz2#a6ceca9ee5dc511de7902164464b88311fec9366c5673d0c00528eda862bbe54" "pypy" verify_py27 ensurepip
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"linux64" )
|
||||||
|
if require_distro "Ubuntu 14.04" "Ubuntu 16.04" 1>/dev/null 2>&1; then
|
||||||
|
install_package "pypy3-v5.10.1-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.1-linux64.tar.bz2#75a276e1ee1863967bbacb70c5bff636de200768c0ec90e72f7ec17aace0aefe" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
install_package "pypy3.5-5.10.1-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3.5-5.10.1-linux_x86_64-portable.tar.bz2#b7c7b0e0905208ce8a8061b1a0ae136a702e5218d0d350cb5216ad5a7c20d12e" "pypy" verify_py35 ensurepip
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"linux-armel" )
|
||||||
|
require_distro "Ubuntu 12.04" || true
|
||||||
|
install_package "pypy3-v5.10.1-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.1-linux-armel.tar.bz2#5065e9ad958d06b9612ba974f43997d20168d4245c054dd43270e4b458782282" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
"linux-armhf" )
|
||||||
|
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
|
||||||
|
install_package "pypy3-v5.10.1-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.1-linux-armhf-raspbian.tar.bz2#203dd595fbad7055340b23326f20c85b0d6c11c4877e3559a437611fc2ac40c2" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||||
|
echo "try 'pypy3.5-5.10.1-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"osx64" )
|
||||||
|
if require_osx_version "10.13"; then
|
||||||
|
install_package "pypy3-v5.10.1-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.1-osx64.tar.bz2#52f006611513c995fdebba6e72d394186d4085460408cbbe086e5467bf3fb9b6" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
# install_package "pypy3-v5.10.1-osx64-2" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.1-osx64-2.tar.bz2#" "pypy" verify_py27 ensurepip
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true), OS X < 10.13."
|
||||||
|
echo "try 'pypy3.5-5.10.1-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"win32" )
|
||||||
|
# FIXME: never tested on Windows
|
||||||
|
install_zip "pypy3-v5.10.1-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.1-win32.zip#4edf4f021689a529e5a631c5cca72a1a9dc19a6ea2091e64289cdd5b60eaf929" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||||
|
echo "try 'pypy3.5-5.10.1-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "pypy3-v5.10.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.10.1-src.tar.bz2#f5548e06e2fc0c24ec8b6e3c5b09f90081818f7caa3e436dc312592611724713" "pypy_builder" verify_py35 ensurepip
|
||||||
58
plugins/python-build/share/python-build/pypy3.5-6.0.0
Normal file
58
plugins/python-build/share/python-build/pypy3.5-6.0.0
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||||
|
"linux" )
|
||||||
|
if require_distro "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||||
|
install_package "pypy3-v6.0.0-linux32" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v6.0.0-linux32.tar.bz2#b04eeee5160e6cb5f8962de80f077ea1dc7be34e77d74bf075519c23603f5ff9" "pypy" verify_py27 ensurepip
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"linux64" )
|
||||||
|
if require_distro "Ubuntu 14.04" "Ubuntu 16.04" 1>/dev/null 2>&1; then
|
||||||
|
install_package "pypy3-v6.0.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v6.0.0-linux64.tar.bz2#4cfffa292b9ef34bb6ba39cdbaa196c5c5cbbc5aa3faaa157cf45d7e34027048" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
install_package "pypy3.5-6.0.0-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3.5-6.0.0-linux_x86_64-portable.tar.bz2#07f16282d126abfa759702baea869b0f661aa97f4c553ebec66c624bda28155f" "pypy" verify_py35 ensurepip
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"linux-armel" )
|
||||||
|
require_distro "Ubuntu 12.04" || true
|
||||||
|
install_package "pypy3-v6.0.0-linux-armel" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v6.0.0-linux-armel.tar.bz2#6a6888a55192f58594838b8b3d2e7daaad43d3bf4293afab3dd8987d0bbd1124" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
"linux-armhf" )
|
||||||
|
if [[ "$(cat /etc/issue 2>/dev/null || true)" == "Raspbian"* ]]; then
|
||||||
|
install_package "pypy3-v6.0.0-linux-armhf-raspbian" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v6.0.0-linux-armhf-raspbian.tar.bz2#8a0420dda23413925400538bbfc0cff2bbb2ab0de984eef6faaeab6d3309cbcc" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||||
|
echo "try 'pypy3.5-6.0.0-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"osx64" )
|
||||||
|
if require_osx_version "10.13"; then
|
||||||
|
install_package "pypy3-v6.0.0-osx64" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v6.0.0-osx64.tar.bz2#938b8034e30f5f5060d2a079070c56c3be5559bc7ae9cc0c8395fe6fc45cfe4c" "pypy" verify_py27 ensurepip
|
||||||
|
else
|
||||||
|
# install_package "pypy3-v6.0.0-osx64-2" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v6.0.0-osx64-2.tar.bz2#" "pypy" verify_py27 ensurepip
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true), OS X < 10.13."
|
||||||
|
echo "try 'pypy3.5-6.0.0-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"win32" )
|
||||||
|
# FIXME: never tested on Windows
|
||||||
|
install_zip "pypy3-v6.0.0-win32" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v6.0.0-win32.zip#72dddb3746a51f7672c77d619c818e27efe899e08ae82762448e50dbfdc2f5f3" "pypy" verify_py27 ensurepip
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of PyPy is not available for $(pypy_architecture 2>/dev/null || true)."
|
||||||
|
echo "try 'pypy3.5-6.0.0-src' to build from source."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#require_gcc
|
||||||
|
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "pypy3-v6.0.0-src" "https://bitbucket.org/pypy/pypy/downloads/pypy3-v6.0.0-src.tar.bz2#ed8005202b46d6fc6831df1d13a4613bc40084bfa42f275068edadf8954034a3" "pypy_builder" verify_py35 ensurepip
|
||||||
@@ -8,7 +8,6 @@ export CC=cc
|
|||||||
export -n PYTHON_CONFIGURE_OPTS
|
export -n PYTHON_CONFIGURE_OPTS
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
ensure_not_found_in_path aria2c
|
|
||||||
mkdir -p "$INSTALL_ROOT"
|
mkdir -p "$INSTALL_ROOT"
|
||||||
stub md5 false
|
stub md5 false
|
||||||
stub curl false
|
stub curl false
|
||||||
@@ -537,6 +536,10 @@ OUT
|
|||||||
# nop
|
# nop
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "JRuby Java 9 version string" {
|
||||||
|
# nop
|
||||||
|
}
|
||||||
|
|
||||||
@test "non-writable TMPDIR aborts build" {
|
@test "non-writable TMPDIR aborts build" {
|
||||||
export TMPDIR="${TMP}/build"
|
export TMPDIR="${TMP}/build"
|
||||||
mkdir -p "$TMPDIR"
|
mkdir -p "$TMPDIR"
|
||||||
|
|||||||
@@ -3,10 +3,8 @@
|
|||||||
load test_helper
|
load test_helper
|
||||||
export PYTHON_BUILD_SKIP_MIRROR=1
|
export PYTHON_BUILD_SKIP_MIRROR=1
|
||||||
export PYTHON_BUILD_CACHE_PATH="$TMP/cache"
|
export PYTHON_BUILD_CACHE_PATH="$TMP/cache"
|
||||||
export PYTHON_BUILD_CURL_OPTS=
|
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
ensure_not_found_in_path aria2c
|
|
||||||
mkdir "$PYTHON_BUILD_CACHE_PATH"
|
mkdir "$PYTHON_BUILD_CACHE_PATH"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,6 @@
|
|||||||
load test_helper
|
load test_helper
|
||||||
export PYTHON_BUILD_SKIP_MIRROR=1
|
export PYTHON_BUILD_SKIP_MIRROR=1
|
||||||
export PYTHON_BUILD_CACHE_PATH=
|
export PYTHON_BUILD_CACHE_PATH=
|
||||||
export PYTHON_BUILD_CURL_OPTS=
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
ensure_not_found_in_path aria2c
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@test "package URL without checksum" {
|
@test "package URL without checksum" {
|
||||||
|
|||||||
@@ -3,10 +3,8 @@
|
|||||||
load test_helper
|
load test_helper
|
||||||
export PYTHON_BUILD_SKIP_MIRROR=1
|
export PYTHON_BUILD_SKIP_MIRROR=1
|
||||||
export PYTHON_BUILD_CACHE_PATH=
|
export PYTHON_BUILD_CACHE_PATH=
|
||||||
export PYTHON_BUILD_ARIA2_OPTS=
|
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
ensure_not_found_in_path aria2c
|
|
||||||
export PYTHON_BUILD_BUILD_PATH="${TMP}/source"
|
export PYTHON_BUILD_BUILD_PATH="${TMP}/source"
|
||||||
mkdir -p "${PYTHON_BUILD_BUILD_PATH}"
|
mkdir -p "${PYTHON_BUILD_BUILD_PATH}"
|
||||||
}
|
}
|
||||||
@@ -21,6 +19,8 @@ setup() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "using aria2c if available" {
|
@test "using aria2c if available" {
|
||||||
|
export PYTHON_BUILD_ARIA2_OPTS=
|
||||||
|
export PYTHON_BUILD_HTTP_CLIENT="aria2c"
|
||||||
stub aria2c "--allow-overwrite=true --no-conf=true -o * http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$4"
|
stub aria2c "--allow-overwrite=true --no-conf=true -o * http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$4"
|
||||||
|
|
||||||
install_fixture definitions/without-checksum
|
install_fixture definitions/without-checksum
|
||||||
|
|||||||
@@ -4,11 +4,6 @@ load test_helper
|
|||||||
export PYTHON_BUILD_SKIP_MIRROR=
|
export PYTHON_BUILD_SKIP_MIRROR=
|
||||||
export PYTHON_BUILD_CACHE_PATH=
|
export PYTHON_BUILD_CACHE_PATH=
|
||||||
export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
|
||||||
export PYTHON_BUILD_CURL_OPTS=
|
|
||||||
|
|
||||||
setup() {
|
|
||||||
ensure_not_found_in_path aria2c
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@test "package URL without checksum bypasses mirror" {
|
@test "package URL without checksum bypasses mirror" {
|
||||||
|
|||||||
@@ -5,11 +5,11 @@ export PYTHON_BUILD_CACHE_PATH="$TMP/cache"
|
|||||||
export MAKE=make
|
export MAKE=make
|
||||||
export MAKE_OPTS="-j 2"
|
export MAKE_OPTS="-j 2"
|
||||||
export CC=cc
|
export CC=cc
|
||||||
|
export PYTHON_BUILD_HTTP_CLIENT="curl"
|
||||||
|
|
||||||
export TMP_FIXTURES="$TMP/fixtures"
|
export TMP_FIXTURES="$TMP/fixtures"
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
ensure_not_found_in_path aria2c
|
|
||||||
mkdir -p "$INSTALL_ROOT"
|
mkdir -p "$INSTALL_ROOT"
|
||||||
stub md5 false
|
stub md5 false
|
||||||
stub curl false
|
stub curl false
|
||||||
@@ -92,6 +92,19 @@ resolve_link() {
|
|||||||
$(type -p greadlink readlink | head -1) "$1"
|
$(type -p greadlink readlink | head -1) "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
run_inline_definition_with_name() {
|
||||||
|
local definition_name="build-definition"
|
||||||
|
case "$1" in
|
||||||
|
"--name="* )
|
||||||
|
local definition_name="${1#--name=}"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
local definition="${TMP}/${definition_name}"
|
||||||
|
cat > "$definition"
|
||||||
|
run python-build "$definition" "${1:-$INSTALL_ROOT}"
|
||||||
|
}
|
||||||
|
|
||||||
@test "apply built-in python patch before building" {
|
@test "apply built-in python patch before building" {
|
||||||
cached_tarball "Python-3.6.2"
|
cached_tarball "Python-3.6.2"
|
||||||
|
|
||||||
@@ -326,3 +339,43 @@ OUT
|
|||||||
assert_success
|
assert_success
|
||||||
assert_output "10.4"
|
assert_output "10.4"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "use the default EZ_SETUP_URL by default" {
|
||||||
|
run_inline_definition <<OUT
|
||||||
|
echo "\${EZ_SETUP_URL}"
|
||||||
|
OUT
|
||||||
|
assert_output "https://bootstrap.pypa.io/ez_setup.py"
|
||||||
|
assert_success
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "use the default GET_PIP_URL by default" {
|
||||||
|
run_inline_definition <<OUT
|
||||||
|
echo "\${GET_PIP_URL}"
|
||||||
|
OUT
|
||||||
|
assert_output "https://bootstrap.pypa.io/get-pip.py"
|
||||||
|
assert_success
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "use the custom GET_PIP_URL for 2.6 versions" {
|
||||||
|
run_inline_definition_with_name --name=2.6 <<OUT
|
||||||
|
echo "\${GET_PIP_URL}"
|
||||||
|
OUT
|
||||||
|
assert_output "https://bootstrap.pypa.io/2.6/get-pip.py"
|
||||||
|
assert_success
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "use the custom GET_PIP_URL for 3.2 versions" {
|
||||||
|
run_inline_definition_with_name --name=3.2 <<OUT
|
||||||
|
echo "\${GET_PIP_URL}"
|
||||||
|
OUT
|
||||||
|
assert_output "https://bootstrap.pypa.io/3.2/get-pip.py"
|
||||||
|
assert_success
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "use the custom GET_PIP_URL for 3.3 versions" {
|
||||||
|
run_inline_definition_with_name --name=3.3 <<OUT
|
||||||
|
echo "\${GET_PIP_URL}"
|
||||||
|
OUT
|
||||||
|
assert_output "https://bootstrap.pypa.io/3.3/get-pip.py"
|
||||||
|
assert_success
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
export TMP="$BATS_TEST_DIRNAME/tmp"
|
export TMP="$BATS_TEST_DIRNAME/tmp"
|
||||||
|
export RUBY_BUILD_CURL_OPTS=
|
||||||
|
export RUBY_BUILD_HTTP_CLIENT="curl"
|
||||||
|
|
||||||
if [ "$FIXTURE_ROOT" != "$BATS_TEST_DIRNAME/fixtures" ]; then
|
if [ "$FIXTURE_ROOT" != "$BATS_TEST_DIRNAME/fixtures" ]; then
|
||||||
export FIXTURE_ROOT="$BATS_TEST_DIRNAME/fixtures"
|
export FIXTURE_ROOT="$BATS_TEST_DIRNAME/fixtures"
|
||||||
@@ -9,35 +11,6 @@ if [ "$FIXTURE_ROOT" != "$BATS_TEST_DIRNAME/fixtures" ]; then
|
|||||||
export PATH
|
export PATH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
remove_command_from_path() {
|
|
||||||
OLDIFS="${IFS}"
|
|
||||||
local cmd="$1"
|
|
||||||
local path
|
|
||||||
local paths=()
|
|
||||||
IFS=:
|
|
||||||
for path in ${PATH}; do
|
|
||||||
if [ -e "${path}/${cmd}" ]; then
|
|
||||||
local tmp_path="$(mktemp -d "${TMP}/path.XXXXX")"
|
|
||||||
ln -fs "${path}"/* "${tmp_path}"
|
|
||||||
rm -f "${tmp_path}/${cmd}"
|
|
||||||
paths["${#paths[@]}"]="${tmp_path}"
|
|
||||||
else
|
|
||||||
paths["${#paths[@]}"]="${path}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
export PATH="${paths[*]}"
|
|
||||||
IFS="${OLDIFS}"
|
|
||||||
}
|
|
||||||
|
|
||||||
ensure_not_found_in_path() {
|
|
||||||
local cmd
|
|
||||||
for cmd; do
|
|
||||||
if command -v "${cmd}" 1>/dev/null 2>&1; then
|
|
||||||
remove_command_from_path "${cmd}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
teardown() {
|
teardown() {
|
||||||
rm -fr "${TMP:?}"/*
|
rm -fr "${TMP:?}"/*
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
bunzip2
|
bunzip2
|
||||||
|
clear
|
||||||
# curl
|
# curl
|
||||||
curl
|
curl
|
||||||
curl-config
|
curl-config
|
||||||
|
|||||||
24
src/configure
vendored
24
src/configure
vendored
@@ -34,16 +34,16 @@ esac
|
|||||||
eval "$("$src_dir"/shobj-conf -C "$CC" -o "$host_os")"
|
eval "$("$src_dir"/shobj-conf -C "$CC" -o "$host_os")"
|
||||||
|
|
||||||
sed "
|
sed "
|
||||||
s,@CC@,${CC},
|
s#@CC@#${CC}#
|
||||||
s,@CFLAGS@,${CFLAGS},
|
s#@CFLAGS@#${CFLAGS}#
|
||||||
s,@LOCAL_CFLAGS@,${LOCAL_CFLAGS},
|
s#@LOCAL_CFLAGS@#${LOCAL_CFLAGS}#
|
||||||
s,@DEFS@,${DEFS},
|
s#@DEFS@#${DEFS}#
|
||||||
s,@LOCAL_DEFS@,${LOCAL_DEFS},
|
s#@LOCAL_DEFS@#${LOCAL_DEFS}#
|
||||||
s,@SHOBJ_CC@,${SHOBJ_CC},
|
s#@SHOBJ_CC@#${SHOBJ_CC}#
|
||||||
s,@SHOBJ_CFLAGS@,${SHOBJ_CFLAGS},
|
s#@SHOBJ_CFLAGS@#${SHOBJ_CFLAGS}#
|
||||||
s,@SHOBJ_LD@,${SHOBJ_LD},
|
s#@SHOBJ_LD@#${SHOBJ_LD}#
|
||||||
s,@SHOBJ_LDFLAGS@,${SHOBJ_LDFLAGS//,/\\,},
|
s#@SHOBJ_LDFLAGS@#${SHOBJ_LDFLAGS}#
|
||||||
s,@SHOBJ_XLDFLAGS@,${SHOBJ_XLDFLAGS//,/\\,},
|
s#@SHOBJ_XLDFLAGS@#${SHOBJ_XLDFLAGS}#
|
||||||
s,@SHOBJ_LIBS@,${SHOBJ_LIBS},
|
s#@SHOBJ_LIBS@#${SHOBJ_LIBS}#
|
||||||
s,@SHOBJ_STATUS@,${SHOBJ_STATUS},
|
s#@SHOBJ_STATUS@#${SHOBJ_STATUS}#
|
||||||
" "$src_dir"/Makefile.in > "$src_dir"/Makefile
|
" "$src_dir"/Makefile.in > "$src_dir"/Makefile
|
||||||
|
|||||||
BIN
terminal_output.png
Normal file
BIN
terminal_output.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 102 KiB |
@@ -25,12 +25,22 @@ create_executable() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "rehash in progress" {
|
@test "rehash in progress" {
|
||||||
|
export PYENV_REHASH_TIMEOUT=1
|
||||||
mkdir -p "${PYENV_ROOT}/shims"
|
mkdir -p "${PYENV_ROOT}/shims"
|
||||||
touch "${PYENV_ROOT}/shims/.pyenv-shim"
|
touch "${PYENV_ROOT}/shims/.pyenv-shim"
|
||||||
run pyenv-rehash
|
run pyenv-rehash
|
||||||
assert_failure "pyenv: cannot rehash: ${PYENV_ROOT}/shims/.pyenv-shim exists"
|
assert_failure "pyenv: cannot rehash: ${PYENV_ROOT}/shims/.pyenv-shim exists"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "wait until lock acquisition" {
|
||||||
|
export PYENV_REHASH_TIMEOUT=5
|
||||||
|
mkdir -p "${PYENV_ROOT}/shims"
|
||||||
|
touch "${PYENV_ROOT}/shims/.pyenv-shim"
|
||||||
|
bash -c "sleep 1 && rm -f ${PYENV_ROOT}/shims/.pyenv-shim" &
|
||||||
|
run pyenv-rehash
|
||||||
|
assert_success
|
||||||
|
}
|
||||||
|
|
||||||
@test "creates shims" {
|
@test "creates shims" {
|
||||||
create_executable "2.7" "python"
|
create_executable "2.7" "python"
|
||||||
create_executable "2.7" "fab"
|
create_executable "2.7" "fab"
|
||||||
|
|||||||
@@ -2,6 +2,17 @@
|
|||||||
|
|
||||||
load test_helper
|
load test_helper
|
||||||
|
|
||||||
|
@test "shell integration disabled" {
|
||||||
|
run pyenv shell
|
||||||
|
assert_failure "pyenv: shell integration not enabled. Run \`pyenv init' for instructions."
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "shell integration enabled" {
|
||||||
|
eval "$(pyenv init -)"
|
||||||
|
run pyenv shell
|
||||||
|
assert_success "pyenv: no shell-specific version configured"
|
||||||
|
}
|
||||||
|
|
||||||
@test "no shell version" {
|
@test "no shell version" {
|
||||||
mkdir -p "${PYENV_TEST_DIR}/myproject"
|
mkdir -p "${PYENV_TEST_DIR}/myproject"
|
||||||
cd "${PYENV_TEST_DIR}/myproject"
|
cd "${PYENV_TEST_DIR}/myproject"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ setup() {
|
|||||||
|
|
||||||
create_file() {
|
create_file() {
|
||||||
mkdir -p "$(dirname "$1")"
|
mkdir -p "$(dirname "$1")"
|
||||||
touch "$1"
|
echo "system" > "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "detects global 'version' file" {
|
@test "detects global 'version' file" {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ setup() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "detects local file" {
|
@test "detects local file" {
|
||||||
touch .python-version
|
echo "system" > .python-version
|
||||||
run pyenv-version-origin
|
run pyenv-version-origin
|
||||||
assert_success "${PWD}/.python-version"
|
assert_success "${PWD}/.python-version"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,12 +60,11 @@ create_executable() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "doesn't include current directory in PATH search" {
|
@test "doesn't include current directory in PATH search" {
|
||||||
export PATH="$(path_without "kill-all-humans")"
|
|
||||||
mkdir -p "$PYENV_TEST_DIR"
|
mkdir -p "$PYENV_TEST_DIR"
|
||||||
cd "$PYENV_TEST_DIR"
|
cd "$PYENV_TEST_DIR"
|
||||||
touch kill-all-humans
|
touch kill-all-humans
|
||||||
chmod +x kill-all-humans
|
chmod +x kill-all-humans
|
||||||
PYENV_VERSION=system run pyenv-which kill-all-humans
|
PATH="$(path_without "kill-all-humans")" PYENV_VERSION=system run pyenv-which kill-all-humans
|
||||||
assert_failure "pyenv: kill-all-humans: command not found"
|
assert_failure "pyenv: kill-all-humans: command not found"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,9 +90,8 @@ OUT
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "no executable found for system version" {
|
@test "no executable found for system version" {
|
||||||
export PATH="$(path_without "py.test")"
|
PATH="$(path_without "rake")" PYENV_VERSION=system run pyenv-which rake
|
||||||
PYENV_VERSION=system run pyenv-which py.test
|
assert_failure "pyenv: rake: command not found"
|
||||||
assert_failure "pyenv: py.test: command not found"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "executable found in other versions" {
|
@test "executable found in other versions" {
|
||||||
|
|||||||
Reference in New Issue
Block a user