#!/usr/bin/env bash # Gera o tangomon.pgapp do Tangomon 2.0 (onpon4, 2017-2020; codigo GPL-3.0 ou posterior; sprites, sons e musica CC0 e CC BY # 3.0, cada arquivo em data/LICENSES) a partir da tag v2.0 do repositorio (github.com/tangomon-game/tangomon), com o Pygame # SGE 2.0.2 e a xsge_gui 2.0 (LGPL-3.0+) e os nossos patches assincronos (Builds/sge/), mais o tangomon/web.patch: laco # assincrono, perguntas de texto e confirmacoes por chamadas de retorno (os dialogos nao bloqueiam mais), sem Quit, tela cheia # nem escolha de fonte (o navegador nao tem fontes do sistema), saves em /saves. O jogo pedia a SGE <2.0 e a xsge_gui 1.x; o # patch o leva para a API da xsge_gui 2.0 (textbox_sprite vira TextBox.get_height()). Fora do pacote: as traducoes, o icone # .ico, e as fontes dos sons (sfxr) e do logo/icone (svg). Zip deterministico (Builds/pgapp.py). # # src/FredGames.Bundler/Builds/build-tangomon.sh # # Saida: artifacts/build/tangomon-2.0/tangomon.pgapp set -euo pipefail COMMIT=0891f5f1e9094f5bf5e48be7e9b3543979166340 SHA256=709f93abf509ea37e161ece2213c357d7d5dc8a6a852c495af0cf82060fcebe2 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/tangomon-2.0" cache="$root/artifacts/build/cache" source "$here/sge/sge-libs.sh" mkdir -p "$cache" tarball="$cache/tangomon-0891f5f.tar.gz" [ -f "$tarball" ] || curl -fsSL "https://github.com/tangomon-game/tangomon/archive/$COMMIT.tar.gz" -o "$tarball" echo "$SHA256 $tarball" | shasum -a 256 -c - rm -rf "$out" mkdir -p "$out/tree" tar -xzf "$tarball" -C "$out/tree" --strip-components 1 cd "$out/tree" patch -p1 < "$here/tangomon/web.patch" rm -rf setup.py requirements.txt data/locale data/images/misc/icon.ico data/images/misc/sources data/sounds/sources sge_libs "$cache" "$out/tree" sge xsge_gui mv tangomon.py main.py find . -name __pycache__ -prune -exec rm -rf {} \; python3 -I "$here/pgapp.py" "$out/tree" "$out/tangomon.pgapp" shasum -a 256 "$out/tangomon.pgapp"