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 + + +