mirror of
https://github.com/warpdotdev/warp.git
synced 2026-05-06 23:32:51 +08:00
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" />
65 lines
1.5 KiB
TOML
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"
|