From 141f7ba5bdba7f565f8a91ede10809d98caa2c0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20T=C3=B6rcsv=C3=A1ri?= Date: Mon, 31 Aug 2026 12:58:51 +0200 Subject: [PATCH] build: freetype download falls back to sha-pinned mirrors (savannah 502) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit download.savannah.gnu.org 502'd through all retries and took out the 2026-08-31 staging CI run. Try savannah, then its mirror pool alias, then SourceForge — every candidate must hash to FREETYPE_SHA256, so a mirror can only supply the byte-identical tarball. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01MLPKYptXFrxHj5Gu7rhToz --- scripts/deps/build-freetype.sh | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/scripts/deps/build-freetype.sh b/scripts/deps/build-freetype.sh index 066180b..b38ce39 100755 --- a/scripts/deps/build-freetype.sh +++ b/scripts/deps/build-freetype.sh @@ -41,8 +41,25 @@ if [ ! -d "${FREETYPE_DIR}" ]; then mkdir -p "${DEPS_ROOT}" cd "${DEPS_ROOT}" - FREETYPE_URL="https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VERSION}.tar.xz" - download_file "${FREETYPE_URL}" "freetype-${FREETYPE_VERSION}.tar.xz" "${FREETYPE_SHA256}" + # savannah 502s regularly (took out the 2026-08-31 staging CI run); every + # mirror must serve the byte-identical tarball — FREETYPE_SHA256 gates it. + FREETYPE_URLS=( + "https://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VERSION}.tar.xz" + "https://download-mirror.savannah.gnu.org/releases/freetype/freetype-${FREETYPE_VERSION}.tar.xz" + "https://downloads.sourceforge.net/freetype/freetype-${FREETYPE_VERSION}.tar.xz" + ) + downloaded=0 + for FREETYPE_URL in "${FREETYPE_URLS[@]}"; do + if download_file "${FREETYPE_URL}" "freetype-${FREETYPE_VERSION}.tar.xz" "${FREETYPE_SHA256}"; then + downloaded=1 + break + fi + log_warn "FreeType download failed from ${FREETYPE_URL} — trying next mirror" + done + if [ "${downloaded}" != "1" ]; then + log_error "All FreeType mirrors failed" + exit 1 + fi tar -xJf "freetype-${FREETYPE_VERSION}.tar.xz" rm "freetype-${FREETYPE_VERSION}.tar.xz" fi