-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
92 lines (85 loc) · 3.63 KB
/
Copy pathCargo.toml
File metadata and controls
92 lines (85 loc) · 3.63 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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
[package]
name = "kith"
version = "0.1.0"
edition = "2024"
description = "Peer-to-peer screen streaming to friends over iroh + Media over QUIC"
license = "MIT"
repository = "https://github.com/pabulum/kith"
[dependencies]
anyhow = "1"
bytes = "1"
clap = { version = "4.6", features = ["derive", "env"] }
# Both already in the tree through iroh: invite secrets, and their compact
# spelling in a link.
data-encoding = "2"
getrandom = "0.4"
hex = "0.4"
# Same feature set iroh-live builds iroh with, so feature unification with
# iroh-moq's copy doesn't surprise us.
iroh = { version = "1.2.0", default-features = false, features = ["metrics", "portmapper", "tls-aws-lc-rs"] }
iroh-moq = { git = "https://github.com/n0-computer/iroh-live", rev = "bd5afc40822eca7e6b1db2432556460ddc345a6d" }
moq-mux = "0.9.16"
moq-net = "0.2.22"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1.53", features = ["full"] }
toml = "1.1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# The desktop app. Not on Android, where Kith is a CLI in `adb shell`.
[target.'cfg(not(target_os = "android"))'.dependencies]
eframe = "0.36"
# Already in the tree through egui's links; opens the browser fallback player.
webbrowser = "1.2"
# The tray icon and notifications speak D-Bus. zbus is already in the tree
# for egui's accessibility support, running on its own executor (async-io);
# asking for zbus's tokio support too would break that.
[target.'cfg(target_os = "linux")'.dependencies]
futures-util = "0.3"
ksni = { version = "0.3", default-features = false, features = ["async-io", "blocking"] }
zbus = { version = "5", default-features = false, features = ["async-io"] }
[target.'cfg(windows)'.dependencies]
# Desktop sound for streaming, which ffmpeg can't record on Windows: WASAPI
# loopback, including the process loopback that leaves one app out.
wasapi = "0.24"
# Toast notifications (WinRT) and the Start menu shortcut (COM). The same
# version egui's dependencies use.
windows = { version = "0.62", features = [
"Data_Xml_Dom",
"UI_Notifications",
"Win32_Storage_EnhancedStorage",
"Win32_System_Com",
"Win32_System_Com_StructuredStorage",
"Win32_System_Variant",
"Win32_UI_Shell",
"Win32_UI_Shell_PropertiesSystem",
] }
windows-sys = { version = "0.61", features = [
"Win32_Foundation",
"Win32_Graphics_Dwm",
"Win32_Graphics_Gdi",
"Win32_System_Console",
"Win32_System_Diagnostics_ToolHelp",
"Win32_System_LibraryLoader",
"Win32_System_Registry",
"Win32_System_Threading",
"Win32_UI_Shell",
"Win32_UI_WindowsAndMessaging",
] }
[profile.release]
# Symbol names are half the Windows exe, and panics still say where they happened.
strip = true
# The moq stack comes from git, pinned to the exact revision iroh-live's
# Cargo.lock uses (iroh-live bd5afc4 -> moq-dev/moq 6ab7d1a). crates.io's
# moq-net 0.2.22 predates the API iroh-moq is written against, and moq-tokio
# isn't published at all, so these patches are load-bearing: deleting them
# compiles against different crates under the same names. When bumping
# iroh-moq, read the moq rev out of iroh-live's Cargo.lock and move these
# together.
[patch.crates-io]
hang = { git = "https://github.com/moq-dev/moq", rev = "6ab7d1a223e1949a5c2e10b68e29db2e8ab9bdd1" }
moq-mux = { git = "https://github.com/moq-dev/moq", rev = "6ab7d1a223e1949a5c2e10b68e29db2e8ab9bdd1" }
moq-net = { git = "https://github.com/moq-dev/moq", rev = "6ab7d1a223e1949a5c2e10b68e29db2e8ab9bdd1" }
moq-tokio = { git = "https://github.com/moq-dev/moq", rev = "6ab7d1a223e1949a5c2e10b68e29db2e8ab9bdd1" }
[build-dependencies]
embed-resource = "3.0.11"