Skip to content

Commit d0e8bed

Browse files
committed
fix(desktop): prune OpenClaw clipboard natives for packaged builds
1 parent d67c73a commit d0e8bed

2 files changed

Lines changed: 19 additions & 5 deletions

File tree

apps/desktop/scripts/dist-mac.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ async function main() {
491491

492492
if (process.arch !== targetMacArch) {
493493
throw new Error(
494-
`[dist:mac] Cross-arch mac packaging is not supported yet: host=${process.arch}, target=${targetMacArch}. Runtime sidecars embed host-native binaries, so build on a matching macOS host instead.`,
494+
`[dist:mac] Cross-arch mac packaging is not supported yet: host=${process.arch}, target=${targetMacArch}. Runtime sidecars embed host-native binaries, so build on a matching macOS host instead. For Intel validation, run pnpm dist:mac:unsigned:x64 on an Intel Mac after openclaw-runtime pruning removes clipboard natives and any optional DAVE binaries you intentionally disabled.`,
495495
);
496496
}
497497

openclaw-runtime/prune-runtime-paths.mjs

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
// Baseline installed size: 665M.
22

3+
const clipboardNativeTargets = [
4+
"node_modules/@mariozechner/clipboard-darwin-arm64/clipboard.darwin-arm64.node",
5+
"node_modules/@mariozechner/clipboard-darwin-x64/clipboard.darwin-x64.node",
6+
"node_modules/@mariozechner/clipboard-darwin-universal/clipboard.darwin-universal.node",
7+
];
8+
9+
const daveyNativeTargets = [
10+
"node_modules/@snazzah/davey-darwin-arm64/davey.darwin-arm64.node",
11+
"node_modules/@snazzah/davey-darwin-x64/davey.darwin-x64.node",
12+
"node_modules/@snazzah/davey-darwin-universal/davey.darwin-universal.node",
13+
];
14+
15+
const shouldPruneDavey = process.env.NEXU_OPENCLAW_PRUNE_DAVEY === "1";
16+
317
export const pruneDependencyTargets = [
418
// Round 1: actual savings 191M; actual pruned size 474M.
519
// - Why these targets:
@@ -61,11 +75,11 @@ export const pruneDependencyTargets = [
6175
"node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib",
6276
"node_modules/@lydell/node-pty-darwin-arm64/prebuilds/darwin-arm64/pty.node",
6377
"node_modules/@lydell/node-pty-darwin-arm64/prebuilds/darwin-arm64/spawn-helper",
64-
"node_modules/@mariozechner/clipboard-darwin-arm64/clipboard.darwin-arm64.node",
65-
"node_modules/@mariozechner/clipboard-darwin-universal/clipboard.darwin-universal.node",
78+
...clipboardNativeTargets,
6679
"node_modules/@reflink/reflink-darwin-arm64/reflink.darwin-arm64.node",
67-
// Keep davey - required for OpenClaw Discord DAVE protocol
68-
// "node_modules/@snazzah/davey-darwin-arm64/davey.darwin-arm64.node",
80+
// Keep davey by default - required for OpenClaw Discord DAVE protocol.
81+
// Set NEXU_OPENCLAW_PRUNE_DAVEY=1 only for builds that never enable Discord voice.
82+
...(shouldPruneDavey ? daveyNativeTargets : []),
6983
"node_modules/sqlite-vec-darwin-arm64/vec0.dylib",
7084
];
7185

0 commit comments

Comments
 (0)