mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-07 20:31:01 -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)"
|
||||
|
||||
usage() {
|
||||
# We can remove the sed fallback once pyenv 0.4.0 is widely available.
|
||||
pyenv-help install 2>/dev/null || sed -ne '/^#/!q;s/.//;s/.//;1,4d;p' < "$0"
|
||||
pyenv-help install 2>/dev/null
|
||||
[ -z "$1" ] || exit "$1"
|
||||
}
|
||||
|
||||
|
|
|
@ -18,8 +18,7 @@ if [ "$1" = "--complete" ]; then
|
|||
fi
|
||||
|
||||
usage() {
|
||||
# We can remove the sed fallback once pyenv 0.4.0 is widely available
|
||||
pyenv-help uninstall 2>/dev/null || sed -ne '/^#/!q;s/.//;s/.//;1,4d;p' < "$0"
|
||||
pyenv-help uninstall 2>/dev/null
|
||||
[ -z "$1" ] || exit "$1"
|
||||
}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
# -g/--debug Build a debug version
|
||||
#
|
||||
|
||||
PYTHON_BUILD_VERSION="20150519"
|
||||
PYTHON_BUILD_VERSION="20150818"
|
||||
|
||||
set -E
|
||||
exec 3<&2 # preserve original stderr at fd 3
|
||||
|
@ -1132,12 +1132,13 @@ require_llvm() {
|
|||
local llvm_version="$1"
|
||||
if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; 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"
|
||||
else
|
||||
local llvm_prefix="$(brew --prefix llvm 2>/dev/null || true)"
|
||||
local llvm_config="${llvm_prefix}/bin/llvm-config"
|
||||
if [ -x "$llvm_config" ]; then
|
||||
;;
|
||||
3.5 )
|
||||
local llvm_config="$(locate_llvm "$llvm_version")"
|
||||
if [ -n "$llvm_config" ]; then
|
||||
package_option python configure --llvm-config="$llvm_config"
|
||||
else
|
||||
{ echo
|
||||
|
@ -1148,16 +1149,31 @@ require_llvm() {
|
|||
colorize 1 "TO FIX THE PROBLEM"
|
||||
echo ": Install Homebrew's llvm package with this"
|
||||
echo -n "command: "
|
||||
colorize 4 "brew install llvm"
|
||||
colorize 4 "brew tap homebrew/versions ; brew install llvm35"
|
||||
echo
|
||||
} >&3
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
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() {
|
||||
local java="$(command -v java || true)"
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
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
|
||||
local definition="${TMP}/build-definition"
|
||||
echo '' > "$definition"
|
||||
|
|
|
@ -149,39 +149,61 @@ OUT
|
|||
|
||||
@test "not enough arguments for pyenv-install" {
|
||||
stub_python_build
|
||||
stub pyenv-help 'install : true'
|
||||
|
||||
run pyenv-install
|
||||
assert_failure
|
||||
assert_output_contains 'Usage: pyenv install'
|
||||
unstub pyenv-help
|
||||
}
|
||||
|
||||
@test "too many arguments for pyenv-install" {
|
||||
stub_python_build
|
||||
stub pyenv-help 'install : true'
|
||||
|
||||
run pyenv-install 3.4.1 3.4.2
|
||||
assert_failure
|
||||
assert_output_contains 'Usage: pyenv install'
|
||||
unstub pyenv-help
|
||||
}
|
||||
|
||||
@test "show help for pyenv-install" {
|
||||
stub_python_build
|
||||
stub pyenv-help 'install : true'
|
||||
|
||||
run pyenv-install -h
|
||||
assert_success
|
||||
unstub pyenv-help
|
||||
}
|
||||
|
||||
@test "pyenv-install has usage help preface" {
|
||||
run head "$(which pyenv-install)"
|
||||
assert_output_contains 'Usage: pyenv install'
|
||||
}
|
||||
|
||||
@test "not enough arguments pyenv-uninstall" {
|
||||
stub pyenv-help 'uninstall : true'
|
||||
|
||||
run pyenv-uninstall
|
||||
assert_failure
|
||||
assert_output_contains 'Usage: pyenv uninstall'
|
||||
unstub pyenv-help
|
||||
}
|
||||
|
||||
@test "too many arguments for pyenv-uninstall" {
|
||||
stub pyenv-help 'uninstall : true'
|
||||
|
||||
run pyenv-uninstall 3.4.1 3.4.2
|
||||
assert_failure
|
||||
assert_output_contains 'Usage: pyenv uninstall'
|
||||
unstub pyenv-help
|
||||
}
|
||||
|
||||
@test "show help for pyenv-uninstall" {
|
||||
stub pyenv-help 'uninstall : true'
|
||||
|
||||
run pyenv-uninstall -h
|
||||
assert_success
|
||||
unstub pyenv-help
|
||||
}
|
||||
|
||||
@test "pyenv-uninstall has usage help preface" {
|
||||
run head "$(which pyenv-uninstall)"
|
||||
assert_output_contains 'Usage: pyenv uninstall'
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue