#!/usr/bin/env bash # Gera o blastosaurus-rex.pgapp do Blastosaurus Rex (entrada AllAboutMonstrs do PyWeek 15, 2012, de Peter "scav" e Threads; # codigo GPL, arte CC BY-SA 3.0) a partir do tarball publicado no PyWeek (AllAboutMonstrs-1.0.0rc.tar.gz), com o nosso # blastosaurus-rex/web.patch: porta de Python 2 para 3, lacos assincronos (pygbag), saves em /saves, sem som. # Dois arquivos trocados: a fonte Anaktoria (George Douros, "freeware", sem licenca de redistribuicao) vira a IM Fell English # Roman (Igino Marini, OFL 1.1, google/fonts) com a OFL junto. Fora do pacote: todos os .ogg (as musicas sao gravacoes de # terceiros do classiccat.net e a tela de creditos cita sons do FreeSound sem dizer quais; sem licenca registrada, saem), # os fontes XCF/SVG da arte, o material de empacotamento do PyWeek e a fonte antiga. # Zip deterministico (Builds/pgapp.py). # # src/FredGames.Bundler/Builds/build-blastosaurus-rex.sh # # Saida: artifacts/build/blastosaurus-rex-1.0.0rc/blastosaurus-rex.pgapp set -euo pipefail SHA256=03e40a63b1f3474b63ada354f4253f80a9fdd9cbbc7a7f1880e2736a3b5d0fab GF=6392e4f212bab750be373234f29966cb268e1cfd FONT_SHA256=fe9705bbde51af802719246d4608d08d37bde956ab99d9a590da996a5221a24c OFL_SHA256=2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/blastosaurus-rex-1.0.0rc" cache="$root/artifacts/build/cache" mkdir -p "$cache" fetch() { [ -f "$cache/$1" ] || curl -fsSL "$2" -o "$cache/$1"; echo "$3 $cache/$1" | shasum -a 256 -c -; } fetch AllAboutMonstrs-1.0.0rc.tar.gz "https://s3.eu-west-2.amazonaws.com/media.pyweek.org/15/AllAboutMonstrs/AllAboutMonstrs-1.0.0rc.tar.gz" "$SHA256" fetch IMFeENrm28P-${GF:0:7}.ttf "https://raw.githubusercontent.com/google/fonts/$GF/ofl/imfellenglish/IMFeENrm28P.ttf" "$FONT_SHA256" fetch IMFellEnglish-OFL-${GF:0:7}.txt "https://raw.githubusercontent.com/google/fonts/$GF/ofl/imfellenglish/OFL.txt" "$OFL_SHA256" rm -rf "$out" mkdir -p "$out/tree" tar -xzf "$cache/AllAboutMonstrs-1.0.0rc.tar.gz" -C "$out/tree" --strip-components 1 cd "$out/tree" patch -p1 < "$here/blastosaurus-rex/web.patch" rm -rf PKG-INFO android.txt pyweek_upload.py run_game.py scripts setup.py rm -f AllAboutMonstrs/data/Anaktoria.otf AllAboutMonstrs/data/numerical_phonographs/*.ogg rmdir AllAboutMonstrs/data/numerical_phonographs rm -rf AllAboutMonstrs/data/delineated_chromographs find AllAboutMonstrs/data -name '*.xcf' -delete cp "$cache/IMFeENrm28P-${GF:0:7}.ttf" AllAboutMonstrs/data/IMFeENrm28P.ttf cp "$cache/IMFellEnglish-OFL-${GF:0:7}.txt" AllAboutMonstrs/data/IMFellEnglish-OFL.txt find . -name __pycache__ -prune -exec rm -rf {} \; python3 -I "$here/pgapp.py" "$out/tree" "$out/blastosaurus-rex.pgapp" shasum -a 256 "$out/blastosaurus-rex.pgapp"