Bump non-smithay dependencies
Some checks failed
CI (Pinnacle) / Build (push) Has been cancelled
CI (Pinnacle) / Run tests (push) Has been cancelled
CI (Pinnacle) / Check formatting (push) Has been cancelled
CI (Pinnacle) / Clippy check (push) Has been cancelled
Build and Publish Lua Docs / Build (push) Has been cancelled
Build Rust Docs / Build docs (push) Has been cancelled

This commit is contained in:
Ottatop 2024-12-16 14:50:42 -06:00
parent 6495785848
commit a9d9a38e9d
18 changed files with 781 additions and 748 deletions

1386
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -21,29 +21,33 @@ repository = "https://github.com/pinnacle-comp/pinnacle/"
[workspace.dependencies] [workspace.dependencies]
# Tokio # Tokio
tokio = { version = "1.38.0", features = ["macros", "rt-multi-thread"]} tokio = { version = "1.42.0", features = ["macros", "rt-multi-thread"]}
tokio-stream = { version = "0.1.15", features = ["net"] } tokio-stream = { version = "0.1.17", features = ["net"] }
# gRPC # gRPC
prost = "0.13.1" prost = "0.13.4"
tonic = "0.12.0" tonic = "0.12.3"
tonic-reflection = "0.12.0" tonic-reflection = "0.12.3"
tonic-build = "0.12.0" tonic-build = "0.12.3"
# Tracing # Tracing
tracing = "0.1.40" tracing = "0.1.41"
tracing-subscriber = { version = "0.3.18", features = ["env-filter", "registry"] } tracing-subscriber = { version = "0.3.19", features = ["env-filter", "registry"] }
# API definitions # API definitions
pinnacle-api-defs = { path = "./pinnacle-api-defs" } pinnacle-api-defs = { path = "./pinnacle-api-defs" }
# Misc. # Misc.
xkbcommon = "0.8.0" xkbcommon = "0.8.0"
xdg = "2.5.2" xdg = "2.5.2"
bitflags = "2.5.0" bitflags = "2.6.0"
clap = { version = "4.5.7", features = ["derive"] } clap = { version = "4.5.23", features = ["derive"] }
dircpy = "0.3.16" dircpy = "0.3.19"
tempfile = "3.10.1" tempfile = "3.14.0"
indexmap = "2.2.6" indexmap = "2.7.0"
anyhow = { version = "1.0.86", features = ["backtrace"] } anyhow = { version = "1.0.94", features = ["backtrace"] }
snowcap-api-defs = { path = "./snowcap/snowcap-api-defs" } snowcap-api-defs = { path = "./snowcap/snowcap-api-defs" }
hyper-util = { version = "0.1.6", features = ["tokio"] } hyper-util = { version = "0.1.10", features = ["tokio"] }
futures = "0.3.31"
thiserror = "2.0.7"
walkdir = "2.5.0"
tower = { version = "0.5.2", features = ["util"] }
[workspace.dependencies.smithay] [workspace.dependencies.smithay]
git = "https://github.com/Smithay/smithay" git = "https://github.com/Smithay/smithay"
@ -103,9 +107,9 @@ tracing-subscriber = { workspace = true }
tracing-appender = "0.2.3" tracing-appender = "0.2.3"
# Errors # Errors
anyhow = { workspace = true } anyhow = { workspace = true }
thiserror = "1.0.61" thiserror = { workspace = true }
# xcursor stuff # xcursor stuff
xcursor = { version = "0.3.5" } xcursor = { version = "0.3.8" }
# gRPC # gRPC
prost = { workspace = true } prost = { workspace = true }
tonic = { workspace = true } tonic = { workspace = true }
@ -115,23 +119,23 @@ tokio = { workspace = true, features = ["process", "io-util", "signal"] }
tokio-stream = { workspace = true } tokio-stream = { workspace = true }
# CLI # CLI
clap = { workspace = true } clap = { workspace = true }
cliclack = "0.3.1" cliclack = "0.3.5"
# Misc. # Misc.
bitflags = { workspace = true } bitflags = { workspace = true }
serde = { version = "1.0.203", features = ["derive"] } serde = { version = "1.0.216", features = ["derive"] }
toml = "0.8.14" toml = "0.8.19"
shellexpand = { version = "3.1.0", features = ["path"] } shellexpand = { version = "3.1.0", features = ["path"] }
x11rb = { version = "0.13.1", default-features = false, features = ["composite"] } x11rb = { version = "0.13.1", default-features = false, features = ["composite"] }
xkbcommon = { workspace = true } xkbcommon = { workspace = true }
xdg = { workspace = true } xdg = { workspace = true }
sysinfo = "0.31.2" sysinfo = "0.33.0"
pinnacle-api-defs = { workspace = true } pinnacle-api-defs = { workspace = true }
dircpy = { workspace = true } dircpy = { workspace = true }
chrono = "0.4.38" chrono = "0.4.39"
bytemuck = "1.16.1" bytemuck = "1.20.0"
pinnacle-api = { path = "./api/rust", default-features = false } pinnacle-api = { path = "./api/rust", default-features = false }
gag = "1.0.0" gag = "1.0.0"
drm-sys = "0.7.0" drm-sys = "0.7.0" # TODO: remove and use libdisplay-info
libdisplay-info-sys = { git = "https://github.com/Smithay/libdisplay-info-rs", rev = "a482d0d" } libdisplay-info-sys = { git = "https://github.com/Smithay/libdisplay-info-rs", rev = "a482d0d" }
indexmap = { workspace = true } indexmap = { workspace = true }
snowcap = { path = "./snowcap", optional = true } snowcap = { path = "./snowcap", optional = true }
@ -139,7 +143,7 @@ snowcap-api = { path = "./snowcap/api/rust", optional = true }
assert_matches = "1.5.0" assert_matches = "1.5.0"
[build-dependencies] [build-dependencies]
vergen-gitcl = { version = "1.0.0", features = ["rustc", "cargo", "si"] } vergen-gitcl = { version = "1.0.2", features = ["rustc", "cargo", "si"] }
[dev-dependencies] [dev-dependencies]
temp-env = "0.3.6" temp-env = "0.3.6"

View file

@ -55,7 +55,7 @@ In the future, Snowcap will be used for everything Awesome uses its widget syste
# Dependencies # Dependencies
You will need: You will need:
- [Rust](https://www.rust-lang.org/) 1.76 or newer - [Rust](https://www.rust-lang.org/) 1.82 or newer
- The following external dependencies: - The following external dependencies:
- `libwayland` - `libwayland`
- `libxkbcommon` - `libxkbcommon`

View file

@ -7,5 +7,5 @@ edition = "2021"
prost = { workspace = true } prost = { workspace = true }
prost-types = "0.13.4" prost-types = "0.13.4"
indexmap = "2.2.6" indexmap = "2.2.6"
walkdir = "2.5.0" walkdir = { workspace = true }
prost-build = "0.13.4" prost-build = "0.13.4"

View file

@ -15,10 +15,10 @@ pinnacle-api-macros = { path = "./pinnacle-api-macros" }
tokio = { workspace = true, features = ["net"] } tokio = { workspace = true, features = ["net"] }
tokio-stream = { workspace = true } tokio-stream = { workspace = true }
tonic = { workspace = true } tonic = { workspace = true }
tower = { version = "0.4.13", features = ["util"] } tower = { workspace = true }
hyper-util = { workspace = true } hyper-util = { workspace = true }
futures = "0.3.30" futures = { workspace = true }
num_enum = "0.7.2" num_enum = "0.7.3"
xkbcommon = { workspace = true } xkbcommon = { workspace = true }
rand = "0.8.5" rand = "0.8.5"
bitflags = { workspace = true } bitflags = { workspace = true }

View file

@ -8,9 +8,9 @@ license = "MPL-2.0"
repository.workspace = true repository.workspace = true
[dependencies] [dependencies]
quote = "1.0.35" quote = "1.0.37"
syn = { version = "2.0.49", features = ["full", "parsing"] } syn = { version = "2.0.90", features = ["full", "parsing"] }
proc-macro2 = "1.0.78" proc-macro2 = "1.0.92"
[lib] [lib]
proc-macro = true proc-macro = true

View file

@ -11,5 +11,5 @@ tonic = { workspace = true }
prost = { workspace = true } prost = { workspace = true }
[build-dependencies] [build-dependencies]
walkdir = { workspace = true }
tonic-build = { workspace = true } tonic-build = { workspace = true }
const_format = "0.2.32"

View file

@ -1,27 +1,23 @@
use std::path::PathBuf; use std::path::PathBuf;
use const_format::formatcp;
fn main() { fn main() {
println!("cargo:rerun-if-changed=../api/protocol"); println!("cargo:rerun-if-changed=../api/protocol");
const VERSION: &str = "v0alpha1"; let mut proto_paths = Vec::new();
const PROTOS: &[&str] = &[
formatcp!("../api/protocol/pinnacle/{VERSION}/pinnacle.proto"), for entry in walkdir::WalkDir::new("../api/protocol") {
formatcp!("../api/protocol/pinnacle/input/{VERSION}/input.proto"), let entry = entry.unwrap();
formatcp!("../api/protocol/pinnacle/output/{VERSION}/output.proto"),
formatcp!("../api/protocol/pinnacle/process/{VERSION}/process.proto"), if entry.file_type().is_file() && entry.path().extension().is_some_and(|ext| ext == "proto")
formatcp!("../api/protocol/pinnacle/tag/{VERSION}/tag.proto"), {
formatcp!("../api/protocol/pinnacle/window/{VERSION}/window.proto"), proto_paths.push(entry.into_path());
formatcp!("../api/protocol/pinnacle/signal/{VERSION}/signal.proto"), }
formatcp!("../api/protocol/pinnacle/layout/{VERSION}/layout.proto"), }
formatcp!("../api/protocol/pinnacle/render/{VERSION}/render.proto"),
];
let descriptor_path = PathBuf::from(std::env::var("OUT_DIR").unwrap()).join("pinnacle.bin"); let descriptor_path = PathBuf::from(std::env::var("OUT_DIR").unwrap()).join("pinnacle.bin");
tonic_build::configure() tonic_build::configure()
.file_descriptor_set_path(descriptor_path) .file_descriptor_set_path(descriptor_path)
.compile(PROTOS, &["../api/protocol"]) .compile_protos(&proto_paths, &["../api/protocol"])
.unwrap(); .unwrap();
} }

View file

@ -4,7 +4,7 @@ version = "0.0.1"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
smithay-client-toolkit = "0.19.1" smithay-client-toolkit = "0.19.2"
anyhow = { workspace = true } anyhow = { workspace = true }
iced = { version = "0.12.1", default-features = false, features = ["wgpu", "tokio"] } iced = { version = "0.12.1", default-features = false, features = ["wgpu", "tokio"] }
iced_wgpu = "0.12.1" iced_wgpu = "0.12.1"
@ -14,10 +14,10 @@ tracing = { workspace = true }
tracing-subscriber = { workspace = true } tracing-subscriber = { workspace = true }
raw-window-handle = "0.6.2" raw-window-handle = "0.6.2"
xdg = { workspace = true } xdg = { workspace = true }
smithay-clipboard = "0.7.1" smithay-clipboard = "0.7.2"
tokio = { workspace = true } tokio = { workspace = true }
tokio-stream = { workspace = true } tokio-stream = { workspace = true }
futures = "0.3.30" futures = { workspace = true }
prost = { workspace = true } prost = { workspace = true }
tonic = { workspace = true } tonic = { workspace = true }
tonic-reflection = { workspace = true } tonic-reflection = { workspace = true }

View file

@ -8,13 +8,13 @@ snowcap-api-defs = { workspace = true }
tokio = { workspace = true } tokio = { workspace = true }
tokio-stream = { workspace = true } tokio-stream = { workspace = true }
tonic = { workspace = true } tonic = { workspace = true }
tower = { version = "0.4.13", features = ["util"] } tower = { workspace = true }
futures = "0.3.30" futures = { workspace = true }
xdg = { workspace = true } xdg = { workspace = true }
xkbcommon = { workspace = true } xkbcommon = { workspace = true }
from_variants = "1.0.2" from_variants = "1.0.2"
tracing = { workspace = true } tracing = { workspace = true }
thiserror = "1.0.62" thiserror = { workspace = true }
hyper-util = { workspace = true } hyper-util = { workspace = true }
[lints.rust] [lints.rust]

View file

@ -8,5 +8,5 @@ prost = { workspace = true }
tonic = { workspace = true } tonic = { workspace = true }
[build-dependencies] [build-dependencies]
walkdir = "2.5.0" walkdir = { workspace = true }
tonic-build = { workspace = true } tonic-build = { workspace = true }

View file

@ -18,6 +18,6 @@ fn main() {
tonic_build::configure() tonic_build::configure()
.file_descriptor_set_path(descriptor_path) .file_descriptor_set_path(descriptor_path)
.compile(&proto_paths, &["../api/protobuf"]) .compile_protos(&proto_paths, &["../api/protobuf"])
.unwrap(); .unwrap();
} }

View file

@ -64,7 +64,7 @@ impl State {
let refl_service = tonic_reflection::server::Builder::configure() let refl_service = tonic_reflection::server::Builder::configure()
.register_encoded_file_descriptor_set(snowcap_api_defs::FILE_DESCRIPTOR_SET) .register_encoded_file_descriptor_set(snowcap_api_defs::FILE_DESCRIPTOR_SET)
.build()?; .build_v1()?;
let uds = tokio::net::UnixListener::bind(&socket_path)?; let uds = tokio::net::UnixListener::bind(&socket_path)?;
let uds_stream = tokio_stream::wrappers::UnixListenerStream::new(uds); let uds_stream = tokio_stream::wrappers::UnixListenerStream::new(uds);

View file

@ -657,10 +657,11 @@ impl process_service_server::ProcessService for ProcessService {
run_server_streaming(&self.sender, move |state, sender| { run_server_streaming(&self.sender, move |state, sender| {
if once { if once {
state state.pinnacle.system_processes.refresh_processes_specifics(
.pinnacle ProcessesToUpdate::All,
.system_processes true,
.refresh_processes_specifics(ProcessesToUpdate::All, ProcessRefreshKind::new()); ProcessRefreshKind::nothing(),
);
let compositor_pid = std::process::id(); let compositor_pid = std::process::id();
let already_running = state let already_running = state

View file

@ -257,10 +257,10 @@ impl Winit {
let should_draw_cursor = !pinnacle.lock_state.is_unlocked() let should_draw_cursor = !pinnacle.lock_state.is_unlocked()
|| self.output.with_state(|state| { || self.output.with_state(|state| {
// Don't draw cursor when screencopy without cursor is pending // Don't draw cursor when screencopy without cursor is pending
!state state
.screencopy .screencopy
.as_ref() .as_ref()
.is_some_and(|sc| !sc.overlay_cursor()) .is_none_or(|sc| sc.overlay_cursor())
}); });
if should_draw_cursor { if should_draw_cursor {

View file

@ -579,8 +579,12 @@ impl Pinnacle {
} }
pub fn start_grpc_server(&mut self, socket_dir: &Path) -> anyhow::Result<()> { pub fn start_grpc_server(&mut self, socket_dir: &Path) -> anyhow::Result<()> {
self.system_processes // INFO: why is this here
.refresh_processes_specifics(ProcessesToUpdate::All, ProcessRefreshKind::new()); self.system_processes.refresh_processes_specifics(
ProcessesToUpdate::All,
true,
ProcessRefreshKind::nothing(),
);
std::fs::create_dir_all(socket_dir)?; std::fs::create_dir_all(socket_dir)?;
@ -620,7 +624,7 @@ impl Pinnacle {
let refl_service = tonic_reflection::server::Builder::configure() let refl_service = tonic_reflection::server::Builder::configure()
.register_encoded_file_descriptor_set(pinnacle_api_defs::FILE_DESCRIPTOR_SET) .register_encoded_file_descriptor_set(pinnacle_api_defs::FILE_DESCRIPTOR_SET)
.build()?; .build_v1()?;
let uds = tokio::net::UnixListener::bind(&socket_path)?; let uds = tokio::net::UnixListener::bind(&socket_path)?;
let uds_stream = tokio_stream::wrappers::UnixListenerStream::new(uds); let uds_stream = tokio_stream::wrappers::UnixListenerStream::new(uds);

View file

@ -88,7 +88,7 @@ impl AsGlesRenderer for GlesRenderer {
} }
} }
impl<'a> AsGlesRenderer for UdevRenderer<'a> { impl AsGlesRenderer for UdevRenderer<'_> {
fn as_gles_renderer(&mut self) -> &mut GlesRenderer { fn as_gles_renderer(&mut self) -> &mut GlesRenderer {
self.as_mut() self.as_mut()
} }

View file

@ -420,7 +420,7 @@ impl Pinnacle {
xdisplay: None, xdisplay: None,
system_processes: sysinfo::System::new_with_specifics( system_processes: sysinfo::System::new_with_specifics(
RefreshKind::new().with_processes(ProcessRefreshKind::new()), RefreshKind::nothing().with_processes(ProcessRefreshKind::nothing()),
), ),
grpc_server_join_handle: None, grpc_server_join_handle: None,