#!/bin/bash # Between Ridges -- the macOS installer. # # Run from Terminal with # # curl -fsSL https://daily.dataswizzles.com/install.sh | bash # # Downloads the current playtest build into ~/Applications/BetweenRidges and opens it. Run it # again any time to update; your saves and settings live elsewhere and are never touched. # # Why a script and not a download link: a build fetched by a browser gets a quarantine flag, so # Finder says "Apple could not verify" -- and on Apple Silicon this build's own signature is not # yet one the system accepts, so a clicked download does not open even after that dialog. This # fetches with curl (no flag) and re-signs the app on your own machine (codesign, part of macOS, # nothing to install), which is what makes it launch. The build is the same file as the zip at # https://daily.dataswizzles.com/mac; the only difference is these two steps. set -eu archive='https://daily.dataswizzles.com/mac' zip="$HOME/Downloads/BetweenRidges.zip" apps="$HOME/Applications/BetweenRidges" app="$apps/Between-Ridges.app" echo echo ' BETWEEN RIDGES' echo ' downloading the current build (about 100 MB) ...' mkdir -p "$HOME/Downloads" "$apps" curl -fL -# "$archive" -o "$zip" echo " unpacking into $apps ..." # ditto rather than unzip: it is the extractor that keeps a bundle's permissions and symlinks intact. ditto -xk "$zip" "$apps" rm -f "$zip" [ -d "$app" ] || { echo " the build unpacked but $app is not there" >&2; exit 1; } # Not optional: Godot's own seal is rejected by the kernel on Apple Silicon (POSIX error 163 at # launch). An ad-hoc re-sign on this machine rebuilds one it accepts. See Tools/godot_export.py. codesign --force --deep --sign - "$app" 2>/dev/null echo echo " Installed. It lives in Applications/BetweenRidges -- double-click it from now on." echo ' To update, run this same line again. To uninstall, drag that folder to the Trash.' echo open "$app"