From 7b700331cbd874723ac16629a94df01ce297d4e1 Mon Sep 17 00:00:00 2001
From: Vivek R <123vivekr@gmail.com>
Date: Fri, 1 Aug 2025 17:12:06 +0530
Subject: [PATCH] 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
---
.cargo/config.toml | 5 ++++
src-tauri/Info.plist | 43 +++++++++++++++++++++++++++++++
src-tauri/entitlements.plist | 49 ++++++++++++++++++++++++++++++++++++
3 files changed, 97 insertions(+)
create mode 100644 .cargo/config.toml
create mode 100644 src-tauri/Info.plist
create mode 100644 src-tauri/entitlements.plist
diff --git a/.cargo/config.toml b/.cargo/config.toml
new file mode 100644
index 0000000..25c7765
--- /dev/null
+++ b/.cargo/config.toml
@@ -0,0 +1,5 @@
+[target.aarch64-unknown-linux-gnu]
+linker = "aarch64-linux-gnu-gcc"
+
+[env]
+PKG_CONFIG_ALLOW_CROSS = "1"
diff --git a/src-tauri/Info.plist b/src-tauri/Info.plist
new file mode 100644
index 0000000..4f87b2d
--- /dev/null
+++ b/src-tauri/Info.plist
@@ -0,0 +1,43 @@
+
+
+
+
+ NSRequiresAquaSystemAppearance
+
+ LSMinimumSystemVersion
+ 10.15
+ CFBundleShortVersionString
+ 0.1.0
+ CFBundleName
+ Claudia
+ CFBundleDisplayName
+ Claudia
+ CFBundleIdentifier
+ claudia.asterisk.so
+ CFBundleDocumentTypes
+
+
+ CFBundleTypeName
+ Claudia Agent
+ CFBundleTypeRole
+ Editor
+ CFBundleTypeExtensions
+
+ claudia.json
+
+ CFBundleTypeIconFile
+ icon.icns
+ LSHandlerRank
+ Owner
+
+
+ NSAppleEventsUsageDescription
+ Claudia needs to send Apple Events to other applications.
+ NSAppleScriptEnabled
+
+ NSCameraUsageDescription
+ Claudia needs camera access for capturing images for AI processing.
+ NSMicrophoneUsageDescription
+ Claudia needs microphone access for voice input features.
+
+
diff --git a/src-tauri/entitlements.plist b/src-tauri/entitlements.plist
new file mode 100644
index 0000000..9675f0b
--- /dev/null
+++ b/src-tauri/entitlements.plist
@@ -0,0 +1,49 @@
+
+
+
+
+
+ com.apple.security.app-sandbox
+
+
+
+ com.apple.security.network.client
+
+ com.apple.security.network.server
+
+
+
+ com.apple.security.files.user-selected.read-write
+
+ com.apple.security.files.downloads.read-write
+
+
+
+ com.apple.security.inherit
+
+
+
+ com.apple.security.automation.apple-events
+
+
+
+ com.apple.security.device.camera
+
+ com.apple.security.device.microphone
+
+
+
+ com.apple.security.print
+
+
+
+ com.apple.security.cs.allow-unsigned-executable-memory
+
+ com.apple.security.cs.allow-jit
+
+ com.apple.security.cs.disable-library-validation
+
+ com.apple.security.cs.disable-executable-page-protection
+
+
+