#!/usr/bin/env bash # Monta o Tiny Tale (Diego Barbera, 7DRL 2016, MIT) a partir do commit 43cfa39 de github.com/dbrabera/tiny-tale, sem etapa de # build do autor. Mudanca em tiny-tale/no-external.patch: o rot.js 0.6.0 (BSD-3) deixa de vir do cdnjs e vai junto # (mesmo arquivo, sha256 conferido) e a tag duplicada de Log.js sai. # O index.html ganha tambem : sem ele o navegador le o texto UTF-8 como Latin-1. # # src/FredGames.Bundler/Builds/build-tiny-tale.sh # # Saida: artifacts/build/tiny-tale-43cfa39/tiny-tale-43cfa39-dist.tar.gz (pasta dist/; igual em dois builds seguidos). set -euo pipefail COMMIT=43cfa39a7872a0676d7f4fa319151dc2d0b60bf8 SHA256=0c3ae70257293007810763098ae8ae9bf2529696e4159c2111163d5727f0c233 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/tiny-tale-${COMMIT:0:7}" cache="$root/artifacts/build/cache" tarball="tiny-tale-${COMMIT:0:7}.tar.gz" fetch() { # url sha256 arquivo [ -f "$cache/$3" ] || curl -fsSL --retry 4 "$1" -o "$cache/$3" echo "$2 $cache/$3" | shasum -a 256 -c - >/dev/null } mkdir -p "$cache" fetch "https://github.com/dbrabera/tiny-tale/archive/$COMMIT.tar.gz" "$SHA256" "$tarball" fetch https://cdnjs.cloudflare.com/ajax/libs/rot.js/0.6.0/rot.min.js 5fa679db93f45b8ede39372572fdebc8f6cbf72e52814d730e0eeb6e9c1e4a79 rotjs-0.6.0-rot.min.js fetch https://raw.githubusercontent.com/ondras/rot.js/v0.6.0/license.txt 3631775a89d4c07e804baedcc91b61c01b55f50d5715168099d6daf61f67763b rotjs-0.6.0-license.txt rm -rf "$out" mkdir -p "$out/tree" "$out/dist" tar -xzf "$cache/$tarball" -C "$out/tree" --strip-components 1 patch -s -p1 -d "$out/tree" < "$here/tiny-tale/no-external.patch" cp -R "$out/tree/index.html" "$out/tree/src" "$out/tree/LICENSE" "$out/dist/" mkdir -p "$out/dist/lib" cp "$cache/rotjs-0.6.0-rot.min.js" "$out/dist/lib/rot.min.js" cp "$cache/rotjs-0.6.0-license.txt" "$out/dist/lib/rot.LICENSE.txt" find "$out/dist" -exec touch -t 202510300000 {} + ( cd "$out" && find dist -type f | LC_ALL=C sort > files.txt \ && COPYFILE_DISABLE=1 tar --format=ustar --uid 0 --gid 0 --uname root --gname root -n -cf - -T files.txt \ | gzip -n -9 > "tiny-tale-${COMMIT:0:7}-dist.tar.gz" && rm files.txt ) rm -rf "$out/tree" ls -l "$out/tiny-tale-${COMMIT:0:7}-dist.tar.gz" shasum -a 256 "$out/tiny-tale-${COMMIT:0:7}-dist.tar.gz"