1
0
mirror of https://github.com/pyenv/pyenv.git synced 2025-11-15 14:53:53 -05:00

Compare commits

...

20 Commits

Author SHA1 Message Date
Yamashita, Yuu
7f32e96c28 v20150719 2015-07-19 13:07:24 +09:00
Yamashita, Yuu
294738842c pin pip version to 1.5.6 for python 3.1.5 (fixes #351) 2015-07-19 12:33:56 +09:00
Yamashita, Yuu
a3bea25ddc Use original CPython repository as the source of CPython *-dev versions (#409) 2015-07-18 13:23:13 +09:00
Yamashita, Yuu
1a66a9141b Build 3.5-dev from "3.5" branch (#409) 2015-07-18 13:22:36 +09:00
Yamashita, Yuu
78c1d7186d CPython 3.1 branch is no longer maintained (#409) 2015-07-18 13:21:20 +09:00
Yamashita, Yuu
9b60d73ec8 Merge pull request #413 from BanzaiMan/ha-feature-py36
Add `3.6-dev`
2015-07-18 11:48:53 +09:00
Hiro Asari
8a9d2557a0 Add 3.6-dev 2015-07-17 22:14:18 -04:00
Yamashita, Yuu
2a79db00b0 Merge pull request #412 from BanzaiMan/patch-1
Point to the canonical Python repository
2015-07-18 09:47:46 +09:00
Hiro Asari
3e7839c5b7 Point to the canonical Python repository
BitBucket mirror is no longer up to date with the canonical repository.

Fixes https://github.com/yyuu/pyenv/issues/409.
2015-07-17 20:46:59 -04:00
Yamashita, Yuu
36c5cbf74f Add Anaconda/Anaconda3 2.3.0 2015-07-08 15:49:58 +09:00
Yamashita, Yuu
608ad6f9d0 Merge pull request #402 from mrjefftang/master
2.7.10 - Stop '/Library/Python/X.X/site-packages' from being added to sys.path
2015-07-08 00:17:54 +09:00
Jeff Tang
7a6eb38a36 add patches to stop '/Library/Python/X.X/site-packages' from being added
to sys.path
2015-07-07 11:14:14 -04:00
Yamashita, Yuu
cd40335ba4 Merge pull request #400 from transcranial/master
Add python 3.5.0b3
2015-07-06 07:29:42 +09:00
Leon Chen
26450fd0ab Add python 3.5.0b3 2015-07-05 17:21:31 -04:00
Yamashita Yuu
22ecefd572 Use custom MACOSX_DEPLOYMENT_TARGET if defined (fixes #312) 2015-06-28 13:50:45 +09:00
Yamashita Yuu
abae52ae20 Add tests for some of python-build specific features 2015-06-28 13:34:59 +09:00
Yamashita Yuu
114063495f pyenv-prefix should return proper prefix of system version (fixes #391) 2015-06-27 01:07:18 +09:00
Yamashita, Yuu
7b797c3797 Merge pull request #393 from nikolas/patch-1
fix typo in readme
2015-06-23 08:19:50 +09:00
Nik Nyby
8e276a009e fix typo in readme 2015-06-22 18:54:03 -04:00
Yamashita Yuu
4198280142 Fix download URL of portable PyPy 2.6 (fixes #389) 2015-06-10 21:41:20 +09:00
20 changed files with 184 additions and 17 deletions

View File

@@ -1,5 +1,14 @@
## Version History
#### 20150719
* python-build: Add CPython `3.6-dev` (#413)
* python-build: Add Anaconda/Anaconda3 2.3.0
* python-build: Fix download URL of portable PyPy 2.6 (fixes #389)
* python-build: Use custom `MACOSX_DEPLOYMENT_TARGET` if defined (#312)
* python-build: Use original CPython repository instead of mirror at bitbucket.org as the source of `*-dev` versions (#409)
* python-build: Pin pip version to 1.5.6 for python 3.1.5 (#351)
#### 20150601
* python-build: Add PyPy 2.6.0

View File

@@ -126,7 +126,7 @@ reading it from the following sources, in this order:
Python. (In other words, whatever version would run if pyenv weren't in your
`PATH`.)
**NOTE:** You can activate multiple versions at the same time, including mulitple
**NOTE:** You can activate multiple versions at the same time, including multiple
versions of Python2 or Python3 simultaneously. This allows for parallel usage of
Python2 and Python3, and is required with tools like `tox`. For example, to set
your path to first use your `system` Python and Python3 (set to 2.7.9 and 3.4.2

View File

@@ -12,7 +12,7 @@
set -e
[ -n "$PYENV_DEBUG" ] && set -x
version="20150601"
version="20150719"
if cd "$PYENV_ROOT" 2>/dev/null; then
git_revision="$(git describe --tags HEAD 2>/dev/null || true)"

View File

@@ -30,7 +30,7 @@ OLDIFS="$IFS"
{ IFS=:
for version in ${PYENV_VERSION}; do
if [ "$version" = "system" ]; then
if PYTHON_PATH="$(pyenv-which python 2>/dev/null)"; then
if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python 2>/dev/null)"; then
PYENV_PREFIX_PATH="${PYTHON_PATH%/bin/*}"
else
echo "pyenv: system version not found in PATH" >&2

View File

@@ -1517,6 +1517,11 @@ build_package_verify_py35() {
build_package_verify_py34 "$1" "${2:-3.5}"
}
# Post-install check for Python 3.6.x
build_package_verify_py36() {
build_package_verify_py35 "$1" "${2:-3.6}"
}
build_package_ez_setup() {
local ez_setup="${BUILD_PATH}/ez_setup.py"
rm -f "${ez_setup}"
@@ -1815,12 +1820,14 @@ fi
# Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220)
if [[ "Darwin" == "$(uname -s)" ]]; then
if [ -z "${MACOSX_DEPLOYMENT_TARGET}" ]; then
MACOS_VERSION="$(sw_vers -productVersion 2>/dev/null || true)"
MACOS_VERSION_ARRAY=(${MACOS_VERSION//\./ })
if [ "${#MACOS_VERSION_ARRAY[@]}" -ge 2 ]; then
export MACOSX_DEPLOYMENT_TARGET="${MACOS_VERSION_ARRAY[0]}.${MACOS_VERSION_ARRAY[1]}"
fi
fi
fi
python_bin_suffix() {
local version_name version_info

View File

@@ -1,3 +1,3 @@
#require_gcc
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-2.7-dev" "https://bitbucket.org/mirror/cpython" "2.7" standard verify_py27 ensurepip
install_hg "Python-2.7-dev" "https://hg.python.org/cpython" "2.7" standard verify_py27 ensurepip

View File

@@ -1,3 +1,4 @@
#require_gcc
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://python.org/ftp/python/3.1.5/Python-3.1.5.tgz#d12dae6d06f52ef6bf1271db4d5b4d14b5dd39813e324314e72b648ef1bc0103" ldflags_dirs standard verify_py31 ensurepip
install_package "Python-3.1.5" "http://python.org/ftp/python/3.1.5/Python-3.1.5.tgz#d12dae6d06f52ef6bf1271db4d5b4d14b5dd39813e324314e72b648ef1bc0103" ldflags_dirs standard verify_py31 ez_setup
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python

View File

@@ -1,3 +1,3 @@
#require_gcc
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://bitbucket.org/mirror/cpython" "3.2" standard verify_py32 ensurepip
install_hg "Python-3.2-dev" "https://hg.python.org/cpython" "3.2" standard verify_py32 ensurepip

View File

@@ -1,3 +1,3 @@
#require_gcc
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.3-dev" "https://bitbucket.org/mirror/cpython" "3.3" standard verify_py33 ensurepip
install_hg "Python-3.3-dev" "https://hg.python.org/cpython" "3.3" standard verify_py33 ensurepip

View File

@@ -1,3 +1,3 @@
#require_gcc
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.4-dev" "https://bitbucket.org/mirror/cpython" "3.4" standard verify_py34 ensurepip
install_hg "Python-3.4-dev" "https://hg.python.org/cpython" "3.4" standard verify_py34 ensurepip

View File

@@ -1,3 +1,3 @@
#require_gcc
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.5-dev" "https://bitbucket.org/mirror/cpython" "default" standard verify_py35 ensurepip
install_hg "Python-3.5-dev" "https://hg.python.org/cpython" "3.5" standard verify_py35 ensurepip

View File

@@ -0,0 +1,3 @@
#require_gcc
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.5.0b3" "https://www.python.org/ftp/python/3.5.0/Python-3.5.0b3.tgz#5d1437676e75826963028eece5e84c31a8f6e4a781b86d860df89607ddb62f29" ldflags_dirs standard verify_py35 ensurepip

View File

@@ -1,3 +1,3 @@
#require_gcc
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.1-dev" "https://bitbucket.org/mirror/cpython" "3.1" standard verify_py31 ensurepip
install_hg "Python-3.6-dev" "https://hg.python.org/cpython" "default" standard verify_py36 ensurepip

View File

@@ -0,0 +1,19 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-x86" )
install_script "Anaconda-2.3.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda-2.3.0-Linux-x86.sh#73fdbbb3e38207ed18e5059f71676d18d48fdccbc455a1272eb45a60376cd818" "anaconda" verify_py27
;;
"Linux-x86_64" )
install_script "Anaconda-2.3.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda-2.3.0-Linux-x86_64.sh#7c02499e9511c127d225992cfe1cd815e88fd46cd8a5b3cdf764f3fb4d8d4576" "anaconda" verify_py27
;;
"MacOSX-x86_64" )
install_script "Anaconda-2.3.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda-2.3.0-MacOSX-x86_64.sh#c4bb59a57bf44dde80612041bbbcfd2e5cab8534842209ef456da7a46f919c33" "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

View File

@@ -0,0 +1,19 @@
case "$(anaconda_architecture 2>/dev/null || true)" in
"Linux-x86" )
install_script "Anaconda3-2.3.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda3-2.3.0-Linux-x86.sh#4cc10d65c303191004ada2b6d75562c8ed84e42bf9871af06440dd956077b555" "anaconda" verify_py34
;;
"Linux-x86_64" )
install_script "Anaconda3-2.3.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.3.0-Linux-x86_64.sh#3be5410b2d9db45882c7de07c554cf4f1034becc274ec9074b23fd37a5c87a6f" "anaconda" verify_py34
;;
"MacOSX-x86_64" )
install_script "Anaconda3-2.3.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.3.0-MacOSX-x86_64.sh#6a0c94a49f41f9fda0138c8e966bd7b0a8965d6648fd21ffbd645d1453848ba5" "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

View File

@@ -0,0 +1,13 @@
Only in .: 003_system_library_path_in_sys_path.patch
diff -ur ../Python-2.7.10/Lib/site.py ./Lib/site.py
--- ../Python-2.7.10/Lib/site.py 2014-06-30 05:05:30.000000000 +0300
+++ ./Lib/site.py 2014-12-12 11:42:33.000000000 +0200
@@ -300,7 +300,7 @@
# locations.
from sysconfig import get_config_var
framework = get_config_var("PYTHONFRAMEWORK")
- if framework:
+ if False and framework:
sitepackages.append(
os.path.join("/Library", framework,
sys.version[:3], "site-packages"))

View File

@@ -3,7 +3,7 @@ case "$(pypy_architecture 2>/dev/null || true)" in
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 "pypy-2.6.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.0-linux.tar.bz2#6e0b052c40a59bf5a85ee239980bbcab8b031b4c2bc33b99efe1b072977d9910" "pypy" verify_py27 ensurepip
else
install_package "pypy-2.6.0-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.6.0-linux_i686-portable.tar.bz2#e01db0984f7fecd80dadfb1d5f65118e596e3984d12643b4d552e83f92bff549" "pypy" verify_py27 ensurepip
install_package "pypy-2.6-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.6-linux_i686-portable.tar.bz2#e01db0984f7fecd80dadfb1d5f65118e596e3984d12643b4d552e83f92bff549" "pypy" verify_py27 ensurepip
fi
;;
"linux-armel" )
@@ -22,7 +22,7 @@ case "$(pypy_architecture 2>/dev/null || true)" in
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 "pypy-2.6.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.0-linux64.tar.bz2#f5d2b0e3594cec57e32d3e43a951041ec330e1e962a836be470d591633e51388" "pypy" verify_py27 ensurepip
else
install_package "pypy-2.6.0-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.6.0-linux_x86_64-portable.tar.bz2#97284b66476c5d1b17a62f5017569a0073730928e19f95b49d78d6bc60b69495" "pypy" verify_py27 ensurepip
install_package "pypy-2.6-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.6-linux_x86_64-portable.tar.bz2#97284b66476c5d1b17a62f5017569a0073730928e19f95b49d78d6bc60b69495" "pypy" verify_py27 ensurepip
fi
;;
"osx64" )

View File

@@ -87,6 +87,10 @@ install_tmp_fixture() {
run python-build $args "$TMP_FIXTURES/$name" "$destination"
}
resolve_link() {
$(type -p greadlink readlink | head -1) "$1"
}
@test "apply built-in python patch before building" {
cached_tarball "Python-3.2.1"
@@ -195,3 +199,84 @@ OUT
python -m ensurepip --altinstall
OUT
}
@test "python3-config" {
mkdir -p "${INSTALL_ROOT}/bin"
touch "${INSTALL_ROOT}/bin/python3"
chmod +x "${INSTALL_ROOT}/bin/python3"
touch "${INSTALL_ROOT}/bin/python3.4"
chmod +x "${INSTALL_ROOT}/bin/python3.4"
touch "${INSTALL_ROOT}/bin/python3-config"
chmod +x "${INSTALL_ROOT}/bin/python3-config"
touch "${INSTALL_ROOT}/bin/python3.4-config"
chmod +x "${INSTALL_ROOT}/bin/python3.4-config"
TMPDIR="$TMP" run_inline_definition <<OUT
verify_python python3.4
OUT
assert_success
[ -L "${INSTALL_ROOT}/bin/python" ]
[ -L "${INSTALL_ROOT}/bin/python-config" ]
[[ "$(resolve_link "${INSTALL_ROOT}/bin/python")" == "python3.4" ]]
[[ "$(resolve_link "${INSTALL_ROOT}/bin/python-config")" == "python3.4-config" ]]
}
@test "--enable-framework" {
mkdir -p "${INSTALL_ROOT}/Python.framework/Versions/Current/bin"
touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3"
chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3"
touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4"
chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4"
touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3-config"
chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3-config"
touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4-config"
chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4-config"
stub uname '-s : echo Darwin'
PYTHON_CONFIGURE_OPTS="--enable-framework" TMPDIR="$TMP" run_inline_definition <<OUT
echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
verify_python python3.4
OUT
assert_success
assert_output <<EOS
PYTHON_CONFIGURE_OPTS_ARRAY=(--enable-framework=${TMP}/install)
EOS
[ -L "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python" ]
[ -L "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python-config" ]
}
@test "--enable-universalsdk" {
stub uname '-s : echo Darwin'
PYTHON_CONFIGURE_OPTS="--enable-universalsdk" TMPDIR="$TMP" run_inline_definition <<OUT
echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
OUT
assert_success
assert_output <<EOS
PYTHON_CONFIGURE_OPTS_ARRAY=(--enable-universalsdk=/ --with-universal-archs=intel)
EOS
}
@test "default MACOSX_DEPLOYMENT_TARGET" {
stub uname '-s : echo Darwin'
stub sw_vers '-productVersion : echo 10.10'
TMPDIR="$TMP" run_inline_definition <<OUT
echo "\${MACOSX_DEPLOYMENT_TARGET}"
OUT
assert_success
assert_output "10.10"
}
@test "use custom MACOSX_DEPLOYMENT_TARGET if defined" {
stub uname '-s : echo Darwin'
MACOSX_DEPLOYMENT_TARGET="10.4" TMPDIR="$TMP" run_inline_definition <<OUT
echo "\${MACOSX_DEPLOYMENT_TARGET}"
OUT
assert_success
assert_output "10.4"
}

View File

@@ -5,7 +5,7 @@ load test_helper
@test "blank invocation" {
run pyenv
assert_success
assert [ "${lines[0]}" == "pyenv 20150601" ]
assert [ "${lines[0]}" == "pyenv 20150719" ]
}
@test "invalid command" {

View File

@@ -1,3 +1,14 @@
#!/usr/bin/env bats
load test_helper
@test "prefixes" {
mkdir -p "${PYENV_TEST_DIR}/bin"
touch "${PYENV_TEST_DIR}/bin/python"
chmod +x "${PYENV_TEST_DIR}/bin/python"
mkdir -p "${PYENV_ROOT}/versions/2.7.10"
PYENV_VERSION="system:2.7.10" run pyenv-prefix
assert_success "${PYENV_TEST_DIR}:${PYENV_ROOT}/versions/2.7.10"
PYENV_VERSION="2.7.10:system" run pyenv-prefix
assert_success "${PYENV_ROOT}/versions/2.7.10:${PYENV_TEST_DIR}"
}