Files
warp/crates/computer_use/Cargo.toml
Rudrabhoj Bhati e6098a8aef Get warp compiling on FreeBSD (#9362)
Most `target_os = "linux"` cfg sites in this tree gate code that already
works fine on FreeBSD. wayland-client, cctk, fontconfig, x11rb,
native-dialog, notify-rust, and the WindowingSystem enum all compile and
run there using the existing Linux branches. Widening those cfg guards
from `target_os = "linux"` to `any(target_os = "linux", target_os =
"freebsd")` is enough to get a working build.

The change is mechanical: 79 files across `app/` and `crates/`, all of
them just adjusting the cfg.

One Linux-only carveout: `InputFlags::IUTF8` in
`app/src/terminal/local_tty/unix.rs`. nix does not expose that termios
input flag on FreeBSD, and the PTY works without it.

Linux, macOS, and Windows are unaffected by construction: every widened
cfg already evaluated true on Linux and continues to; neither macOS nor
Windows ever matched these guards.

Tested by building `warp-oss` on FreeBSD 16-CURRENT amd64 with rust 1.92
and launching it under wayland (niri).



<img width="2560" height="1440" alt="image"
src="https://github.com/user-attachments/assets/085f3b8c-621c-4fbb-adc8-69daebc03d3a"
/>
2026-04-30 17:02:59 -04:00

65 lines
1.5 KiB
TOML

[package]
name = "computer_use"
edition = "2024"
authors.workspace = true
default-run = "use_computer"
publish.workspace = true
license.workspace = true
[[bin]]
name = "use_computer"
path = "src/bin/use_computer.rs"
[features]
test-util = []
[dependencies]
async-trait.workspace = true
cfg-if.workspace = true
clap.workspace = true
log.workspace = true
pathfinder_geometry.workspace = true
serde.workspace = true
serde_with.workspace = true
tokio = { workspace = true, features = ["rt", "macros"] }
[target.'cfg(target_os = "macos")'.dependencies]
command.workspace = true
core-foundation.workspace = true
dispatch2 = "0.3.0"
image.workspace = true
instant.workspace = true
objc2.workspace = true
objc2-app-kit.workspace = true
objc2-core-foundation.workspace = true
objc2-core-graphics.workspace = true
tempfile.workspace = true
warpui.workspace = true
[target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies]
ashpd.workspace = true
futures.workspace = true
image.workspace = true
url.workspace = true
warpui.workspace = true
x11rb = { workspace = true, features = ["xtest"] }
zbus.workspace = true
[target.'cfg(target_os = "windows")'.dependencies]
image.workspace = true
warpui.workspace = true
windows = { workspace = true, features = [
"Win32_Foundation",
"Win32_Graphics_Gdi",
"Win32_System_StationsAndDesktops",
"Win32_UI_HiDpi",
"Win32_UI_Input_KeyboardAndMouse",
"Win32_UI_WindowsAndMessaging",
] }
[dev-dependencies]
computer_use = { path = ".", features = ["test-util"] }
[build-dependencies]
cfg_aliases = "0.2.1"