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

Compare commits

..

19 Commits

Author SHA1 Message Date
Yamashita Yuu
73d5ea7426 v0.4.0-20140123 2014-01-23 19:14:26 +09:00
Yamashita Yuu
b992ffca1d Merge branch 'rbenv-pr531' 2014-01-23 11:16:51 +09:00
Yamashita Yuu
9c82314570 Unset GREP_OPTIONS to avoid unexpected grep behavior (fixes #101) 2014-01-23 11:11:56 +09:00
Yamashita Yuu
403154e09e Update pip (1.5 -> 1.5.1) 2014-01-21 16:18:19 +09:00
Yamashita Yuu
b44398e954 Add .gitignore 2014-01-21 00:04:02 +09:00
Yamashita Yuu
46a01b1643 Merge branch 'enable-framework' 2014-01-18 10:08:37 +09:00
Yamashita Yuu
bf94eb8cbe Add workaround for --enable-framework to work with CPython 2.7.6 2014-01-18 09:59:17 +09:00
Yamashita Yuu
b225f2030d Add support for --enable-framework (#55, #99)
```
$ env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.3.2
```
2014-01-18 01:52:50 +09:00
Yamashita Yuu
cbe7d0241b Merge branch 'python-build-test' 2014-01-17 21:28:03 +09:00
Yamashita Yuu
e65a10be51 Add bats test for python-build 2014-01-17 21:18:22 +09:00
Yamashita Yuu
badc8255ab Do not invoke use_homebrew_readline twice 2014-01-17 21:09:52 +09:00
Yamashita Yuu
385d3337ef Merge branch 'ensurepip' 2014-01-16 18:33:26 +09:00
Yamashita Yuu
558200285b Use ensurepip to install pip if available 2014-01-16 18:10:52 +09:00
Yamashita Yuu
2c26b0870a Setup built-in patches out from stub functions of `{before,after}_install_package}. 2014-01-15 17:20:41 +09:00
Yamashita Yuu
2cea06b88a Sort built-in patches by its name 2014-01-15 17:09:58 +09:00
Yamashita Yuu
c977774977 Merge branch 'issue98' 2014-01-15 16:42:14 +09:00
Yamashita Yuu
314937d599 Set PYENV_BIN_PATH in PATH even if the version is system (fixes #98) 2014-01-15 16:41:06 +09:00
Yamashita Yuu
07ae0d8e42 Import changes from ruby-build 20140110.1 2014-01-10 20:05:01 +09:00
Yamashita Yuu
461c5bbc2d Merge branch 'release-0.4.0-20140110.1' 2014-01-10 15:04:36 +09:00
94 changed files with 1141 additions and 148 deletions

View File

@@ -1,4 +1,8 @@
install: git clone https://github.com/sstephenson/bats.git install: git clone https://github.com/sstephenson/bats.git
script: bats/bin/bats --tap test script: bats/bin/bats --tap test
# skips unnecessary Python-specific setup after_script:
- bats/bin/bats --tap plugins/python-build/test
language: c language: c
notifications:
email:
on_success: never

View File

@@ -1,5 +1,14 @@
## Version History ## Version History
#### 0.4.0-20140123
* pyenv: Always append the directory at the top of the `$PATH` to return proper value for `sys.executable` (#98)
* pyenv: Unset `GREP_OPTIONS` to avoid issues of conflicting options (#101)
* python-build: Install `pip` with using `ensurepip` if available
* python-build: Add support for framework installation (`--enable-framework`) of CPython (#55, #99)
* python-build: Import recent changes from ruby-build v20140110.1
* python-build: Import `bats` tests from ruby-build v20140110.1
#### 0.4.0-20140110.1 #### 0.4.0-20140110.1
* python-build: Fix build error of CPython 2.x on the platform where the `gcc` is llvm-gcc. * python-build: Fix build error of CPython 2.x on the platform where the `gcc` is llvm-gcc.

View File

@@ -18,6 +18,8 @@ if [ -z "$READLINK" ]; then
exit 1 exit 1
fi fi
unset GREP_OPTIONS
resolve_link() { resolve_link() {
$READLINK "$1" $READLINK "$1"
} }

View File

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

View File

@@ -41,7 +41,7 @@ for script in "${scripts[@]}"; do
done done
shift 1 shift 1
if [ "$PYENV_VERSION" != "system" ]; then # CPython's `sys.executable` requires the `PYENV_BIN_PATH` to be at the top of the `PATH`.
export PATH="${PYENV_BIN_PATH}:${PATH}" # https://github.com/yyuu/pyenv/issues/98
fi export PATH="${PYENV_BIN_PATH}:${PATH}"
exec -a "$PYENV_COMMAND" "$PYENV_COMMAND_PATH" "$@" exec -a "$PYENV_COMMAND" "$PYENV_COMMAND_PATH" "$@"

View File

@@ -99,7 +99,7 @@ unset VERSION_NAME
# version is specified by pyenv. Show usage instructions if a local # version is specified by pyenv. Show usage instructions if a local
# version is not specified. # version is not specified.
DEFINITION="${ARGUMENTS[0]}" DEFINITION="${ARGUMENTS[0]}"
[ -n "$DEFINITION" ] || DEFINITION="$(pyenv local 2>/dev/null || true)" [ -n "$DEFINITION" ] || DEFINITION="$(pyenv-local 2>/dev/null || true)"
[ -n "$DEFINITION" ] || usage 1 [ -n "$DEFINITION" ] || usage 1
@@ -118,10 +118,10 @@ after_install() {
after_hooks["${#after_hooks[@]}"]="$hook" after_hooks["${#after_hooks[@]}"]="$hook"
} }
# Load plugin hooks. OLDIFS="$IFS"
for script in $(pyenv-hooks install); do IFS=$'\n' scripts=(`pyenv-hooks install`)
source "$script" IFS="$OLDIFS"
done for script in "${scripts[@]}"; do source "$script"; done
# Set VERSION_NAME from $DEFINITION, if it is not already set. Then # Set VERSION_NAME from $DEFINITION, if it is not already set. Then
@@ -201,7 +201,7 @@ for hook in "${after_hooks[@]}"; do eval "$hook"; done
# Run `pyenv-rehash` after a successful installation. # Run `pyenv-rehash` after a successful installation.
if [ "$STATUS" == "0" ]; then if [ "$STATUS" == "0" ]; then
pyenv rehash pyenv-rehash
else else
cleanup cleanup
fi fi

View File

@@ -38,6 +38,24 @@ case "$DEFINITION" in
;; ;;
esac esac
declare -a before_hooks after_hooks
before_uninstall() {
local hook="$1"
before_hooks["${#before_hooks[@]}"]="$hook"
}
after_uninstall() {
local hook="$1"
after_hooks["${#after_hooks[@]}"]="$hook"
}
OLDIFS="$IFS"
IFS=$'\n' scripts=(`pyenv-hooks uninstall`)
IFS="$OLDIFS"
for script in "${scripts[@]}"; do source "$script"; done
VERSION_NAME="${DEFINITION##*/}" VERSION_NAME="${DEFINITION##*/}"
PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}" PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}"
@@ -54,7 +72,11 @@ if [ -z "$FORCE" ]; then
esac esac
fi fi
for hook in "${before_hooks[@]}"; do eval "$hook"; done
if [ -d "$PREFIX" ]; then if [ -d "$PREFIX" ]; then
rm -rf "$PREFIX" rm -rf "$PREFIX"
pyenv rehash pyenv-rehash
fi fi
for hook in "${after_hooks[@]}"; do eval "$hook"; done

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
PYTHON_BUILD_VERSION="20131225.1" PYTHON_BUILD_VERSION="20140110.1"
set -E set -E
exec 3<&2 # preserve original stderr at fd 3 exec 3<&2 # preserve original stderr at fd 3
@@ -165,9 +165,11 @@ make_package() {
shift shift
pushd "$package_name" >&4 pushd "$package_name" >&4
setup_builtin_patches "$package_name"
before_install_package "$package_name" before_install_package "$package_name"
build_package "$package_name" $* build_package "$package_name" $*
after_install_package "$package_name" after_install_package "$package_name"
cleanup_builtin_patches "$package_name"
fix_directory_permissions fix_directory_permissions
popd >&4 popd >&4
} }
@@ -699,29 +701,31 @@ build_package_copy() {
before_install_package() { before_install_package() {
local stub=1 local stub=1
before_install_package_patch "$@"
} }
before_install_package_patch() { after_install_package() {
local stub=1
}
setup_builtin_patches() {
local package_name="$1" local package_name="$1"
local package_patch_path="${PYTHON_BUILD_ROOT}/share/python-build/patches/${DEFINITION_PATH##*/}/${package_name}" local package_patch_path="${PYTHON_BUILD_ROOT}/share/python-build/patches/${DEFINITION_PATH##*/}/${package_name}"
ORIG_HAS_PATCH="$HAS_PATCH" ORIG_HAS_PATCH="$HAS_PATCH"
# Apply built-in patches if patch was not given from stdin # Apply built-in patches if patch was not given from stdin
if [ -z "$HAS_PATCH" ] && [ -d "${package_patch_path}" ]; then if [ -z "$HAS_PATCH" ] && [ -d "${package_patch_path}" ]; then
( cat "${package_patch_path}"/* || true ) 2>/dev/null 1>"${package_name}.patch" local patch
{ for patch in "${package_patch_path}"/*; do
[ -f "${patch}" ] && echo "${patch}"
done
} 2>/dev/null | sort | xargs cat 1>"${package_name}.patch"
exec <&- exec <&-
exec <"${package_name}.patch" exec <"${package_name}.patch"
HAS_PATCH=true HAS_PATCH=true
fi fi
} }
after_install_package() { cleanup_builtin_patches() {
local stub=1
after_install_package_patch "$@"
}
after_install_package_patch() {
local package_name="$1" local package_name="$1"
rm -f "${package_name}.patch" rm -f "${package_name}.patch"
HAS_PATCH="$ORIG_HAS_PATCH" HAS_PATCH="$ORIG_HAS_PATCH"
@@ -897,7 +901,6 @@ require_java() {
} }
needs_yaml() { needs_yaml() {
[[ "$PYTHON_CONFIGURE_OPTS" != *--with-libyaml-dir=* ]] &&
! use_homebrew_yaml ! use_homebrew_yaml
} }
@@ -910,28 +913,37 @@ use_homebrew_yaml() {
fi fi
} }
configured_with_readline_dir() {
# Mac OS X 10.4 has broken readline.
# https://github.com/yyuu/pyenv/issues/23
local arg flag
for arg in ${CONFIGURE_OPTS} ${PYTHON_CONFIGURE_OPTS} "${PYTHON_CONFIGURE_OPTS_ARRAY[@]}"; do
if [[ "$arg" == "CPPFLAGS="* ]]; then
for flag in ${CPPFLAGS} ${arg##CPPFLAGS=}; do
if [[ "$flag" == "-I"* ]] && [ -e "${flag##-I}/readline/rlconf.h" ]; then
return 0
fi
done
fi
done
return 1
}
has_broken_mac_readline() { has_broken_mac_readline() {
if [ "$(uname -s)" = "Darwin" ] && ! use_homebrew_readline; then [ "$(uname -s)" = "Darwin" ] &&
# MacOSX 10.4 has a broken readline. ! configured_with_readline_dir &&
# https://github.com/yyuu/pyenv/issues/23 ! use_homebrew_readline
local retval=1
local conftest="$BUILD_PATH/has_broken_mac_readline.h"
echo "#include <readline/rlconf.h>" > "$conftest"
"${CPP:-cpp}" $CPPFLAGS "$conftest" 1>/dev/null 2>&1 || retval=0
rm -f "$conftest"
return "$retval"
else
return 1
fi
} }
use_homebrew_readline() { use_homebrew_readline() {
if ! configured_with_readline_dir; then
local libdir="$(brew --prefix readline 2>/dev/null || true)" local libdir="$(brew --prefix readline 2>/dev/null || true)"
if [ -d "$libdir" ]; then if [ -d "$libdir" ]; then
package_option python configure CPPFLAGS="-I$libdir/include" LDFLAGS="-L$libdir/lib" package_option python configure CPPFLAGS="-I$libdir/include" LDFLAGS="-L$libdir/lib"
else else
return 1 return 1
fi fi
fi
} }
has_broken_mac_openssl() { has_broken_mac_openssl() {
@@ -1048,23 +1060,16 @@ apply_python_patch() {
} }
build_package_verify_python() { build_package_verify_python() {
# Check the existence of ./bin since pyenv-which searches the executables from there local package_name="$1"
if [ ! -d "${PREFIX_PATH}/bin" ]; then local python="$2"
echo "pyenv: invalid Python installation" >&4 2>&1 if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
return 1 # Only symlinks are installed in ${PREFIX_PATH}/bin
rm -fr "${PREFIX_PATH}/bin"
ln -fs "${PREFIX_PATH}/Python.framework/Versions/Current/bin" "${PREFIX_PATH}/bin"
fi fi
if [ ! -e "${PREFIX_PATH}/bin/python" ] && [ -e "${PREFIX_PATH}/bin/${python}" ]; then
# Create `python` executable if missing. Especially for Py3k. ( cd "${PREFIX_PATH}/bin" && ln -fs "${python}" "python" )
if [ ! -e "${PREFIX_PATH}/bin/python" ]; then
local python
for python in "${PREFIX_PATH}/bin/python"*; do
if expr "$(basename "$python")" : '^python[0-9][0-9]*\.[0-9][0-9]*$' 2>&1 >/dev/null; then
( cd "${PREFIX_PATH}/bin" && ln -fs "$(basename "$python")" python )
break
fi
done
fi fi
if [ ! -x "${PYTHON_BIN}" ]; then if [ ! -x "${PYTHON_BIN}" ]; then
echo "pyenv: invalid Python executable: ${PYTHON_BIN}" >&4 2>&1 echo "pyenv: invalid Python executable: ${PYTHON_BIN}" >&4 2>&1
return 1 return 1
@@ -1073,57 +1078,69 @@ build_package_verify_python() {
# Post-install check for Python 2.4.x # Post-install check for Python 2.4.x
build_package_verify_py24() { build_package_verify_py24() {
build_package_verify_python "$@" build_package_verify_python "$1" "${2:-python2.4}"
build_package_verify_readline "$@" build_package_verify_readline "$1" "${2:-python2.4}"
build_package_verify_zlib "$@" build_package_verify_zlib "$1" "${2:-python2.4}"
build_package_verify_bz2 "$@" build_package_verify_bz2 "$1" "${2:-python2.4}"
} }
# Post-install check for Python 2.5.x # Post-install check for Python 2.5.x
build_package_verify_py25() { build_package_verify_py25() {
build_package_verify_py24 "$@" build_package_verify_py24 "$1" "${2:-python2.5}"
build_package_verify_sqlite3 "$@" build_package_verify_sqlite3 "$1" "${2:-python2.5}"
} }
# Post-install check for Python 2.6.x # Post-install check for Python 2.6.x
build_package_verify_py26() { build_package_verify_py26() {
build_package_verify_py25 "$@" build_package_verify_py25 "$1" "${2:-python2.6}"
build_package_verify_ssl "$@" build_package_verify_ssl "$1" "${2:-python2.6}"
} }
# Post-install check for Python 2.7.x # Post-install check for Python 2.7.x
build_package_verify_py27() { build_package_verify_py27() {
build_package_verify_py26 "$@" build_package_verify_py26 "$1" "${2:-python2.7}"
} }
# Post-install check for Python 3.0.x # Post-install check for Python 3.0.x
build_package_verify_py30() { build_package_verify_py30() {
build_package_verify_python "$@" build_package_verify_python "$1" "${2:-python3.0}"
build_package_verify_readline "$@" build_package_verify_readline "$1" "${2:-python3.0}"
build_package_verify_ssl "$@" build_package_verify_ssl "$1" "${2:-python3.0}"
build_package_verify_sqlite3 "$@" build_package_verify_sqlite3 "$1" "${2:-python3.0}"
build_package_verify_zlib "$@" build_package_verify_zlib "$1" "${2:-python3.0}"
build_package_verify_bz2 "$@" build_package_verify_bz2 "$1" "${2:-python3.0}"
} }
# Post-install check for Python 3.1.x # Post-install check for Python 3.1.x
build_package_verify_py31() { build_package_verify_py31() {
build_package_verify_py30 "$@" build_package_verify_py30 "$1" "${2:-python3.1}"
} }
# Post-install check for Python 3.2.x # Post-install check for Python 3.2.x
build_package_verify_py32() { build_package_verify_py32() {
build_package_verify_py31 "$@" build_package_verify_py31 "$1" "${2:-python3.2}"
} }
# Post-install check for Python 3.3.x # Post-install check for Python 3.3.x
build_package_verify_py33() { build_package_verify_py33() {
build_package_verify_py32 "$@" build_package_verify_py32 "$1" "${2:-python3.3}"
} }
# Post-install check for Python 3.4.x # Post-install check for Python 3.4.x
build_package_verify_py34() { build_package_verify_py34() {
build_package_verify_py33 "$@" build_package_verify_py33 "$1" "${2:-python3.4}"
}
build_package_ensurepip() {
{ "$PYTHON_BIN" -m ensurepip
} >&4 2>&1
if [ ! -e "${PREFIX_PATH}/bin/pip" ]; then
local pip="$("$PYTHON_BIN" -c 'import sys;v=sys.version_info;sys.stdout.write("pip%d.%d"%(v[0],v[1]))')"
if [ -e "${PREFIX_PATH}/bin/${pip}" ]; then
( cd "${PREFIX_PATH}/bin" && ln -fs "${pip}" "pip" )
fi
fi
} }
build_package_verify_import() { build_package_verify_import() {
@@ -1193,8 +1210,8 @@ list_definitions() {
unset VERBOSE unset VERBOSE
unset KEEP_BUILD_PATH unset KEEP_BUILD_PATH
unset HAS_PATCH unset HAS_PATCH
unset DEBUG
PYTHON_BUILD_ROOT="$(abs_dirname "$0")/.." PYTHON_BUILD_ROOT="$(abs_dirname "$0")/.."
unset DEBUG
parse_options "$@" parse_options "$@"
@@ -1311,19 +1328,34 @@ if [ -n "$DEBUG" ]; then
package_option python configure --with-pydebug package_option python configure --with-pydebug
fi fi
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-shared"* ]] && [[ "$LDFLAGS" != *"-rpath="* ]]; then if [[ "$CONFIGURE_OPTS" == *"--enable-shared"* ]] || [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-shared"* ]]; then
# The ld on Darwin embeds the full paths to each dylib by default # The ld on Darwin embeds the full paths to each dylib by default
if [[ "Darwin" != "$(uname -s)" ]]; then if [[ "$LDFLAGS" != *"-rpath="* ]] && [[ "Darwin" != "$(uname -s)" ]]; then
export LDFLAGS="-Wl,-rpath=${PREFIX_PATH}/lib ${LDFLAGS}" export LDFLAGS="-Wl,-rpath=${PREFIX_PATH}/lib ${LDFLAGS}"
fi fi
fi fi
if [[ "$PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
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}"
( cd "${PREFIX_PATH}/Python.framework/Versions" && ln -fs "${version}" "Current")
local path
for path in include lib share; do
mkdir -p "${PREFIX_PATH}/Python.framework/Versions/Current/${path}"
ln -fs "${PREFIX_PATH}/Python.framework/Versions/Current/${path}" "${PREFIX_PATH}/${path}"
done
}
create_framework_dirs "${DEFINITION_PATH##*/}"
package_option python configure --enable-framework="${PREFIX_PATH}"
fi
SEED="$(date "+%Y%m%d%H%M%S").$$" SEED="$(date "+%Y%m%d%H%M%S").$$"
LOG_PATH="${TMP}/python-build.${SEED}.log" LOG_PATH="${TMP}/python-build.${SEED}.log"
PYTHON_BIN="${PREFIX_PATH}/bin/python" PYTHON_BIN="${PREFIX_PATH}/bin/python"
CWD="$(pwd)" CWD="$(pwd)"
if [ -z $PYTHON_BUILD_BUILD_PATH ]; then if [ -z "$PYTHON_BUILD_BUILD_PATH" ]; then
BUILD_PATH="${TMP}/python-build.${SEED}" BUILD_PATH="${TMP}/python-build.${SEED}"
else else
BUILD_PATH="$PYTHON_BUILD_BUILD_PATH" BUILD_PATH="$PYTHON_BUILD_BUILD_PATH"

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_hg "Python-2.6-dev" "https://bitbucket.org/mirror/cpython" "2.6" standard verify_py26 install_hg "Python-2.6-dev" "https://bitbucket.org/mirror/cpython" "2.6" standard verify_py26
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-2.6.6" "http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz#b2f209df270a33315e62c1ffac1937f0" ldflags_dirs standard verify_py26 install_package "Python-2.6.6" "http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz#b2f209df270a33315e62c1ffac1937f0" ldflags_dirs standard verify_py26
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-2.6.7" "http://python.org/ftp/python/2.6.7/Python-2.6.7.tgz#af474f85a3af69ea50438a2a48039d7d" ldflags_dirs standard verify_py26 install_package "Python-2.6.7" "http://python.org/ftp/python/2.6.7/Python-2.6.7.tgz#af474f85a3af69ea50438a2a48039d7d" ldflags_dirs standard verify_py26
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-2.6.8" "http://python.org/ftp/python/2.6.8/Python-2.6.8.tgz#f6c1781f5d73ab7dfa5181f43ea065f6" ldflags_dirs standard verify_py26 install_package "Python-2.6.8" "http://python.org/ftp/python/2.6.8/Python-2.6.8.tgz#f6c1781f5d73ab7dfa5181f43ea065f6" ldflags_dirs standard verify_py26
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-2.6.9" "http://python.org/ftp/python/2.6.9/Python-2.6.9.tgz#bddbd64bf6f5344fc55bbe49a72fe4f3" ldflags_dirs standard verify_py26 install_package "Python-2.6.9" "http://python.org/ftp/python/2.6.9/Python-2.6.9.tgz#bddbd64bf6f5344fc55bbe49a72fe4f3" ldflags_dirs standard verify_py26
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-2.7" "http://python.org/ftp/python/2.7/Python-2.7.tgz#35f56b092ecf39a6bd59d64f142aae0f" ldflags_dirs standard verify_py27 install_package "Python-2.7" "http://python.org/ftp/python/2.7/Python-2.7.tgz#35f56b092ecf39a6bd59d64f142aae0f" ldflags_dirs standard verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_hg "Python-2.7-dev" "https://bitbucket.org/mirror/cpython" "2.7" standard verify_py27 install_hg "Python-2.7-dev" "https://bitbucket.org/mirror/cpython" "2.7" standard verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-2.7.1" "http://python.org/ftp/python/2.7.1/Python-2.7.1.tgz#15ed56733655e3fab785e49a7278d2fb" ldflags_dirs standard verify_py27 install_package "Python-2.7.1" "http://python.org/ftp/python/2.7.1/Python-2.7.1.tgz#15ed56733655e3fab785e49a7278d2fb" ldflags_dirs standard verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-2.7.2" "http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz#0ddfe265f1b3d0a8c2459f5bf66894c7" ldflags_dirs standard verify_py27 install_package "Python-2.7.2" "http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz#0ddfe265f1b3d0a8c2459f5bf66894c7" ldflags_dirs standard verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-2.7.3" "http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz#2cf641732ac23b18d139be077bd906cd" ldflags_dirs standard verify_py27 install_package "Python-2.7.3" "http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz#2cf641732ac23b18d139be077bd906cd" ldflags_dirs standard verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-2.7.4" "http://python.org/ftp/python/2.7.4/Python-2.7.4.tgz#592603cfaf4490a980e93ecb92bde44a" ldflags_dirs standard verify_py27 install_package "Python-2.7.4" "http://python.org/ftp/python/2.7.4/Python-2.7.4.tgz#592603cfaf4490a980e93ecb92bde44a" ldflags_dirs standard verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-2.7.5" "http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz#b4f01a1d0ba0b46b05c73b2ac909b1df" ldflags_dirs standard verify_py27 install_package "Python-2.7.5" "http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz#b4f01a1d0ba0b46b05c73b2ac909b1df" ldflags_dirs standard verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-2.7.6" "http://python.org/ftp/python/2.7.6/Python-2.7.6.tgz#1d8728eb0dfcac72a0fd99c17ec7f386" ldflags_dirs standard verify_py27 install_package "Python-2.7.6" "http://python.org/ftp/python/2.7.6/Python-2.7.6.tgz#1d8728eb0dfcac72a0fd99c17ec7f386" ldflags_dirs standard verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.0.1" "http://python.org/ftp/python/3.0.1/Python-3.0.1.tgz#220b73f0a1a20c4b1cdf9f9db4cd52fe" ldflags_dirs standard verify_py30 install_package "Python-3.0.1" "http://python.org/ftp/python/3.0.1/Python-3.0.1.tgz#220b73f0a1a20c4b1cdf9f9db4cd52fe" ldflags_dirs standard verify_py30
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_hg "Python-3.1-dev" "https://bitbucket.org/mirror/cpython" "3.1" standard verify_py31 install_hg "Python-3.1-dev" "https://bitbucket.org/mirror/cpython" "3.1" standard verify_py31
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.1.3" "http://python.org/ftp/python/3.1.3/Python-3.1.3.tgz#d797fa6abe82c21227e328f05a535424" ldflags_dirs standard verify_py31 install_package "Python-3.1.3" "http://python.org/ftp/python/3.1.3/Python-3.1.3.tgz#d797fa6abe82c21227e328f05a535424" ldflags_dirs standard verify_py31
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.1.4" "http://python.org/ftp/python/3.1.4/Python-3.1.4.tgz#fa9f8efdc63944c8393870282e8b5c35" ldflags_dirs standard verify_py31 install_package "Python-3.1.4" "http://python.org/ftp/python/3.1.4/Python-3.1.4.tgz#fa9f8efdc63944c8393870282e8b5c35" ldflags_dirs standard verify_py31
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" 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#02196d3fc7bc76bdda68aa36b0dd16ab" ldflags_dirs standard verify_py31 install_package "Python-3.1.5" "http://python.org/ftp/python/3.1.5/Python-3.1.5.tgz#02196d3fc7bc76bdda68aa36b0dd16ab" ldflags_dirs standard verify_py31
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.2" "http://python.org/ftp/python/3.2/Python-3.2.tgz#5efe838a7878b170f6728d7e5d7517af" ldflags_dirs standard verify_py32 install_package "Python-3.2" "http://python.org/ftp/python/3.2/Python-3.2.tgz#5efe838a7878b170f6728d7e5d7517af" ldflags_dirs standard verify_py32
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_hg "Python-3.2-dev" "https://bitbucket.org/mirror/cpython" "3.2" standard verify_py32 install_hg "Python-3.2-dev" "https://bitbucket.org/mirror/cpython" "3.2" standard verify_py32
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tgz#6c2aa3481cadb7bdf74e625fffc352b2" ldflags_dirs standard verify_py32 install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tgz#6c2aa3481cadb7bdf74e625fffc352b2" ldflags_dirs standard verify_py32
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.2.2" "http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz#3c63a6d97333f4da35976b6a0755eb67" ldflags_dirs standard verify_py32 install_package "Python-3.2.2" "http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz#3c63a6d97333f4da35976b6a0755eb67" ldflags_dirs standard verify_py32
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.2.3" "http://python.org/ftp/python/3.2.3/Python-3.2.3.tgz#dcf3a738e7028f1deb41b180bf0e2cbc" ldflags_dirs standard verify_py32 install_package "Python-3.2.3" "http://python.org/ftp/python/3.2.3/Python-3.2.3.tgz#dcf3a738e7028f1deb41b180bf0e2cbc" ldflags_dirs standard verify_py32
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.2.4" "http://python.org/ftp/python/3.2.4/Python-3.2.4.tgz#3af05758d0bc2b1a27249e8d622c3e91" ldflags_dirs standard verify_py32 install_package "Python-3.2.4" "http://python.org/ftp/python/3.2.4/Python-3.2.4.tgz#3af05758d0bc2b1a27249e8d622c3e91" ldflags_dirs standard verify_py32
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.2.5" "http://python.org/ftp/python/3.2.5/Python-3.2.5.tgz#ed8d5529d2aebc36b53f4e0a0c9e6728" ldflags_dirs standard verify_py32 install_package "Python-3.2.5" "http://python.org/ftp/python/3.2.5/Python-3.2.5.tgz#ed8d5529d2aebc36b53f4e0a0c9e6728" ldflags_dirs standard verify_py32
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_hg "Python-3.3-dev" "https://bitbucket.org/mirror/cpython" "3.3" standard verify_py33 install_hg "Python-3.3-dev" "https://bitbucket.org/mirror/cpython" "3.3" standard verify_py33
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.3.0" "http://python.org/ftp/python/3.3.0/Python-3.3.0.tgz#198a64f7a04d1d5e95ce2782d5fd8254" ldflags_dirs standard verify_py33 install_package "Python-3.3.0" "http://python.org/ftp/python/3.3.0/Python-3.3.0.tgz#198a64f7a04d1d5e95ce2782d5fd8254" ldflags_dirs standard verify_py33
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.3.1" "http://python.org/ftp/python/3.3.1/Python-3.3.1.tgz#c19bfd6ea252b61779a4f2996fb3b330" ldflags_dirs standard verify_py33 install_package "Python-3.3.1" "http://python.org/ftp/python/3.3.1/Python-3.3.1.tgz#c19bfd6ea252b61779a4f2996fb3b330" ldflags_dirs standard verify_py33
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.3.2" "http://python.org/ftp/python/3.3.2/Python-3.3.2.tgz#0a2ea57f6184baf45b150aee53c0c8da" ldflags_dirs standard verify_py33 install_package "Python-3.3.2" "http://python.org/ftp/python/3.3.2/Python-3.3.2.tgz#0a2ea57f6184baf45b150aee53c0c8da" ldflags_dirs standard verify_py33
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.3.3" "http://python.org/ftp/python/3.3.3/Python-3.3.3.tgz#831d59212568dc12c95df222865d3441" ldflags_dirs standard verify_py33 install_package "Python-3.3.3" "http://python.org/ftp/python/3.3.3/Python-3.3.3.tgz#831d59212568dc12c95df222865d3441" ldflags_dirs standard verify_py33
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,5 +1,3 @@
require_cc "gcc" "clang" require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_hg "Python-3.4-dev" "https://bitbucket.org/mirror/cpython" "default" standard verify_py34 install_hg "Python-3.4-dev" "https://bitbucket.org/mirror/cpython" "default" standard verify_py34 ensurepip
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.4.0a2" "http://python.org/ftp/python/3.4.0/Python-3.4.0a2.tgz#e6e81242a32e6f63d224254d24edbd2f" ldflags_dirs standard verify_py34 install_package "Python-3.4.0a2" "http://python.org/ftp/python/3.4.0/Python-3.4.0a2.tgz#e6e81242a32e6f63d224254d24edbd2f" ldflags_dirs standard verify_py34
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.4.0a3" "http://python.org/ftp/python/3.4.0/Python-3.4.0a3.tgz#3598af9717cddd4c346d731913fdfd64" ldflags_dirs standard verify_py34 install_package "Python-3.4.0a3" "http://python.org/ftp/python/3.4.0/Python-3.4.0a3.tgz#3598af9717cddd4c346d731913fdfd64" ldflags_dirs standard verify_py34
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.4.0a4" "http://python.org/ftp/python/3.4.0/Python-3.4.0a4.tgz#f874d97c90130b0249848be889b5e6e1" ldflags_dirs standard verify_py34 install_package "Python-3.4.0a4" "http://python.org/ftp/python/3.4.0/Python-3.4.0a4.tgz#f874d97c90130b0249848be889b5e6e1" ldflags_dirs standard verify_py34
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,5 +1,3 @@
require_cc "gcc" "clang" require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.4.0b1" "http://python.org/ftp/python/3.4.0/Python-3.4.0b1.tgz#83143a755b8a29a59026c1fdfb8d18fc" ldflags_dirs standard verify_py34 install_package "Python-3.4.0b1" "http://python.org/ftp/python/3.4.0/Python-3.4.0b1.tgz#83143a755b8a29a59026c1fdfb8d18fc" ldflags_dirs standard verify_py34 ensurepip
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python

View File

@@ -1,5 +1,3 @@
require_cc "gcc" "clang" require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "Python-3.4.0b2" "http://python.org/ftp/python/3.4.0/Python-3.4.0b2.tgz#afe112d6fe595f501f1dcb3627e7b476" ldflags_dirs standard verify_py34 install_package "Python-3.4.0b2" "http://python.org/ftp/python/3.4.0/Python-3.4.0b2.tgz#afe112d6fe595f501f1dcb3627e7b476" ldflags_dirs standard verify_py34 ensurepip
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python

View File

@@ -25,4 +25,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_package "pypy-1.5-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-1.5-src.tar.bz2" "pypy_builder" verify_py27 install_package "pypy-1.5-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-1.5-src.tar.bz2" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -24,4 +24,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -25,4 +25,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_hg "pypy-1.7-dev" "https://bitbucket.org/pypy/pypy" "release-1.7.x" "pypy_builder" verify_py27 install_hg "pypy-1.7-dev" "https://bitbucket.org/pypy/pypy" "release-1.7.x" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -25,4 +25,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_hg "pypy-1.8-dev" "https://bitbucket.org/pypy/pypy" "release-1.8.x" "pypy_builder" verify_py27 install_hg "pypy-1.8-dev" "https://bitbucket.org/pypy/pypy" "release-1.8.x" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -25,4 +25,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_hg "pypy-1.9-dev" "https://bitbucket.org/pypy/pypy" "release-1.9.x" "pypy_builder" verify_py27 install_hg "pypy-1.9-dev" "https://bitbucket.org/pypy/pypy" "release-1.9.x" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -30,4 +30,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_hg "pypy-2.0-dev" "https://bitbucket.org/pypy/pypy" "release-2.0.x" "pypy_builder" verify_py27 install_hg "pypy-2.0-dev" "https://bitbucket.org/pypy/pypy" "release-2.0.x" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_package "pypy-2.0-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.0-src.tar.bz2#4dc82e2240dd2b5be313119672988538" "pypy_builder" verify_py27 install_package "pypy-2.0-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.0-src.tar.bz2#4dc82e2240dd2b5be313119672988538" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -24,4 +24,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_package "pypy-2.0.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.0.1-src.tar.bz2#34072be1eeb63f9d37cf387e58aae81d" "pypy_builder" verify_py27 install_package "pypy-2.0.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.0.1-src.tar.bz2#34072be1eeb63f9d37cf387e58aae81d" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -24,4 +24,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_package "pypy-2.0.2-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.0.2-src.tar.bz2#c26662e348159b460057548ddaf35333" "pypy_builder" verify_py27 install_package "pypy-2.0.2-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.0.2-src.tar.bz2#c26662e348159b460057548ddaf35333" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -30,4 +30,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_package "pypy-2.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.1-src.tar.bz2#7c43cd95aa37a7f0ca2465ed930646c0" "pypy_builder" verify_py27 install_package "pypy-2.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.1-src.tar.bz2#7c43cd95aa37a7f0ca2465ed930646c0" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -30,4 +30,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_package "pypy-2.2-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.2-src.tar.bz2#5a5a3822605d7d811066b1b279da3c6e" "pypy_builder" verify_py27 install_package "pypy-2.2-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.2-src.tar.bz2#5a5a3822605d7d811066b1b279da3c6e" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -30,4 +30,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_package "pypy-2.2.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.2.1-src.tar.bz2#7ec9f48702323f9e93654ba73dd46720" "pypy_builder" verify_py27 install_package "pypy-2.2.1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.2.1-src.tar.bz2#7ec9f48702323f9e93654ba73dd46720" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_hg "pypy-dev" "https://bitbucket.org/pypy/pypy" "default" "pypy_builder" verify_py27 install_hg "pypy-dev" "https://bitbucket.org/pypy/pypy" "default" "pypy_builder" verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -30,4 +30,4 @@ case "$(uname -s)" in
esac esac
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_package "pypy3-2.1-beta1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.1-beta1-src.tar.bz2#bc2013d1927dc1c0c91228e566abd8da" "pypy_builder" verify_py32 install_package "pypy3-2.1-beta1-src" "https://bitbucket.org/pypy/pypy/downloads/pypy3-2.1-beta1-src.tar.bz2#bc2013d1927dc1c0c91228e566abd8da" "pypy_builder" verify_py32
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -1,4 +1,4 @@
require_gcc require_gcc
install_hg "pypy3-dev" "https://bitbucket.org/pypy/pypy" "py3k" "pypy_builder" verify_py32 install_hg "pypy3-dev" "https://bitbucket.org/pypy/pypy" "py3k" "pypy_builder" verify_py32
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_hg "stackless-2.7-dev" "http://hg.python.org/stackless" "2.7-slp" standard verify_py27 install_hg "stackless-2.7-dev" "http://hg.python.org/stackless" "2.7-slp" standard verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "stackless-272-export" "http://www.stackless.com/binaries/stackless-272-export.tar.bz2#79a718db998f2cdd95478d2cb54d56f2" ldflags_dirs standard verify_py27 install_package "stackless-272-export" "http://www.stackless.com/binaries/stackless-272-export.tar.bz2#79a718db998f2cdd95478d2cb54d56f2" ldflags_dirs standard verify_py27
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_hg "stackless-3.2-dev" "http://hg.python.org/stackless" "3.2-slp" standard verify_py32 install_hg "stackless-3.2-dev" "http://hg.python.org/stackless" "3.2-slp" standard verify_py32
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_package "stackless-322-export" "http://www.stackless.com/binaries/stackless-322-export.tar.bz2#3a3edcfb4240bdcc580cec2baea60af4" ldflags_dirs standard verify_py32 install_package "stackless-322-export" "http://www.stackless.com/binaries/stackless-322-export.tar.bz2#3a3edcfb4240bdcc580cec2baea60af4" ldflags_dirs standard verify_py32
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_hg "stackless-3.3-dev" "http://hg.python.org/stackless" "3.3-slp" standard verify_py33 install_hg "stackless-3.3-dev" "http://hg.python.org/stackless" "3.3-slp" standard verify_py33
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -2,4 +2,4 @@ require_cc "gcc" "clang"
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
install_hg "stackless-dev" "http://hg.python.org/stackless" "default" standard verify_py33 install_hg "stackless-dev" "http://hg.python.org/stackless" "default" standard verify_py33
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
install_package "pip-1.5" "https://pypi.python.org/packages/source/p/pip/pip-1.5.tar.gz#6969b8a8adc4c7f7c5eb1707118f0686" python install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python

View File

@@ -0,0 +1,299 @@
#!/usr/bin/env bats
load test_helper
export PYTHON_BUILD_CACHE_PATH="$TMP/cache"
export MAKE=make
export MAKE_OPTS="-j 2"
setup() {
mkdir -p "$INSTALL_ROOT"
stub md5 false
stub curl false
}
executable() {
local file="$1"
mkdir -p "${file%/*}"
cat > "$file"
chmod +x "$file"
}
cached_tarball() {
mkdir -p "$PYTHON_BUILD_CACHE_PATH"
pushd "$PYTHON_BUILD_CACHE_PATH" >/dev/null
tarball "$@"
popd >/dev/null
}
tarball() {
local name="$1"
local path="$PWD/$name"
local configure="$path/configure"
shift 1
executable "$configure" <<OUT
#!$BASH
echo "$name: \$@" \${PYTHONOPT:+PYTHONOPT=\$PYTHONOPT} >> build.log
OUT
for file; do
mkdir -p "$(dirname "${path}/${file}")"
touch "${path}/${file}"
done
tar czf "${path}.tar.gz" -C "${path%/*}" "$name"
}
stub_make_install() {
stub "$MAKE" \
" : echo \"$MAKE \$@\" >> build.log" \
"install : cat build.log >> '$INSTALL_ROOT/build.log'"
}
assert_build_log() {
run cat "$INSTALL_ROOT/build.log"
assert_output
}
@test "yaml is installed for python" {
cached_tarball "yaml-0.1.4"
cached_tarball "Python-3.2.1"
stub brew false
stub_make_install
stub_make_install
install_fixture definitions/needs-yaml
assert_success
unstub make
assert_build_log <<OUT
yaml-0.1.4: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
make -j 2
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
make -j 2
OUT
}
@test "apply python patch before building" {
cached_tarball "yaml-0.1.4"
cached_tarball "Python-3.2.1"
stub brew false
stub_make_install
stub_make_install
stub patch ' : echo patch "$@" >> build.log'
install_fixture --patch definitions/needs-yaml
assert_success
unstub make
unstub patch
assert_build_log <<OUT
yaml-0.1.4: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
make -j 2
patch -p0 -i -
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
make -j 2
OUT
}
@test "yaml is linked from Homebrew" {
cached_tarball "Python-3.2.1"
brew_libdir="$TMP/homebrew-yaml"
mkdir -p "$brew_libdir"
stub brew "--prefix libyaml : echo '$brew_libdir'" false
stub_make_install
install_fixture definitions/needs-yaml
assert_success
unstub brew
unstub make
assert_build_log <<OUT
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib CPPFLAGS=-I$brew_libdir/include LDFLAGS=-L$brew_libdir/lib
make -j 2
OUT
}
@test "readline is linked from Homebrew" {
cached_tarball "Python-3.2.1"
readline_libdir="$TMP/homebrew-readline"
mkdir -p "$readline_libdir"
stub brew "--prefix readline : echo '$readline_libdir'"
stub_make_install
run_inline_definition <<DEF
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
DEF
assert_success
unstub brew
unstub make
assert_build_log <<OUT
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib CPPFLAGS=-I$readline_libdir/include LDFLAGS=-L$readline_libdir/lib
make -j 2
OUT
}
@test "readline is not linked from Homebrew when explicitly defined" {
cached_tarball "Python-3.2.1"
readline_libdir="$TMP/custom"
mkdir -p "$readline_libdir/include/readline"
touch "$readline_libdir/include/readline/rlconf.h"
stub brew
stub_make_install
export PYTHON_CONFIGURE_OPTS="CPPFLAGS=-I$readline_libdir/include LDFLAGS=-L$readline_libdir/lib"
run_inline_definition <<DEF
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
DEF
assert_success
unstub brew
unstub make
assert_build_log <<OUT
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib CPPFLAGS=-I$readline_libdir/include LDFLAGS=-L$readline_libdir/lib
make -j 2
OUT
}
@test "number of CPU cores defaults to 2" {
cached_tarball "Python-3.2.1"
stub uname '-s : echo Darwin'
stub sysctl false
stub_make_install
export -n MAKE_OPTS
run_inline_definition <<DEF
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
DEF
assert_success
unstub uname
unstub make
assert_build_log <<OUT
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
make -j 2
OUT
}
@test "number of CPU cores is detected on Mac" {
cached_tarball "Python-3.2.1"
stub uname '-s : echo Darwin'
stub sysctl '-n hw.ncpu : echo 4'
stub_make_install
export -n MAKE_OPTS
run_inline_definition <<DEF
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
DEF
assert_success
unstub uname
unstub sysctl
unstub make
assert_build_log <<OUT
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
make -j 4
OUT
}
@test "custom relative install destination" {
export PYTHON_BUILD_CACHE_PATH="$FIXTURE_ROOT"
cd "$TMP"
install_fixture definitions/without-checksum ./here
assert_success
assert [ -x ./here/bin/package ]
}
@test "make on FreeBSD defaults to gmake" {
cached_tarball "Python-3.2.1"
stub uname "-s : echo FreeBSD"
MAKE=gmake stub_make_install
MAKE= install_fixture definitions/vanilla-python
assert_success
unstub gmake
unstub uname
}
@test "can use PYTHON_CONFIGURE to apply a patch" {
cached_tarball "Python-3.2.1"
executable "${TMP}/custom-configure" <<CONF
#!$BASH
apply -p1 -i /my/patch.diff
exec ./configure "\$@"
CONF
stub apply 'echo apply "$@" >> build.log'
stub_make_install
export PYTHON_CONFIGURE="${TMP}/custom-configure"
run_inline_definition <<DEF
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"
DEF
assert_success
unstub make
unstub apply
assert_build_log <<OUT
apply -p1 -i /my/patch.diff
Python-3.2.1: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
make -j 2
OUT
}
@test "copy strategy forces overwrite" {
export PYTHON_BUILD_CACHE_PATH="$FIXTURE_ROOT"
mkdir -p "$INSTALL_ROOT/bin"
touch "$INSTALL_ROOT/bin/package"
chmod -w "$INSTALL_ROOT/bin/package"
install_fixture definitions/without-checksum
assert_success
run "$INSTALL_ROOT/bin/package" "world"
assert_success "hello world"
}
@test "non-writable TMPDIR aborts build" {
export TMPDIR="${TMP}/build"
mkdir -p "$TMPDIR"
chmod -w "$TMPDIR"
touch "${TMP}/build-definition"
run python-build "${TMP}/build-definition" "$INSTALL_ROOT"
assert_failure "python-build: TMPDIR=$TMPDIR is set to a non-accessible location"
}
@test "non-executable TMPDIR aborts build" {
export TMPDIR="${TMP}/build"
mkdir -p "$TMPDIR"
chmod -x "$TMPDIR"
touch "${TMP}/build-definition"
run python-build "${TMP}/build-definition" "$INSTALL_ROOT"
assert_failure "python-build: TMPDIR=$TMPDIR is set to a non-accessible location"
}

View File

@@ -0,0 +1,90 @@
#!/usr/bin/env bats
load test_helper
export PYTHON_BUILD_SKIP_MIRROR=1
export PYTHON_BUILD_CACHE_PATH="$TMP/cache"
setup() {
mkdir "$PYTHON_BUILD_CACHE_PATH"
}
@test "packages are saved to download cache" {
stub md5 true
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
install_fixture definitions/without-checksum
[ "$status" -eq 0 ]
[ -e "${PYTHON_BUILD_CACHE_PATH}/package-1.0.0.tar.gz" ]
unstub curl
unstub md5
}
@test "cached package without checksum" {
stub md5 true
stub curl
cp "${FIXTURE_ROOT}/package-1.0.0.tar.gz" "$PYTHON_BUILD_CACHE_PATH"
install_fixture definitions/without-checksum
[ "$status" -eq 0 ]
[ -e "${PYTHON_BUILD_CACHE_PATH}/package-1.0.0.tar.gz" ]
unstub curl
unstub md5
}
@test "cached package with valid checksum" {
stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
stub curl
cp "${FIXTURE_ROOT}/package-1.0.0.tar.gz" "$PYTHON_BUILD_CACHE_PATH"
install_fixture definitions/with-checksum
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
[ -e "${PYTHON_BUILD_CACHE_PATH}/package-1.0.0.tar.gz" ]
unstub curl
unstub md5
}
@test "cached package with invalid checksum falls back to mirror and updates cache" {
export PYTHON_BUILD_SKIP_MIRROR=
local checksum="83e6d7725e20166024a1eb74cde80677"
stub md5 true "echo invalid" "echo $checksum"
stub curl "-*I* : true" \
"-C - -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4"
touch "${PYTHON_BUILD_CACHE_PATH}/package-1.0.0.tar.gz"
install_fixture definitions/with-checksum
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
[ -e "${PYTHON_BUILD_CACHE_PATH}/package-1.0.0.tar.gz" ]
diff -q "${PYTHON_BUILD_CACHE_PATH}/package-1.0.0.tar.gz" "${FIXTURE_ROOT}/package-1.0.0.tar.gz"
unstub curl
unstub md5
}
@test "nonexistent cache directory is ignored" {
stub md5 true
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
export PYTHON_BUILD_CACHE_PATH="${TMP}/nonexistent"
install_fixture definitions/without-checksum
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
[ ! -d "$PYTHON_BUILD_CACHE_PATH" ]
unstub curl
unstub md5
}

View File

@@ -0,0 +1,70 @@
#!/usr/bin/env bats
load test_helper
export PYTHON_BUILD_SKIP_MIRROR=1
export PYTHON_BUILD_CACHE_PATH=
@test "package URL without checksum" {
stub md5 true
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
install_fixture definitions/without-checksum
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
unstub curl
unstub md5
}
@test "package URL with valid checksum" {
stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
install_fixture definitions/with-checksum
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
unstub curl
unstub md5
}
@test "package URL with invalid checksum" {
stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
install_fixture definitions/with-invalid-checksum
[ "$status" -eq 1 ]
[ ! -f "${INSTALL_ROOT}/bin/package" ]
unstub curl
unstub md5
}
@test "package URL with checksum but no MD5 support" {
stub md5 false
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
install_fixture definitions/with-checksum
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
unstub curl
unstub md5
}
@test "package with invalid checksum" {
stub md5 true "echo invalid"
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
install_fixture definitions/with-checksum
[ "$status" -eq 1 ]
[ ! -f "${INSTALL_ROOT}/bin/package" ]
unstub curl
unstub md5
}

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bats
load test_helper
export PYTHON_BUILD_SKIP_MIRROR=1
export PYTHON_BUILD_CACHE_PATH=
@test "failed download displays error message" {
stub curl false
install_fixture definitions/without-checksum
assert_failure
assert_output_contains "> http://example.com/packages/package-1.0.0.tar.gz"
assert_output_contains "error: failed to download package-1.0.0.tar.gz"
}

View File

@@ -0,0 +1,2 @@
install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz" --if needs_yaml
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"

View File

@@ -0,0 +1 @@
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tar.gz"

View File

@@ -0,0 +1 @@
install_package "package-1.0.0" "http://example.com/packages/package-1.0.0.tar.gz#83e6d7725e20166024a1eb74cde80677" copy

View File

@@ -0,0 +1 @@
install_package "package-1.0.0" "http://example.com/packages/package-1.0.0.tar.gz#invalid" copy

View File

@@ -0,0 +1 @@
install_package "package-1.0.0" "http://example.com/packages/package-1.0.0.tar.gz" copy

Binary file not shown.

View File

@@ -0,0 +1,56 @@
#!/usr/bin/env bats
load test_helper
setup() {
export PYENV_ROOT="${TMP}/pyenv"
export HOOK_PATH="${TMP}/i has hooks"
mkdir -p "$HOOK_PATH"
}
@test "pyenv-install hooks" {
cat > "${HOOK_PATH}/install.bash" <<OUT
before_install 'echo before: \$PREFIX'
after_install 'echo after: \$STATUS'
OUT
stub pyenv-hooks "install : echo '$HOOK_PATH'/install.bash"
stub pyenv-rehash "echo rehashed"
definition="${TMP}/3.2.1"
cat > "$definition" <<<"echo python-build"
run pyenv-install "$definition"
assert_success
assert_output <<-OUT
before: ${PYENV_ROOT}/versions/3.2.1
python-build
after: 0
rehashed
OUT
}
@test "pyenv-uninstall hooks" {
cat > "${HOOK_PATH}/uninstall.bash" <<OUT
before_uninstall 'echo before: \$PREFIX'
after_uninstall 'echo after.'
rm() {
echo "rm \$@"
command rm "\$@"
}
OUT
stub pyenv-hooks "uninstall : echo '$HOOK_PATH'/uninstall.bash"
stub pyenv-rehash "echo rehashed"
mkdir -p "${PYENV_ROOT}/versions/3.2.1"
run pyenv-uninstall -f 3.2.1
assert_success
assert_output <<-OUT
before: ${PYENV_ROOT}/versions/3.2.1
rm -rf ${PYENV_ROOT}/versions/3.2.1
rehashed
after.
OUT
assert [ ! -d "${PYENV_ROOT}/versions/3.2.1" ]
}

View File

@@ -0,0 +1,49 @@
#!/usr/bin/env bats
load test_helper
@test "installs python-build into PREFIX" {
cd "$TMP"
PREFIX="${PWD}/usr" run "${BATS_TEST_DIRNAME}/../install.sh"
assert_success ""
cd usr
assert [ -x bin/python-build ]
assert [ -x bin/pyenv-install ]
assert [ -x bin/pyenv-uninstall ]
assert [ -e share/python-build/2.7.2 ]
assert [ -e share/python-build/pypy-2.0 ]
}
@test "overwrites old installation" {
cd "$TMP"
mkdir -p bin share/python-build
touch bin/python-build
touch share/python-build/2.7.2
PREFIX="$PWD" run "${BATS_TEST_DIRNAME}/../install.sh"
assert_success ""
assert [ -x bin/python-build ]
run grep "install_package" share/python-build/2.7.2
assert_success
}
@test "unrelated files are untouched" {
cd "$TMP"
mkdir -p bin share/bananas
chmod g-w bin
touch bin/bananas
touch share/bananas/docs
PREFIX="$PWD" run "${BATS_TEST_DIRNAME}/../install.sh"
assert_success ""
assert [ -e bin/bananas ]
assert [ -e share/bananas/docs ]
run ls -ld bin
assert_equal "r-x" "${output:4:3}"
}

View File

@@ -0,0 +1,103 @@
#!/usr/bin/env bats
load test_helper
export PYTHON_BUILD_SKIP_MIRROR=
export PYTHON_BUILD_CACHE_PATH=
export PYTHON_BUILD_MIRROR_URL=http://mirror.example.com
@test "package URL without checksum bypasses mirror" {
stub md5 true
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
install_fixture definitions/without-checksum
echo "$output" >&2
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
unstub curl
unstub md5
}
@test "package URL with checksum but no MD5 support bypasses mirror" {
stub md5 false
stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
install_fixture definitions/with-checksum
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
unstub curl
unstub md5
}
@test "package URL with checksum hits mirror first" {
local checksum="83e6d7725e20166024a1eb74cde80677"
local mirror_url="${PYTHON_BUILD_MIRROR_URL}/$checksum"
stub md5 true "echo $checksum"
stub curl "-*I* $mirror_url : true" \
"-C - -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4"
install_fixture definitions/with-checksum
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
unstub curl
unstub md5
}
@test "package is fetched from original URL if mirror download fails" {
local checksum="83e6d7725e20166024a1eb74cde80677"
local mirror_url="${PYTHON_BUILD_MIRROR_URL}/$checksum"
stub md5 true "echo $checksum"
stub curl "-*I* $mirror_url : false" \
"-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
install_fixture definitions/with-checksum
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
unstub curl
unstub md5
}
@test "package is fetched from original URL if mirror download checksum is invalid" {
local checksum="83e6d7725e20166024a1eb74cde80677"
local mirror_url="${PYTHON_BUILD_MIRROR_URL}/$checksum"
stub md5 true "echo invalid" "echo $checksum"
stub curl "-*I* $mirror_url : true" \
"-C - -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4" \
"-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
install_fixture definitions/with-checksum
echo "$output" >&2
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
unstub curl
unstub md5
}
@test "default mirror URL" {
export PYTHON_BUILD_MIRROR_URL=
local checksum="83e6d7725e20166024a1eb74cde80677"
stub md5 true "echo $checksum"
stub curl "-*I* : true" \
"-C - -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4" \
install_fixture definitions/with-checksum
[ "$status" -eq 0 ]
[ -x "${INSTALL_ROOT}/bin/package" ]
unstub curl
unstub md5
}

View File

@@ -0,0 +1,109 @@
#!/usr/bin/env bash
set -e
status=0
program="${0##*/}"
PROGRAM="$(echo "$program" | tr a-z- A-Z_)"
[ -n "$TMPDIR" ] || TMPDIR="/tmp"
_STUB_PLAN="${PROGRAM}_STUB_PLAN"
_STUB_RUN="${PROGRAM}_STUB_RUN"
_STUB_INDEX="${PROGRAM}_STUB_INDEX"
_STUB_RESULT="${PROGRAM}_STUB_RESULT"
_STUB_END="${PROGRAM}_STUB_END"
_STUB_DEBUG="${PROGRAM}_STUB_DEBUG"
if [ -n "${!_STUB_DEBUG}" ]; then
echo "$program" "$@" >&${!_STUB_DEBUG}
fi
[ -e "${!_STUB_PLAN}" ] || exit 1
[ -n "${!_STUB_RUN}" ] || eval "${_STUB_RUN}"="${TMPDIR}/${program}-stub-run"
# Initialize or load the stub run information.
eval "${_STUB_INDEX}"=1
eval "${_STUB_RESULT}"=0
[ ! -e "${!_STUB_RUN}" ] || source "${!_STUB_RUN}"
# Loop over each line in the plan.
index=0
while IFS= read -r line; do
index=$(($index + 1))
if [ -z "${!_STUB_END}" ] && [ $index -eq "${!_STUB_INDEX}" ]; then
# We found the plan line we're interested in.
# Start off by assuming success.
result=0
# Split the line into an array of arguments to
# match and a command to run to produce output.
command=" $line"
if [ "$command" != "${command/ : }" ]; then
patterns="${command%% : *}"
command="${command#* : }"
fi
# Naively split patterns by whitespace for now.
# In the future, use a sed script to split while
# respecting quoting.
set -f
patterns=($patterns)
set +f
arguments=("$@")
# Match the expected argument patterns to actual
# arguments.
for (( i=0; i<${#patterns[@]}; i++ )); do
pattern="${patterns[$i]}"
argument="${arguments[$i]}"
case "$argument" in
$pattern ) ;;
* ) result=1 ;;
esac
done
# If the arguments matched, evaluate the command
# in a subshell. Otherwise, log the failure.
if [ $result -eq 0 ] ; then
set +e
( eval "$command" )
status="$?"
set -e
else
eval "${_STUB_RESULT}"=1
fi
fi
done < "${!_STUB_PLAN}"
if [ -n "${!_STUB_END}" ]; then
# Clean up the run file.
rm -f "${!_STUB_RUN}"
# If the number of lines in the plan is larger than
# the requested index, we failed.
if [ $index -ge "${!_STUB_INDEX}" ]; then
eval "${_STUB_RESULT}"=1
fi
# Return the result.
exit "${!_STUB_RESULT}"
else
# If the requested index is larger than the number
# of lines in the plan file, we failed.
if [ "${!_STUB_INDEX}" -gt $index ]; then
eval "${_STUB_RESULT}"=1
fi
# Write out the run information.
{ echo "${_STUB_INDEX}=$((${!_STUB_INDEX} + 1))"
echo "${_STUB_RESULT}=${!_STUB_RESULT}"
} > "${!_STUB_RUN}"
exit "$status"
fi

View File

@@ -0,0 +1,123 @@
export TMP="$BATS_TEST_DIRNAME/tmp"
if [ "$FIXTURE_ROOT" != "$BATS_TEST_DIRNAME/fixtures" ]; then
export FIXTURE_ROOT="$BATS_TEST_DIRNAME/fixtures"
export INSTALL_ROOT="$TMP/install"
PATH=/usr/bin:/usr/sbin:/bin/:/sbin
PATH="$BATS_TEST_DIRNAME/../bin:$PATH"
PATH="$TMP/bin:$PATH"
export PATH
fi
teardown() {
rm -fr "$TMP"/*
}
stub() {
local program="$1"
local prefix="$(echo "$program" | tr a-z- A-Z_)"
shift
export "${prefix}_STUB_PLAN"="${TMP}/${program}-stub-plan"
export "${prefix}_STUB_RUN"="${TMP}/${program}-stub-run"
export "${prefix}_STUB_END"=
mkdir -p "${TMP}/bin"
ln -sf "${BATS_TEST_DIRNAME}/stubs/stub" "${TMP}/bin/${program}"
touch "${TMP}/${program}-stub-plan"
for arg in "$@"; do printf "%s\n" "$arg" >> "${TMP}/${program}-stub-plan"; done
}
unstub() {
local program="$1"
local prefix="$(echo "$program" | tr a-z- A-Z_)"
local path="${TMP}/bin/${program}"
export "${prefix}_STUB_END"=1
local STATUS=0
"$path" || STATUS="$?"
rm -f "$path"
rm -f "${TMP}/${program}-stub-plan" "${TMP}/${program}-stub-run"
return "$STATUS"
}
run_inline_definition() {
local definition="${TMP}/build-definition"
cat > "$definition"
run python-build "$definition" "${1:-$INSTALL_ROOT}"
}
install_fixture() {
local args
while [ "${1#-}" != "$1" ]; do
args="$args $1"
shift 1
done
local name="$1"
local destination="$2"
[ -n "$destination" ] || destination="$INSTALL_ROOT"
run python-build $args "$FIXTURE_ROOT/$name" "$destination"
}
assert() {
if ! "$@"; then
flunk "failed: $@"
fi
}
flunk() {
{ if [ "$#" -eq 0 ]; then cat -
else echo "$@"
fi
} | sed "s:${TMP}:\${TMP}:g" >&2
return 1
}
assert_success() {
if [ "$status" -ne 0 ]; then
{ echo "command failed with exit status $status"
echo "output: $output"
} | flunk
elif [ "$#" -gt 0 ]; then
assert_output "$1"
fi
}
assert_failure() {
if [ "$status" -eq 0 ]; then
flunk "expected failed exit status"
elif [ "$#" -gt 0 ]; then
assert_output "$1"
fi
}
assert_equal() {
if [ "$1" != "$2" ]; then
{ echo "expected: $1"
echo "actual: $2"
} | flunk
fi
}
assert_output() {
local expected
if [ $# -eq 0 ]; then expected="$(cat -)"
else expected="$1"
fi
assert_equal "$expected" "$output"
}
assert_output_contains() {
local expected="$1"
echo "$output" | grep -F "$expected" >/dev/null || {
{ echo "expected output to contain $expected"
echo "actual: $output"
} | flunk
}
}

View File

@@ -0,0 +1 @@
*

2
test/libexec/pyenv-grep Executable file
View File

@@ -0,0 +1,2 @@
#!/usr/bin/env bash
grep -E "$@"

View File

@@ -5,7 +5,7 @@ load test_helper
@test "blank invocation" { @test "blank invocation" {
run pyenv run pyenv
assert_success assert_success
assert [ "${lines[0]}" == "pyenv 0.4.0-20140110.1" ] assert [ "${lines[0]}" == "pyenv 0.4.0-20140123" ]
} }
@test "invalid command" { @test "invalid command" {
@@ -45,3 +45,11 @@ load test_helper
assert_failure assert_failure
assert_output "pyenv: cannot change working directory to \`$dir'" assert_output "pyenv: cannot change working directory to \`$dir'"
} }
@test "conflicting GREP_OPTIONS" {
file="${BATS_TMPDIR}/hello"
echo "hello" > "$file"
GREP_OPTIONS="-F" run pyenv grep "hell." "$file"
assert_success
assert_output "hello"
}