#!/usr/bin/env bash # Gera o which-way-is-up.pgapp do Which Way Is Up? (Olli Etuaho, bifurcacao 2.0.0pre de Daniel Foerster/pydsigner, # GPL-2.0 no codigo e CC BY 3.0 no resto) a partir do commit 53a0dd4 do repositorio, com o patch web.patch: porta de # Python 2 para 3 (imports, has_key, print >>, divisao inteira, None > 0), os lacos viram assincronos (pygbag), o # leitor de TMX do pytmx vira uma funcao de 20 linhas (so o primeiro mundo usa TMX), a pasta de saves passa a ser # /saves quando ela existe (a pagina a guarda no IndexedDB) e os menus de tela cheia, personagem e mundo saem (os # outros dois mundos dessa versao nao tem todas as imagens). O script tira do pacote os arquivos de desenvolvimento # (run_game.py, .bat, .ico, setup.py com py2exe, stubs que nao compilam) e poe o main.py de entrada. # Zip deterministico (Builds/pgapp.py). # # src/FredGames.Bundler/Builds/build-which-way-is-up.sh # # Saida: artifacts/build/which-way-is-up-53a0dd4/which-way-is-up.pgapp set -euo pipefail COMMIT=53a0dd44358bf40728c159314d2e5f4430d2272a SHA256=f670e4e65a47ce1f1ee806a537ddce8d044f32f345e9ddab7a0cd6704f7bda96 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/which-way-is-up-53a0dd4" cache="$root/artifacts/build/cache" mkdir -p "$cache" tarball="$cache/which-way-is-up-53a0dd4.tar.gz" [ -f "$tarball" ] || curl -fsSL "https://github.com/pydsigner/whichwayisup2/archive/$COMMIT.tar.gz" -o "$tarball" echo "$SHA256 $tarball" | shasum -a 256 -c - rm -rf "$out" mkdir -p "$out/tree" tar -xzf "$tarball" -C "$out/tree" --strip-components 1 cd "$out/tree" rm -f run_game.py cmd_here.bat alpha_adder.py lib/setup.py lib/game_interface.py lib/event_scripting.py lib/universe.py lib/geany_run_script.bat lib/pack.bat lib/whichway.ico patch -p1 < "$here/which-way-is-up/web.patch" find . -name __pycache__ -prune -exec rm -rf {} \; python3 -I "$here/pgapp.py" "$out/tree" "$out/which-way-is-up.pgapp" shasum -a 256 "$out/which-way-is-up.pgapp"