From 8d18f318d7b32b6ffe779310d3a8bd7115b9afa0 Mon Sep 17 00:00:00 2001 From: eatmoreduck Date: Mon, 26 Oct 2026 18:05:37 +0800 Subject: [PATCH] fix(build): pin the native SwiftPM build system for the computer-use universal binary (#21146) SwiftPM 6.4 (Xcode 27) defaults to the swiftbuild build system, which writes products to an xcodebuild-style layout instead of .build//release, so the lipo step in build-computer-macos.mjs finds no inputs. Pass --build-system native to both per-triple builds. Fixes #21145 --- config/scripts/build-computer-macos.mjs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/config/scripts/build-computer-macos.mjs b/config/scripts/build-computer-macos.mjs index 1730cfc77c4..c19e5adc6c3 100644 --- a/config/scripts/build-computer-macos.mjs +++ b/config/scripts/build-computer-macos.mjs @@ -29,7 +29,18 @@ createHelperApp() function buildUniversalBinary() { const builtBinaries = universalTriples.map((triple) => { - run('swift', ['build', '-c', 'release', '--package-path', packagePath, '--triple', triple]) + // SwiftPM 6.4+ swiftbuild default skips the .build//release layout lipo reads (#21145) + run('swift', [ + 'build', + '-c', + 'release', + '--package-path', + packagePath, + '--triple', + triple, + '--build-system', + 'native' + ]) return path.join(packagePath, '.build', triple, 'release', 'orca-computer-use-macos') }) mkdirSync(path.dirname(binaryPath), { recursive: true })