#!/usr/bin/env bash # Gera o 20000-light-years-into-space.pgapp do 20,000 Light-Years Into Space 1.5.2 (Jack Whitham, 2006-2021, GPL-2; graficos de Cris # Grada tambem GPL-2; fonte Bitstream Vera; foto lunar da Apollo 15, NASA; icone do XSane, GPL) a partir do tarball do Debian # (lightyears_1.5.2.orig.tar.gz, o mesmo do repositorio do autor na versao 1.5.2) com o nosso 20000-light-years-into-space/web.patch # (lacos assincronos, sem busca de novidades nem navegador, saves em /saves, sem "Exit": o menu recomeca). # Tres texturas (006metal, greenrust, rivets), cujas originais vinham do site Accustudio ("livre de direitos" so pelos termos # do site), e o som do terremoto, cuja original dizia "dominio publico" sem fonte verificavel, sao trocados por arquivos que # o nosso 20000-light-years-into-space/gen-assets.py desenha e sintetiza (Pillow em artifacts/tools/venv; o som vira .ogg com o # wav2ogg de Builds/pygame-music). Fora do pacote: testes, empacotamento, o manual em PDF e a foto de exemplo. # Zip deterministico (Builds/pgapp.py). # # src/FredGames.Bundler/Builds/build-20000-light-years-into-space.sh # # Saida: artifacts/build/20000-light-years-into-space-1.5.2/20000-light-years-into-space.pgapp set -euo pipefail ORIG_SHA256=5c68bf767a6b85d5a939c232e8a92583f740cbbb864b1583228afb2006004096 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/20000-light-years-into-space-1.5.2" cache="$root/artifacts/build/cache" tools="$root/artifacts/tools" [ -x "$tools/pygame-music/wav2ogg" ] || { echo "Compile antes as ferramentas de musica: $here/pygame-music/README" >&2; exit 1; } [ -x "$tools/venv/bin/python" ] || { echo "Falta o Python com Pillow em $tools/venv" >&2; exit 1; } mkdir -p "$cache" orig="$cache/lightyears_1.5.2.orig.tar.gz" [ -f "$orig" ] || curl -fsSL "http://deb.debian.org/debian/pool/main/l/lightyears/lightyears_1.5.2.orig.tar.gz" -o "$orig" echo "$ORIG_SHA256 $orig" | shasum -a 256 -c - rm -rf "$out" mkdir -p "$out/tree" tar -xzf "$orig" -C "$out/tree" --strip-components 1 cd "$out/tree" rm -rf tests lib20ktest pyinstaller pytest.ini manual.pdf sample.jpg lightyears patch -p1 < "$here/20000-light-years-into-space/web.patch" "$tools/venv/bin/python" -I "$here/20000-light-years-into-space/gen-assets.py" data "$out/earthquake.wav" "$tools/pygame-music/wav2ogg" "$out/earthquake.wav" data/earthquake_ogg 0.3 find . -name __pycache__ -prune -exec rm -rf {} \; python3 -I "$here/pgapp.py" "$out/tree" "$out/20000-light-years-into-space.pgapp" shasum -a 256 "$out/20000-light-years-into-space.pgapp"