32 lines
690 B
Bash
Executable File
32 lines
690 B
Bash
Executable File
#!/bin/zsh
|
|
set -euo pipefail
|
|
|
|
PROJECT_DIR="${0:A:h:h}"
|
|
APP_PATH="$PROJECT_DIR/dist/puter.app"
|
|
DMG_PATH="$PROJECT_DIR/dist/puter-macOS.dmg"
|
|
STAGING_DIR="$(mktemp -d /tmp/puter-dmg.XXXXXX)"
|
|
|
|
cleanup() {
|
|
rm -rf "$STAGING_DIR"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
if [[ ! -d "$APP_PATH" ]]; then
|
|
"$PROJECT_DIR/scripts/build-app.sh"
|
|
fi
|
|
|
|
ditto --norsrc "$APP_PATH" "$STAGING_DIR/puter.app"
|
|
xattr -cr "$STAGING_DIR/puter.app"
|
|
codesign --verify --deep --strict "$STAGING_DIR/puter.app"
|
|
ln -s /Applications "$STAGING_DIR/Applications"
|
|
|
|
hdiutil create \
|
|
-volname "puter" \
|
|
-srcfolder "$STAGING_DIR" \
|
|
-format UDZO \
|
|
-imagekey zlib-level=9 \
|
|
-ov \
|
|
"$DMG_PATH"
|
|
|
|
print "Built $DMG_PATH"
|