gupax/Cargo.toml
hinto-janaiyo b64e1e3a46
update: save [Version] to state, use runtime [og: State]
[og: State] is now completely wrapped in an [Arc<Mutex>] so that
when the update is done, it can [.lock()] the CURRENT runtime
settings of the user and save to [gupax.toml] instead of using an
old copy that was given to it at the beginning of the thread.

In practice, this means users can change settings around during
an update and the update finishing and saving to disk won't be
using their old settings, but the current ones. Wrapping all of
[og: State] within in [Arc<Mutex>] might be overkill compared to
message channels but [State] really is just a few [bool]'s, [u*],
and small [String]'s, so it's not much data.

To bypass a deadlock when comparing [og == state] every frame,
[og]'s struct fields get cloned every frame into separate
variables, then it gets compared. This is also pretty stupid, but
again, the data being cloned is so tiny that it doesn't seem to
slow anything down.
2022-11-02 13:58:44 -04:00

66 lines
1.9 KiB
TOML

[package]
name = "gupax"
version = "0.1.0"
edition = "2021"
[dependencies]
anyhow = "1.0.65"
arti-client = "0.7.0"
arti-hyper = "0.7.0"
bytes = "1.2.1"
chrono = "0.4.22"
dirs = "4.0.0"
#eframe = "0.19.0"
#egui = "0.19.0"
#egui_extras = { version = "0.19.0", features = ["image"] }
## [external/egui/crates/eframe/src/native/run.rs] line 41: [.with_srgb(true)]
## This line causes a [panic!] inside a Windows VM, from a Linux host.
## There are many issue threads and PRs to fix it but for now,
## this is here for convenience sake when I'm testing.
## The only change is [.with_srgb()] is set to [false].
eframe = { path = "external/egui/crates/eframe" }
egui = { path = "external/egui/crates/egui" }
egui_extras = { path = "external/egui/crates/egui_extras", features = ["image"] }
env_logger = "0.9.1"
figment = { version = "0.10.8", features = ["toml"] }
flate2 = "1.0"
hex-literal = "0.3.4"
hyper = "0.14.20"
hyper-tls = "0.5.0"
image = { version = "0.24.4", features = ["png"] }
log = "0.4.17"
monero = "0.18.0"
num_cpus = "1.13.1"
num-format = "0.4.0"
#openssl = { version = "*", features = ["vendored"] }
rand = "0.8.5"
regex = "1.6.0"
reqwest = { version = "0.11.12", features = ["blocking", "json"] }
rusqlite = { version = "0.28.0", features = ["bundled"] }
serde = { version = "1.0.145", features = ["rc", "derive"] }
serde_json = "1.0"
sha2 = "0.10.6"
tls-api = "0.9.0"
tls-api-native-tls = "0.9.0"
tokio = { version = "1.21.2", features = ["full"] }
toml = "0.5.9"
tor-rtcompat = "0.7.0"
walkdir = "2.3.2"
# Unix dependencies
[target.'cfg(unix)'.dependencies]
tar = "0.4.38"
# Windows dependencies
[target.'cfg(windows)'.dependencies]
zip = "0.6.3"
# For Windows build (icon)
[target.'cfg(windows)'.build-dependencies]
winres = "0.1.12"
# For macOS build (cargo-bundle)
[package.metadata.bundle]
identifier = "io.github.hinto-janaiyo.gupax"
icon = ["images/png/icon@2x.png"]
short_description = "GUI for P2Pool+XMRig"