-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
76 lines (68 loc) · 2.91 KB
/
Copy pathCargo.toml
File metadata and controls
76 lines (68 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[workspace]
# The daemon stays the default target: `cargo build`, `cargo test` and
# `cargo clippy` at the repo root behave exactly as they did before
# gamedb-build joined the workspace, and the daemon's dependency tree gains
# nothing. Reach the builder explicitly with `-p gamedb-build`.
members = [".", "gamedb-build"]
default-members = ["."]
[package]
name = "gamebus-presenced"
version = "0.3.0"
edition = "2021"
authors = ["fschaupp <spritzwine.absently488@passinbox.com>"]
description = "D-Bus presence daemon for Linux desktop - publishes unified game/app activity on session bus"
license = "Apache-2.0"
readme = "README.md"
[[bin]]
name = "gamebus-presenced"
path = "src/main.rs"
[[bin]]
name = "gamebus-presence"
path = "src/bin/gamebus-presence.rs"
[[bin]]
name = "gamebus-setup"
path = "src/bin/gamebus-setup.rs"
required-features = ["setup"]
# Declared explicitly so `--no-default-features` skips it: it references
# CARGO_BIN_EXE_gamebus-setup, which does not exist without the feature.
[[test]]
name = "setup_cli"
path = "tests/setup_cli.rs"
required-features = ["setup"]
[features]
default = ["setup"]
# The setup/status TUI. On by default because you need it to install the
# daemon; `--no-default-features` builds the daemon and CLI without ratatui.
setup = ["dep:ratatui", "dep:toml_edit", "dep:rusqlite"]
[dependencies]
zbus = { version = "4", features = ["tokio"] }
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
libc = "0.2"
rsrpc = { git = "https://github.com/SpikeHD/rsRPC", rev = "062e0fd9fe34a475640a822facfee68296ba22e3" }
ureq = { version = "2", features = ["json"] }
# Tooling only - never linked into the daemon binary (src/main.rs does not use
# it). crossterm comes via `ratatui::crossterm` rather than a direct dependency,
# so the two can never disagree on a version. default-features = false drops
# all-widgets (which pulls `time`) and the macros crate.
ratatui = { version = "0.30", optional = true, default-features = false, features = [
"crossterm",
"layout-cache",
"underline-color",
] }
# Tooling only, same rule. The gamedb export edits a page gamebus-gamedb
# already publishes, and everything it does not touch - comments, notes,
# merged_from, the wrapping of a note - has to come out byte for byte as it
# went in. That is a format-preserving editor's job, not an emitter's. It is
# already in Cargo.lock through gamedb-build, so the lock gains nothing.
toml_edit = { version = "0.22", optional = true }
# Tooling only, same rule. Reads Lutris's pga.db (a sqlite file) so the setup
# tool can fill codenames from the user's own library. Same version and
# features as gamedb-build's rusqlite, so Cargo.lock gains no new package.
rusqlite = { version = "0.32", features = ["bundled"], optional = true }
[dev-dependencies]
discord-rich-presence = "1"