1 | [package] |
2 | name = "zbus" |
3 | version = "3.15.2" |
4 | authors = ["Zeeshan Ali Khan <zeeshanak@gnome.org>" ] |
5 | edition = "2018" |
6 | rust-version = "1.64" |
7 | |
8 | description = "API for D-Bus communication" |
9 | repository = "https://github.com/dbus2/zbus/" |
10 | keywords = ["D-Bus" , "DBus" , "IPC" ] |
11 | license = "MIT" |
12 | categories = ["os::unix-apis" ] |
13 | readme = "README.md" |
14 | |
15 | [features] |
16 | default = ["async-io" ] |
17 | xml = ["serde-xml-rs" ] |
18 | gvariant = ["zvariant/gvariant" ] |
19 | uuid = ["zvariant/uuid" ] |
20 | url = ["zvariant/url" ] |
21 | time = ["zvariant/time" ] |
22 | chrono = ["zvariant/chrono" ] |
23 | windows-gdbus = [] |
24 | async-io = [ |
25 | "dep:async-io" , |
26 | "async-executor" , |
27 | "async-task" , |
28 | "async-lock" , |
29 | "async-fs" , |
30 | "blocking" , |
31 | "futures-util/io" , |
32 | ] |
33 | tokio = ["dep:tokio" ] |
34 | vsock = ["dep:vsock" , "dep:async-io" ] |
35 | tokio-vsock = ["dep:tokio-vsock" , "tokio" ] |
36 | |
37 | [dependencies] |
38 | byteorder = "1.4.3" |
39 | serde = { version = "1.0" , features = ["derive" ] } |
40 | serde_repr = "0.1.9" |
41 | zvariant = { path = "../zvariant" , version = "3.15.0" , default-features = false, features = [ |
42 | "enumflags2" , |
43 | ] } |
44 | zbus_names = { path = "../zbus_names" , version = "2.6" } |
45 | zbus_macros = { path = "../zbus_macros" , version = "=3.15.2" } |
46 | enumflags2 = { version = "0.7.7" , features = ["serde" ] } |
47 | serde-xml-rs = { version = "0.4.1" , optional = true } |
48 | derivative = "2.2" |
49 | once_cell = "1.4.0" |
50 | async-io = { version = "1.12.0" , optional = true } |
51 | futures-core = "0.3.25" |
52 | futures-sink = "0.3.25" |
53 | futures-util = { version = "0.3.25" , default-features = false, features = [ |
54 | "sink" , |
55 | "std" , |
56 | ] } |
57 | async-lock = { version = "2.6.0" , optional = true } |
58 | async-broadcast = "0.5.0" |
59 | async-executor = { version = "1.5.0" , optional = true } |
60 | blocking = { version = "1.0.2" , optional = true } |
61 | async-task = { version = "4.3.0" , optional = true } |
62 | hex = "0.4.3" |
63 | ordered-stream = "0.2" |
64 | rand = "0.8.5" |
65 | sha1 = { version = "0.10.5" , features = ["std" ] } |
66 | event-listener = "2.5.3" |
67 | static_assertions = "1.1.0" |
68 | async-recursion = "1.0.0" |
69 | async-trait = "0.1.58" |
70 | async-fs = { version = "1.6.0" , optional = true } |
71 | # FIXME: We should only enable process feature for Mac OS. See comment on async-process below for why we can't. |
72 | tokio = { version = "1.21.2" , optional = true, features = [ |
73 | "rt" , |
74 | "net" , |
75 | "time" , |
76 | "fs" , |
77 | "io-util" , |
78 | "process" , |
79 | "sync" , |
80 | "tracing" , |
81 | ] } |
82 | tracing = "0.1.37" |
83 | vsock = { version = "0.3.0" , optional = true } |
84 | tokio-vsock = { version = "0.3.3" , optional = true } |
85 | quick-xml = { version = "0.27.1" , features = [ |
86 | "serialize" , |
87 | "overlapped-lists" , |
88 | ], optional = true } |
89 | xdg-home = "1.0.0" |
90 | |
91 | [target.'cfg(windows)'.dependencies] |
92 | winapi = { version = "0.3" , features = [ |
93 | "handleapi" , |
94 | "iphlpapi" , |
95 | "memoryapi" , |
96 | "processthreadsapi" , |
97 | "sddl" , |
98 | "securitybaseapi" , |
99 | "synchapi" , |
100 | "tcpmib" , |
101 | "winbase" , |
102 | "winerror" , |
103 | "winsock2" , |
104 | ] } |
105 | uds_windows = "1.0.2" |
106 | |
107 | [target.'cfg(unix)'.dependencies] |
108 | nix = { version = "0.26.0" , default-features = false, features = [ |
109 | "socket" , |
110 | "uio" , |
111 | "user" , |
112 | ] } |
113 | |
114 | [target.'cfg(target_os = "macos")'.dependencies] |
115 | # FIXME: This should only be enabled if async-io feature is enabled but currently |
116 | # Cargo doesn't provide a way to do that for only specific target OS: https://github.com/rust-lang/cargo/issues/1197. |
117 | async-process = "1.7.0" |
118 | |
119 | [dev-dependencies] |
120 | doc-comment = "0.3.3" |
121 | futures-util = "0.3.25" # activate default features |
122 | ntest = "0.9.0" |
123 | test-log = { version = "0.2.11" , features = [ |
124 | "trace" , |
125 | ], default-features = false } |
126 | tokio = { version = "1" , features = [ |
127 | "macros" , |
128 | "rt-multi-thread" , |
129 | "fs" , |
130 | "io-util" , |
131 | "net" , |
132 | "sync" , |
133 | ] } |
134 | async-std = { version = "1.12.0" , features = ["attributes" ] } |
135 | tracing-subscriber = { version = "0.3.16" , features = [ |
136 | "env-filter" , |
137 | "fmt" , |
138 | "ansi" , |
139 | ], default-features = false } |
140 | tempfile = "3.3.0" |
141 | |
142 | [package.metadata.docs.rs] |
143 | all-features = true |
144 | targets = ["x86_64-unknown-linux-gnu" ] |
145 | |