#!/usr/bin/env bash # Compila o v32lua (compilador de Lua para Vircon32 de Matthew Haas, tag v20261020-release, 3-Clause BSD, # github.com/wedge1020/v32lua) em artifacts/tools/v32lua-v20261020/bin. Usado so pelo Vircout (escrito em Lua). # O compilador embute no cartucho o runtime dele (BSD-3): o LICENSE.txt do jogo traz o texto da licenca. # Idempotente. Precisa de gcc/make. set -euo pipefail TAG=v20261020-release SHA256=88f1e23474d83c4ecf472b5bd822622dd47dc08b92779ee3312bf119050a39ac here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || (cd "$here/../../../.." && pwd))" prefix="$root/artifacts/tools/v32lua-v20261020" cache="$root/artifacts/build/vircon32-70ed768/cache" [ -x "$prefix/bin/v32lua" ] && { echo "v32lua ja instalado em $prefix/bin"; exit 0; } mkdir -p "$cache" tarball="$cache/v32lua-$TAG.tar.gz" [ -f "$tarball" ] || curl -fsSL "https://github.com/wedge1020/v32lua/archive/refs/tags/$TAG.tar.gz" -o "$tarball" echo "$SHA256 $tarball" | shasum -a 256 -c - rm -rf "$prefix.src" && mkdir -p "$prefix.src" tar -xzf "$tarball" -C "$prefix.src" --strip-components 1 ( cd "$prefix.src" && make >/dev/null && make sysinstall PREFIX="$prefix" >/dev/null ) echo "v32lua instalado em $prefix/bin"