#!/usr/bin/env bash # Gera o blast-arena.pgapp do Bombman (Miloslav Ciz "tastyfish", CC0 desde a versao 0.95) a partir do commit 8e0c3cd do # repositorio, com o patch blast-arena/web.patch: laco principal assincrono (pygbag), divisoes inteiras do Python 2, # filter/map em lista, jogo renomeado para Blast Arena (nome e textos; o logotipo do menu foi redesenhado em # blast-arena/gui_menu_background.png, CC0), sem a musica, configuracoes em /saves e "run away!" volta ao menu. # Tirados do pacote: as seis musicas .wav de terceiros (anonymous420, loyalty_freak, wake_68: a licenca CC0 delas e so # afirmada no README do jogo), a fonte LibertySans (GPL "baseada na Liberation Serif", sem texto de licenca) trocada pela # Liberation Sans 2.1.5 (OFL 1.1, com a licenca junto), logo.png, README, instalador e teste. # Zip deterministico (Builds/pgapp.py). # # src/FredGames.Bundler/Builds/build-blast-arena.sh # # Saida: artifacts/build/blast-arena-8e0c3cd/blast-arena.pgapp set -euo pipefail COMMIT=8e0c3cdb28f82d892e87d40dd74bd227dbca4ddd SHA256=af338b655e55a505a7c64b224cbd848ead1dea50cc1054be02a8d725439fced3 FONTS_SHA256=7191c669bf38899f73a2094ed00f7b800553364f90e2637010a69c0e268f25d0 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/blast-arena-8e0c3cd" cache="$root/artifacts/build/cache" mkdir -p "$cache" tarball="$cache/blast-arena-8e0c3cd.tar.gz" [ -f "$tarball" ] || curl -fsSL "https://gitlab.com/api/v4/projects/drummyfish%2Fbombman/repository/archive.tar.gz?sha=$COMMIT" -o "$tarball" echo "$SHA256 $tarball" | shasum -a 256 -c - fonts="$cache/liberation-fonts-ttf-2.1.5.tar.gz" [ -f "$fonts" ] || curl -fsSL "https://github.com/liberationfonts/liberation-fonts/files/7261482/liberation-fonts-ttf-2.1.5.tar.gz" -o "$fonts" echo "$FONTS_SHA256 $fonts" | shasum -a 256 -c - rm -rf "$out" mkdir -p "$out/tree" "$out/fonts" tar -xzf "$tarball" -C "$out/tree" --strip-components 1 tar -xzf "$fonts" -C "$out/fonts" --strip-components 1 cd "$out/tree" patch -p1 < "$here/blast-arena/web.patch" rm -f resources/music_*.wav resources/LibertySans.ttf resources/logo.png README.md screenshot.png Doxyfile installer_script.nsi make_windows_installer.sh test.py find . -name __pycache__ -prune -exec rm -rf {} \; cp "$out/fonts/LiberationSans-Regular.ttf" resources/ cp "$out/fonts/LICENSE" resources/LiberationSans-LICENSE.txt cp "$here/blast-arena/gui_menu_background.png" resources/gui_menu_background.png mv bombman.py main.py python3 -I "$here/pgapp.py" "$out/tree" "$out/blast-arena.pgapp" shasum -a 256 "$out/blast-arena.pgapp"