#!/usr/bin/env bash # Gera o slingshot.pgapp do Slingshot 0.8.1p (Jonathan Musther e Bart Mak, 2007, GPL-2-ou-posterior; fonte FreeSans Bold da FSF) # a partir do tarball original do Debian (slingshot_0.8.1p.orig.tar.gz, pasta slingshot/; o Readme.txt com a licenca fica no # tarball hospedado) com o nosso slingshot/web.patch: porta de Python 2 para 3, laco assincrono (pygbag), ajustes salvos em /saves, # sem arquivo de log. Zip deterministico (Builds/pgapp.py). # # src/FredGames.Bundler/Builds/build-slingshot.sh # # Saida: artifacts/build/slingshot-0.8.1p/slingshot.pgapp set -euo pipefail SHA256=5287497c7a3710785637771f22e785956750b1af053030673c5fd306b8252eb3 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/slingshot-0.8.1p" cache="$root/artifacts/build/cache" mkdir -p "$cache" orig="$cache/slingshot_0.8.1p.orig.tar.gz" [ -f "$orig" ] || curl -fsSL "http://archive.debian.org/debian/pool/main/s/slingshot/slingshot_0.8.1p.orig.tar.gz" -o "$orig" echo "$SHA256 $orig" | shasum -a 256 -c - rm -rf "$out" mkdir -p "$out/tree" tar -xzf "$orig" -C "$out/tree" --strip-components 2 slingshot-0.8.1p/slingshot cd "$out/tree" patch -p1 < "$here/slingshot/web.patch" mv slingshot.py main.py find . -name __pycache__ -prune -exec rm -rf {} \; python3 -I "$here/pgapp.py" "$out/tree" "$out/slingshot.pgapp" shasum -a 256 "$out/slingshot.pgapp"