#!/usr/bin/env bash # Gera o angry-drunken-dwarves.pgapp do Angry, Drunken Dwarves 1.0.1 (Joe Wreschnig, 2004-2006, GPL-2: codigo, musica de # Brendan Becker e Ben Zeigler, retratos de Jessi Silver; efeitos de Manuel Moss, John-Paul Gignac e Pete Shinners tambem GPL, # e cinco sons em dominio publico) a partir do tarball do Debian (angrydd_1.0.1.orig.tar.gz) com sete patches do pacote Debian # 1.0.1-14 (GPL-2: caminhos, modo em janela, porta para Python 3, correcoes) e o nosso angry-drunken-dwarves/web.patch (lacos # assincronos, sem numpy, saves em /saves, tela cheia a cargo da pagina, "Quit Game" volta ao menu). Fora do pacote: o # material de empacotamento e as fontes de imagem e de musica (images-src, music-src), que ficam no tarball hospedado. # Zip deterministico (Builds/pgapp.py). # # src/FredGames.Bundler/Builds/build-angry-drunken-dwarves.sh # # Saida: artifacts/build/angry-drunken-dwarves-1.0.1/angry-drunken-dwarves.pgapp set -euo pipefail ORIG_SHA256=e4950cf9c059302632f88340aad23f389e335b21e266672b8ac5ae0f9fab30ee DEBIAN_SHA256=d8517b728eff2bb1d15b50a63cd535c7e2a4bdb687fa647397091be46ab16627 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/angry-drunken-dwarves-1.0.1" cache="$root/artifacts/build/cache" mkdir -p "$cache" orig="$cache/angrydd_1.0.1.orig.tar.gz" deb="$cache/angrydd_1.0.1-14.debian.tar.xz" [ -f "$orig" ] || curl -fsSL "http://deb.debian.org/debian/pool/main/a/angrydd/angrydd_1.0.1.orig.tar.gz" -o "$orig" [ -f "$deb" ] || curl -fsSL "http://deb.debian.org/debian/pool/main/a/angrydd/angrydd_1.0.1-14.debian.tar.xz" -o "$deb" echo "$ORIG_SHA256 $orig" | shasum -a 256 -c - echo "$DEBIAN_SHA256 $deb" | shasum -a 256 -c - rm -rf "$out" mkdir -p "$out/tree" "$out/debian" tar -xzf "$orig" -C "$out/tree" --strip-components 1 tar -xJf "$deb" -C "$out/debian" cd "$out/tree" for p in 01_prefix_usr 02_unixbros 03_bug405368 04_bug406548 05_bug402333 windowed-mode python3; do patch -p1 < "$out/debian/debian/patches/$p.patch" done patch -p1 < "$here/angry-drunken-dwarves/web.patch" rm -rf Makefile check.py profile.sh py2exe.py angrydd.6 angrydd.ico images-src music-src HACKING TODO find . -name __pycache__ -prune -exec rm -rf {} \; mv angrydd.py main.py python3 -I "$here/pgapp.py" "$out/tree" "$out/angry-drunken-dwarves.pgapp" shasum -a 256 "$out/angry-drunken-dwarves.pgapp"