Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
75 lines (71 loc) · 3.43 KB
/
Copy pathCargo.toml
File metadata and controls
75 lines (71 loc) · 3.43 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
[workspace]
resolver = "2"
members = ["crates/core", "crates/launcher-cli", "crates/launcher-gui"]
[workspace.package]
version = "1.0.0-beta.3"
edition = "2021"
rust-version = "1.90"
license = "GPL-3.0-or-later"
repository = "https://git.tuxcore.pro/kenny/lightforge.git"
# The public mirror rather than the line above: the Forgejo instance upstream
# lives on wants a login for anything but `git clone`, and a homepage that
# sends a stranger to a sign-in form is worse than no homepage. This is what
# the packages print as the project's address.
homepage = "https://github.com/LightforgeProject/lightforge"
[workspace.dependencies]
lightforge-core = { path = "crates/core" }
anyhow = "1"
clap = { version = "4", features = ["derive"] }
directories = "5"
flate2 = "1"
futures-util = { version = "0.3", default-features = false, features = ["std"] }
# `sysinfo` is for `iced::system::information`: the renderer's own adapter
# and backend, which a bug report about a game that will not draw needs and
# which nothing outside the renderer can answer.
iced = { version = "0.14", features = ["tokio", "image", "advanced", "lazy", "canvas", "sysinfo"] }
# The same 0.24 iced decodes with; the GUI decodes artwork itself, once.
image = { version = "0.24", default-features = false, features = ["jpeg", "png"] }
libc = "0.2"
md5 = "0.8"
open = "5"
# The file picker: the XDG desktop portal, spoken directly. `async-std` rather
# than the default `tokio` feature only to leave zbus exactly as iced already
# builds it — this adds no second D-Bus stack.
ashpd = { version = "0.12", default-features = false, features = ["async-std"] }
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json", "stream"] }
sha2 = "0.10"
# Default features are deliberately off, and **no transport feature at all**:
# the launcher implements sentry's `Transport` over its own `core::net::Http`
# (see `report.rs`). `sentry/reqwest` wants reqwest 0.13 beside our 0.12, and
# its `rustls` feature switches the *shared* rustls onto `aws-lc-rs` — so the
# release was building a second HTTP client, a platform certificate verifier
# and a whole second crypto provider in C for a client we already had.
# `panic` would install a panic hook, and a report is only ever sent with
# someone's explicit consent; `release-health` sends a session envelope per
# launch that GlitchTip has no use for.
sentry = { version = "0.49", default-features = false, features = ["backtrace", "contexts"] }
sysinfo = { version = "0.36", default-features = false, features = ["system"] }
# For the screenshot a report carries: GlitchTip drops envelope attachments,
# so the image travels inside the event as a data URI.
base64 = "0.22"
blte = "0.4"
ngdp-crypto = "0.4"
tact-parser = "0.4"
tar = "0.4"
tempfile = "3"
tokio = { version = "1", default-features = false }
# Release ordering for the update check. Already in the lock as a build
# dependency of `sentry-contexts`, pulls nothing of its own, and knows the
# prerelease precedence rules a string compare gets wrong: `beta.10` is newer
# than `beta.2`, and `1.0.0` is newer than both.
semver = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
toml = "0.8"
# Addon packages are plain deflate zips; nothing else is needed, and the
# default feature set drags in bzip2/zstd/aes for formats WoW never uses.
zip = { version = "2", default-features = false, features = ["deflate"] }
[profile.release]
lto = "thin"
codegen-units = 1