Move the whole workspace to Rust 1.97 (from 1.96) and bump ~120 dependencies to their latest major versions. The full 230-crate workspace compiles, joule_core's 182 tests pass, the release daemon builds, and LFM2 still loads + runs. API adaptations for the major bumps: - rand 0.10: rand_core renamed RngCore->Rng and moved the sugar (random_range, from_os_rng) onto RngExt / removed it — updated call sites + imports. - yawc 0.3: FrameView->Frame with accessor methods; client socket is TcpWebSocket. - sqlx 0.9 / heed 0.22 / axum 0.8: renamed/removed cargo features. - core-video 0.6: create_texture_from_image takes &CVImageBuffer; convert via TCVImageBuffer::as_image_buffer. - prost: Message no longer implies Debug — added the bound. - cargo_toml 1.0: lints is now Inheritable<LintGroups> (Inherited == workspace). - ed25519-dalek, core-text, core-graphics, cpal: pinned to the versions the git-forked deps (open-standands receipts, zed-font-kit, rodio) are built against — a split breaks shared SigningKey/CTFont/CGFont/Device types. Deliberate holds (their own migration, not a blind sweep): - livekit/libwebrtc/webrtc-sys/coreaudio-rs: the real-time A/V stack, pinned to Zed's livekit-rust-sdks fork; latest breaks livekit_client deeply. - wasmtime 36 + wit-bindgen 0.41: the extension component-model ABI, tied to the pinned zed:extension WIT worlds. - brush-parser 0.3: 0.4 reshapes the AST on the command-safety allow-gate path. - runtimelib/nbformat/jupyter-protocol 1.x: the REPL Jupyter stack moves majors together. Also: unlisted Zed's hosted-collab SERVER (crates/collab) from the workspace — a leaf binary nothing depends on, whose pinned sea-orm/sqlx chain blocked the upgrade; source stays on disk. All open-standards git deps repointed to the forge URL and bumped to c4b536cf (320fa1e + score_binary). Co-Authored-By: Claude Opus 4.8 <[email protected]>
134 lines
3.3 KiB
TOML
134 lines
3.3 KiB
TOML
[package]
|
|
name = "gpui_linux"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "Apache-2.0"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/gpui_linux.rs"
|
|
|
|
[features]
|
|
default = ["wayland", "x11"]
|
|
test-support = ["gpui/test-support"]
|
|
wayland = [
|
|
"bitflags",
|
|
"gpui_wgpu",
|
|
"ashpd/wayland",
|
|
|
|
"calloop-wayland-source",
|
|
"wayland-backend",
|
|
"wayland-client",
|
|
"wayland-cursor",
|
|
"wayland-protocols",
|
|
"wayland-protocols-plasma",
|
|
"wayland-protocols-wlr",
|
|
"filedescriptor",
|
|
"xkbcommon",
|
|
"open",
|
|
"gpui/wayland",
|
|
]
|
|
x11 = [
|
|
"gpui_wgpu",
|
|
"ashpd",
|
|
|
|
"as-raw-xcb-connection",
|
|
"x11rb",
|
|
"xkbcommon",
|
|
"xim",
|
|
"x11-clipboard",
|
|
"filedescriptor",
|
|
"open",
|
|
"scap?/x11",
|
|
]
|
|
screen-capture = [
|
|
"gpui/screen-capture",
|
|
"scap",
|
|
]
|
|
|
|
|
|
[target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies]
|
|
accesskit.workspace = true
|
|
accesskit_unix.workspace = true
|
|
anyhow.workspace = true
|
|
bytemuck = "1"
|
|
collections.workspace = true
|
|
image.workspace = true
|
|
futures.workspace = true
|
|
gpui.workspace = true
|
|
gpui_wgpu = { workspace = true, optional = true, features = ["font-kit"] }
|
|
http_client.workspace = true
|
|
itertools.workspace = true
|
|
libc.workspace = true
|
|
log.workspace = true
|
|
parking_lot.workspace = true
|
|
pathfinder_geometry = "0.5"
|
|
pollster.workspace = true
|
|
profiling.workspace = true
|
|
smallvec.workspace = true
|
|
smol.workspace = true
|
|
strum.workspace = true
|
|
url.workspace = true
|
|
util.workspace = true
|
|
uuid.workspace = true
|
|
|
|
# Always used
|
|
oo7 = { version = "0.6", default-features = false, features = [
|
|
"async-std",
|
|
"native_crypto",
|
|
] }
|
|
calloop = "0.14.4"
|
|
raw-window-handle = "0.6"
|
|
|
|
# Used in both windowing options
|
|
ashpd = { workspace = true, optional = true }
|
|
swash = { version = "0.2.9" }
|
|
bitflags = { workspace = true, optional = true }
|
|
filedescriptor = { version = "0.8.3", optional = true }
|
|
open = { version = "5.4.0", optional = true }
|
|
xkbcommon = { version = "0.9.0", features = ["wayland", "x11"], optional = true }
|
|
|
|
# Screen capture
|
|
scap = { workspace = true, optional = true }
|
|
|
|
# Wayland
|
|
calloop-wayland-source = { version = "0.4.1", optional = true }
|
|
wayland-backend = { version = "0.3.15", features = [
|
|
"client_system",
|
|
"dlopen",
|
|
], optional = true }
|
|
wayland-client = { version = "0.31.14", optional = true }
|
|
wayland-cursor = { version = "0.31.14", optional = true }
|
|
wayland-protocols = { version = "0.32.13", features = [
|
|
"client",
|
|
"staging",
|
|
"unstable",
|
|
], optional = true }
|
|
wayland-protocols-plasma = { version = "0.3.12", features = [
|
|
"client",
|
|
], optional = true }
|
|
wayland-protocols-wlr = { version = "0.3.12", features = [
|
|
"client",
|
|
], optional = true }
|
|
|
|
# X11
|
|
as-raw-xcb-connection = { version = "1", optional = true }
|
|
x11rb = { version = "0.13.2", features = [
|
|
"allow-unsafe-code",
|
|
"xkb",
|
|
"randr",
|
|
"xinput",
|
|
"cursor",
|
|
"resource_manager",
|
|
"sync",
|
|
"dri3",
|
|
], optional = true }
|
|
# WARNING: If you change this, you must also publish a new version of zed-xim to crates.io
|
|
xim = { git = "https://github.com/zed-industries/xim-rs.git", rev = "16f35a2c881b815a2b6cdfd6687988e84f8447d8", features = [
|
|
"x11rb-xcb",
|
|
"x11rb-client",
|
|
], package = "zed-xim", version = "0.4.0-zed", optional = true }
|
|
x11-clipboard = { version = "0.9.3", optional = true }
|