#!/usr/bin/env bash # Gera o ticoban.pyxapp de Ticoban (Son Link (Alfonso Saavedra), GPL-3.0-or-later, GPL-3.0-or-later) a partir do commit 6e305c5 do repositorio son-link/ticoban-pyxel, # com mudancas nossas (publicadas junto do fonte): # ticoban/web.patch sem as opcoes Exit e "Save & exit" (sair so congela a pagina na web: "Save" grava e o jogo continua), quit_key desligada, # e os saves vao para /saves/ticoban (IndexedDB, mantido pela pagina) em vez de ./saves. # O .pyxapp leva ticoban.py, game/ (codigo, assets.pyxres, levels/oficial.txt) e o LICENSE. # Zip deterministico (Builds/pyxapp.py): dois builds seguidos dao o mesmo sha256. # # src/FredGames.Bundler/Builds/build-ticoban.sh # # Saida: artifacts/build/ticoban-6e305c5/ticoban.pyxapp set -euo pipefail COMMIT=6e305c54eadd787a0875c63a4b8489a6f9e157b8 SHA256=43fe80a6f663be84b2abbaabecbc77adc57bac912641fe3e7a250d92c94e12a0 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/ticoban-6e305c5" cache="$root/artifacts/build/cache" mkdir -p "$cache" tarball="$cache/ticoban-6e305c5.tar.gz" [ -f "$tarball" ] || curl -fsSL "https://github.com/son-link/ticoban-pyxel/archive/$COMMIT.tar.gz" -o "$tarball" echo "$SHA256 $tarball" | shasum -a 256 -c - rm -rf "$out" mkdir -p "$out/tree" "$out/app/ticoban" tar -xzf "$tarball" -C "$out/tree" --strip-components 1 patch -d "$out/tree" -p1 < "$here/ticoban/web.patch" cp -R "$out/tree/ticoban.py" "$out/tree/game" "$out/tree/LICENSE" "$out/app/ticoban/" python3 -I "$here/pyxapp.py" "$out/app/ticoban" ticoban.py "$out/ticoban.pyxapp" shasum -a 256 "$out/ticoban.pyxapp"