From d785824b3d5c4ce7aca13f249e034dc8a7e4b44c Mon Sep 17 00:00:00 2001 From: Forketyfork Date: Wed, 4 Feb 2026 13:09:21 +0100 Subject: [PATCH 1/2] fix: update release workflow and formula for new bundle structure The bundle script now uses `architect` directly as the main executable instead of a shell wrapper calling `architect.bin`. Update: - release.yaml: reference `architect` and sign app bundle with entitlements - architect.rb: copy binary directly, add NS*UsageDescription keys to Info.plist --- .github/workflows/release.yaml | 12 ++++++++++-- Formula/architect.rb | 26 +++++++++++++++++--------- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index b72284d..9741cc4 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -89,13 +89,21 @@ jobs: for lib in release/Architect.app/Contents/MacOS/lib/*.dylib; do codesign --force --options runtime --timestamp --sign "$IDENTITY" "$lib" done - codesign --force --options runtime --timestamp --sign "$IDENTITY" release/Architect.app/Contents/MacOS/architect.bin + codesign --force --options runtime --timestamp --sign "$IDENTITY" \ + --entitlements macos/Architect.entitlements \ + release/Architect.app/Contents/MacOS/architect + codesign --force --options runtime --timestamp --sign "$IDENTITY" \ + --entitlements macos/Architect.entitlements \ + release/Architect.app else echo "No Developer ID cert available; applying ad-hoc signature for Gatekeeper" for lib in release/Architect.app/Contents/MacOS/lib/*.dylib; do codesign --force --sign - "$lib" done - codesign --force --sign - release/Architect.app/Contents/MacOS/architect.bin + codesign --force --sign - --entitlements macos/Architect.entitlements \ + release/Architect.app/Contents/MacOS/architect + codesign --force --sign - --entitlements macos/Architect.entitlements \ + release/Architect.app fi cd release tar -czf architect-macos-${{ matrix.arch }}.tar.gz Architect.app diff --git a/Formula/architect.rb b/Formula/architect.rb index 78590c8..4dd62a0 100644 --- a/Formula/architect.rb +++ b/Formula/architect.rb @@ -46,21 +46,29 @@ def install #{version} CFBundleShortVersionString #{version} + NSHighResolutionCapable + + NSAppleEventsUsageDescription + A program running in Architect would like to use AppleScript. + NSCameraUsageDescription + A program running in Architect would like to use the camera. + NSMicrophoneUsageDescription + A program running in Architect would like to use your microphone. + NSContactsUsageDescription + A program running in Architect would like to access your Contacts. + NSCalendarsUsageDescription + A program running in Architect would like to access your Calendar. + NSLocationUsageDescription + A program running in Architect would like to access your location. + NSPhotoLibraryUsageDescription + A program running in Architect would like to access your Photo Library. EOS - (macos/"architect").write <<~EOS - #!/bin/bash - SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" - exec "$SCRIPT_DIR/architect.bin" "$@" - EOS - + cp buildpath/"zig-out/bin/architect", macos/"architect" chmod 0755, macos/"architect" - (macos/"architect.bin").write (buildpath/"zig-out/bin/architect").read - chmod 0755, macos/"architect.bin" - resources.install "assets/macos/#{app_name}.icns" end From 8043915dde16f64fdd6690c271ef5bc6e8d95ff0 Mon Sep 17 00:00:00 2001 From: Forketyfork Date: Wed, 4 Feb 2026 13:24:25 +0100 Subject: [PATCH 2/2] chore: use idiomatic Homebrew install method Replace cp + chmod with install, which handles permissions automatically. --- Formula/architect.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Formula/architect.rb b/Formula/architect.rb index 4dd62a0..ed2622a 100644 --- a/Formula/architect.rb +++ b/Formula/architect.rb @@ -66,8 +66,7 @@ def install EOS - cp buildpath/"zig-out/bin/architect", macos/"architect" - chmod 0755, macos/"architect" + install buildpath/"zig-out/bin/architect", macos/"architect" resources.install "assets/macos/#{app_name}.icns" end