mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-29 03:42:56 -05:00
Import changes from ruby-build v20150818
This commit is contained in:
parent
0c81c97926
commit
0f288f2462
5 changed files with 53 additions and 17 deletions
|
@ -47,8 +47,7 @@ fi
|
||||||
eval "$(python-build --lib)"
|
eval "$(python-build --lib)"
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
# We can remove the sed fallback once pyenv 0.4.0 is widely available.
|
pyenv-help install 2>/dev/null
|
||||||
pyenv-help install 2>/dev/null || sed -ne '/^#/!q;s/.//;s/.//;1,4d;p' < "$0"
|
|
||||||
[ -z "$1" ] || exit "$1"
|
[ -z "$1" ] || exit "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,7 @@ if [ "$1" = "--complete" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
# We can remove the sed fallback once pyenv 0.4.0 is widely available
|
pyenv-help uninstall 2>/dev/null
|
||||||
pyenv-help uninstall 2>/dev/null || sed -ne '/^#/!q;s/.//;s/.//;1,4d;p' < "$0"
|
|
||||||
[ -z "$1" ] || exit "$1"
|
[ -z "$1" ] || exit "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
# -g/--debug Build a debug version
|
# -g/--debug Build a debug version
|
||||||
#
|
#
|
||||||
|
|
||||||
PYTHON_BUILD_VERSION="20150519"
|
PYTHON_BUILD_VERSION="20150818"
|
||||||
|
|
||||||
set -E
|
set -E
|
||||||
exec 3<&2 # preserve original stderr at fd 3
|
exec 3<&2 # preserve original stderr at fd 3
|
||||||
|
@ -1132,12 +1132,13 @@ require_llvm() {
|
||||||
local llvm_version="$1"
|
local llvm_version="$1"
|
||||||
if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then
|
if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then
|
||||||
if [[ "$PYTHON_CONFIGURE_OPTS" != *--llvm-* ]]; then
|
if [[ "$PYTHON_CONFIGURE_OPTS" != *--llvm-* ]]; then
|
||||||
if [ "$llvm_version" = "3.2" ]; then
|
case "$llvm_version" in
|
||||||
|
3.2 )
|
||||||
package_option python configure --prebuilt-name="llvm-3.2-x86_64-apple-darwin13.tar.bz2"
|
package_option python configure --prebuilt-name="llvm-3.2-x86_64-apple-darwin13.tar.bz2"
|
||||||
else
|
;;
|
||||||
local llvm_prefix="$(brew --prefix llvm 2>/dev/null || true)"
|
3.5 )
|
||||||
local llvm_config="${llvm_prefix}/bin/llvm-config"
|
local llvm_config="$(locate_llvm "$llvm_version")"
|
||||||
if [ -x "$llvm_config" ]; then
|
if [ -n "$llvm_config" ]; then
|
||||||
package_option python configure --llvm-config="$llvm_config"
|
package_option python configure --llvm-config="$llvm_config"
|
||||||
else
|
else
|
||||||
{ echo
|
{ echo
|
||||||
|
@ -1148,16 +1149,31 @@ require_llvm() {
|
||||||
colorize 1 "TO FIX THE PROBLEM"
|
colorize 1 "TO FIX THE PROBLEM"
|
||||||
echo ": Install Homebrew's llvm package with this"
|
echo ": Install Homebrew's llvm package with this"
|
||||||
echo -n "command: "
|
echo -n "command: "
|
||||||
colorize 4 "brew install llvm"
|
colorize 4 "brew tap homebrew/versions ; brew install llvm35"
|
||||||
echo
|
echo
|
||||||
} >&3
|
} >&3
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
locate_llvm() {
|
||||||
|
local llvm_version="$1"
|
||||||
|
local package llvm_config
|
||||||
|
shopt -s nullglob
|
||||||
|
for package in `brew list 2>/dev/null | grep "^llvm"`; do
|
||||||
|
llvm_config="$(echo "$(brew --prefix "$package")/bin/llvm-config"*)"
|
||||||
|
if [ -n "$llvm_config" ] && [[ "$("$llvm_config" --version)" = "$llvm_version"* ]]; then
|
||||||
|
echo "$llvm_config"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
shopt -u nullglob
|
||||||
|
}
|
||||||
|
|
||||||
require_java() {
|
require_java() {
|
||||||
local java="$(command -v java || true)"
|
local java="$(command -v java || true)"
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
load test_helper
|
load test_helper
|
||||||
|
|
||||||
@test "not enought arguments for python-build" {
|
@test "not enough arguments for python-build" {
|
||||||
# use empty inline definition so nothing gets built anyway
|
# use empty inline definition so nothing gets built anyway
|
||||||
local definition="${TMP}/build-definition"
|
local definition="${TMP}/build-definition"
|
||||||
echo '' > "$definition"
|
echo '' > "$definition"
|
||||||
|
|
|
@ -149,39 +149,61 @@ OUT
|
||||||
|
|
||||||
@test "not enough arguments for pyenv-install" {
|
@test "not enough arguments for pyenv-install" {
|
||||||
stub_python_build
|
stub_python_build
|
||||||
|
stub pyenv-help 'install : true'
|
||||||
|
|
||||||
run pyenv-install
|
run pyenv-install
|
||||||
assert_failure
|
assert_failure
|
||||||
assert_output_contains 'Usage: pyenv install'
|
unstub pyenv-help
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "too many arguments for pyenv-install" {
|
@test "too many arguments for pyenv-install" {
|
||||||
stub_python_build
|
stub_python_build
|
||||||
|
stub pyenv-help 'install : true'
|
||||||
|
|
||||||
run pyenv-install 3.4.1 3.4.2
|
run pyenv-install 3.4.1 3.4.2
|
||||||
assert_failure
|
assert_failure
|
||||||
assert_output_contains 'Usage: pyenv install'
|
unstub pyenv-help
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "show help for pyenv-install" {
|
@test "show help for pyenv-install" {
|
||||||
stub_python_build
|
stub_python_build
|
||||||
|
stub pyenv-help 'install : true'
|
||||||
|
|
||||||
run pyenv-install -h
|
run pyenv-install -h
|
||||||
assert_success
|
assert_success
|
||||||
|
unstub pyenv-help
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "pyenv-install has usage help preface" {
|
||||||
|
run head "$(which pyenv-install)"
|
||||||
assert_output_contains 'Usage: pyenv install'
|
assert_output_contains 'Usage: pyenv install'
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "not enough arguments pyenv-uninstall" {
|
@test "not enough arguments pyenv-uninstall" {
|
||||||
|
stub pyenv-help 'uninstall : true'
|
||||||
|
|
||||||
run pyenv-uninstall
|
run pyenv-uninstall
|
||||||
assert_failure
|
assert_failure
|
||||||
assert_output_contains 'Usage: pyenv uninstall'
|
unstub pyenv-help
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "too many arguments for pyenv-uninstall" {
|
@test "too many arguments for pyenv-uninstall" {
|
||||||
|
stub pyenv-help 'uninstall : true'
|
||||||
|
|
||||||
run pyenv-uninstall 3.4.1 3.4.2
|
run pyenv-uninstall 3.4.1 3.4.2
|
||||||
assert_failure
|
assert_failure
|
||||||
assert_output_contains 'Usage: pyenv uninstall'
|
unstub pyenv-help
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "show help for pyenv-uninstall" {
|
@test "show help for pyenv-uninstall" {
|
||||||
|
stub pyenv-help 'uninstall : true'
|
||||||
|
|
||||||
run pyenv-uninstall -h
|
run pyenv-uninstall -h
|
||||||
assert_success
|
assert_success
|
||||||
|
unstub pyenv-help
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "pyenv-uninstall has usage help preface" {
|
||||||
|
run head "$(which pyenv-uninstall)"
|
||||||
assert_output_contains 'Usage: pyenv uninstall'
|
assert_output_contains 'Usage: pyenv uninstall'
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue