Same code; the revision now lands on the commit carrying the fork rationale, so a reader following the dependency arrives at the explanation.
73 lines
2.8 KiB
TOML
73 lines
2.8 KiB
TOML
[workspace]
|
|
resolver = "3"
|
|
members = [
|
|
"crates/sessiond-client",
|
|
"crates/wire",
|
|
"crates/compositor",
|
|
"crates/shell-host",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
license = "AGPL-3.0-or-later"
|
|
authors = ["Fimeg"]
|
|
repository = "https://forge.caseytunturi.com/Fimeg/souveraine-viewtop"
|
|
|
|
[workspace.dependencies]
|
|
# async runtime + primitives
|
|
tokio = { version = "1.52", features = ["rt-multi-thread", "macros", "sync", "time", "net", "io-util"] }
|
|
futures = "0.3"
|
|
|
|
# errors / (de)serialization
|
|
thiserror = "2"
|
|
anyhow = "1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
|
|
# tracing
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
|
|
# graphics. Still pinned to the revision the flutter-engine patch series was
|
|
# built against — the graphics half and the embedder half move together or not
|
|
# at all. `souveraine` is that revision (812bd33) plus one commit, in our own
|
|
# fork, so the pin is unchanged in substance:
|
|
#
|
|
# 8772275 wlr-layer-shell: do not validate a role the client already destroyed
|
|
# 403a3d0 session-lock: tolerate a bufferless commit before the first ack
|
|
#
|
|
# The first is upstream's bug: its pre-commit hook outlives the role object, so
|
|
# the null-buffer commit that unmaps a layer surface reads defaults and posts
|
|
# InvalidSize to a destroyed zwlr_layer_surface_v1, killing any client on normal
|
|
# teardown. Our shell hit it every time it tore down its dock and crash-looped.
|
|
# Worth sending upstream.
|
|
#
|
|
# The second is not upstream's bug and is labelled as such in its own commit: Qt
|
|
# commits a lock surface once before acking, which the protocol forbids outright,
|
|
# and we tolerate it when nothing is attached because the alternative is the
|
|
# owner locked out of the phone. The real fix belongs in Qt.
|
|
#
|
|
# The pin also now carries the atmosphere half of the render path:
|
|
#
|
|
# 645961c gles: optional linear-space gamut transform on sampled textures
|
|
# 48adf6f gles: optional chromatic split on sampled textures
|
|
#
|
|
# Both are off by default and both degrade to today's output rather than to a
|
|
# black screen — the split behind a shader define so a driver that refuses it
|
|
# links plain glass and the phone still comes up.
|
|
#
|
|
# Either way, this is why we build from gitea and not from GitHub.
|
|
smithay = { git = "https://forge.caseytunturi.com/Fimeg/smithay.git", rev = "227c7e43389317278e7d2b313d59d95c55ea9f36", default-features = false }
|
|
smithay-drm-extras = { git = "https://forge.caseytunturi.com/Fimeg/smithay.git", rev = "227c7e43389317278e7d2b313d59d95c55ea9f36", default-features = false }
|
|
winit = "0.30"
|
|
calloop = { version = "0.14", features = ["signals"] }
|
|
|
|
# in-workspace
|
|
viewtop-sessiond-client = { path = "crates/sessiond-client" }
|
|
viewtop-wire = { path = "crates/wire" }
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
codegen-units = 1
|
|
strip = "debuginfo"
|