#!/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"