diff --git a/plugins/python-build/bin/python-build b/plugins/python-build/bin/python-build index eccfec18..50dc8e44 100755 --- a/plugins/python-build/bin/python-build +++ b/plugins/python-build/bin/python-build @@ -328,21 +328,22 @@ http() { local file="$3" [ -n "$url" ] || return 1 - if type aria2c &>/dev/null; then - "http_${method}_aria2c" "$url" "$file" - elif type curl &>/dev/null; then - "http_${method}_curl" "$url" "$file" - elif type wget &>/dev/null; then - # SSL Certificate error with older wget that does not support Server Name Indication (#60) - if [[ "$(wget --version 2>/dev/null || true)" = "GNU Wget 1.1"[0-3]* ]]; then - echo "python-build: wget (< 1.14) doesn't support Server Name Indication. Please install curl (>= 7.18.1) and try again" >&2 - return 1 - fi - "http_${method}_wget" "$url" "$file" + local http_client + if [ -n "${PYTHON_BUILD_HTTP_CLIENT}" ]; then + http_client="http_${method}_${PYTHON_BUILD_HTTP_CLIENT}" else - echo "error: please install \`aria2c\`, \`curl\` or \`wget\` and try again" >&2 - exit 1 + if type aria2c &>/dev/null; then + http_client="http_${method}_aria2c" + elif type curl &>/dev/null; then + http_client="http_${method}_curl" + elif type wget &>/dev/null; then + http_client="http_${method}_wget" + else + echo "error: please install \`aria2c\`, \`curl\` or \`wget\` and try again" >&2 + exit 1 + fi fi + "${http_client}" "$url" "$file" } http_head_aria2c() { @@ -2031,6 +2032,14 @@ ARIA2_OPTS="${PYTHON_BUILD_ARIA2_OPTS} ${IPV4+--disable-ipv6=true} ${IPV6+--disa CURL_OPTS="${PYTHON_BUILD_CURL_OPTS} ${IPV4+--ipv4} ${IPV6+--ipv6}" WGET_OPTS="${PYTHON_BUILD_WGET_OPTS} ${IPV4+--inet4-only} ${IPV6+--inet6-only}" +if [ -z "${PYTHON_BUILD_HTTP_CLIENT}" ] && ! type aria2c &>/dev/null && ! type curl &>/dev/null; then + # SSL Certificate error with older wget that does not support Server Name Indication (#60) + if [[ "$(wget --version 2>/dev/null || true)" = "GNU Wget 1.1"[0-3]* ]]; then + echo "python-build: wget (< 1.14) doesn't support Server Name Indication. Please install curl (>= 7.18.1) and try again" >&2 + return 1 + fi +fi + # Add an option to build a debug version of Python (#11) if [ -n "$DEBUG" ]; then package_option python configure --with-pydebug diff --git a/test/test_helper.bash b/test/test_helper.bash index e11cd8f1..ed9bbb2c 100644 --- a/test/test_helper.bash +++ b/test/test_helper.bash @@ -1,5 +1,6 @@ unset PYENV_VERSION unset PYENV_DIR +unset PYTHON_BUILD_HTTP_CLIENT # guard against executing this block twice due to bats internals if [ -z "$PYENV_TEST_DIR" ]; then