igneum/packaging/mac/app/launcher.sh
igneum-labs 3baf399615 Packaging: Igneum Miner for Mac and Windows, one-tap installs with the coin on every file and window
Mac: bundle renamed Igneum Miner.app (network.igneum.miner, 0.1.0, LSMinimumSystemVersion 11.0, igneum.icns),
Terminal title Igneum Miner, seed line in the first-run text, branded DMG (volume icon, background, icon slots via
dmgbuild), dist/Igneum-Miner-0.1.0.dmg at 16.2 MB, tested synced against the live node on 27400/27401.
Windows: packaging/windows with windres .rc files and embed-resources.sh (relink commands for the next cross-build),
Igneum-Miner.iss (Program Files, Start Menu group, firewall rule, uninstall stops the processes, licence, seed line),
BUILD-INSTALLER.bat and build-installer.ps1 for the project lead's PC (winget Inno Setup 6, rcedit fallback for the exe icon).
Icons: brand/icons/make-icons.py makes igneum.icns, igneum.ico, the Inno wizard art and the DMG background.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 22:26:57 +00:00

19 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
# Bundle executable of "Igneum Miner.app" (Contents/MacOS/Igneum Miner). Finder runs this with no terminal, so
# it opens Resources/igneum-miner.sh in Terminal and exits. A shell script, not an AppleScript applet: Terminal
# opening a file it was handed by `open -a Terminal` needs no Automation consent, an AppleScript `tell Terminal
# to do script` would prompt "Igneum Miner wants to control Terminal" on the first run.
# Before that it removes the quarantine flag from the bundle's own files: once the user has let the app through
# Gatekeeper, the binaries inside would still be checked one by one on their first exec and refused as
# unidentified. The flag can only be removed on a writable volume, so the app must be run from Applications
# (or any folder), not straight from the DMG.
CONTENTS="$(cd "$(dirname "$0")/.." && pwd)"
RES="$CONTENTS/Resources"
if ! xattr -dr com.apple.quarantine "$RES" 2>/dev/null; then
if [ -n "$(xattr -p com.apple.quarantine "$RES/igneum-miner.sh" 2>/dev/null)" ]; then
osascript -e 'display dialog "Drag Igneum Miner into Applications first, then open it from there. It cannot start from the disk image." buttons {"OK"} default button 1 with title "Igneum Miner"' >/dev/null 2>&1
exit 1
fi
fi
chmod +x "$RES/igneum-miner.sh" "$RES/bin/"* 2>/dev/null
exec /usr/bin/open -a Terminal "$RES/igneum-miner.sh"