#!/usr/bin/env bash set -ex MY_DIR=$(dirname "${BASH_SOURCE[0]}") source $MY_DIR/utils.sh # # Function 'do_curl_build' and 'build_curl' # copied from https://github.com/pypa/manylinux/tree/master/docker/build_scripts # if [[ -z "${CURL_VERSION}" ]]; then echo >&2 'error: CURL_VERSION env. variable must be set to a non-empty value' exit 1 fi if [[ -z "${CURL_HASH}" ]]; then echo >&2 'error: CURL_HASH env. variable must be set to a non-empty value' exit 1 fi CURL_DOWNLOAD_URL=https://curl.haxx.se/download function do_curl_build { # We do this shared to avoid obnoxious linker issues where git couldn't # link properly. If anyone wants to make this build statically go for it. LIBS=-ldl CFLAGS=-Wl,--exclude-libs,ALL ./configure --with-ssl --disable-static > /dev/null make -j"$(nproc)" > /dev/null make install > /dev/null } function build_curl { local curl_fname=$1 check_var ${curl_fname} local curl_sha256=$2 check_var ${curl_sha256} check_var ${CURL_DOWNLOAD_URL} curl --connect-timeout 30 \ --max-time 10 \ --retry 5 \ --retry-delay 10 \ --retry-max-time 30 \ -fsSLO ${CURL_DOWNLOAD_URL}/${curl_fname}.tar.gz check_sha256sum ${curl_fname}.tar.gz ${curl_sha256} tar -zxf ${curl_fname}.tar.gz (cd curl-*/ && do_curl_build) rm -rf curl-* } cd /usr/src build_curl "${CURL_VERSION}" "${CURL_HASH}" (cat /etc/ld.so.conf.d/usr-local.conf 2> /dev/null | grep -q "^/usr/local/lib$") || echo '/usr/local/lib' >> /etc/ld.so.conf.d/usr-local.conf ldconfig