#!/usr/bin/env bash # Monta o Amulet Raider (James McNeill, 7DRL 2022, MIT) a partir do commit 4f9417d de github.com/mcneja/7drl-2022; so a pasta web/ (o # jogo e HTML+JS puro, sem build). Mudanca em amulet-raider/no-external.patch: sai o link "Back" para a pagina do repositorio. # # src/FredGames.Bundler/Builds/build-amulet-raider.sh # # Saida: artifacts/build/amulet-raider-4f9417d/amulet-raider-4f9417d-dist.tar.gz (pasta dist/; igual em dois builds seguidos). set -euo pipefail COMMIT=4f9417d04cdb491de9cfba952cb80c48cd453107 SHA256=03ae9e8815b892ed65366f3338f13ae48cd60fb35a602e28d72973e6b11e7c2c here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/amulet-raider-${COMMIT:0:7}" cache="$root/artifacts/build/cache" tarball="amulet-raider-${COMMIT:0:7}.tar.gz" fetch() { # url sha256 arquivo [ -f "$cache/$3" ] || curl -fsSL --retry 4 "$1" -o "$cache/$3" echo "$2 $cache/$3" | shasum -a 256 -c - >/dev/null } mkdir -p "$cache" fetch "https://github.com/mcneja/7drl-2022/archive/$COMMIT.tar.gz" "$SHA256" "$tarball" rm -rf "$out" mkdir -p "$out/tree" "$out/dist" tar -xzf "$cache/$tarball" -C "$out/tree" --strip-components 1 patch -s -p1 -d "$out/tree" < "$here/amulet-raider/no-external.patch" cp -R "$out/tree/web/." "$out/dist/" cp "$out/tree/LICENSE" "$out/dist/LICENSE" find "$out/dist" -exec touch -t 202510300000 {} + ( cd "$out" && find dist -type f | LC_ALL=C sort > files.txt \ && COPYFILE_DISABLE=1 tar --format=ustar --uid 0 --gid 0 --uname root --gname root -n -cf - -T files.txt \ | gzip -n -9 > "amulet-raider-${COMMIT:0:7}-dist.tar.gz" && rm files.txt ) rm -rf "$out/tree" ls -l "$out/amulet-raider-${COMMIT:0:7}-dist.tar.gz" shasum -a 256 "$out/amulet-raider-${COMMIT:0:7}-dist.tar.gz"