mirror of
https://github.com/pinnacle-comp/pinnacle.git
synced 2024-12-25 09:59:21 +01:00
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
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:
parent
6495785848
commit
a9d9a38e9d
18 changed files with 781 additions and 748 deletions
1386
Cargo.lock
generated
1386
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
54
Cargo.toml
54
Cargo.toml
|
@ -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"
|
||||||
|
|
|
@ -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`
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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 }
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 }
|
||||||
|
|
|
@ -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]
|
||||||
|
|
|
@ -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 }
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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()
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
||||||
|
|
Loading…
Reference in a new issue