#!/usr/bin/env bash set -euo pipefail project_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" vendor_root="${project_root}/vendor" cache_root="${vendor_root}/cache" source_root="${vendor_root}/source" require_directory() { local path="$1" [[ -d "${path}" ]] || { printf 'Missing vendor directory: %s\n' "${path}" >&2 exit 1 } } verify_sha256() { local expected="$1" local file="$2" [[ -f "${file}" ]] || { printf 'Missing vendor archive: %s\n' "${file}" >&2 exit 1 } printf '%s %s\n' "${expected}" "${file}" | sha256sum --check --status } jq empty "${vendor_root}/manifest.lock.json" for path in \ "${source_root}/sdl" \ "${source_root}/skia" \ "${source_root}/v8" \ "${source_root}/vulkan" \ "${source_root}/ccache" \ "${source_root}/valgrind" \ "${source_root}/googletest"; do require_directory "${path}" done verify_sha256 "f07b958a9ac5020fb7a44cadb957f658b2149c3c8abb4f63145fac9303249db7" "${cache_root}/SDL3-3.4.12.tar.gz" verify_sha256 "a7de667ca08cf67c3c8af9f213f6aa701a1188a2b3163fb74483858ce5e79fbb" "${cache_root}/ccache-4.13.6.tar.xz" verify_sha256 "508b2a1217dc6e04a23e967c7b95a0fb45d8a7e16fde9e180919698f2e2be060" "${cache_root}/ccache-4.13.6-linux-x86_64-glibc.tar.xz" verify_sha256 "5d589152eb8071c02feab8ce6ab719e431a1fbc3e2b1700f5432632a8b9264dc" "${cache_root}/valgrind-3.27.1.tar.bz2" verify_sha256 "65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c" "${cache_root}/googletest-1.17.0.tar.gz" printf '%s %s\n' \ "270d7ccc29b20787c46560376ec9c34f0bb208807713168b7e30c9a6be189a85" \ "${source_root}/v8/DEPS" | sha256sum --check --status printf '%s %s\n' \ "83573d68e6eea2a8ea7308dfd9215803fa1794137bcc40b60bec9e6e722bd35b" \ "${source_root}/skia/DEPS" | sha256sum --check --status if find "${vendor_root}" -name .git -print -quit | grep -q .; then printf 'Nested Git metadata remains under vendor/.\n' >&2 exit 1 fi "${source_root}/skia/bin/gn" --version >/dev/null "${source_root}/v8/buildtools/linux64/gn" --version >/dev/null "${source_root}/v8/third_party/ninja/ninja" --version >/dev/null "${project_root}/.toolchains/ccache/current/ccache" --version >/dev/null printf 'Vendor verification passed.\n'