mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-15 14:53:53 -05:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
425e44d064 | ||
|
|
b84b9ce532 | ||
|
|
dcec0cedf4 | ||
|
|
1dc9ef24df | ||
|
|
5c5205e172 | ||
|
|
4c06f23aaf | ||
|
|
046f5bde02 | ||
|
|
c678bb1eaa | ||
|
|
5e72a4c3e3 | ||
|
|
23669162c0 | ||
|
|
01835c2682 | ||
|
|
4243ac6ffc |
@@ -1,5 +1,12 @@
|
||||
## Version History
|
||||
|
||||
## 20160202
|
||||
|
||||
* pyenv: Run rehash automatically after `conda install`
|
||||
* python-build: Add CPython 3.4.4 (#511)
|
||||
* python-build: Add anaconda[23]-2.4.1, miniconda[23]-3.19.0
|
||||
* python-build: Fix broken build definitions of CPython/Stackless 3.2.x (#531)
|
||||
|
||||
### 20151222
|
||||
|
||||
* pyenv: Merge recent changes from rbenv as of 2015-12-14 (#504)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
version="20151222"
|
||||
version="20160202"
|
||||
git_revision=""
|
||||
|
||||
for source_dir in "${BASH_SOURCE%/*}" "$PYENV_ROOT"; do
|
||||
|
||||
@@ -957,7 +957,9 @@ anaconda_architecture() {
|
||||
"Darwin" ) echo "MacOSX-x86_64" ;;
|
||||
"Linux" )
|
||||
case "$(uname -m)" in
|
||||
"armv7l" ) echo "Linux-armv7l" ;;
|
||||
"i386" | "i486" | "i586" | "i686" | "i786" ) echo "Linux-x86" ;;
|
||||
"ppc64le" ) echo "Linux-ppc64le" ;;
|
||||
"x86_64" ) echo "Linux-x86_64" ;;
|
||||
* ) return 1 ;;
|
||||
esac
|
||||
@@ -1408,7 +1410,7 @@ isolated_gem_install() {
|
||||
apply_python_patch() {
|
||||
local patchfile
|
||||
case "$1" in
|
||||
Python-* | jython-* | pypy-* )
|
||||
Python-* | jython-* | pypy-* | stackless-* )
|
||||
patchfile="$(mktemp "${TMP}/python-patch.XXXXXX")"
|
||||
cat "${2:--}" >"$patchfile"
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1" "http://www.python.org/ftp/python/3.1/Python-3.1.tgz#99a034cf574ea3c26412b0a0728126d7fd6ea9593d099d807a25d216ed031e6a" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "Python-3.1" "http://www.python.org/ftp/python/3.1/Python-3.1.tgz#99a034cf574ea3c26412b0a0728126d7fd6ea9593d099d807a25d216ed031e6a" ldflags_dirs standard verify_py31
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.1" "http://www.python.org/ftp/python/3.1.1/Python-3.1.1.tgz#5d85d7bff11c4db44920af99f64f4227c816f897f6bfa9dd8a2611165ca5f0a1" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "Python-3.1.1" "http://www.python.org/ftp/python/3.1.1/Python-3.1.1.tgz#5d85d7bff11c4db44920af99f64f4227c816f897f6bfa9dd8a2611165ca5f0a1" ldflags_dirs standard verify_py31
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.2" "http://www.python.org/ftp/python/3.1.2/Python-3.1.2.tgz#dffbc0561a161a4a576c6059e6990a9859a0be16ba9b5736eabe4abbb2700d1c" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "Python-3.1.2" "http://www.python.org/ftp/python/3.1.2/Python-3.1.2.tgz#dffbc0561a161a4a576c6059e6990a9859a0be16ba9b5736eabe4abbb2700d1c" ldflags_dirs standard verify_py31
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.3" "http://www.python.org/ftp/python/3.1.3/Python-3.1.3.tgz#6311823aeda8be6a7a2b67caaeff48abce6626c9940ba7ed81f9c978666a36bd" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "Python-3.1.3" "http://www.python.org/ftp/python/3.1.3/Python-3.1.3.tgz#6311823aeda8be6a7a2b67caaeff48abce6626c9940ba7ed81f9c978666a36bd" ldflags_dirs standard verify_py31
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.4" "http://www.python.org/ftp/python/3.1.4/Python-3.1.4.tgz#fadc05ea6d05360cff189944a85ecd2180bbc308784d168b350450e70bbdd846" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "Python-3.1.4" "http://www.python.org/ftp/python/3.1.4/Python-3.1.4.tgz#fadc05ea6d05360cff189944a85ecd2180bbc308784d168b350450e70bbdd846" ldflags_dirs standard verify_py31
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.5" "http://www.python.org/ftp/python/3.1.5/Python-3.1.5.tgz#d12dae6d06f52ef6bf1271db4d5b4d14b5dd39813e324314e72b648ef1bc0103" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "Python-3.1.5" "http://www.python.org/ftp/python/3.1.5/Python-3.1.5.tgz#d12dae6d06f52ef6bf1271db4d5b4d14b5dd39813e324314e72b648ef1bc0103" ldflags_dirs standard verify_py31
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2" "http://www.python.org/ftp/python/3.2/Python-3.2.tgz#27b35bfcbbf01de9564c0265d72b58ba3ff3d56df0615765372f2aa09dc20da9" ldflags_dirs standard verify_py32 ensurepip
|
||||
install_package "Python-3.2" "http://www.python.org/ftp/python/3.2/Python-3.2.tgz#27b35bfcbbf01de9564c0265d72b58ba3ff3d56df0615765372f2aa09dc20da9" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.2-dev" "https://hg.python.org/cpython" "3.2" standard verify_py32 ensurepip
|
||||
install_hg "Python-3.2-dev" "https://hg.python.org/cpython" "3.2" standard verify_py32
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2.1" "http://www.python.org/ftp/python/3.2.1/Python-3.2.1.tgz#7cff29d984696d9fe8c7bea54da5b9ad36acef33ff5cf0d3e37e4d12fb21c572" ldflags_dirs standard verify_py32 ensurepip
|
||||
install_package "Python-3.2.1" "http://www.python.org/ftp/python/3.2.1/Python-3.2.1.tgz#7cff29d984696d9fe8c7bea54da5b9ad36acef33ff5cf0d3e37e4d12fb21c572" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2.2" "http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz#acc6a13cb4fed0b7e86716324a8437e326645b8076177eede5a0cad99ec0313c" ldflags_dirs standard verify_py32 ensurepip
|
||||
install_package "Python-3.2.2" "http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz#acc6a13cb4fed0b7e86716324a8437e326645b8076177eede5a0cad99ec0313c" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2.3" "http://www.python.org/ftp/python/3.2.3/Python-3.2.3.tgz#74c33e165edef7532cef95fd9a325a06878b5bfc8a5d038161573f283eaf9809" ldflags_dirs standard verify_py32 ensurepip
|
||||
install_package "Python-3.2.3" "http://www.python.org/ftp/python/3.2.3/Python-3.2.3.tgz#74c33e165edef7532cef95fd9a325a06878b5bfc8a5d038161573f283eaf9809" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2.4" "http://www.python.org/ftp/python/3.2.4/Python-3.2.4.tgz#71c3139908ccc1c544ba1e331a3c22b3f1c09f562438a054fd6f4e2628de8b9a" ldflags_dirs standard verify_py32 ensurepip
|
||||
install_package "Python-3.2.4" "http://www.python.org/ftp/python/3.2.4/Python-3.2.4.tgz#71c3139908ccc1c544ba1e331a3c22b3f1c09f562438a054fd6f4e2628de8b9a" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2.5" "http://www.python.org/ftp/python/3.2.5/Python-3.2.5.tgz#5eae0ab92a0bb9e3a1bf9c7cd046bc3de58996b049bd894d095978b6b085099f" ldflags_dirs standard verify_py32 ensurepip
|
||||
install_package "Python-3.2.5" "http://www.python.org/ftp/python/3.2.5/Python-3.2.5.tgz#5eae0ab92a0bb9e3a1bf9c7cd046bc3de58996b049bd894d095978b6b085099f" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2.6" "https://www.python.org/ftp/python/3.2.6/Python-3.2.6.tgz#fc1e41296e29d476f696303acae293ae7a2310f0f9d0d637905e722a3f16163e" ldflags_dirs standard verify_py32 ensurepip
|
||||
install_package "Python-3.2.6" "https://www.python.org/ftp/python/3.2.6/Python-3.2.6.tgz#fc1e41296e29d476f696303acae293ae7a2310f0f9d0d637905e722a3f16163e" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.4.4" "https://www.python.org/ftp/python/3.4.4/Python-3.4.4rc1.tgz#5b9a84458e24bb2cd4bb1c0d9db7869bd7a4342f7bd4269cffa2f6b77a53b7cf" ldflags_dirs standard verify_py34 ensurepip
|
||||
install_package "Python-3.4.4" "https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz#bc93e944025816ec360712b4c42d8d5f729eaed2b26585e9bc8844f93f0c382e" ldflags_dirs standard verify_py34 ensurepip
|
||||
@@ -1,19 +1 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Anaconda-2.4.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda2-2.4.0-Linux-x86.sh#478a8fdde3a6e4040a68c57d7bdd6fab1a4f7f6e813948d46dad54867014c124" "anaconda" verify_py27
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda-2.4.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda2-2.4.0-Linux-x86_64.sh#49d19834da06b1b82b6fa85bc647d2e78fa5957d0cbae3ccd6c695a541befa6b" "anaconda" verify_py27
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda-2.4.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda2-2.4.0-MacOSX-x86_64.sh#53c9123c9d508555100805fdb44d9845511c937e7a34f237beb19168d655e070" "anaconda" verify_py27
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Anaconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
source "${BASH_SOURCE%/*}/anaconda2-2.4.0"
|
||||
|
||||
19
plugins/python-build/share/python-build/anaconda2-2.4.0
Normal file
19
plugins/python-build/share/python-build/anaconda2-2.4.0
Normal file
@@ -0,0 +1,19 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Anaconda2-2.4.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda2-2.4.0-Linux-x86.sh#478a8fdde3a6e4040a68c57d7bdd6fab1a4f7f6e813948d46dad54867014c124" "anaconda" verify_py27
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda2-2.4.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda2-2.4.0-Linux-x86_64.sh#49d19834da06b1b82b6fa85bc647d2e78fa5957d0cbae3ccd6c695a541befa6b" "anaconda" verify_py27
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda2-2.4.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda2-2.4.0-MacOSX-x86_64.sh#53c9123c9d508555100805fdb44d9845511c937e7a34f237beb19168d655e070" "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-2.4.1
Normal file
19
plugins/python-build/share/python-build/anaconda2-2.4.1
Normal file
@@ -0,0 +1,19 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Anaconda2-2.4.1-Linux-x86" "http://repo.continuum.io/archive/Anaconda2-2.4.1-Linux-x86.sh#2388cc714567afe7697bf43b4063ff0ea2150a71b9beb17f75bc7e4879d9bf28" "anaconda" verify_py27
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda2-2.4.1-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda2-2.4.1-Linux-x86_64.sh#2de682c96edf8cca2852071a84ff860025fbe8c502218e1995acd5ab47e8c9ac" "anaconda" verify_py27
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda2-2.4.1-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda2-2.4.1-MacOSX-x86_64.sh#f4bd45a21e0dff106e36d11cfd532f2b5050d3b792cc0627ab231089341d2040" "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-2.4.1
Normal file
19
plugins/python-build/share/python-build/anaconda3-2.4.1
Normal file
@@ -0,0 +1,19 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Anaconda3-2.4.1-Linux-x86" "http://repo.continuum.io/archive/Anaconda3-2.4.1-Linux-x86.sh#00d13413f5b8129e863dabcc2296a181c697056c5ed210739a0aa06454ab7038" "anaconda" verify_py34
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda3-2.4.1-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.4.1-Linux-x86_64.sh#0735e69199fc37135930ea2fd4fb6ad0adef215a2a7ba9fd6b0a0a4daaadb1cf" "anaconda" verify_py34
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda3-2.4.1-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.4.1-MacOSX-x86_64.sh#22a3267638da9b7d64210d7da90d8762da7948234c21c0010a74f2621ee0ef68" "anaconda" verify_py34
|
||||
;;
|
||||
* )
|
||||
{ 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,19 +1 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Miniconda-3.18.3-Linux-x86" "http://repo.continuum.io/miniconda/Miniconda2-3.18.3-Linux-x86.sh#1eceb3a763ab784af41a46dfd96a520659957b5fefdc1f4d53f00de43b539be0" "miniconda" verify_py27
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda-3.18.3-Linux-x86_64" "http://repo.continuum.io/miniconda/Miniconda2-3.18.3-Linux-x86_64.sh#dd16e093aec2346af4e8f383a9dedb9a3d6c1a0cb7637b180e1e0790dfa55e81" "miniconda" verify_py27
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda-3.18.3-MacOSX-x86_64" "http://repo.continuum.io/miniconda/Miniconda2-3.18.3-MacOSX-x86_64.sh#c90b37e4ba866ac2195ddf9ffe5549311279041def27ade29f661f5707d43c94" "miniconda" verify_py27
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
source "${BASH_SOURCE%/*}/miniconda2-3.18.3"
|
||||
|
||||
25
plugins/python-build/share/python-build/miniconda-latest
Normal file
25
plugins/python-build/share/python-build/miniconda-latest
Normal file
@@ -0,0 +1,25 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-armv7l" )
|
||||
install_script "Miniconda-latest-Linux-armv7l" "http://repo.continuum.io/miniconda/Miniconda-latest-Linux-armv7l.sh" "miniconda" verify_py27
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda-latest-Linux-ppc64le" "http://repo.continuum.io/miniconda/Miniconda-latest-Linux-ppc64le.sh" "miniconda" verify_py27
|
||||
;;
|
||||
"Linux-x86" )
|
||||
install_script "Miniconda-latest-Linux-x86" "http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86.sh" "miniconda" verify_py27
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda-latest-Linux-x86_64" "http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh" "miniconda" verify_py27
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda-latest-MacOSX-x86_64" "http://repo.continuum.io/miniconda/Miniconda-latest-MacOSX-x86_64.sh" "miniconda" verify_py27
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
19
plugins/python-build/share/python-build/miniconda2-3.18.3
Normal file
19
plugins/python-build/share/python-build/miniconda2-3.18.3
Normal file
@@ -0,0 +1,19 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Miniconda2-3.18.3-Linux-x86" "http://repo.continuum.io/miniconda/Miniconda2-3.18.3-Linux-x86.sh#1eceb3a763ab784af41a46dfd96a520659957b5fefdc1f4d53f00de43b539be0" "miniconda" verify_py27
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda2-3.18.3-Linux-x86_64" "http://repo.continuum.io/miniconda/Miniconda2-3.18.3-Linux-x86_64.sh#dd16e093aec2346af4e8f383a9dedb9a3d6c1a0cb7637b180e1e0790dfa55e81" "miniconda" verify_py27
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda2-3.18.3-MacOSX-x86_64" "http://repo.continuum.io/miniconda/Miniconda2-3.18.3-MacOSX-x86_64.sh#c90b37e4ba866ac2195ddf9ffe5549311279041def27ade29f661f5707d43c94" "miniconda" verify_py27
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda2 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
19
plugins/python-build/share/python-build/miniconda2-3.19.0
Normal file
19
plugins/python-build/share/python-build/miniconda2-3.19.0
Normal file
@@ -0,0 +1,19 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Miniconda2-3.19.0-Linux-x86" "http://repo.continuum.io/miniconda/Miniconda2-3.19.0-Linux-x86.sh#869d65bed0927ff78973947f619558ed8be282851632449631d1923e3ac814d6" "miniconda" verify_py27
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda2-3.19.0-Linux-x86_64" "http://repo.continuum.io/miniconda/Miniconda2-3.19.0-Linux-x86_64.sh#646b4d5398f8d76a0664375ee6226611c43ee3d49de3eb03efe7480e3c3b9ebf" "miniconda" verify_py27
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda2-3.19.0-MacOSX-x86_64" "http://repo.continuum.io/miniconda/Miniconda2-3.19.0-MacOSX-x86_64.sh#32915acbfc8491e9fbe12b90a611a76b84e15f2cdef5272f576bfe77a4ef7061" "miniconda" verify_py27
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda2 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
19
plugins/python-build/share/python-build/miniconda2-latest
Normal file
19
plugins/python-build/share/python-build/miniconda2-latest
Normal file
@@ -0,0 +1,19 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Miniconda2-latest-Linux-x86" "http://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86.sh" "miniconda" verify_py27
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda2-latest-Linux-x86_64" "http://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh" "miniconda" verify_py27
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda2-latest-MacOSX-x86_64" "http://repo.continuum.io/miniconda/Miniconda2-latest-MacOSX-x86_64.sh" "miniconda" verify_py27
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda2 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
19
plugins/python-build/share/python-build/miniconda3-3.19.0
Normal file
19
plugins/python-build/share/python-build/miniconda3-3.19.0
Normal file
@@ -0,0 +1,19 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Miniconda3-3.19.0-Linux-x86" "http://repo.continuum.io/miniconda/Miniconda3-3.19.0-Linux-x86.sh#9789463cad35cdb3ee4cda5a9c3767cad21491faacc071fcd60eb38a9f75098e" "miniconda" verify_py27
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-3.19.0-Linux-x86_64" "http://repo.continuum.io/miniconda/Miniconda3-3.19.0-Linux-x86_64.sh#9ea57c0fdf481acf89d816184f969b04bc44dea27b258c4e86b1e3a25ff26aa0" "miniconda" verify_py27
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-3.19.0-MacOSX-x86_64" "http://repo.continuum.io/miniconda/Miniconda3-3.19.0-MacOSX-x86_64.sh#40ec9c2726262addd330c24f62853de47430482965f0bb8cba47d8cd995bec29" "miniconda" verify_py27
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
25
plugins/python-build/share/python-build/miniconda3-latest
Normal file
25
plugins/python-build/share/python-build/miniconda3-latest
Normal file
@@ -0,0 +1,25 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-armv7l" )
|
||||
install_script "Miniconda3-latest-Linux-armv7l" "http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-armv7l.sh" "miniconda" verify_py35
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-latest-Linux-ppc64le" "http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-ppc64le.sh" "miniconda" verify_py35
|
||||
;;
|
||||
"Linux-x86" )
|
||||
install_script "Miniconda3-latest-Linux-x86" "http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86.sh" "miniconda" verify_py35
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-latest-Linux-x86_64" "http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh" "miniconda" verify_py35
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-latest-MacOSX-x86_64" "http://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh" "miniconda" verify_py35
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,70 @@
|
||||
diff -r -u ../Python-3.3.3.orig/Modules/readline.c ./Modules/readline.c
|
||||
--- ../Python-3.3.3.orig/Modules/readline.c 2013-11-17 16:23:01.000000000 +0900
|
||||
+++ ./Modules/readline.c 2014-03-29 16:22:10.219305878 +0900
|
||||
@@ -231,8 +231,7 @@
|
||||
if (!PyArg_ParseTuple(args, buf, &function))
|
||||
return NULL;
|
||||
if (function == Py_None) {
|
||||
- Py_XDECREF(*hook_var);
|
||||
- *hook_var = NULL;
|
||||
+ Py_CLEAR(*hook_var);
|
||||
}
|
||||
else if (PyCallable_Check(function)) {
|
||||
PyObject *tmp = *hook_var;
|
||||
@@ -774,14 +773,22 @@
|
||||
}
|
||||
|
||||
static int
|
||||
+#if defined(_RL_FUNCTION_TYPEDEF)
|
||||
on_startup_hook(void)
|
||||
+#else
|
||||
+on_startup_hook()
|
||||
+#endif
|
||||
{
|
||||
return on_hook(startup_hook);
|
||||
}
|
||||
|
||||
#ifdef HAVE_RL_PRE_INPUT_HOOK
|
||||
static int
|
||||
+#if defined(_RL_FUNCTION_TYPEDEF)
|
||||
on_pre_input_hook(void)
|
||||
+#else
|
||||
+on_pre_input_hook()
|
||||
+#endif
|
||||
{
|
||||
return on_hook(pre_input_hook);
|
||||
}
|
||||
@@ -819,7 +826,7 @@
|
||||
(r != Py_None && PyLong_AsLong(r) == -1 && PyErr_Occurred())) {
|
||||
goto error;
|
||||
}
|
||||
- Py_XDECREF(r); r=NULL;
|
||||
+ Py_CLEAR(r);
|
||||
|
||||
if (0) {
|
||||
error:
|
||||
@@ -877,7 +884,7 @@
|
||||
* before calling the normal completer */
|
||||
|
||||
static char **
|
||||
-flex_complete(char *text, int start, int end)
|
||||
+flex_complete(const char *text, int start, int end)
|
||||
{
|
||||
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
|
||||
rl_completion_append_character ='\0';
|
||||
@@ -936,12 +943,12 @@
|
||||
rl_bind_key_in_map ('\t', rl_complete, emacs_meta_keymap);
|
||||
rl_bind_key_in_map ('\033', rl_complete, emacs_meta_keymap);
|
||||
/* Set our hook functions */
|
||||
- rl_startup_hook = (Function *)on_startup_hook;
|
||||
+ rl_startup_hook = on_startup_hook;
|
||||
#ifdef HAVE_RL_PRE_INPUT_HOOK
|
||||
- rl_pre_input_hook = (Function *)on_pre_input_hook;
|
||||
+ rl_pre_input_hook = on_pre_input_hook;
|
||||
#endif
|
||||
/* Set our completion function */
|
||||
- rl_attempted_completion_function = (CPPFunction *)flex_complete;
|
||||
+ rl_attempted_completion_function = flex_complete;
|
||||
/* Set Python word break characters */
|
||||
completer_word_break_characters =
|
||||
rl_completer_word_break_characters =
|
||||
@@ -0,0 +1,102 @@
|
||||
diff -r -u ../Python-3.2.2.orig/Lib/ssl.py ./Lib/ssl.py
|
||||
--- ../Python-3.2.2.orig/Lib/ssl.py 2011-09-03 16:16:42.000000000 +0000
|
||||
+++ ./Lib/ssl.py 2015-12-20 07:01:09.947260656 +0000
|
||||
@@ -62,34 +62,30 @@
|
||||
from _ssl import OPENSSL_VERSION_NUMBER, OPENSSL_VERSION_INFO, OPENSSL_VERSION
|
||||
from _ssl import _SSLContext, SSLError
|
||||
from _ssl import CERT_NONE, CERT_OPTIONAL, CERT_REQUIRED
|
||||
-from _ssl import OP_ALL, OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_TLSv1
|
||||
-from _ssl import RAND_status, RAND_egd, RAND_add
|
||||
-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,
|
||||
- )
|
||||
+from _ssl import RAND_status, RAND_add
|
||||
+try:
|
||||
+ from _ssl import RAND_egd
|
||||
+except ImportError:
|
||||
+ # LibreSSL does not provide RAND_egd
|
||||
+ pass
|
||||
+
|
||||
+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
|
||||
-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
|
||||
-except ImportError:
|
||||
- pass
|
||||
-else:
|
||||
- _PROTOCOL_NAMES[PROTOCOL_SSLv2] = "SSLv2"
|
||||
+ _SSLv2_IF_EXISTS = PROTOCOL_SSLv2
|
||||
+except NameError:
|
||||
+ _SSLv2_IF_EXISTS = None
|
||||
|
||||
from socket import getnameinfo as _getnameinfo
|
||||
from socket import error as socket_error
|
||||
@@ -547,7 +543,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.2.2.orig/Modules/_ssl.c ./Modules/_ssl.c
|
||||
--- ../Python-3.2.2.orig/Modules/_ssl.c 2011-09-03 16:16:46.000000000 +0000
|
||||
+++ ./Modules/_ssl.c 2015-12-20 06:59:12.632993190 +0000
|
||||
@@ -66,7 +66,9 @@
|
||||
#ifndef OPENSSL_NO_SSL2
|
||||
PY_SSL_VERSION_SSL2,
|
||||
#endif
|
||||
+#ifndef OPENSSL_NO_SSL3
|
||||
PY_SSL_VERSION_SSL3=1,
|
||||
+#endif
|
||||
PY_SSL_VERSION_SSL23,
|
||||
PY_SSL_VERSION_TLS1
|
||||
};
|
||||
@@ -1450,8 +1452,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());
|
||||
@@ -2136,8 +2140,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",
|
||||
@@ -0,0 +1,70 @@
|
||||
diff -r -u ../Python-3.3.3.orig/Modules/readline.c ./Modules/readline.c
|
||||
--- ../Python-3.3.3.orig/Modules/readline.c 2013-11-17 16:23:01.000000000 +0900
|
||||
+++ ./Modules/readline.c 2014-03-29 16:22:10.219305878 +0900
|
||||
@@ -231,8 +231,7 @@
|
||||
if (!PyArg_ParseTuple(args, buf, &function))
|
||||
return NULL;
|
||||
if (function == Py_None) {
|
||||
- Py_XDECREF(*hook_var);
|
||||
- *hook_var = NULL;
|
||||
+ Py_CLEAR(*hook_var);
|
||||
}
|
||||
else if (PyCallable_Check(function)) {
|
||||
PyObject *tmp = *hook_var;
|
||||
@@ -774,14 +773,22 @@
|
||||
}
|
||||
|
||||
static int
|
||||
+#if defined(_RL_FUNCTION_TYPEDEF)
|
||||
on_startup_hook(void)
|
||||
+#else
|
||||
+on_startup_hook()
|
||||
+#endif
|
||||
{
|
||||
return on_hook(startup_hook);
|
||||
}
|
||||
|
||||
#ifdef HAVE_RL_PRE_INPUT_HOOK
|
||||
static int
|
||||
+#if defined(_RL_FUNCTION_TYPEDEF)
|
||||
on_pre_input_hook(void)
|
||||
+#else
|
||||
+on_pre_input_hook()
|
||||
+#endif
|
||||
{
|
||||
return on_hook(pre_input_hook);
|
||||
}
|
||||
@@ -819,7 +826,7 @@
|
||||
(r != Py_None && PyLong_AsLong(r) == -1 && PyErr_Occurred())) {
|
||||
goto error;
|
||||
}
|
||||
- Py_XDECREF(r); r=NULL;
|
||||
+ Py_CLEAR(r);
|
||||
|
||||
if (0) {
|
||||
error:
|
||||
@@ -877,7 +884,7 @@
|
||||
* before calling the normal completer */
|
||||
|
||||
static char **
|
||||
-flex_complete(char *text, int start, int end)
|
||||
+flex_complete(const char *text, int start, int end)
|
||||
{
|
||||
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
|
||||
rl_completion_append_character ='\0';
|
||||
@@ -936,12 +943,12 @@
|
||||
rl_bind_key_in_map ('\t', rl_complete, emacs_meta_keymap);
|
||||
rl_bind_key_in_map ('\033', rl_complete, emacs_meta_keymap);
|
||||
/* Set our hook functions */
|
||||
- rl_startup_hook = (Function *)on_startup_hook;
|
||||
+ rl_startup_hook = on_startup_hook;
|
||||
#ifdef HAVE_RL_PRE_INPUT_HOOK
|
||||
- rl_pre_input_hook = (Function *)on_pre_input_hook;
|
||||
+ rl_pre_input_hook = on_pre_input_hook;
|
||||
#endif
|
||||
/* Set our completion function */
|
||||
- rl_attempted_completion_function = (CPPFunction *)flex_complete;
|
||||
+ rl_attempted_completion_function = flex_complete;
|
||||
/* Set Python word break characters */
|
||||
completer_word_break_characters =
|
||||
rl_completer_word_break_characters =
|
||||
@@ -0,0 +1,100 @@
|
||||
diff -r -u ../Python-3.2.6.orig/Lib/ssl.py ./Lib/ssl.py
|
||||
--- ../Python-3.2.6.orig/Lib/ssl.py 2014-10-12 06:52:02.000000000 +0000
|
||||
+++ ./Lib/ssl.py 2015-12-20 06:40:11.895384463 +0000
|
||||
@@ -62,35 +62,30 @@
|
||||
from _ssl import OPENSSL_VERSION_NUMBER, OPENSSL_VERSION_INFO, OPENSSL_VERSION
|
||||
from _ssl import _SSLContext, SSLError
|
||||
from _ssl import CERT_NONE, CERT_OPTIONAL, CERT_REQUIRED
|
||||
-from _ssl import OP_ALL, OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_TLSv1
|
||||
from _ssl import RAND_status, RAND_egd, RAND_add
|
||||
-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,
|
||||
- )
|
||||
+try:
|
||||
+ from _ssl import RAND_egd
|
||||
+except ImportError:
|
||||
+ # LibreSSL does not provide RAND_egd
|
||||
+ pass
|
||||
+
|
||||
+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
|
||||
-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
|
||||
@@ -557,7 +552,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.2.6.orig/Modules/_ssl.c ./Modules/_ssl.c
|
||||
--- ../Python-3.2.6.orig/Modules/_ssl.c 2014-10-12 06:52:03.000000000 +0000
|
||||
+++ ./Modules/_ssl.c 2015-12-20 06:37:10.124337227 +0000
|
||||
@@ -66,7 +66,9 @@
|
||||
#ifndef OPENSSL_NO_SSL2
|
||||
PY_SSL_VERSION_SSL2,
|
||||
#endif
|
||||
+#ifndef OPENSSL_NO_SSL3
|
||||
PY_SSL_VERSION_SSL3=1,
|
||||
+#endif
|
||||
PY_SSL_VERSION_SSL23,
|
||||
PY_SSL_VERSION_TLS1
|
||||
};
|
||||
@@ -1512,8 +1514,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());
|
||||
@@ -2199,8 +2203,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",
|
||||
@@ -1,4 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_hg "stackless-3.2-dev" "http://hg.python.org/stackless" "3.2-slp" standard verify_py32 ensurepip
|
||||
install_hg "stackless-3.2-dev" "http://hg.python.org/stackless" "3.2-slp" standard verify_py32
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "stackless-322-export" "http://www.stackless.com/binaries/stackless-322-export.tar.bz2#779700f12b451a350fe7af4cd2849842adc7006dc83fe14712dd1a0999277b07" ldflags_dirs standard verify_py32 ensurepip
|
||||
install_package "stackless-322-export" "http://www.stackless.com/binaries/stackless-322-export.tar.bz2#779700f12b451a350fe7af4cd2849842adc7006dc83fe14712dd1a0999277b07" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#require_gcc
|
||||
install_package "openssl-1.0.1q" "https://www.openssl.org/source/openssl-1.0.1q.tar.gz#b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "stackless-325-export" "http://www.stackless.com/binaries/stackless-325-export.tar.bz2#b021125e578ddd267d38feee9e1cbdb675f6aab247a2b88f4494abcf23babb05" ldflags_dirs standard verify_py32 ensurepip
|
||||
install_package "stackless-325-export" "http://www.stackless.com/binaries/stackless-325-export.tar.bz2#b021125e578ddd267d38feee9e1cbdb675f6aab247a2b88f4494abcf23babb05" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-17.1.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-17.1.1.tar.gz#5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431" python
|
||||
install_package "pip-7.1.2" "https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#ca047986f0528cfa975a14fb9f7f106271d4e0c3fe1ddced6c1db2e7ae57a477" python
|
||||
|
||||
29
pyenv.d/exec/pip-rehash/conda
Executable file
29
pyenv.d/exec/pip-rehash/conda
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
# Remove pyenv-pip-rehash/libexec from PATH to avoid infinite loops in `pyenv-which` (yyuu/pyenv#146)
|
||||
_PATH=":${PATH}:"
|
||||
_HERE="$(dirname "${BASH_SOURCE[0]}")" # remove this from PATH
|
||||
_PATH="${_PATH//:${_HERE}:/:}"
|
||||
_PATH="${_PATH#:}"
|
||||
_PATH="${_PATH%:}"
|
||||
PATH="${_PATH}"
|
||||
|
||||
PYENV_COMMAND_PATH="$(pyenv-which "${PYENV_REHASH_REAL_COMMAND}")"
|
||||
PYENV_BIN_PATH="${PYENV_COMMAND_PATH%/*}"
|
||||
|
||||
export PATH="${PYENV_BIN_PATH}:${PATH}"
|
||||
|
||||
STATUS=0
|
||||
"$PYENV_COMMAND_PATH" "$@" || STATUS="$?"
|
||||
|
||||
# Run `pyenv-rehash` after a successful installation.
|
||||
if [ "$STATUS" == "0" ]; then
|
||||
case "$1" in
|
||||
"install" | "remove" | "uninstall") pyenv-rehash;;
|
||||
esac
|
||||
fi
|
||||
|
||||
exit "$STATUS"
|
||||
Reference in New Issue
Block a user