#!/usr/bin/env bash # Gera o wizards-data.pgapp do The Wizard's Data (mit-mit e Lucid Design Art, PyWeek 20, 2015) a partir do zip original do # PyWeek (sha256 abaixo), portado de Python 2 para 3 por um patch (wizards-data/web.patch): divisao inteira (`//`), # xrange, laco principal assincrono (exigido pelo pygbag), o "Quit" nao faz nada, o progresso vai para /saves e o # main.py da raiz (o do jogo vira src/wd_main.py). Tres imagens trazem texto na fonte "Celtic Bit" (CC BY-ND, que nao # serve): title_bg_2x.png, paused_2x.png e help_2x.png sao trocadas pelas de wizards-data/gfx/, redesenhadas com fontes # SIL OFL 1.1 (Jacquard 24, Jacquard 12 e Jersey 10) por wizards-data/wd_art.py. Zip deterministico (Builds/pgapp.py). # # src/FredGames.Bundler/Builds/build-wizards-data.sh # # Saida: artifacts/build/wizards-data/wizards-data.pgapp set -euo pipefail SHA256=86eceeef72933a2d0ffac1ba2c4a9c6785c50b3d2315582155cb5bd2a458d4d1 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/wizards-data" cache="$root/artifacts/build/cache" mkdir -p "$cache" zip="$cache/thewizardsdata_pyweek20.zip" [ -f "$zip" ] || curl -fsSL "https://s3.eu-west-2.amazonaws.com/media.pyweek.org/20/mitmit20/thewizardsdata_pyweek20.zip" -o "$zip" echo "$SHA256 $zip" | shasum -a 256 -c - rm -rf "$out" mkdir -p "$out/tree" unzip -q "$zip" -d "$out/tree" -x '__MACOSX/*' g="$out/tree/thewizardsdata_pyweek20" find "$g" \( -name __pycache__ -o -name .DS_Store -o -name '*.pyc' -o -name '*.swp' \) -prune -exec rm -rf {} + patch -d "$g" -p1 < "$here/wizards-data/web.patch" cp "$here"/wizards-data/gfx/*.png "$g/data/gfx/" python3 -I "$here/pgapp.py" "$g" "$out/wizards-data.pgapp" shasum -a 256 "$out/wizards-data.pgapp"