mirror of
https://github.com/Cyrix126/gupaxx.git
synced 2024-11-16 23:37:47 +00:00
b64e1e3a46
[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.
66 lines
1.9 KiB
TOML
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"
|