@ondeinference / onde / commits / 98922ea

Patch mio 0.8.11 with visionOS support for Apple XCFramework build

tqdm -> crossterm 0.25 pulls mio 0.8.11, which hits compile_error!("unsupported target") on visionOS and broke the Swift XCFramework build and the visionOS CI checks. Point it at the fork that adds target_os = "visionos" to the existing tvos/watchos cfg gates. tokio's mio 1.x already supports visionOS, so only the 0.8.x line needs patching. Build-infra only: [patch.crates-io] is stripped on publish, so the crates.io onde crate is unchanged.

keypair34 committed Jul 20, 2026 at 22:26 UTC 98922ea44ee9d8ae80148eef8ca2538c832fb2f6
2 files changed +7 -2
Cargo.lock
+1 -2
@@ -3049,8 +3049,7 @@ dependencies = [
3049 [[package]]
3050 name = "mio"
3051 version = "0.8.11"
3052 -source = "registry+https://github.com/rust-lang/crates.io-index"
3053 -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
3052 +source = "git+https://github.com/setoelkahfi/mio.git?branch=feature%2Fvisionos#925e3fde24eac3b95b3989fa6c531eb0d792bbaf"
3053 dependencies = [
3054 "libc",
3055 "log",
Cargo.toml
+6
@@ -114,5 +114,11 @@ uniffi = { version = "=0.31.0", features = ["build"] }
114 # Patch sysctl with watchOS support until upstream merges it.
115 # PR: https://github.com/johalun/sysctl-rs/pull/74
116 # NOTE: [patch.crates-io] is ignored by crates.io consumers — safe to keep.
117 +#
118 +# mio 0.8.11 (pulled by tqdm -> crossterm 0.25) lacks visionOS support and hits
119 +# `compile_error!("unsupported target")` when building the Apple XCFramework.
120 +# The fork adds target_os = "visionos" to the existing tvos/watchos cfg gates.
121 +# tokio's mio 1.x already supports visionOS, so only the 0.8.x line needs it.
122 [patch.crates-io]
123 sysctl = { git = "https://github.com/setoelkahfi/sysctl-rs.git", branch = "feature/watchos" }
124 +mio = { git = "https://github.com/setoelkahfi/mio.git", branch = "feature/visionos" }