#!/usr/bin/env bash # Compila o Mineplacer (Takeru Ohta; MIT ou Apache-2.0; motor pagurus do mesmo autor) em WebAssembly, a partir do # commit e4e6ea7 de github.com/sile/mineplacer, como o deploy.yml do autor: "cargo build --release # --target=wasm32-unknown-unknown" (Rust 1.92.0 de artifacts/tools). O repositorio nao tem Cargo.lock: o nosso # (mineplacer/Cargo.lock, gerado por "cargo generate-lockfile" em 2026-11-11) fixa as versoes, e o build usa "--locked". # O web/game.wasm do autor nao e usado: o .wasm sai deste build. O lado JavaScript e o pagurus.js do pacote npm # pagurus 0.7.2 (MIT ou Apache-2.0, do mesmo autor; a versao que a pagina do autor carrega de um CDN), conferido pelo # sha256 e servido desta pasta. A pagina (mineplacer/index.html) e nossa; o codigo do jogo nao muda. # # src/FredGames.Bundler/Builds/build-mineplacer.sh # # Saida: artifacts/build/mineplacer-e4e6ea7/{mineplacer-e4e6ea7-dist.tar.gz,licenses.txt}; o .tar.gz sai igual em dois # builds. SLUG=mineplacer REPO=sile/mineplacer COMMIT=e4e6ea7cfc865fcb8c6c9db15ceb4ac7e603af37 SHA256=e98eac97eae0f4c82c72a6d7929cd60db900f8b044a1076e0c7cf86af7f4b3c4 TOOLCHAIN=1.92.0 source "$(dirname "${BASH_SOURCE[0]}")/macroquad-web/common.sh" mq_init rm -rf "$tree/web" cp "$here/mineplacer/Cargo.lock" "$tree/Cargo.lock" mq_fetch https://registry.npmjs.org/pagurus/-/pagurus-0.7.2.tgz pagurus-0.7.2.tgz \ 6672cd8207746f95b78987360315a7eaf7d9f33de4c0089d1f28fe373fef4c0a tar -xzf "$cache/pagurus-0.7.2.tgz" -C "$out" package/dist/pagurus.js mq_cargo mineplacer cp "$tree/target/wasm32-unknown-unknown/release/mineplacer.wasm" "$out/dist/game.wasm" cp "$out/package/dist/pagurus.js" "$out/dist/pagurus.js" cp "$here/mineplacer/index.html" "$out/dist/index.html" rm -rf "$out/package" { echo "== Mineplacer (Cargo.toml: license = \"MIT OR Apache-2.0\"; LICENSE-MIT do repositorio)" cat "$tree/LICENSE-MIT" echo echo "== Mineplacer: LICENSE-APACHE do repositorio" cat "$tree/LICENSE-APACHE" echo echo "== pagurus.js (pacote npm pagurus 0.7.2, \"license\": \"(MIT OR Apache-2.0)\", Takeru Ohta): mesmo texto" echo " de licenca do crate pagurus, abaixo" echo echo "========================================================================" cat "$out/crates.txt" } > "$out/licenses.txt" mq_pack