diff --git a/external_deps/build.sh b/external_deps/build.sh index b50e81abf4..7255f5340f 100755 --- a/external_deps/build.sh +++ b/external_deps/build.sh @@ -97,7 +97,7 @@ extract() { tar xzf "${archive_file}" -C "${extract_dir}" ;; *.zip) - unzip -d "${extract_dir}" "${archive_file}" + unzip -q -d "${extract_dir}" "${archive_file}" ;; *.cygtar.bz2) # Some Windows NaCl SDK packages have incorrect symlinks, so use @@ -1681,9 +1681,6 @@ then syntaxError 'Missing package(s)' fi -# Do not reuse self-built curl from external_deps custom PATH -# to download source archives or we would get errors like: -# curl: (1) Protocol "https" not supported or disabled in libcurl CURL="$(command -v curl)" || log ERROR "Command 'curl' not found" # Enable parallel build diff --git a/external_deps/sdk-build.sh b/external_deps/sdk-build.sh index 4574b347c7..bfe36bf552 100755 --- a/external_deps/sdk-build.sh +++ b/external_deps/sdk-build.sh @@ -13,7 +13,7 @@ eval "${versions_out}" REPO_BASENAME=saigo-nacl-sdk REPO_URL="https://github.com/DaemonEngine/${REPO_BASENAME}" -ARCHIVE_PATH="${DOWNLOAD_DIR}/saigosdk-${SAIGOSDK_REF}.tar.gz" +SRC_ARCHIVE_NAME="saigosdk-${SAIGOSDK_REF}.tar.gz" usage() { cat <<-EOF @@ -24,6 +24,7 @@ usage() { build - build all tools and libraries in the SDK install - install final build products to ${WORK_DIR}/saigosdk--_${SAIGOSDK_VERSION}/ wipe - delete build products (except download cache) AND install directory + download - download a pre-built SDK If you want to build only a subset of packages, prefer using the ${REPO_URL} CMake build directly. Some global configuration options are available via environment @@ -32,9 +33,11 @@ usage() { } download() { - test -f "${ARCHIVE_PATH}" && return + local archive_name="$1" + local url="$2" + test -f "${DOWNLOAD_DIR}/${archive_name}" && return mkdir -p "${DOWNLOAD_DIR}" - curl --fail -L "${DOWNLOAD_URL}" -o "${ARCHIVE_PATH}" + curl --fail -L "${url}" -o "${DOWNLOAD_DIR}/${archive_name}" } if [ "$#" -lt 2 ] @@ -48,13 +51,13 @@ shift if grep -q -E '^[0-9a-f]{40}$' <<< "${SAIGOSDK_REF}" then - DOWNLOAD_URL="https://github.com/DaemonEngine/saigo-nacl-sdk/archive/${SAIGOSDK_REF}.tar.gz" + SRC_DOWNLOAD_URL="https://github.com/DaemonEngine/saigo-nacl-sdk/archive/${SAIGOSDK_REF}.tar.gz" TARBALL_OUTER_DIR="${REPO_BASENAME}-${SAIGOSDK_REF}" elif grep -q -E '^v[0-9]' <<< "${SAIGOSDK_REF}" then # The 'v' from the tag name is mysteriously removed??? TARBALL_OUTER_DIR="${REPO_BASENAME}-${SAIGOSDK_REF:1}" - DOWNLOAD_URL="https://github.com/DaemonEngine/saigo-nacl-sdk/archive/refs/tags/${SAIGOSDK_REF}.tar.gz" + SRC_DOWNLOAD_URL="https://github.com/DaemonEngine/saigo-nacl-sdk/archive/refs/tags/${SAIGOSDK_REF}.tar.gz" fi INSTALL_DIR="${WORK_DIR}/saigosdk-${PLATFORM}_${SAIGOSDK_VERSION}" @@ -65,9 +68,9 @@ for target in "$@" do case "${target}" in build) - download + download "${SRC_ARCHIVE_NAME}" "${SRC_DOWNLOAD_URL}" mkdir -p "${BUILD_DIR}" - tar xzf "${ARCHIVE_PATH}" -C "${BUILD_DIR}" + tar xzf "${DOWNLOAD_DIR}/${SRC_ARCHIVE_NAME}" -C "${BUILD_DIR}" ( cd "${REPO_DIR}" tools/release/build "${PLATFORM}" @@ -79,6 +82,12 @@ do wipe) rm -rf "${BUILD_DIR}" "${INSTALL_DIR}" ;; + download) + BIN_ARCHIVE_NAME="saigosdk-${PLATFORM}_${SAIGOSDK_VERSION}.tar.xz" + download "${BIN_ARCHIVE_NAME}" \ + "https://github.com/DaemonEngine/saigo-nacl-sdk/releases/download/v${SAIGOSDK_VERSION}/${BIN_ARCHIVE_NAME}" + tar xJf "${DOWNLOAD_DIR}/${BIN_ARCHIVE_NAME}" -C "${WORK_DIR}" + ;; *) usage exit 1