2022-10-01 16:58:22 +00:00
|
|
|
[package]
|
2022-11-22 02:01:50 +00:00
|
|
|
name = "Gupax"
|
2022-12-04 16:24:38 +00:00
|
|
|
version = "0.7.0"
|
2022-11-11 02:20:31 +00:00
|
|
|
authors = ["hinto-janaiyo <hinto.janaiyo@protonmail.com>"]
|
2022-11-02 22:18:41 +00:00
|
|
|
description = "GUI for P2Pool+XMRig"
|
|
|
|
documentation = "https://github.com/hinto-janaiyo/gupax"
|
2022-10-01 16:58:22 +00:00
|
|
|
edition = "2021"
|
|
|
|
|
cargo/tor/p2pool: clean deps, warn macos arti, fix node overflow
Cargo: Cleanup unused dependencies, enable some build optimizations
Tor: Arti doesn't seem to work on macOS
Even a bare Arti+Hyper request doesn't seem to work, so it's
probably not something to do with Gupax. A lot of issues only
seem to popup in a VM (OpenGL, TLS) even though on bare metal
Gupax runs fine, so Tor might work fine on real macOS but I don't
have real macOS to test it. VM macOS can't create a circuit, so,
disable by default and add a warning that it's unstable.
P2Pool: Let selected_index start at 0, and only +1 when printing
to the user, this makes the overflow math when adding/deleting a
lot more simple because selected_index will match the actual index
of the node vector
2022-11-21 22:16:31 +00:00
|
|
|
[profile.release]
|
|
|
|
debug = false
|
|
|
|
strip = "symbols"
|
|
|
|
codegen-units = 1
|
|
|
|
lto = true
|
|
|
|
|
2022-10-01 16:58:22 +00:00
|
|
|
[dependencies]
|
2022-10-25 02:58:42 +00:00
|
|
|
anyhow = "1.0.65"
|
cargo/tor/p2pool: clean deps, warn macos arti, fix node overflow
Cargo: Cleanup unused dependencies, enable some build optimizations
Tor: Arti doesn't seem to work on macOS
Even a bare Arti+Hyper request doesn't seem to work, so it's
probably not something to do with Gupax. A lot of issues only
seem to popup in a VM (OpenGL, TLS) even though on bare metal
Gupax runs fine, so Tor might work fine on real macOS but I don't
have real macOS to test it. VM macOS can't create a circuit, so,
disable by default and add a warning that it's unstable.
P2Pool: Let selected_index start at 0, and only +1 when printing
to the user, this makes the overflow math when adding/deleting a
lot more simple because selected_index will match the actual index
of the node vector
2022-11-21 22:16:31 +00:00
|
|
|
arti-client = { version = "0.7.0", features = ["static"] }
|
2022-10-25 02:58:42 +00:00
|
|
|
arti-hyper = "0.7.0"
|
|
|
|
bytes = "1.2.1"
|
|
|
|
dirs = "4.0.0"
|
2022-11-02 22:18:41 +00:00
|
|
|
eframe = "0.19.0"
|
|
|
|
egui = "0.19.0"
|
|
|
|
egui_extras = { version = "0.19.0", features = ["image"] }
|
2022-10-29 13:13:00 +00:00
|
|
|
## [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].
|
2022-11-02 22:18:41 +00:00
|
|
|
#eframe = { path = "external/egui/crates/eframe" }
|
|
|
|
#egui = { path = "external/egui/crates/egui" }
|
|
|
|
#egui_glow = { path = "external/egui/crates/egui_glow"}
|
|
|
|
#egui_extras = { path = "external/egui/crates/egui_extras", features = ["image"] }
|
2022-10-13 12:57:50 +00:00
|
|
|
env_logger = "0.9.1"
|
2022-10-18 19:26:21 +00:00
|
|
|
figment = { version = "0.10.8", features = ["toml"] }
|
2022-10-25 02:58:42 +00:00
|
|
|
hyper = "0.14.20"
|
|
|
|
hyper-tls = "0.5.0"
|
2022-10-01 16:58:22 +00:00
|
|
|
image = { version = "0.24.4", features = ["png"] }
|
2022-10-13 12:57:50 +00:00
|
|
|
log = "0.4.17"
|
|
|
|
num_cpus = "1.13.1"
|
2022-12-04 01:12:40 +00:00
|
|
|
num-format = { version = "0.4.3", default-features = false }
|
2022-12-05 19:55:50 +00:00
|
|
|
portable-pty = "0.7.0"
|
2022-10-15 15:24:02 +00:00
|
|
|
rand = "0.8.5"
|
cargo/tor/p2pool: clean deps, warn macos arti, fix node overflow
Cargo: Cleanup unused dependencies, enable some build optimizations
Tor: Arti doesn't seem to work on macOS
Even a bare Arti+Hyper request doesn't seem to work, so it's
probably not something to do with Gupax. A lot of issues only
seem to popup in a VM (OpenGL, TLS) even though on bare metal
Gupax runs fine, so Tor might work fine on real macOS but I don't
have real macOS to test it. VM macOS can't create a circuit, so,
disable by default and add a warning that it's unstable.
P2Pool: Let selected_index start at 0, and only +1 when printing
to the user, this makes the overflow math when adding/deleting a
lot more simple because selected_index will match the actual index
of the node vector
2022-11-21 22:16:31 +00:00
|
|
|
regex = { version = "1.6.0", default-features = false, features = ["perf"] }
|
2022-11-17 18:03:45 +00:00
|
|
|
rfd = "0.10.0"
|
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 17:58:44 +00:00
|
|
|
serde = { version = "1.0.145", features = ["rc", "derive"] }
|
2022-10-25 02:58:42 +00:00
|
|
|
serde_json = "1.0"
|
|
|
|
tls-api = "0.9.0"
|
|
|
|
tls-api-native-tls = "0.9.0"
|
2022-12-02 04:13:53 +00:00
|
|
|
tokio = { version = "1.21.2", features = ["rt", "time", "macros", "process"] }
|
2022-11-16 02:19:30 +00:00
|
|
|
toml = { version = "0.5.9", features = ["preserve_order"] }
|
2022-10-25 02:58:42 +00:00
|
|
|
tor-rtcompat = "0.7.0"
|
|
|
|
walkdir = "2.3.2"
|
2022-12-07 23:02:08 +00:00
|
|
|
zeroize = "1.5.7"
|
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 17:58:44 +00:00
|
|
|
|
|
|
|
# Unix dependencies
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
|
|
tar = "0.4.38"
|
cargo/tor/p2pool: clean deps, warn macos arti, fix node overflow
Cargo: Cleanup unused dependencies, enable some build optimizations
Tor: Arti doesn't seem to work on macOS
Even a bare Arti+Hyper request doesn't seem to work, so it's
probably not something to do with Gupax. A lot of issues only
seem to popup in a VM (OpenGL, TLS) even though on bare metal
Gupax runs fine, so Tor might work fine on real macOS but I don't
have real macOS to test it. VM macOS can't create a circuit, so,
disable by default and add a warning that it's unstable.
P2Pool: Let selected_index start at 0, and only +1 when printing
to the user, this makes the overflow math when adding/deleting a
lot more simple because selected_index will match the actual index
of the node vector
2022-11-21 22:16:31 +00:00
|
|
|
flate2 = "1.0"
|
2022-11-19 14:39:26 +00:00
|
|
|
|
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 17:58:44 +00:00
|
|
|
# Windows dependencies
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
2022-10-31 20:08:25 +00:00
|
|
|
zip = "0.6.3"
|
2022-10-01 16:58:22 +00:00
|
|
|
|
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 17:58:44 +00:00
|
|
|
# For Windows build (icon)
|
2022-10-31 20:08:25 +00:00
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
|
|
|
winres = "0.1.12"
|
2022-10-01 16:58:22 +00:00
|
|
|
|
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 17:58:44 +00:00
|
|
|
# For macOS build (cargo-bundle)
|
2022-10-31 20:08:25 +00:00
|
|
|
[package.metadata.bundle]
|
2022-11-02 22:18:41 +00:00
|
|
|
identifier = "com.github.hinto-janaiyo.gupax"
|
|
|
|
icon = ["images/icons/icon@2x.png"]
|