diff --git a/packages/opencode/bin/mimo b/packages/opencode/bin/mimo index 7f8ab8ae2..65e521b59 100755 --- a/packages/opencode/bin/mimo +++ b/packages/opencode/bin/mimo @@ -6,7 +6,10 @@ const path = require("path") const os = require("os") function run(target) { - const result = childProcess.spawnSync(target, process.argv.slice(2), { + // On Android/Termux, glibc-linked binaries need grun (glibc-runner) + const isAndroid = os.platform() === "android" + const args = isAndroid ? ["grun", target, ...process.argv.slice(2)] : [target, ...process.argv.slice(2)] + const result = childProcess.spawnSync(args[0], args.slice(1), { stdio: "inherit", }) if (result.error) { @@ -35,6 +38,7 @@ const platformMap = { darwin: "darwin", linux: "linux", win32: "windows", + android: "linux", // Termux/Android uses linux binary via grun } const archMap = { x64: "x64", diff --git a/packages/opencode/script/postinstall.mjs b/packages/opencode/script/postinstall.mjs index c75ed2a0f..550dd1661 100644 --- a/packages/opencode/script/postinstall.mjs +++ b/packages/opencode/script/postinstall.mjs @@ -19,6 +19,10 @@ function detectPlatformAndArch() { case "linux": platform = "linux" break + case "android": + // Termux/Android — use linux-arm64 binary via grun (glibc runner) + platform = "linux" + break case "win32": platform = "windows" break