generated from emilk/eframe_template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
128 lines (111 loc) · 4.18 KB
/
Cargo.toml
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
[workspace]
members = ["crates/*"]
[workspace.dependencies]
html-to-egui = { git = "https://github.com/DougAnderson444/rdx.git" }
html-egui-bindgen = { git = "https://github.com/DougAnderson444/rdx.git" }
rhai = "1.20.1"
[package]
name = "eframe-multinode"
version = "0.1.2"
authors = ["Doug Anderson <doug@peerpiper.io>"]
edition = "2021"
include = ["LICENSE-APACHE", "LICENSE-MIT", "**/*.rs", "Cargo.toml"]
rust-version = "1.83"
description = "A PeerPiper multi-node application built using egui and efrem that runs in the browser and desktop."
default-run = "eframe-multinode"
[package.metadata.docs.rs]
all-features = true
targets = ["x86_64-unknown-linux-gnu", "wasm32-unknown-unknown"]
# [[bin]]
# name = "force-build-wasm-bins"
# path = "build.rs"
[dependencies]
egui = "0.29"
eframe = { version = "0.29", default-features = false, features = [
"accesskit", # Make egui compatible with screen readers. NOTE: adds a lot of dependencies.
"default_fonts", # Embed the default egui fonts.
"glow", # Use the glow rendering backend. Alternative: "wgpu".
"persistence", # Enable restoring app state when restarting the app.
] }
log = "0.4"
# You only need serde if you want app persistence:
serde = { version = "1", features = ["derive"] }
tracing = { version = "0.1", features = ["log"] }
egui_material_icons = "0.1.0"
cloudflare = { version = "0.12.0", git = "https://github.com/cloudflare/cloudflare-rs.git" }
reqwest = { version = "0.11.27", default-features = false, features = [
"native-tls-vendored", # worksaround openssl issue in cross in Docker image. Could potentially use: openssl-sys = { version = "0.9", features = ['vendored'] }
] }
multiaddr = "0.18"
thiserror = "2.0"
bon = "3.1.1" # for easy builder pattern
wasmparser = "0.221"
rdx = { version = "0.2.1", git = "https://github.com/DougAnderson444/rdx.git" }
rand = "0.8"
send_wrapper = "0.6"
dirs = "5.0.1"
anyhow = "1.0"
futures = "0.3"
peerpiper = { git = "https://github.com/PeerPiper/peerpiper.git" }
serde_json = "1.0"
chrono = "0.4"
blockstore = "0.7.1"
cid = "0.11.1"
web-time = "1.1.0"
rfd = "0.15" # Rust File Dialog
# native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tokio = { version = "1", features = [
"time",
"rt",
"macros",
"sync",
"rt-multi-thread",
] }
peerpiper-plugins = { git = "https://github.com/PeerPiper/peerpiper.git" }
peerpiper-native = { git = "https://github.com/PeerPiper/peerpiper.git" }
# web:
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen-futures = "0.4"
web-sys = { version = "0.3.70", features = [
"FileReader",
"Request",
"RequestInit",
"RequestMode",
"Response",
"Headers",
"Storage",
"Window",
] }
serde-wasm-bindgen = "0.6"
peerpiper-browser = { git = "https://github.com/PeerPiper/peerpiper.git" }
tokio = { version = "1", features = ["sync"] }
gloo-timers = { version = "0.3.0", features = ["futures"] }
[build-dependencies]
wasmparser = "0.221"
# rdx = { git = "https://github.com/DougAnderson444/rdx.git" }
[profile.release]
opt-level = 2 # fast and small wasm
lto = true
codegen-units = 1
# Optimize all dependencies even in debug builds:
[profile.dev.package."*"]
opt-level = 2
[patch.crates-io]
# patch peerpiper-plugins = { git = "https://github.com/PeerPiper/peerpiper.git" }
# [patch.'https://github.com/PeerPiper/peerpiper.git']
# peerpiper-plugins = { path = "../peerpiper/crates/peerpiper-plugins" }
# peerpiper = { path = "../peerpiper/crates/peerpiper" }
# peerpiper-native = { path = "../peerpiper/crates/peerpiper-native" }
# peerpiper-browser = { path = "../peerpiper/crates/peerpiper-browser" }
# [patch.'https://github.com/DougAnderson444/rdx.git']
# rdx = { version = "0.2.1", path = "../rdx" }
# html-to-egui = { path = "../rdx/crates/html-to-egui" }
# html-egui-bindgen = { path = "../rdx/crates/html-egui-bindgen" }
# If you want to use the bleeding edge version of egui and eframe:
# egui = { git = "https://github.com/emilk/egui", branch = "master" }
# eframe = { git = "https://github.com/emilk/egui", branch = "master" }
# If you fork https://github.com/emilk/egui you can test with:
# egui = { path = "../egui/crates/egui" }
# eframe = { path = "../egui/crates/eframe" }