mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-10 04:23:47 -05:00
Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fc4c0ac52d | ||
|
|
579c34e570 | ||
|
|
2369ac2a08 | ||
|
|
25c974d59a | ||
|
|
2ea797e226 | ||
|
|
7d7f8b94ae | ||
|
|
e715e03be0 | ||
|
|
b3a5b5eee3 | ||
|
|
894bcd8717 | ||
|
|
03ee3ffd32 | ||
|
|
3d83bcdbef | ||
|
|
f897c50202 | ||
|
|
773c65416b | ||
|
|
ca1593c80e | ||
|
|
cb5da5e831 | ||
|
|
31f372034d | ||
|
|
ff93c58bab | ||
|
|
79fdf1e3bb | ||
|
|
03bba03291 | ||
|
|
cf50e2a2db | ||
|
|
b3d52b05d2 |
12
CHANGELOG.md
12
CHANGELOG.md
@@ -1,5 +1,17 @@
|
||||
# Version History
|
||||
|
||||
## Release 2.3.10
|
||||
|
||||
* Remove stray newline after python-build installation by @tklauser in https://github.com/pyenv/pyenv/pull/2566
|
||||
* Allow multiple versions for pyenv-install by @rockandska in https://github.com/pyenv/pyenv/pull/2568
|
||||
* --enable-shared by default by @anton-petrov in https://github.com/pyenv/pyenv/pull/2554
|
||||
* Fix non-bash output while detecting shell by @ianchen-tw in https://github.com/pyenv/pyenv/pull/2561
|
||||
* add pypy 7.3.11 release by @dand-oss in https://github.com/pyenv/pyenv/pull/2576
|
||||
* Mention how to build for maximum performance by @hauntsaninja in https://github.com/pyenv/pyenv/pull/2579
|
||||
* Add miniconda 22.11.1-1 by @aphedges in https://github.com/pyenv/pyenv/pull/2583
|
||||
* Add Fig as autocomplete suggestion by @brendanfalk in https://github.com/pyenv/pyenv/pull/2574
|
||||
* Fix using dependencies from Ports in BSD with no pkg-config by @native-api in https://github.com/pyenv/pyenv/pull/2586
|
||||
|
||||
## Release 2.3.9
|
||||
|
||||
* Add -latest suffix to miniforge3 by @nwh in https://github.com/pyenv/pyenv/pull/2551
|
||||
|
||||
@@ -357,6 +357,11 @@ See [Advanced configuration](#advanced-configuration) for details and more confi
|
||||
|
||||
**Proxy note**: If you use a proxy, export `http_proxy` and `https_proxy`, too.
|
||||
|
||||
In MacOS, you might also want to install [Fig](https://fig.io/) which
|
||||
provides alternative shell completions for many command line tools with an
|
||||
IDE-like popup interface in the terminal window.
|
||||
(Note that their completions are independent from Pyenv's codebase
|
||||
so they might be slightly out of sync for bleeding-edge interface changes.)
|
||||
|
||||
### Restart your shell
|
||||
|
||||
@@ -396,6 +401,9 @@ You can pass options to Python's `configure` and compiler flags to customize the
|
||||
see [_Special environment variables_ in Python-Build's README](plugins/python-build/README.md#special-environment-variables)
|
||||
for details.
|
||||
|
||||
**NOTE:** If you'd like a faster interpreter at the cost of longer build times,
|
||||
see [_Building for maximum performance_ in Python-Build's README](plugins/python-build/README.md#building-for-maximum-performance).
|
||||
|
||||
**NOTE:** If you want to use proxy for download, please set the `http_proxy` and `https_proxy`
|
||||
environment variables.
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
version="2.3.9"
|
||||
version="2.3.10"
|
||||
git_revision=""
|
||||
|
||||
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
||||
|
||||
@@ -83,7 +83,7 @@ function main() {
|
||||
exit 0
|
||||
;;
|
||||
"detect-shell")
|
||||
detect_profile
|
||||
detect_profile 1
|
||||
print_detect_shell
|
||||
exit 0
|
||||
;;
|
||||
@@ -93,6 +93,8 @@ function main() {
|
||||
}
|
||||
|
||||
function detect_profile() {
|
||||
local detect_for_detect_shell="$1"
|
||||
|
||||
case "$shell" in
|
||||
bash )
|
||||
if [ -e '~/.bash_profile' ]; then
|
||||
@@ -112,8 +114,13 @@ function detect_profile() {
|
||||
rc='~/.profile'
|
||||
;;
|
||||
* )
|
||||
if [ -n "$detect_for_detect_shell" ]; then
|
||||
profile=
|
||||
rc=
|
||||
else
|
||||
profile='your shell'\''s login startup file'
|
||||
rc='your shell'\''s interactive startup file'
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
@@ -164,6 +164,21 @@ the version(s) installed with `--enable-shared`.
|
||||
$ env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.9
|
||||
```
|
||||
|
||||
### Building for maximum performance
|
||||
|
||||
Building CPython with `--enable-optimizations` will result in a faster
|
||||
interpreter at the cost of significantly longer build times. Most notably, this
|
||||
enables PGO (profile guided optimization). While your mileage may vary, it is
|
||||
common for performance improvement from this to be in the ballpark of 30%.
|
||||
|
||||
```sh
|
||||
env PYTHON_CONFIGURE_OPTS='--enable-optimizations --with-lto' PYTHON_CFLAGS='-march=native -mtune=native' pyenv install 3.6.0
|
||||
```
|
||||
|
||||
You can also customize the task used for profile guided optimization by setting
|
||||
the `PROFILE_TASK` environment variable, for instance, `PROFILE_TASK='-m
|
||||
test.regrtest --pgo -j0'` will run much faster than the default task.
|
||||
|
||||
### Checksum verification
|
||||
|
||||
If you have the `shasum`, `openssl`, or `sha256sum` tool installed, python-build will
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Summary: Install a Python version using python-build
|
||||
#
|
||||
# Usage: pyenv install [-f] [-kvp] <version>
|
||||
# Usage: pyenv install [-f] [-kvp] <version>...
|
||||
# pyenv install [-f] [-kvp] <definition-file>
|
||||
# pyenv install -l|--list
|
||||
# pyenv install --version
|
||||
@@ -113,17 +113,15 @@ for option in "${OPTIONS[@]}"; do
|
||||
esac
|
||||
done
|
||||
|
||||
[ "${#ARGUMENTS[@]}" -le 1 ] || usage 1 >&2
|
||||
|
||||
unset VERSION_NAME
|
||||
|
||||
# The first argument contains the definition to install. If the
|
||||
# argument is missing, try to install whatever local app-specific
|
||||
# version is specified by pyenv. Show usage instructions if a local
|
||||
# version is not specified.
|
||||
DEFINITION="${ARGUMENTS[0]}"
|
||||
[ -n "$DEFINITION" ] || DEFINITION="$(pyenv-local 2>/dev/null || true)"
|
||||
[ -n "$DEFINITION" ] || usage 1 >&2
|
||||
DEFINITIONS=("${ARGUMENTS[@]}")
|
||||
[ -n "${DEFINITIONS[*]}" ] || DEFINITIONS=($(pyenv-local 2>/dev/null || true))
|
||||
[ -n "${DEFINITIONS[*]}" ] || usage 1 >&2
|
||||
|
||||
# Define `before_install` and `after_install` functions that allow
|
||||
# plugin hooks to register a string of code for execution before or
|
||||
@@ -140,19 +138,27 @@ after_install() {
|
||||
after_hooks["${#after_hooks[@]}"]="$hook"
|
||||
}
|
||||
|
||||
# Plan cleanup on unsuccessful installation.
|
||||
cleanup() {
|
||||
[ -z "${PREFIX_EXISTS}" ] && rm -rf "$PREFIX"
|
||||
}
|
||||
|
||||
trap cleanup SIGINT
|
||||
|
||||
|
||||
OLDIFS="$IFS"
|
||||
IFS=$'\n' scripts=(`pyenv-hooks install`)
|
||||
IFS="$OLDIFS"
|
||||
for script in "${scripts[@]}"; do source "$script"; done
|
||||
|
||||
for DEFINITION in "${DEFINITIONS[@]}";do
|
||||
# Try to resolve a prefix if user indeed gave a prefix.
|
||||
# We install the version under the resolved name
|
||||
# and hooks also see the resolved name
|
||||
DEFINITION="$(pyenv-latest -q -k "$DEFINITION" || echo "$DEFINITION")"
|
||||
|
||||
# Set VERSION_NAME from $DEFINITION, if it is not already set. Then
|
||||
# compute the installation prefix.
|
||||
[ -n "$VERSION_NAME" ] || VERSION_NAME="${DEFINITION##*/}"
|
||||
# Set VERSION_NAME from $DEFINITION. Then compute the installation prefix.
|
||||
VERSION_NAME="${DEFINITION##*/}"
|
||||
[ -n "$DEBUG" ] && VERSION_NAME="${VERSION_NAME}-debug"
|
||||
PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}"
|
||||
|
||||
@@ -173,7 +179,7 @@ if [ -d "${PREFIX}/bin" ]; then
|
||||
# Since we know the python version is already installed, and are opting to
|
||||
# not force installation of existing versions, we just `exit 0` here to
|
||||
# leave things happy
|
||||
exit 0
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -240,13 +246,6 @@ fi
|
||||
# Execute `before_install` hooks.
|
||||
for hook in "${before_hooks[@]}"; do eval "$hook"; done
|
||||
|
||||
# Plan cleanup on unsuccessful installation.
|
||||
cleanup() {
|
||||
[ -z "${PREFIX_EXISTS}" ] && rm -rf "$PREFIX"
|
||||
}
|
||||
|
||||
trap cleanup SIGINT
|
||||
|
||||
# Invoke `python-build` and record the exit status in $STATUS.
|
||||
STATUS=0
|
||||
python-build $KEEP $VERBOSE $HAS_PATCH $DEBUG "$DEFINITION" "$PREFIX" || STATUS="$?"
|
||||
@@ -283,7 +282,10 @@ for hook in "${after_hooks[@]}"; do eval "$hook"; done
|
||||
if [ "$STATUS" == "0" ]; then
|
||||
pyenv-rehash
|
||||
else
|
||||
break
|
||||
cleanup
|
||||
fi
|
||||
|
||||
exit "$STATUS"
|
||||
done
|
||||
|
||||
exit "${STATUS:-0}"
|
||||
|
||||
@@ -233,9 +233,7 @@ install_package_using() {
|
||||
make_package "${make_args[@]}"
|
||||
popd >&4
|
||||
|
||||
{ echo "Installed ${package_name} to ${PREFIX_PATH}"
|
||||
echo
|
||||
} >&2
|
||||
echo "Installed ${package_name} to ${PREFIX_PATH}" >&2
|
||||
}
|
||||
|
||||
make_package() {
|
||||
@@ -1418,20 +1416,17 @@ use_freebsd_pkg() {
|
||||
if [ "FreeBSD" = "$(uname -s)" ]; then
|
||||
# use openssl if installed from Ports Collection
|
||||
if [ -f /usr/local/include/openssl/ssl.h ]; then
|
||||
package_option ruby configure --with-openssl-dir="/usr/local"
|
||||
package_option python configure --with-openssl="/usr/local"
|
||||
fi
|
||||
|
||||
# check if 11-R or later
|
||||
release="$(uname -r)"
|
||||
if [ "${release%%.*}" -ge 11 ]; then
|
||||
# prefers readline to compile most of ruby versions
|
||||
if pkg info -e readline > /dev/null; then
|
||||
if pkg info -e readline > /dev/null && ! command -v pkg-config > /dev/null ; then
|
||||
# use readline from Ports Collection
|
||||
package_option ruby configure --with-readline-dir="/usr/local"
|
||||
elif pkg info -e libedit > /dev/null; then
|
||||
# use libedit from Ports Collection
|
||||
package_option ruby configure --enable-libedit
|
||||
package_option ruby configure --with-libedit-dir="/usr/local"
|
||||
# unlike Linux, BSD's cc does not look in /usr/local by default
|
||||
export CPPFLAGS="${CPPFLAGS:+${CPPFLAGS% } }-I/usr/local/include"
|
||||
export LDFLAGS="${LDFLAGS:+${LDFLAGS% } }-L/usr/local/lib -Wl,-rpath,/usr/local/lib"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -1794,7 +1789,7 @@ verify_python() {
|
||||
}
|
||||
|
||||
try_python_module() {
|
||||
if ! "$PYTHON_BIN" -c "import $1" 1>/dev/null 2>&1; then
|
||||
if ! "$PYTHON_BIN" -c "import $1"; then
|
||||
{ colorize 1 "WARNING"
|
||||
echo ": The Python $1 extension was not compiled${3:+ $3}. Missing the ${2:-$1}?"
|
||||
return 0
|
||||
@@ -1803,7 +1798,7 @@ try_python_module() {
|
||||
}
|
||||
|
||||
verify_python_module() {
|
||||
if ! "$PYTHON_BIN" -c "import $1" 1>/dev/null 2>&1; then
|
||||
if ! "$PYTHON_BIN" -c "import $1"; then
|
||||
{ colorize 1 "ERROR"
|
||||
echo ": The Python $1 extension was not compiled. Missing the ${2:-$1}?"
|
||||
echo
|
||||
@@ -2194,11 +2189,15 @@ if [ -n "$DEBUG" ]; then
|
||||
package_option python configure --with-pydebug
|
||||
fi
|
||||
|
||||
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" != *"--enable-framework"* ]]; then
|
||||
package_option python configure --enable-shared
|
||||
fi
|
||||
|
||||
# python-build: Specify `--libdir` on configure to fix build on openSUSE (#36)
|
||||
package_option python configure --libdir="${PREFIX_PATH}/lib"
|
||||
|
||||
# python-build: Set `RPATH` if `--enable-shared` was given (#65, #66, #82)
|
||||
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-shared"* ]]; then
|
||||
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS ${PYTHON_CONFIGURE_OPTS_ARRAY[@]}" == *"--enable-shared"* ]]; then
|
||||
# The ld on Darwin embeds the full paths to each dylib by default
|
||||
if [[ "$LDFLAGS" != *"-rpath="* ]] && ! is_mac; then
|
||||
export LDFLAGS="-Wl,-rpath=${PREFIX_PATH}/lib ${LDFLAGS}"
|
||||
@@ -2213,7 +2212,7 @@ fi
|
||||
# Add support for framework installation (`--enable-framework`) of CPython (#55, #99)
|
||||
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-framework"* ]]; then
|
||||
if ! is_mac; then
|
||||
echo "python-build: framework installation is not supported." >&2
|
||||
echo "python-build: framework installation is not supported outside of MacOS." >&2
|
||||
exit 1
|
||||
fi
|
||||
create_framework_dirs() {
|
||||
@@ -2234,7 +2233,7 @@ fi
|
||||
# Build against universal SDK
|
||||
if [[ "$CONFIGURE_OPTS $PYTHON_CONFIGURE_OPTS" == *"--enable-universalsdk"* ]]; then
|
||||
if ! is_mac; then
|
||||
echo "python-build: universal installation is not supported." >&2
|
||||
echo "python-build: universal installation is not supported outside of MacOS." >&2
|
||||
exit 1
|
||||
fi
|
||||
package_option python configure --enable-universalsdk=/
|
||||
|
||||
@@ -108,6 +108,7 @@ class PyVersion(StrEnum):
|
||||
PY37 = "py37"
|
||||
PY38 = "py38"
|
||||
PY39 = "py39"
|
||||
PY310 = "py310"
|
||||
|
||||
def version(self):
|
||||
first, *others = self.value[2:]
|
||||
@@ -120,7 +121,7 @@ class PyVersion(StrEnum):
|
||||
@total_ordering
|
||||
class VersionStr(str):
|
||||
def info(self):
|
||||
return tuple(int(n) for n in self.split("."))
|
||||
return tuple(int(n) for n in self.replace("-", ".").split("."))
|
||||
|
||||
def __eq__(self, other):
|
||||
return str(self) == str(other)
|
||||
@@ -213,7 +214,10 @@ class CondaSpec(NamedTuple):
|
||||
|
||||
@classmethod
|
||||
def from_filestem(cls, stem, md5, repo, py_version=None):
|
||||
miniconda_n, ver, os, arch = stem.split("-")
|
||||
# The `*vers` captures the new trailing `-1` in some file names (a build number?)
|
||||
# so they can be processed properly.
|
||||
miniconda_n, *vers, os, arch = stem.split("-")
|
||||
ver = "-".join(vers)
|
||||
suffix = miniconda_n[-1]
|
||||
if suffix in string.digits:
|
||||
tflavor = miniconda_n[:-1]
|
||||
@@ -371,7 +375,7 @@ if __name__ == "__main__":
|
||||
reason = "already exists"
|
||||
elif key.version_str.info() <= (4, 3, 30):
|
||||
reason = "too old"
|
||||
elif len(key.version_str.info()) >= 4:
|
||||
elif len(key.version_str.info()) >= 4 and "-" not in key.version_str:
|
||||
reason = "ignoring hotfix releases"
|
||||
|
||||
if reason:
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py310_22.11.1-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-Linux-aarch64.sh#48a96df9ff56f7421b6dd7f9f71d548023847ba918c3826059918c08326c2017" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py310_22.11.1-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-Linux-ppc64le.sh#4c86c3383bb27b44f7059336c3a46c34922df42824577b93eadecefbf7423836" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py310_22.11.1-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-Linux-s390x.sh#a150511e7fd19d07b770f278fb5dd2df4bc24a8f55f06d6274774f209a36c766" "miniconda" verify_py310
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py310_22.11.1-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-Linux-x86_64.sh#00938c3534750a0e4069499baf8f4e6dc1c2e471c86a59caa0dd03f4a9269db6" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py310_22.11.1-1-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-MacOSX-arm64.sh#22eec9b7d3add25ac3f9b60621d8f3d8df3e63d4aa0ae5eb846b558d7ba68333" "miniconda" verify_py310
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py310_22.11.1-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-MacOSX-x86_64.sh#7406579393427eaf9bc0e094dcd3c66d1e1b93ee9db4e7686d0a72ea5d7c0ce5" "miniconda" verify_py310
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,25 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py37_22.11.1-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py37_22.11.1-1-Linux-aarch64.sh#ebba2f7e33ce5594c50e6422477106e6bb327310838fbac3db89d2eaebcde943" "miniconda" verify_py37
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py37_22.11.1-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py37_22.11.1-1-Linux-ppc64le.sh#dda16ae14992697e3c90b56fe9de819f5f3b1dcb3ac7a31d24ab5736ccd5f129" "miniconda" verify_py37
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py37_22.11.1-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py37_22.11.1-1-Linux-s390x.sh#3c71628865164c3f8b461f8e4b2a353ff1367eed61c83b9c3e14fc201608b1a7" "miniconda" verify_py37
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py37_22.11.1-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py37_22.11.1-1-Linux-x86_64.sh#22b14d52265b4e609c6ce78e2f2884b277d976b83b5f9c8a83423e3eba2ccfbe" "miniconda" verify_py37
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py37_22.11.1-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py37_22.11.1-1-MacOSX-x86_64.sh#e51d459aae45bb6b86c2716738b778b788785e6e1ea4b2ed244a0fdd754feb19" "miniconda" verify_py37
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py38_22.11.1-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_22.11.1-1-Linux-aarch64.sh#ff65684bce7a7ad7abb698ff649195816ee0f47a4f17cb9632a44abf69357ea5" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py38_22.11.1-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py38_22.11.1-1-Linux-ppc64le.sh#59fd0901f9fa1ba6b07e734adff4d6c5215e9d7f13ad37f0044af22e9b72194a" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py38_22.11.1-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py38_22.11.1-1-Linux-s390x.sh#5bdc6ead307c098b32ba8473b7cbbe87eb80f8eca9adba03f47848bcb34a9b38" "miniconda" verify_py38
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py38_22.11.1-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_22.11.1-1-Linux-x86_64.sh#473e5ecc8e078e9ef89355fbca21f8eefa5f9081544befca99867c7beac3150d" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py38_22.11.1-1-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_22.11.1-1-MacOSX-arm64.sh#bf75dbf193db6895c62b2bb963cab2534a8bbdf0ac956f270da8d7a19f4d1b54" "miniconda" verify_py38
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py38_22.11.1-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py38_22.11.1-1-MacOSX-x86_64.sh#6c4cea3c355326f503d15ae97e5126437529a595499e3ce304cd0f247e935da8" "miniconda" verify_py38
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,28 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-aarch64" )
|
||||
install_script "Miniconda3-py39_22.11.1-1-Linux-aarch64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_22.11.1-1-Linux-aarch64.sh#031b6c52060bb75e930846c0a66baa91db8196f0d97fd32f3822c54db6b7c76a" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-ppc64le" )
|
||||
install_script "Miniconda3-py39_22.11.1-1-Linux-ppc64le" "https://repo.anaconda.com/miniconda/Miniconda3-py39_22.11.1-1-Linux-ppc64le.sh#16cc2d74644cf838d2761723c01172e0b704674317630480902ef429af29bd0b" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-s390x" )
|
||||
install_script "Miniconda3-py39_22.11.1-1-Linux-s390x" "https://repo.anaconda.com/miniconda/Miniconda3-py39_22.11.1-1-Linux-s390x.sh#ed6176aa6b52e22d939ea5c0c38f9f3cf52d2519a5d0dcb414936287893a31f9" "miniconda" verify_py39
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Miniconda3-py39_22.11.1-1-Linux-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_22.11.1-1-Linux-x86_64.sh#e685005710679914a909bfb9c52183b3ccc56ad7bb84acc861d596fcbe5d28bb" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-arm64" )
|
||||
install_script "Miniconda3-py39_22.11.1-1-MacOSX-arm64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_22.11.1-1-MacOSX-arm64.sh#eca5e241faea19d4b352aba819f99f42e2336fdbeecb04f5bc89c9ca786ea798" "miniconda" verify_py39
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Miniconda3-py39_22.11.1-1-MacOSX-x86_64" "https://repo.anaconda.com/miniconda/Miniconda3-py39_22.11.1-1-MacOSX-x86_64.sh#9a537f3a1b472098754c59a30b94822f1e9458405af831172aaa8f8124e9df88" "miniconda" verify_py39
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Miniconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
81
plugins/python-build/share/python-build/pypy2.7-7.3.11
Normal file
81
plugins/python-build/share/python-build/pypy2.7-7.3.11
Normal file
@@ -0,0 +1,81 @@
|
||||
VERSION='7.3.11'
|
||||
PYVER='2.7'
|
||||
|
||||
# https://www.pypy.org/checksums.html
|
||||
aarch64_hash=ea924da1defe9325ef760e288b04f984614e405580f5321eb6a5c8f539bd415a
|
||||
linux32_hash=30fd245fab7068c96a75b9ff1323ac55174c64fc8c4751cceb4b7a9bedc1851e
|
||||
linux64_hash=ba8ed958a905c0735a4cfff2875c25089954dc020e087d982b0ffa5b9da316cd
|
||||
osarm64_hash=cc5696ab4f93cd3481c1e4990b5dedd7ba60ac0602fa1890d368889a6c5bf771
|
||||
osx64_hash=56deee9c22640f5686c35b9d64fdb1ce3abd044583e4078f0b171ca2fd2a198e
|
||||
s390x_hash=8fe9481c473178e53266983678684a70fe0c42bafc95f1807bf3ef28770316d4
|
||||
|
||||
### end of manual settings - following lines same for every download
|
||||
|
||||
function err_no_binary {
|
||||
local archmsg="${1}"
|
||||
local ver="pypy${PYVER}-v${VERSION}-src"
|
||||
local url="https://downloads.python.org/pypy/${ver}.tar.bz2"
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for ${archmsg}."
|
||||
echo "try '${url}' to build from source."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
function pypy_pkg_data {
|
||||
# pypy architecture tag
|
||||
local ARCH="${1}"
|
||||
|
||||
# defaults
|
||||
local cmd='install_package' # use bz2
|
||||
local pkg="${ARCH}" # assume matches
|
||||
local ext='tar.bz2'
|
||||
local hash='' # undefined
|
||||
|
||||
# select the hash, fix pkg if not match ARCH
|
||||
case "${ARCH}" in
|
||||
'linux-aarch64' )
|
||||
hash="${aarch64_hash}"
|
||||
pkg='aarch64'
|
||||
;;
|
||||
'linux' )
|
||||
hash="${linux32_hash}"
|
||||
pkg='linux32'
|
||||
;;
|
||||
'linux64' )
|
||||
hash="${linux64_hash}"
|
||||
;;
|
||||
'osarm64' )
|
||||
hash="${osarm64_hash}"
|
||||
pkg='macos_arm64'
|
||||
;;
|
||||
'osx64' )
|
||||
if require_osx_version "10.13"; then
|
||||
hash="${osx64_hash}"
|
||||
pkg='macos_x86_64'
|
||||
else
|
||||
err_no_binary "${ARCH}, OS X < 10.13"
|
||||
fi
|
||||
;;
|
||||
's390x' )
|
||||
hash="${s390x_hash}"
|
||||
;;
|
||||
* )
|
||||
err_no_binary "${ARCH}"
|
||||
;;
|
||||
esac
|
||||
|
||||
local basever="pypy${PYVER}-v${VERSION}"
|
||||
local baseurl="https://downloads.python.org/pypy/${basever}"
|
||||
|
||||
# result - command, package dir, url+hash
|
||||
echo "${cmd}" "${basever}-${pkg}" "${baseurl}-${pkg}.${ext}#${hash}"
|
||||
}
|
||||
|
||||
# determine command, package directory, url+hash
|
||||
declare -a pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")"
|
||||
|
||||
# install
|
||||
${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip'
|
||||
14
plugins/python-build/share/python-build/pypy2.7-7.3.11-src
Normal file
14
plugins/python-build/share/python-build/pypy2.7-7.3.11-src
Normal file
@@ -0,0 +1,14 @@
|
||||
VERSION='7.3.11'
|
||||
PYVER='2.7'
|
||||
|
||||
# https://www.pypy.org/checksums.html
|
||||
hash=1117afb66831da4ea6f39d8d2084787a74689fd0229de0be301f9ed9b255093c
|
||||
|
||||
### end of manual settings - following lines same for every download
|
||||
|
||||
ver="pypy${PYVER}-v${VERSION}-src"
|
||||
url="https://downloads.python.org/pypy/${ver}.tar.bz2"
|
||||
|
||||
prefer_openssl11
|
||||
install_package "openssl-1.1.1f" "https://www.openssl.org/source/openssl-1.1.1f.tar.gz#186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "${ver}" "${url}#${hash}" 'pypy_builder' "verify_py${PYVER//./}" 'ensurepip'
|
||||
81
plugins/python-build/share/python-build/pypy3.8-7.3.11
Normal file
81
plugins/python-build/share/python-build/pypy3.8-7.3.11
Normal file
@@ -0,0 +1,81 @@
|
||||
VERSION='7.3.11'
|
||||
PYVER='3.8'
|
||||
|
||||
# https://www.pypy.org/checksums.html
|
||||
aarch64_hash=9a2fa0b8d92b7830aa31774a9a76129b0ff81afbd22cd5c41fbdd9119e859f55
|
||||
linux32_hash=a79b31fce8f5bc1f9940b6777134189a1d3d18bda4b1c830384cda90077c9176
|
||||
linux64_hash=470330e58ac105c094041aa07bb05676b06292bc61409e26f5c5593ebb2292d9
|
||||
osarm64_hash=78cdc79ff964c4bfd13eb45a7d43a011cbe8d8b513323d204891f703fdc4fa1a
|
||||
osx64_hash=194ca0b4d91ae409a9cb1a59eb7572d7affa8a451ea3daf26539aa515443433a
|
||||
s390x_hash=eab7734d86d96549866f1cba67f4f9c73c989f6a802248beebc504080d4c3fcd
|
||||
|
||||
### end of manual settings - following lines same for every download
|
||||
|
||||
function err_no_binary {
|
||||
local archmsg="${1}"
|
||||
local ver="pypy${PYVER}-v${VERSION}-src"
|
||||
local url="https://downloads.python.org/pypy/${ver}.tar.bz2"
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for ${archmsg}."
|
||||
echo "try '${url}' to build from source."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
function pypy_pkg_data {
|
||||
# pypy architecture tag
|
||||
local ARCH="${1}"
|
||||
|
||||
# defaults
|
||||
local cmd='install_package' # use bz2
|
||||
local pkg="${ARCH}" # assume matches
|
||||
local ext='tar.bz2'
|
||||
local hash='' # undefined
|
||||
|
||||
# select the hash, fix pkg if not match ARCH
|
||||
case "${ARCH}" in
|
||||
'linux-aarch64' )
|
||||
hash="${aarch64_hash}"
|
||||
pkg='aarch64'
|
||||
;;
|
||||
'linux' )
|
||||
hash="${linux32_hash}"
|
||||
pkg='linux32'
|
||||
;;
|
||||
'linux64' )
|
||||
hash="${linux64_hash}"
|
||||
;;
|
||||
'osarm64' )
|
||||
hash="${osarm64_hash}"
|
||||
pkg='macos_arm64'
|
||||
;;
|
||||
'osx64' )
|
||||
if require_osx_version "10.13"; then
|
||||
hash="${osx64_hash}"
|
||||
pkg='macos_x86_64'
|
||||
else
|
||||
err_no_binary "${ARCH}, OS X < 10.13"
|
||||
fi
|
||||
;;
|
||||
's390x' )
|
||||
hash="${s390x_hash}"
|
||||
;;
|
||||
* )
|
||||
err_no_binary "${ARCH}"
|
||||
;;
|
||||
esac
|
||||
|
||||
local basever="pypy${PYVER}-v${VERSION}"
|
||||
local baseurl="https://downloads.python.org/pypy/${basever}"
|
||||
|
||||
# result - command, package dir, url+hash
|
||||
echo "${cmd}" "${basever}-${pkg}" "${baseurl}-${pkg}.${ext}#${hash}"
|
||||
}
|
||||
|
||||
# determine command, package directory, url+hash
|
||||
declare -a pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")"
|
||||
|
||||
# install
|
||||
${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip'
|
||||
14
plugins/python-build/share/python-build/pypy3.8-7.3.11-src
Normal file
14
plugins/python-build/share/python-build/pypy3.8-7.3.11-src
Normal file
@@ -0,0 +1,14 @@
|
||||
VERSION='7.3.11'
|
||||
PYVER='3.8'
|
||||
|
||||
# https://www.pypy.org/checksums.html
|
||||
hash=4d6769bfca73734e8666fd70503b7ceb06a6e259110e617331bb3899ca4e6058
|
||||
|
||||
### end of manual settings - following lines same for every download
|
||||
|
||||
ver="pypy${PYVER}-v${VERSION}-src"
|
||||
url="https://downloads.python.org/pypy/${ver}.tar.bz2"
|
||||
|
||||
prefer_openssl11
|
||||
install_package "openssl-1.1.1f" "https://www.openssl.org/source/openssl-1.1.1f.tar.gz#186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "${ver}" "${url}#${hash}" 'pypy_builder' "verify_py${PYVER//./}" 'ensurepip'
|
||||
81
plugins/python-build/share/python-build/pypy3.9-7.3.11
Normal file
81
plugins/python-build/share/python-build/pypy3.9-7.3.11
Normal file
@@ -0,0 +1,81 @@
|
||||
VERSION='7.3.11'
|
||||
PYVER='3.9'
|
||||
|
||||
# https://www.pypy.org/checksums.html
|
||||
aarch64_hash=09175dc652ed895d98e9ad63d216812bf3ee7e398d900a9bf9eb2906ba8302b9
|
||||
linux32_hash=0099d72c2897b229057bff7e2c343624aeabdc60d6fb43ca882bff082f1ffa48
|
||||
linux64_hash=d506172ca11071274175d74e9c581c3166432d0179b036470e3b9e8d20eae581
|
||||
osarm64_hash=91ad7500f1a39531dbefa0b345a3dcff927ff9971654e8d2e9ef7c5ae311f57e
|
||||
osx64_hash=d33f40b207099872585afd71873575ca6ea638a27d823bc621238c5ae82542ed
|
||||
s390x_hash=e1f30f2ddbe3f446ddacd79677b958d56c07463b20171fb2abf8f9a3178b79fc
|
||||
|
||||
### end of manual settings - following lines same for every download
|
||||
|
||||
function err_no_binary {
|
||||
local archmsg="${1}"
|
||||
local ver="pypy${PYVER}-v${VERSION}-src"
|
||||
local url="https://downloads.python.org/pypy/${ver}.tar.bz2"
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of PyPy is not available for ${archmsg}."
|
||||
echo "try '${url}' to build from source."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
function pypy_pkg_data {
|
||||
# pypy architecture tag
|
||||
local ARCH="${1}"
|
||||
|
||||
# defaults
|
||||
local cmd='install_package' # use bz2
|
||||
local pkg="${ARCH}" # assume matches
|
||||
local ext='tar.bz2'
|
||||
local hash='' # undefined
|
||||
|
||||
# select the hash, fix pkg if not match ARCH
|
||||
case "${ARCH}" in
|
||||
'linux-aarch64' )
|
||||
hash="${aarch64_hash}"
|
||||
pkg='aarch64'
|
||||
;;
|
||||
'linux' )
|
||||
hash="${linux32_hash}"
|
||||
pkg='linux32'
|
||||
;;
|
||||
'linux64' )
|
||||
hash="${linux64_hash}"
|
||||
;;
|
||||
'osarm64' )
|
||||
hash="${osarm64_hash}"
|
||||
pkg='macos_arm64'
|
||||
;;
|
||||
'osx64' )
|
||||
if require_osx_version "10.13"; then
|
||||
hash="${osx64_hash}"
|
||||
pkg='macos_x86_64'
|
||||
else
|
||||
err_no_binary "${ARCH}, OS X < 10.13"
|
||||
fi
|
||||
;;
|
||||
's390x' )
|
||||
hash="${s390x_hash}"
|
||||
;;
|
||||
* )
|
||||
err_no_binary "${ARCH}"
|
||||
;;
|
||||
esac
|
||||
|
||||
local basever="pypy${PYVER}-v${VERSION}"
|
||||
local baseurl="https://downloads.python.org/pypy/${basever}"
|
||||
|
||||
# result - command, package dir, url+hash
|
||||
echo "${cmd}" "${basever}-${pkg}" "${baseurl}-${pkg}.${ext}#${hash}"
|
||||
}
|
||||
|
||||
# determine command, package directory, url+hash
|
||||
declare -a pd="$(pypy_pkg_data "$(pypy_architecture 2>/dev/null || true)")"
|
||||
|
||||
# install
|
||||
${pd[0]} "${pd[1]}" "${pd[2]}" 'pypy' "verify_py${PYVER//./}" 'ensurepip'
|
||||
14
plugins/python-build/share/python-build/pypy3.9-7.3.11-src
Normal file
14
plugins/python-build/share/python-build/pypy3.9-7.3.11-src
Normal file
@@ -0,0 +1,14 @@
|
||||
VERSION='7.3.11'
|
||||
PYVER='3.9'
|
||||
|
||||
# https://www.pypy.org/checksums.html
|
||||
hash=b0f3166fb2a5aadfd5ceb9db5cdd5f7929a0eccca02b4a26c0dae0492f7ca8ea
|
||||
|
||||
### end of manual settings - following lines same for every download
|
||||
|
||||
ver="pypy${PYVER}-v${VERSION}-src"
|
||||
url="https://downloads.python.org/pypy/${ver}.tar.bz2"
|
||||
|
||||
prefer_openssl11
|
||||
install_package "openssl-1.1.1f" "https://www.openssl.org/source/openssl-1.1.1f.tar.gz#186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35" mac_openssl --if has_broken_mac_openssl
|
||||
install_package "${ver}" "${url}#${hash}" 'pypy_builder' "verify_py${PYVER//./}" 'ensurepip'
|
||||
@@ -62,7 +62,7 @@ assert_build_log() {
|
||||
cached_tarball "yaml-0.1.6"
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Linux'; done
|
||||
stub brew false
|
||||
stub_make_install
|
||||
stub_make_install
|
||||
@@ -74,12 +74,12 @@ assert_build_log() {
|
||||
unstub make
|
||||
|
||||
assert_build_log <<OUT
|
||||
yaml-0.1.6: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
yaml-0.1.6: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
yaml-0.1.6: --prefix=$INSTALL_ROOT
|
||||
make -j 2
|
||||
make install
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -89,7 +89,7 @@ OUT
|
||||
cached_tarball "yaml-0.1.6"
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Linux'; done
|
||||
stub brew false
|
||||
stub_make_install
|
||||
stub_make_install
|
||||
@@ -103,13 +103,13 @@ OUT
|
||||
unstub patch
|
||||
|
||||
assert_build_log <<OUT
|
||||
yaml-0.1.6: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
yaml-0.1.6: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
yaml-0.1.6: --prefix=$INSTALL_ROOT
|
||||
make -j 2
|
||||
make install
|
||||
patch -p0 --force -i $TMP/python-patch.XXX
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -119,7 +119,7 @@ OUT
|
||||
cached_tarball "yaml-0.1.6"
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Linux'; done
|
||||
stub brew false
|
||||
stub_make_install
|
||||
stub_make_install
|
||||
@@ -133,13 +133,13 @@ OUT
|
||||
unstub patch
|
||||
|
||||
assert_build_log <<OUT
|
||||
yaml-0.1.6: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
yaml-0.1.6: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
yaml-0.1.6: --prefix=$INSTALL_ROOT
|
||||
make -j 2
|
||||
make install
|
||||
patch -p1 --force -i $TMP/python-patch.XXX
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -151,7 +151,7 @@ OUT
|
||||
BREW_PREFIX="$TMP/homebrew-prefix"
|
||||
mkdir -p "$BREW_PREFIX"
|
||||
|
||||
for i in {1..8}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub brew "--prefix : echo '$BREW_PREFIX'" false
|
||||
stub_make_install
|
||||
@@ -167,7 +167,7 @@ DEF
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include -I$BREW_PREFIX/include" LDFLAGS="-L${TMP}/install/lib -L$BREW_PREFIX/lib -Wl,-rpath,$BREW_PREFIX/lib" PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -179,7 +179,7 @@ OUT
|
||||
brew_libdir="$TMP/homebrew-yaml"
|
||||
mkdir -p "$brew_libdir"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub brew "--prefix libyaml : echo '$brew_libdir'"
|
||||
for i in {1..4}; do stub brew false; done
|
||||
@@ -195,7 +195,7 @@ OUT
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I$brew_libdir/include -I${TMP}/install/include " LDFLAGS="-L$brew_libdir/lib -L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -205,7 +205,7 @@ OUT
|
||||
cached_tarball "yaml-0.1.6"
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Linux'; done
|
||||
stub brew true; brew
|
||||
stub_make_install
|
||||
stub_make_install
|
||||
@@ -218,12 +218,12 @@ OUT
|
||||
unstub make
|
||||
|
||||
assert_build_log <<OUT
|
||||
yaml-0.1.6: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
yaml-0.1.6: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
yaml-0.1.6: --prefix=${TMP}/install
|
||||
make -j 2
|
||||
make install
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -234,7 +234,7 @@ OUT
|
||||
|
||||
readline_libdir="$TMP/homebrew-readline"
|
||||
mkdir -p "$readline_libdir"
|
||||
for i in {1..7}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..8}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
for i in {1..2}; do stub brew false; done
|
||||
stub brew "--prefix readline : echo '$readline_libdir'"
|
||||
@@ -253,7 +253,7 @@ DEF
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I$readline_libdir/include -I${TMP}/install/include " LDFLAGS="-L$readline_libdir/lib -L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -262,7 +262,7 @@ OUT
|
||||
@test "no library searches performed during normal operation touch homebrew in non-MacOS" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..8}; do stub uname '-s : echo Linux'; done
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
stub brew true; brew
|
||||
stub_make_install
|
||||
|
||||
@@ -276,8 +276,8 @@ DEF
|
||||
unstub make
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -286,7 +286,7 @@ OUT
|
||||
@test "no library searches performed during normal operation touch homebrew if envvar is set" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..4}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..5}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
stub brew true; brew
|
||||
stub_make_install
|
||||
@@ -303,7 +303,7 @@ DEF
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -317,7 +317,7 @@ OUT
|
||||
mkdir -p "$readline_libdir/include/readline"
|
||||
touch "$readline_libdir/include/readline/rlconf.h"
|
||||
|
||||
for i in {1..7}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..8}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
|
||||
for i in {1..3}; do stub brew false; done
|
||||
@@ -336,7 +336,7 @@ DEF
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT CPPFLAGS=-I$readline_libdir/include LDFLAGS=-L$readline_libdir/lib --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT CPPFLAGS=-I$readline_libdir/include LDFLAGS=-L$readline_libdir/lib --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -349,7 +349,7 @@ OUT
|
||||
mkdir -p "$tcl_tk_libdir/lib"
|
||||
echo "TCL_VERSION='$tcl_tk_version'" >>"$tcl_tk_libdir/lib/tclConfig.sh"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
|
||||
stub brew false
|
||||
@@ -370,7 +370,7 @@ DEF
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH="${TMP}/homebrew-tcl-tk/lib/pkgconfig"
|
||||
Python-3.6.2: --prefix=${TMP}/install --libdir=${TMP}/install/lib --with-tcltk-libs=-L${TMP}/homebrew-tcl-tk/lib -ltcl$tcl_tk_version -ltk$tcl_tk_version --with-tcltk-includes=-I${TMP}/homebrew-tcl-tk/include
|
||||
Python-3.6.2: --prefix=${TMP}/install --enable-shared --libdir=${TMP}/install/lib --with-tcltk-libs=-L${TMP}/homebrew-tcl-tk/lib -ltcl$tcl_tk_version -ltk$tcl_tk_version --with-tcltk-includes=-I${TMP}/homebrew-tcl-tk/include
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -383,7 +383,7 @@ OUT
|
||||
tcl_tk_version_long="8.6.10"
|
||||
tcl_tk_version="${tcl_tk_version_long%.*}"
|
||||
|
||||
for i in {1..8}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
|
||||
for i in {1..4}; do stub brew false; done
|
||||
@@ -402,7 +402,7 @@ DEF
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib --with-tcltk-libs=-L${TMP}/custom-tcl-tk/lib -ltcl8.6 -ltk8.6
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib --with-tcltk-libs=-L${TMP}/custom-tcl-tk/lib -ltcl8.6 -ltk8.6
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -411,7 +411,7 @@ OUT
|
||||
@test "tcl-tk is linked from Homebrew via pkgconfig only when envvar is set" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
|
||||
tcl_tk_libdir="$TMP/homebrew-tcl-tk"
|
||||
@@ -436,7 +436,7 @@ DEF
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH="${TMP}/homebrew-tcl-tk/lib/pkgconfig"
|
||||
Python-3.6.2: --prefix=${TMP}/install --libdir=${TMP}/install/lib
|
||||
Python-3.6.2: --prefix=${TMP}/install --enable-shared --libdir=${TMP}/install/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -444,7 +444,7 @@ OUT
|
||||
@test "number of CPU cores defaults to 2" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 10.10'; done
|
||||
|
||||
stub sysctl false
|
||||
@@ -462,7 +462,7 @@ DEF
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -471,7 +471,7 @@ OUT
|
||||
@test "number of CPU cores is detected on Mac" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 10.10'; done
|
||||
|
||||
stub sysctl '-n hw.ncpu : echo 4'
|
||||
@@ -490,7 +490,7 @@ DEF
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 4
|
||||
make install
|
||||
OUT
|
||||
@@ -499,7 +499,7 @@ OUT
|
||||
@test "number of CPU cores is detected on FreeBSD" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..7}; do stub uname '-s : echo FreeBSD'; done
|
||||
for i in {1..8}; do stub uname '-s : echo FreeBSD'; done
|
||||
stub uname '-r : echo 11.0-RELEASE'
|
||||
for i in {1..2}; do stub uname '-s : echo FreeBSD'; done
|
||||
|
||||
@@ -517,8 +517,8 @@ DEF
|
||||
unstub make
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 1
|
||||
make install
|
||||
OUT
|
||||
@@ -527,7 +527,7 @@ OUT
|
||||
@test "setting PYTHON_MAKE_INSTALL_OPTS to a multi-word string" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..8}; do stub uname '-s : echo Linux'; done
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
|
||||
stub_make_install
|
||||
|
||||
@@ -541,8 +541,8 @@ DEF
|
||||
unstub make
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install DOGE="such wow"
|
||||
OUT
|
||||
@@ -551,7 +551,7 @@ OUT
|
||||
@test "configuring with dSYM in MacOS" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 1010'; done
|
||||
for i in {1..4}; do stub brew false; done
|
||||
stub_make_install
|
||||
@@ -569,7 +569,7 @@ DEF
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=${TMP}/install/lib --with-dsymutil
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=${TMP}/install/lib --with-dsymutil
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -578,7 +578,7 @@ OUT
|
||||
@test "configuring with dSYM has no effect in non-MacOS" {
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Linux'; done
|
||||
stub_make_install
|
||||
|
||||
run_inline_definition <<DEF
|
||||
@@ -591,8 +591,8 @@ DEF
|
||||
unstub make
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=${TMP}/install/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=${TMP}/install/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -611,7 +611,7 @@ OUT
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
stub uname "-s : echo FreeBSD" "-r : echo 9.1"
|
||||
for i in {1..6}; do stub uname "-s : echo FreeBSD"; done
|
||||
for i in {1..7}; do stub uname "-s : echo FreeBSD"; done
|
||||
stub uname "-r : echo 9.1"
|
||||
for i in {1..2}; do stub uname "-s : echo FreeBSD"; done
|
||||
|
||||
@@ -628,7 +628,7 @@ OUT
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
stub uname "-s : echo FreeBSD" "-r : echo 10.0-RELEASE"
|
||||
for i in {1..6}; do stub uname "-s : echo FreeBSD"; done
|
||||
for i in {1..7}; do stub uname "-s : echo FreeBSD"; done
|
||||
stub uname "-r : echo 10.0-RELEASE"
|
||||
for i in {1..2}; do stub uname "-s : echo FreeBSD"; done
|
||||
|
||||
@@ -644,7 +644,7 @@ OUT
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
stub uname "-s : echo FreeBSD" "-r : echo 11.0-RELEASE"
|
||||
for i in {1..6}; do stub uname "-s : echo FreeBSD"; done
|
||||
for i in {1..7}; do stub uname "-s : echo FreeBSD"; done
|
||||
stub uname "-r : echo 11.0-RELEASE"
|
||||
for i in {1..2}; do stub uname "-s : echo FreeBSD"; done
|
||||
|
||||
@@ -665,7 +665,7 @@ apply -p1 -i /my/patch.diff
|
||||
exec ./configure "\$@"
|
||||
CONF
|
||||
|
||||
for i in {1..8}; do stub uname '-s : echo Linux'; done
|
||||
for i in {1..9}; do stub uname '-s : echo Linux'; done
|
||||
stub apply 'echo apply "$@" >> build.log'
|
||||
stub_make_install
|
||||
|
||||
@@ -681,8 +681,8 @@ DEF
|
||||
|
||||
assert_build_log <<OUT
|
||||
apply -p1 -i /my/patch.diff
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib " PKG_CONFIG_PATH=""
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
|
||||
@@ -45,7 +45,7 @@ DEF
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
CC=${TMP}/bin/gcc
|
||||
MACOSX_DEPLOYMENT_TARGET=10.9
|
||||
MACOSX_DEPLOYMENT_TARGET=10.10
|
||||
OUT
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ DEF
|
||||
mkdir -p "$INSTALL_ROOT"
|
||||
cd "$INSTALL_ROOT"
|
||||
|
||||
for i in {1..9}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..10}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..3}; do stub sw_vers '-productVersion : echo 10.10'; done
|
||||
|
||||
stub cc 'false'
|
||||
@@ -90,7 +90,7 @@ DEF
|
||||
unstub sw_vers
|
||||
|
||||
assert_output <<OUT
|
||||
./configure --prefix=$INSTALL_ROOT --libdir=${TMP}/install/lib
|
||||
./configure --prefix=$INSTALL_ROOT --enable-shared --libdir=${TMP}/install/lib
|
||||
CC=clang
|
||||
CFLAGS=no
|
||||
make -j 2
|
||||
|
||||
@@ -24,6 +24,26 @@ stub_python_build() {
|
||||
unstub pyenv-rehash
|
||||
}
|
||||
|
||||
@test "install proper multi versions" {
|
||||
#stub python-build "--lib : $BATS_TEST_DIRNAME/../bin/python-build --lib" 'echo python-build "$@"' 'echo python-build "$@"'
|
||||
#stub pyenv-latest ": false" ": false"
|
||||
stub_python_build 'echo python-build "$@"' 'echo python-build "$@"'
|
||||
stub pyenv-latest ": false"
|
||||
stub pyenv-rehash 'true'
|
||||
|
||||
run pyenv-install 3.4.1 3.4.2
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
python-build 3.4.1 ${TMP}/pyenv/versions/3.4.1
|
||||
python-build 3.4.2 ${TMP}/pyenv/versions/3.4.2
|
||||
OUT
|
||||
|
||||
unstub python-build
|
||||
unstub pyenv-latest
|
||||
unstub pyenv-hooks
|
||||
unstub pyenv-rehash
|
||||
}
|
||||
|
||||
@test "install resolves a prefix" {
|
||||
stub_python_build 'echo python-build "$@"'
|
||||
stub pyenv-latest '-q -k 3.4 : echo 3.4.2'
|
||||
@@ -37,6 +57,24 @@ stub_python_build() {
|
||||
unstub pyenv-rehash
|
||||
}
|
||||
|
||||
@test "install resolves a prefix with multi versions" {
|
||||
stub_python_build 'echo python-build "$@"' 'echo python-build "$@"'
|
||||
stub pyenv-latest '-q -k 3.4 : echo 3.4.2' '-q -k 3.5 : echo 3.5.2'
|
||||
stub pyenv-rehash 'true'
|
||||
pyenv-latest || true # pass through the stub entry added by stub_python_build
|
||||
|
||||
run pyenv-install 3.4 3.5
|
||||
assert_success <<OUT
|
||||
python-build 3.4.2 ${PYENV_ROOT}/versions/3.4.2
|
||||
python-build 3.5.2 ${PYENV_ROOT}/versions/3.5.2
|
||||
OUT
|
||||
|
||||
|
||||
unstub python-build
|
||||
unstub pyenv-hooks
|
||||
unstub pyenv-rehash
|
||||
}
|
||||
|
||||
@test "install pyenv local version by default" {
|
||||
stub_python_build 'echo python-build "$1"'
|
||||
stub pyenv-local 'echo 3.4.2'
|
||||
@@ -48,6 +86,21 @@ stub_python_build() {
|
||||
unstub pyenv-local
|
||||
}
|
||||
|
||||
@test "install pyenv local multi versions by default" {
|
||||
stub_python_build 'echo python-build "$1"' 'echo python-build "$1"'
|
||||
stub pyenv-local 'printf "%s\n%s\n" 3.4.2 3.4.1'
|
||||
stub pyenv-latest ": false"
|
||||
|
||||
run pyenv-install
|
||||
assert_success <<OUT
|
||||
python-build 3.4.2"
|
||||
python-build 3.4.1"
|
||||
OUT
|
||||
|
||||
unstub python-build
|
||||
unstub pyenv-local
|
||||
}
|
||||
|
||||
@test "list available versions" {
|
||||
stub_python_build \
|
||||
"--definitions : echo 2.6.9 2.7.9-rc1 2.7.9-rc2 3.4.2 | tr ' ' $'\\n'"
|
||||
@@ -169,22 +222,23 @@ ${PYENV_ROOT}/plugins/foo/share/python-build
|
||||
OUT
|
||||
}
|
||||
|
||||
@test "not enough arguments for pyenv-install" {
|
||||
@test "not enough arguments for pyenv-install if no local version" {
|
||||
stub_python_build
|
||||
stub pyenv-help 'install : true'
|
||||
|
||||
run pyenv-install
|
||||
assert_failure
|
||||
unstub pyenv-help
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "too many arguments for pyenv-install" {
|
||||
@test "multi arguments for pyenv-install" {
|
||||
stub_python_build
|
||||
stub pyenv-help 'install : true'
|
||||
|
||||
run pyenv-install 3.4.1 3.4.2
|
||||
assert_failure
|
||||
unstub pyenv-help
|
||||
assert_success
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "show help for pyenv-install" {
|
||||
|
||||
@@ -123,8 +123,8 @@ run_inline_definition_with_name() {
|
||||
|
||||
assert_build_log <<OUT
|
||||
patch -p0 --force -i $TMP/python-patch.XXX
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib "
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib "
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -153,8 +153,8 @@ OUT
|
||||
patch: bar
|
||||
patch: baz
|
||||
patch: foo
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib "
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib "
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -178,7 +178,7 @@ OUT
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib "
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make altinstall
|
||||
OUT
|
||||
@@ -280,7 +280,7 @@ echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
|
||||
OUT
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-universalsdk=/)
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--enable-shared --libdir=${TMP}/install/lib --enable-universalsdk=/)
|
||||
EOS
|
||||
}
|
||||
|
||||
@@ -294,7 +294,7 @@ echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
|
||||
OUT
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-universalsdk=/ --with-universal-archs=universal2)
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--enable-shared --libdir=${TMP}/install/lib --enable-universalsdk=/ --with-universal-archs=universal2)
|
||||
EOS
|
||||
}
|
||||
|
||||
@@ -307,7 +307,7 @@ echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
|
||||
OUT
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--libdir=${TMP}/install/lib --enable-universalsdk=/)
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--enable-shared --libdir=${TMP}/install/lib --enable-universalsdk=/)
|
||||
EOS
|
||||
}
|
||||
|
||||
@@ -315,7 +315,7 @@ EOS
|
||||
cached_tarball "Python-3.6.2"
|
||||
|
||||
for i in {1..4}; do stub brew false; done
|
||||
for i in {1..7}; do stub uname '-s : echo Linux'; done
|
||||
for i in {1..8}; do stub uname '-s : echo Linux'; done
|
||||
stub "$MAKE" \
|
||||
" : echo \"$MAKE \$@\" >> build.log" \
|
||||
" : echo \"$MAKE \$@\" >> build.log && cat build.log >> '$INSTALL_ROOT/build.log'"
|
||||
@@ -324,8 +324,8 @@ EOS
|
||||
assert_success
|
||||
|
||||
assert_build_log <<OUT
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib "
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-unicode=ucs2 --libdir=$INSTALL_ROOT/lib
|
||||
Python-3.6.2: CPPFLAGS="-I${TMP}/install/include " LDFLAGS="-L${TMP}/install/lib -Wl,-rpath=${TMP}/install/lib "
|
||||
Python-3.6.2: --prefix=$INSTALL_ROOT --enable-unicode=ucs2 --enable-shared --libdir=$INSTALL_ROOT/lib
|
||||
make -j 2
|
||||
make install
|
||||
OUT
|
||||
@@ -336,10 +336,8 @@ OUT
|
||||
|
||||
@test "default MACOSX_DEPLOYMENT_TARGET" {
|
||||
# yyuu/pyenv#257
|
||||
stub uname '-s : echo Darwin'
|
||||
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.10'
|
||||
for i in {1..3}; do stub uname '-s : echo Darwin'; done
|
||||
for i in {1..2}; do stub sw_vers '-productVersion : echo 10.10'; done
|
||||
|
||||
TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
echo "\${MACOSX_DEPLOYMENT_TARGET}"
|
||||
|
||||
@@ -63,6 +63,12 @@ OUT
|
||||
assert_line 'pyenv init - | source'
|
||||
}
|
||||
|
||||
@test "shell detection for installer" {
|
||||
run pyenv-init --detect-shell
|
||||
assert_success
|
||||
assert_line "PYENV_SHELL_DETECT=bash"
|
||||
}
|
||||
|
||||
@test "option to skip rehash" {
|
||||
run pyenv-init - --no-rehash
|
||||
assert_success
|
||||
|
||||
Reference in New Issue
Block a user