#!/usr/bin/env bash # Gera o pacewar.pgapp do Pacewar 1.6.7 (onpon4, PyWeek 19; codigo GPL-3.0 ou posterior, arte, sons # e musica CC0 / CC BY 3.0 / CC BY-SA 3.0, ver data/*/LICENSES) a partir da tag v1.6.7 do repositorio # (github.com/pacewar/pacewar), com o Pygame SGE 2.0.2 (LGPL-3.0+) e os nossos patches assincronos dele (Builds/sge/) e o # pacewar/web.patch: laco assincrono, "Quit" fora do menu, ajuste de teclas/controle sem laco proprio, configuracao em # /saves. O jogo pedia a SGE <2.0; a 2.0.2 roda sem mudanca. Fora do pacote: icone .ico, logo_orig.svg e os arquivos de # empacotamento. Zip deterministico (Builds/pgapp.py). # # src/FredGames.Bundler/Builds/build-pacewar.sh # # Saida: artifacts/build/pacewar-1.6.7/pacewar.pgapp set -euo pipefail COMMIT=57b59f528765024948b84e80b8c7c8b1bbcd4441 SHA256=3be41cba1bdb76636d845d376ef2b86ab7d04395328b2eb7ab92a164ff11ec38 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/pacewar-1.6.7" cache="$root/artifacts/build/cache" source "$here/sge/sge-libs.sh" mkdir -p "$cache" tarball="$cache/pacewar-57b59f5.tar.gz" [ -f "$tarball" ] || curl -fsSL "https://github.com/pacewar/pacewar/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/pacewar/web.patch" rm -f setup.py requirements.txt data/images/icon.ico data/images/logo_orig.svg mv pacewar.py main.py sge_libs "$cache" "$out/tree" sge find . -name __pycache__ -prune -exec rm -rf {} \; python3 -I "$here/pgapp.py" "$out/tree" "$out/pacewar.pgapp" shasum -a 256 "$out/pacewar.pgapp"