#!/usr/bin/env bash # Instala o compilador Odin (odin-lang.org, BSD-3-Clause) pinado em artifacts/tools/odin-, a partir do zip # oficial do release (sha256 conferido). O release de macOS ja traz o LLVM (libs/libLLVM.dylib) e o vendor:raylib # com a libraylib.a para WebAssembly (raylib 5.5, zlib), usada pelos jogos Odin + raylib na web. # src/FredGames.Bundler/Builds/odin/install-odin.sh [versao] (padrao: dev-2025-01) set -euo pipefail VERSION="${1:-dev-2025-01}" case "$VERSION" in dev-2025-01) SHA256=bf690074f3a0d033b32a0e7073d11dcd20afb578f3582ff400c7c18b2dcfacab ;; *) echo "Versao sem sha256 conhecido: $VERSION" >&2; exit 1 ;; esac here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel)" dest="$root/artifacts/tools/odin-$VERSION" [ -x "$dest/odin" ] && { echo "$dest"; exit 0; } cache="$root/artifacts/build/cache"; mkdir -p "$cache" zip="$cache/odin-macos-arm64-$VERSION.zip" [ -f "$zip" ] || curl -fsSL "https://github.com/odin-lang/Odin/releases/download/$VERSION/odin-macos-arm64-$VERSION.zip" -o "$zip" echo "$SHA256 $zip" | shasum -a 256 -c - >/dev/null tmp="$(mktemp -d "$cache/odin-XXXX")" unzip -q "$zip" -d "$tmp" tar -xzf "$tmp/dist.tar.gz" -C "$tmp" mv "$tmp"/odin-macos-arm64-*/ "$dest" rm -rf "$tmp" "$dest/odin" version