From 9b5eac55d111369fbebf6d99193a90edde9d4e79 Mon Sep 17 00:00:00 2001 From: Ottatop Date: Sat, 17 Feb 2024 23:50:36 -0600 Subject: [PATCH] Fixup Cargo workspace --- Cargo.lock | 119 +++++++++++++++++++----- Cargo.toml | 114 ++++++++++++++--------- api/rust/Cargo.toml | 19 ++-- api/rust/pinnacle-api-macros/Cargo.toml | 10 +- pinnacle-api-defs/Cargo.toml | 12 ++- 5 files changed, 186 insertions(+), 88 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f4dea28..c9ca093 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -399,9 +399,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.18" +version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c" +checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" dependencies = [ "clap_builder", "clap_derive", @@ -409,9 +409,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.18" +version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7" +checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" dependencies = [ "anstream", "anstyle", @@ -421,9 +421,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.4.7" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" dependencies = [ "heck", "proc-macro2", @@ -433,9 +433,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "color_quant" @@ -740,6 +740,21 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + [[package]] name = "futures-channel" version = "0.3.30" @@ -747,6 +762,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", + "futures-sink", ] [[package]] @@ -755,6 +771,34 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "futures-sink" version = "0.3.30" @@ -773,10 +817,16 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ + "futures-channel", "futures-core", + "futures-io", + "futures-macro", + "futures-sink", "futures-task", + "memchr", "pin-project-lite", "pin-utils", + "slab", ] [[package]] @@ -1541,7 +1591,6 @@ dependencies = [ "nix", "pinnacle-api-defs", "prost", - "prost-types", "serde", "shellexpand", "smithay", @@ -1564,6 +1613,20 @@ dependencies = [ "xkbcommon", ] +[[package]] +name = "pinnacle-api" +version = "0.0.2" +dependencies = [ + "futures", + "num_enum", + "pinnacle-api-defs", + "pinnacle-api-macros", + "tokio", + "tonic", + "tower", + "xkbcommon", +] + [[package]] name = "pinnacle-api-defs" version = "0.0.1" @@ -1574,6 +1637,15 @@ dependencies = [ "tonic-build", ] +[[package]] +name = "pinnacle-api-macros" +version = "0.0.2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "pkg-config" version = "0.3.29" @@ -2082,15 +2154,15 @@ dependencies = [ [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" [[package]] name = "syn" -version = "2.0.48" +version = "2.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "915aea9e586f80826ee59f8453c1101f9d1c4b3964cd2460185ee8e299ada496" dependencies = [ "proc-macro2", "quote", @@ -2141,18 +2213,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", @@ -2311,9 +2383,9 @@ dependencies = [ [[package]] name = "tonic" -version = "0.10.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" +checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" dependencies = [ "async-stream", "async-trait", @@ -2338,9 +2410,9 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.10.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889" +checksum = "be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2" dependencies = [ "prettyplease", "proc-macro2", @@ -2351,9 +2423,9 @@ dependencies = [ [[package]] name = "tonic-reflection" -version = "0.10.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fa37c513df1339d197f4ba21d28c918b9ef1ac1768265f11ecb6b7f1cba1b76" +checksum = "548c227bd5c0fae5925812c4ec6c66ffcfced23ea370cb823f4d18f0fc1cb6a7" dependencies = [ "prost", "prost-types", @@ -2400,6 +2472,7 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ + "log", "pin-project-lite", "tracing-attributes", "tracing-core", diff --git a/Cargo.toml b/Cargo.toml index 6e8b794..7b0feba 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,69 +1,97 @@ +[workspace] +members = ["pinnacle-api-defs", "api/rust", "api/rust/pinnacle-api-macros"] + +[workspace.package] +authors = ["Ottatop "] +edition = "2021" +repository = "https://github.com/pinnacle-comp/pinnacle/" + +[workspace.dependencies] +tokio = { version = "1.36.0", features = ["macros", "rt-multi-thread"]} + +prost = "0.12.3" +tonic = "0.11.0" +tonic-reflection = "0.11.0" +tonic-build = "0.11.0" + +pinnacle-api-defs = { path = "./pinnacle-api-defs" } + +xkbcommon = "0.7.0" +xdg = "2.5.2" + +################################################################################# + [package] name = "pinnacle" -authors = ["Ottatop "] version = "0.0.1" -edition = "2021" +authors.workspace = true +edition.workspace = true license = "GPL-3.0+" description = "A WIP Smithay-based Wayland compositor, inspired by AwesomeWM" readme = "README.md" -repository = "https://github.com/pinnacle-comp/pinnacle/" +repository.workspace = true keywords = ["wayland", "compositor", "smithay", "lua"] [dependencies] +smithay = { git = "https://github.com/Smithay/smithay", rev = "1074914", default-features = false, features = ["desktop", "wayland_frontend"] } +smithay-drm-extras = { git = "https://github.com/Smithay/smithay", rev = "1074914" } + tracing = "0.1.40" tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } tracing-appender = "0.2.3" -smithay = { git = "https://github.com/Smithay/smithay", rev = "1074914", default-features = false, features = ["desktop", "wayland_frontend"] } -smithay-drm-extras = { git = "https://github.com/Smithay/smithay", rev = "1074914", optional = true } -thiserror = "1.0.56" -xcursor = { version = "0.3.5", optional = true } -image = { version = "0.24.8", default-features = false, optional = true } -serde = { version = "1.0.196", features = ["derive"] } -x11rb = { version = "0.13.0", default-features = false, features = ["composite"], optional = true } -shellexpand = "3.1.0" -toml = "0.8.10" + anyhow = { version = "1.0.79", features = ["backtrace"] } -clap = { version = "4.4.18", features = ["derive"] } -xkbcommon = "0.7.0" -xdg = "2.5.2" +thiserror = "1.0.57" + +xcursor = { version = "0.3.5" } +image = { version = "0.24.8", default-features = false } + +serde = { version = "1.0.196", features = ["derive"] } +toml = "0.8.10" +shellexpand = "3.1.0" +clap = { version = "4.5.1", features = ["derive"] } +x11rb = { version = "0.13.0", default-features = false, features = ["composite"] } +xkbcommon = { workspace = true } +xdg = { workspace = true } sysinfo = "0.30.5" nix = { version = "0.27.1", features = ["user", "resource"] } -prost = "0.12.3" -prost-types = "0.12.3" -tonic = "0.10.2" -tonic-reflection = "0.10.2" + +prost = { workspace = true } +tonic = { workspace = true } +tonic-reflection = { workspace = true } + +tokio = { workspace = true, features = ["process", "io-util", "signal"] } tokio-stream = { version = "0.1.14", features = ["net"] } -tokio = { version = "1.36.0", features = ["macros", "rt-multi-thread", "process", "io-util", "signal"]} + bitflags = "2.4.2" -pinnacle-api-defs = { path = "./pinnacle-api-defs" } +pinnacle-api-defs = { workspace = true } [build-dependencies] -xdg = "2.5.2" +xdg = { workspace = true } [dev-dependencies] temp-env = "0.3.6" tempfile = "3.10.0" [features] -default = ["egl", "winit", "udev", "xwayland"] -egl = ["smithay/use_system_lib", "smithay/backend_egl"] -udev = [ - "smithay-drm-extras", - "smithay/backend_libinput", - "smithay/backend_udev", - "smithay/backend_drm", - "smithay/backend_gbm", - "smithay/backend_vulkan", - "smithay/backend_egl", - "smithay/backend_session_libseat", - "image", - "smithay/renderer_gl", - "smithay/renderer_multi", - "xcursor", +default = [ + # udev + "smithay/backend_libinput", + "smithay/backend_udev", + "smithay/backend_drm", + "smithay/backend_gbm", + "smithay/backend_vulkan", + "smithay/backend_egl", + "smithay/backend_session_libseat", + "smithay/renderer_gl", + "smithay/renderer_multi", + # egl + "smithay/use_system_lib", + "smithay/backend_egl", + # winit + "smithay/backend_winit", + "smithay/backend_drm", + # xwayland + "smithay/xwayland", + "smithay/x11rb_event_source" ] -winit = ["smithay/backend_winit", "smithay/backend_drm"] -xwayland = ["smithay/xwayland", "x11rb", "smithay/x11rb_event_source", "xcursor"] - -[workspace] -members = ["pinnacle-api-defs"] -exclude = ["api/rust"] diff --git a/api/rust/Cargo.toml b/api/rust/Cargo.toml index 0d0caf2..f5baa05 100644 --- a/api/rust/Cargo.toml +++ b/api/rust/Cargo.toml @@ -1,25 +1,20 @@ [package] name = "pinnacle-api" version = "0.0.2" -edition = "2021" -authors = ["Ottatop "] +edition.workspace = true +authors.workspace = true description = "The Rust implementation of the Pinnacle compositor's configuration API" license = "MPL-2.0" -repository = "https://github.com/pinnacle-comp/pinnacle" +repository.workspace = true keywords = ["compositor", "pinnacle", "api", "config"] categories = ["api-bindings", "config"] [dependencies] -pinnacle-api-defs = { path = "../../pinnacle-api-defs" } +pinnacle-api-defs = { workspace = true } pinnacle-api-macros = { path = "./pinnacle-api-macros" } -tokio = { version = "1.35.1", features = ["macros", "rt-multi-thread", "net"] } -async-net = "2.0.0" -async-compat = "0.2.3" -tonic = "0.10.2" +tokio = { workspace = true, features = ["net"] } +tonic = { workspace = true } tower = { version = "0.4.13", features = ["util"] } futures = "0.3.30" num_enum = "0.7.2" -xkbcommon = "0.7.0" - -[workspace] -members = ["pinnacle-api-macros"] +xkbcommon = { workspace = true } diff --git a/api/rust/pinnacle-api-macros/Cargo.toml b/api/rust/pinnacle-api-macros/Cargo.toml index 376df9c..7ec2987 100644 --- a/api/rust/pinnacle-api-macros/Cargo.toml +++ b/api/rust/pinnacle-api-macros/Cargo.toml @@ -1,16 +1,16 @@ [package] name = "pinnacle-api-macros" version = "0.0.2" -edition = "2021" -authors = ["Ottatop "] +edition.workspace = true +authors.workspace = true description = "Macros for `pinnacle-api`" license = "MPL-2.0" -repository = "https://github.com/pinnacle-comp/pinnacle" +repository.workspace = true [dependencies] quote = "1.0.35" -syn = { version = "2.0.48", features = ["full", "parsing"] } -proc-macro2 = "1.0.76" +syn = { version = "2.0.49", features = ["full", "parsing"] } +proc-macro2 = "1.0.78" [lib] proc-macro = true diff --git a/pinnacle-api-defs/Cargo.toml b/pinnacle-api-defs/Cargo.toml index 899a036..dfbfe0a 100644 --- a/pinnacle-api-defs/Cargo.toml +++ b/pinnacle-api-defs/Cargo.toml @@ -1,13 +1,15 @@ [package] name = "pinnacle-api-defs" version = "0.0.1" -edition = "2021" +description = "Tonic protobuf codegen for Pinnacle and its Rust API" +authors.workspace = true +edition.workspace = true +repository.workspace = true [dependencies] -tonic = "0.10.2" -prost = "0.12.3" -# prost-types = "0.12.3" +tonic = { workspace = true } +prost = { workspace = true } [build-dependencies] -tonic-build = "0.10.2" +tonic-build = { workspace = true } const_format = "0.2.32"