Serenity Operating System

Toolchain: Make BuildCMake.sh work on macOS without brew on PATH

authored by

Nico Weber and committed by
Andrew Kaster
f2011ad0 f3db548a

+18 -1
+18 -1
Toolchain/BuildCMake.sh
··· 22 22 23 23 [ -z "$MAKEJOBS" ] && MAKEJOBS=$($NPROC) 24 24 25 + check_sha() { 26 + if [ $# -ne 2 ]; then 27 + error "Usage: check_sha FILE EXPECTED_HASH" 28 + return 1 29 + fi 30 + 31 + FILE="${1}" 32 + EXPECTED_HASH="${2}" 33 + 34 + if [ "$SYSTEM_NAME" = "Darwin" ]; then 35 + SEEN_HASH="$(shasum -a 256 "${FILE}" | cut -d " " -f 1)" 36 + else 37 + SEEN_HASH="$(sha256sum "${FILE}" | cut -d " " -f 1)" 38 + fi 39 + test "${EXPECTED_HASH}" = "${SEEN_HASH}" 40 + } 41 + 25 42 # Note: Update this alongside Meta/CMake/cmake-version.cmake 26 43 CMAKE_VERSION=3.25.1 27 44 CMAKE_ARCHIVE_SHA256=1c511d09516af493694ed9baf13c55947a36389674d657a2d5e0ccedc6b291d8 ··· 37 54 echo "${CMAKE_ARCHIVE} already exists, not downloading archive" 38 55 fi 39 56 40 - if ! sha256sum --status -c <(echo "${CMAKE_ARCHIVE_SHA256}" "${CMAKE_ARCHIVE}"); then 57 + if ! check_sha "${CMAKE_ARCHIVE}" "${CMAKE_ARCHIVE_SHA256}"; then 41 58 echo "CMake archive SHA256 sum mismatch, please run script again" 42 59 rm -f "${CMAKE_ARCHIVE}" 43 60 exit 1