#!/usr/bin/env bash # Monta o Pocket Dimensions RL (Lauren Hall, 7DRL 2019, MIT) a partir do commit e780294 de # github.com/laurheth/pocket-universe-7drl, sem etapa de build do autor. Mudancas em pocket-dimensions-rl/no-external.patch: # o rot.js 2.0.3 (BSD-3) deixa de vir do jsDelivr e vai junto (mesmo arquivo do npm, sha256 conferido), e a Overpass Mono # deixa de vir do Google Fonts: a OverpassMono[wght].ttf (SIL OFL 1.1) do google/fonts no commit pinado vai junto, em fonts/. # O index.html ganha tambem : sem ele o navegador le o texto UTF-8 como Latin-1. # # src/FredGames.Bundler/Builds/build-pocket-dimensions-rl.sh # # Saida: artifacts/build/pocket-dimensions-rl-e780294/pocket-dimensions-rl-e780294-dist.tar.gz (pasta dist/; igual em dois builds seguidos). set -euo pipefail COMMIT=e780294e03b9960f28e655a3d2fa4bb160851348 SHA256=93d71c594bb33bdba6dc7ac4911fbe7d629d1e2e0e0bc6130f8787162855c0cb ROT_SHA256=9d635bbd95d44c9a26d58f0d364166397d740f9aa904b6b1d0b2c6ccbde54838 ROT_LICENSE_SHA256=3631775a89d4c07e804baedcc91b61c01b55f50d5715168099d6daf61f67763b GF=https://raw.githubusercontent.com/google/fonts/9862abc066c9b83bf84c3e8ed1fc2d8d48f9bbf0 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/pocket-dimensions-rl-${COMMIT:0:7}" cache="$root/artifacts/build/cache" tarball="pocket-dimensions-rl-${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/laurheth/pocket-universe-7drl/archive/$COMMIT.tar.gz" "$SHA256" "$tarball" fetch https://cdn.jsdelivr.net/npm/rot-js@2.0.3/dist/rot.js "$ROT_SHA256" rotjs-2.0.3-rot.js fetch https://cdn.jsdelivr.net/npm/rot-js@2.0.3/license.txt "$ROT_LICENSE_SHA256" rotjs-2.0.3-license.txt fetch "$GF/ofl/overpassmono/OverpassMono%5Bwght%5D.ttf" 49f230e10251608f0ae1a2ce46be768d7b9ddcbe5cdca2e9f6b762fcbce1ae4f gf-overpassmono-OverpassMono-var.ttf fetch "$GF/ofl/overpassmono/OFL.txt" 86e5ff25c701ec446d20b1a85b02ee6d36de8503a7288a4c948f5459809af1f0 gf-overpassmono-OFL.txt rm -rf "$out" mkdir -p "$out/tree" "$out/dist/script" "$out/dist/style" tar -xzf "$cache/$tarball" -C "$out/tree" --strip-components 1 patch -s -p1 -d "$out/tree" < "$here/pocket-dimensions-rl/no-external.patch" cp -R "$out/tree/index.html" "$out/tree/script" "$out/tree/style" "$out/tree/LICENSE" "$out/dist/" cp "$cache/rotjs-2.0.3-rot.js" "$out/dist/script/rot.js" cp "$cache/rotjs-2.0.3-license.txt" "$out/dist/script/rot.js.LICENSE.txt" mkdir -p "$out/dist/fonts" cp "$cache/gf-overpassmono-OverpassMono-var.ttf" "$out/dist/fonts/OverpassMono.ttf" cp "$cache/gf-overpassmono-OFL.txt" "$out/dist/fonts/OFL.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 > "pocket-dimensions-rl-${COMMIT:0:7}-dist.tar.gz" && rm files.txt ) rm -rf "$out/tree" ls -l "$out/pocket-dimensions-rl-${COMMIT:0:7}-dist.tar.gz" shasum -a 256 "$out/pocket-dimensions-rl-${COMMIT:0:7}-dist.tar.gz"