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

Compare commits

...

15 Commits

Author SHA1 Message Date
Yamashita Yuu
6509d318f4 v20140825 2014-08-25 10:21:26 +09:00
Makoto Sasaki
474767618d Add Jython 2.7 Beta 3 (fixes #223)
This release of Jython requires JDK 7 or above
2014-08-24 04:19:54 +09:00
Yamashita, Yuu
82aaef7842 Merge pull request #222 from yyuu/macosx-deployment-target
Setting MACOSX_DEPLOYMENT_TARGET on Darwin
2014-08-21 19:21:59 +09:00
Yamashita Yuu
9df0a2916d Setup configure options to build against universal SDK on Darwin 2014-08-21 15:24:36 +09:00
Yamashita Yuu
f76309d419 Add tests for MACOSX_DEPLOYMENT_TARGET (#219, #220) 2014-08-21 13:59:04 +09:00
Yamashita Yuu
29d3df661e Fix broken tests 2014-08-21 13:59:04 +09:00
Yamashita Yuu
96b4c0f7e7 Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220) 2014-08-21 13:59:04 +09:00
Yamashita, Yuu
f9053406c2 Merge pull request #215 from blueyed/fix-zsh-completion
Fix zsh completion with multiple words
2014-08-11 10:56:26 +09:00
Yamashita Yuu
ae4659538d Unset PIP_REQUIRE_VENV during build (fixes #216) 2014-08-11 10:40:56 +09:00
Daniel Hahler
4159055117 Fix zsh completion with multiple words
`${words[2,-2]}` must not be quoted, otherwise completion for multiple
words (e.g. `shell 3.4.1`) fails.
2014-08-10 17:04:26 +02:00
Yamashita Yuu
aa62882347 Display the package name of hg as mercurial in message (#212) 2014-08-09 01:06:55 +09:00
Yamashita Yuu
b8a7de8a3c v20140705 (fixes #204) 2014-07-06 00:35:50 +09:00
Yamashita Yuu
a661e14580 Support SETUPTOOLS_VERSION and PIP_VERSION to allow installing specific version of setuptools/pip (#202) 2014-07-03 10:18:27 +09:00
Makoto Sasaki
22f4218522 Add CPython 2.7.8 (refs #201) 2014-07-02 17:38:33 +09:00
Yamashita Yuu
6f761f8159 Remove exit 0 from initialization code of fish 2014-06-30 23:00:09 +09:00
9 changed files with 102 additions and 5 deletions

View File

@@ -1,5 +1,18 @@
## Version History
#### 20140825
* pyenv: Fix zsh completion with multiple words (#215)
* python-build: Display the package name of `hg` as `mercurial` in message (#212)
* python-build: Unset `PIP_REQUIRE_VENV` during build (#216)
* python-build: Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220)
* python-build: Add new Jython release; jython2.7-beta3 (#223)
#### 20140705
* python-build: Add new CPython release; 2.7.8 (#201)
* python-build: Support `SETUPTOOLS_VERSION` and `PIP_VERSION` to allow installing specific version of setuptools/pip (#202)
#### 20140628
* python-build: Add new Anaconda releases; anaconda-2.0.1, anaconda3-2.0.1 (#195)

View File

@@ -11,7 +11,7 @@ _pyenv() {
if [ "${#words}" -eq 2 ]; then
completions="$(pyenv commands)"
else
completions="$(pyenv completions "${words[2,-2]}")"
completions="$(pyenv completions ${words[2,-2]})"
fi
reply=("${(ps:\n:)completions}")

View File

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

View File

@@ -140,7 +140,6 @@ function pyenv
end
end
EOS
exit 0
;;
ksh )
cat <<EOS
@@ -156,6 +155,7 @@ EOS
;;
esac
if [ "$shell" != "fish" ]; then
IFS="|"
cat <<EOS
command="\$1"
@@ -171,3 +171,4 @@ cat <<EOS
esac
}
EOS
fi

View File

@@ -435,7 +435,7 @@ fetch_hg() {
hg clone --branch "$hg_ref" "$hg_url" "${package_name}" >&4 2>&1
else
echo "error: please install \`hg\` and try again" >&2
echo "error: please install \`mercurial\` and try again" >&2
exit 1
fi
}
@@ -1603,6 +1603,10 @@ fi
# Add support for framework installation (`--enable-framework`) of CPython (#55, #99)
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
if [[ "Darwin" != "$(uname -s)" ]]; then
echo "python-build: framework installation is not supported." >&2
exit 1
fi
create_framework_dirs() {
local version="$(echo "$1" | sed -E 's/^[^0-9]*([0-9]+\.[0-9]+).*$/\1/')"
mkdir -p "${PREFIX_PATH}/Python.framework/Versions/${version}"
@@ -1617,12 +1621,25 @@ if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
package_option python configure --enable-framework="${PREFIX_PATH}"
fi
# Build against universal SDK (#219, #220)
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-universalsdk"* ]]; then
if [[ "Darwin" != "$(uname -s)" ]]; then
echo "python-build: universal installation is not supported." >&2
exit 1
fi
package_option python configure --enable-universalsdk=/ --with-universal-archs=intel
fi
# SSL Certificate error with older wget that does not support Server Name Indication (#60)
if ! command -v curl 1>/dev/null 2>&1 && [[ "$(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
exit 1
fi
# Unset `PIP_REQUIRE_VENV` during build (#216)
unset PIP_REQUIRE_VENV
unset PIP_REQUIRE_VIRTUALENV
# pydistutils.cfg may corrupt install location of Python libraries (#35, #111)
if [ -e "$HOME/.pydistutils.cfg" ]; then
{ colorize 1 "WARNING"
@@ -1630,6 +1647,27 @@ if [ -e "$HOME/.pydistutils.cfg" ]; then
} >&2
fi
# Download specified version of ez_setup.py/get-pip.py (#202)
if [ -n "${SETUPTOOLS_VERSION}" ]; then
EZ_SETUP_URL="https://bitbucket.org/pypa/setuptools/raw/${SETUPTOOLS_VERSION}/ez_setup.py"
fi
if [ -n "${PIP_VERSION}" ]; then
GET_PIP_URL="https://raw.githubusercontent.com/pypa/pip/${PIP_VERSION}/contrib/get-pip.py"
fi
# Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220)
if [[ "Darwin" == "$(uname -s)" ]]; 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]}"
else
{ colorize 1 "WARNING"
echo ": Could not detect the product version of OS X for MACOSX_DEPLOYMENT_TARGET. Use default setting."
} >&2
fi
fi
SEED="$(date "+%Y%m%d%H%M%S").$$"
LOG_PATH="${TMP}/python-build.${SEED}.log"
PYTHON_BIN="${PREFIX_PATH}/bin/python"

View File

@@ -0,0 +1,3 @@
require_cc
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-2.7.8" "https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz#74d70b914da4487aa1d97222b29e9554d042f825f26cb2b93abd20fdda56b557" ldflags_dirs standard verify_py27 ensurepip

View File

@@ -0,0 +1,5 @@
require_java
install_jar "jython-2.7-beta3" "http://search.maven.org/remotecontent?filepath=org/python/jython-installer/2.7-b3/jython-installer-2.7-b3.jar" jython ez_setup
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
# * https://github.com/yyuu/pyenv/issues/15
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#12a9302acfca62cdc7bc5d83386cac3e0581db61ac39acdb3a4e766a16b88eb1" python

View File

@@ -216,6 +216,7 @@ OUT
@test "number of CPU cores defaults to 2" {
cached_tarball "Python-3.2.1"
stub uname '-s : echo Darwin'
stub uname '-s : echo Darwin'
stub sysctl false
stub_make_install
@@ -240,6 +241,7 @@ OUT
@test "number of CPU cores is detected on Mac" {
cached_tarball "Python-3.2.1"
stub uname '-s : echo Darwin'
stub uname '-s : echo Darwin'
stub sysctl '-n hw.ncpu : echo 4'
stub_make_install
@@ -316,6 +318,7 @@ OUT
@test "make on FreeBSD defaults to gmake" {
cached_tarball "Python-3.2.1"
stub uname "-s : echo FreeBSD"
stub uname "-s : echo FreeBSD"
MAKE=gmake stub_make_install
@@ -389,3 +392,37 @@ OUT
run python-build "${TMP}/build-definition" "$INSTALL_ROOT"
assert_failure "python-build: TMPDIR=$TMPDIR is set to a non-accessible location"
}
@test "setting MACOSX_DEPLOYMENT_TARGET from the product version of OS X" {
stub uname '-s : echo Darwin'
stub sw_vers '-productVersion : echo 10.9.4'
run_inline_definition <<DEF
echo "MACOSX_DEPLOYMENT_TARGET=\${MACOSX_DEPLOYMENT_TARGET}" > "$INSTALL_ROOT/build.log"
DEF
assert_success
assert_build_log <<OUT
MACOSX_DEPLOYMENT_TARGET=10.9
OUT
unstub uname
unstub sw_vers
}
@test "not setting MACOSX_DEPLOYMENT_TARGET if the product version of OS X is not available" {
stub uname '-s : echo Darwin'
stub sw_vers false
run_inline_definition <<DEF
echo "MACOSX_DEPLOYMENT_TARGET=\${MACOSX_DEPLOYMENT_TARGET}" > "$INSTALL_ROOT/build.log"
DEF
assert_success
assert_build_log <<OUT
MACOSX_DEPLOYMENT_TARGET=
OUT
unstub uname
unstub sw_vers
}

View File

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