#!/usr/bin/env bash # Gera o eight-bit-passage.pgapp do The Eight Bit Passage (Christopher Night, PyWeek 18, 2014) a partir do tgz original do # PyWeek (versao 2, sha256 abaixo), portado de Python 2 para 3 por um patch (eight-bit-passage/web.patch): sintaxe (2to3), # divisao inteira, laco principal assincrono (exigido pelo pygbag; Q no menu de pausa recomeca em vez de sair), save em # /saves, sem o ruido por pixel das imagens (lowres) e o main.py da raiz. Fora do .pgapp: o tgz da versao 1 que vinha # dentro, as capturas de tela e o .pyw. Zip deterministico (Builds/pgapp.py). # # src/FredGames.Bundler/Builds/build-eight-bit-passage.sh # # Saida: artifacts/build/eight-bit-passage/eight-bit-passage.pgapp set -euo pipefail SHA256=443763b98d98cca456f0e5604882517595d845c0c48bbbee6623913fce118590 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/eight-bit-passage" cache="$root/artifacts/build/cache" mkdir -p "$cache" zip="$cache/eightbitpassage-v2.tgz" [ -f "$zip" ] || curl -fsSL "https://s3.eu-west-2.amazonaws.com/media.pyweek.org/18/unifac18/eightbitpassage-v2.tgz" -o "$zip" echo "$SHA256 $zip" | shasum -a 256 -c - rm -rf "$out" mkdir -p "$out/tree" tar -xzf "$zip" -C "$out/tree" g="$out/tree/eightbitpassage" rm -rf "$g/eightbit-v1.tgz" "$g/screenshots" "$g/run_game.pyw" find "$g" \( -name __pycache__ -o -name .DS_Store -o -name '*.pyc' -o -name '*.swp' \) -prune -exec rm -rf {} + patch -d "$g" -p1 < "$here/eight-bit-passage/web.patch" python3 -I "$here/pgapp.py" "$g" "$out/eight-bit-passage.pgapp" shasum -a 256 "$out/eight-bit-passage.pgapp"