Skip to content

Commit 9f6e738

Browse files
committed
build: add macOS-specific configuration and cross-compilation support
- Add Info.plist for macOS app metadata - Configure bundle identifier as claudia.asterisk.so - Set minimum macOS version to 10.15 - Register .claudia.json file type association - Add usage descriptions for camera and microphone access - Add entitlements.plist for macOS app permissions - Disable app sandbox for Homebrew compatibility - Enable network access for API communications - Allow file system access and subprocess spawning - Configure hardened runtime exceptions for JIT and library validation - Enable automation for Apple Events - Add .cargo/config.toml for cross-compilation - Configure aarch64-unknown-linux-gnu target - Enable PKG_CONFIG_ALLOW_CROSS for cross-platform builds
1 parent 2a2dd03 commit 9f6e738

3 files changed

Lines changed: 97 additions & 0 deletions

File tree

.cargo/config.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[target.aarch64-unknown-linux-gnu]
2+
linker = "aarch64-linux-gnu-gcc"
3+
4+
[env]
5+
PKG_CONFIG_ALLOW_CROSS = "1"

src-tauri/Info.plist

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>NSRequiresAquaSystemAppearance</key>
6+
<false/>
7+
<key>LSMinimumSystemVersion</key>
8+
<string>10.15</string>
9+
<key>CFBundleShortVersionString</key>
10+
<string>0.1.0</string>
11+
<key>CFBundleName</key>
12+
<string>Claudia</string>
13+
<key>CFBundleDisplayName</key>
14+
<string>Claudia</string>
15+
<key>CFBundleIdentifier</key>
16+
<string>claudia.asterisk.so</string>
17+
<key>CFBundleDocumentTypes</key>
18+
<array>
19+
<dict>
20+
<key>CFBundleTypeName</key>
21+
<string>Claudia Agent</string>
22+
<key>CFBundleTypeRole</key>
23+
<string>Editor</string>
24+
<key>CFBundleTypeExtensions</key>
25+
<array>
26+
<string>claudia.json</string>
27+
</array>
28+
<key>CFBundleTypeIconFile</key>
29+
<string>icon.icns</string>
30+
<key>LSHandlerRank</key>
31+
<string>Owner</string>
32+
</dict>
33+
</array>
34+
<key>NSAppleEventsUsageDescription</key>
35+
<string>Claudia needs to send Apple Events to other applications.</string>
36+
<key>NSAppleScriptEnabled</key>
37+
<true/>
38+
<key>NSCameraUsageDescription</key>
39+
<string>Claudia needs camera access for capturing images for AI processing.</string>
40+
<key>NSMicrophoneUsageDescription</key>
41+
<string>Claudia needs microphone access for voice input features.</string>
42+
</dict>
43+
</plist>

src-tauri/entitlements.plist

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<!-- Allow app to be run from Homebrew installation -->
6+
<key>com.apple.security.app-sandbox</key>
7+
<false/>
8+
9+
<!-- Network access for Claude API and other services -->
10+
<key>com.apple.security.network.client</key>
11+
<true/>
12+
<key>com.apple.security.network.server</key>
13+
<true/>
14+
15+
<!-- File system access -->
16+
<key>com.apple.security.files.user-selected.read-write</key>
17+
<true/>
18+
<key>com.apple.security.files.downloads.read-write</key>
19+
<true/>
20+
21+
<!-- Allow spawning subprocesses (needed for shell commands) -->
22+
<key>com.apple.security.inherit</key>
23+
<true/>
24+
25+
<!-- Allow automation for Apple Events -->
26+
<key>com.apple.security.automation.apple-events</key>
27+
<true/>
28+
29+
<!-- Camera and microphone if needed -->
30+
<key>com.apple.security.device.camera</key>
31+
<true/>
32+
<key>com.apple.security.device.microphone</key>
33+
<true/>
34+
35+
<!-- Printing -->
36+
<key>com.apple.security.print</key>
37+
<true/>
38+
39+
<!-- Required for Hardened Runtime -->
40+
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
41+
<true/>
42+
<key>com.apple.security.cs.allow-jit</key>
43+
<true/>
44+
<key>com.apple.security.cs.disable-library-validation</key>
45+
<true/>
46+
<key>com.apple.security.cs.disable-executable-page-protection</key>
47+
<true/>
48+
</dict>
49+
</plist>

0 commit comments

Comments
 (0)