@@ -82,12 +82,29 @@ jobs:
8282 cd release-artefacts && zip -r "AceForgeBridge-macOS-AU-VST3.zip" "AceForge Bridge.component" "AceForge Bridge.vst3" && cd ..
8383 echo "Plugin bundles signed; zip created."
8484
85- - name : Prepare pkg payload
85+ - name : Prepare pkg payload and postinstall script
8686 run : |
87- mkdir -p payload/Library/Audio/Plug-Ins/Components
88- mkdir -p payload/Library/Audio/Plug-Ins/VST3
89- cp -R "release-artefacts/AceForge Bridge.component" "payload/Library/Audio/Plug-Ins/Components/"
90- cp -R "release-artefacts/AceForge Bridge.vst3" "payload/Library/Audio/Plug-Ins/VST3/"
87+ STAGING="payload/tmp/aceforge_bridge_payload"
88+ mkdir -p "$STAGING/Components" "$STAGING/VST3"
89+ cp -R "release-artefacts/AceForge Bridge.component" "$STAGING/Components/"
90+ cp -R "release-artefacts/AceForge Bridge.vst3" "$STAGING/VST3/"
91+ mkdir -p pkg-scripts
92+ cat > pkg-scripts/postinstall << 'POSTINSTALL'
93+ # !/bin/bash
94+ set -e
95+ CONSOLE_USER=$(stat -f '%Su' /dev/console 2>/dev/null || echo "")
96+ [ -z "$CONSOLE_USER" ] && CONSOLE_USER=$(logname 2>/dev/null || true)
97+ [ -z "$CONSOLE_USER" ] && CONSOLE_USER=$(who | awk '{print $1}' | head -1)
98+ TARGET_BASE="/Users/$CONSOLE_USER/Library/Audio/Plug-Ins"
99+ STAGING_ROOT="/tmp/aceforge_bridge_payload"
100+ if [ -d "$STAGING_ROOT" ] && [ -n "$CONSOLE_USER" ] && [ "$CONSOLE_USER" != "root" ]; then
101+ mkdir -p "$TARGET_BASE/Components" "$TARGET_BASE/VST3"
102+ [ -d "$STAGING_ROOT/Components" ] && cp -R "$STAGING_ROOT/Components/"* "$TARGET_BASE/Components/" 2>/dev/null || true
103+ [ -d "$STAGING_ROOT/VST3" ] && cp -R "$STAGING_ROOT/VST3/"* "$TARGET_BASE/VST3/" 2>/dev/null || true
104+ rm -rf "$STAGING_ROOT"
105+ fi
106+ POSTINSTALL
107+ chmod +x pkg-scripts/postinstall
91108
92109 - name : Build macOS installer (.pkg)
93110 run : |
96113 --identifier com.aceforge.bridge \
97114 --version 0.1.0 \
98115 --install-location / \
116+ --scripts pkg-scripts \
99117 release-artefacts/AceForgeBridge-macOS-Installer.pkg
100- echo "Installer places AU in /Library/Audio/Plug-Ins/Components and VST3 in /Library/Audio/Plug-Ins/VST3"
118+ echo "Installer copies plugins to ~ /Library/Audio/Plug-Ins/Components and ~ /Library/Audio/Plug-Ins/VST3 (current user) "
101119
102120 # Sign the .pkg so macOS doesn't show "unidentified developer". Use Developer ID Installer cert.
103121 - name : Codesign installer (.pkg)
0 commit comments