109 lines
3.1 KiB
TOML

[package]
name = "ytbn_graphing_software"
version = "0.1.0"
edition = "2024"
license = "AGPL-3.0"
repository = "https://github.com/Titaniumtown/YTBN-Graphing-Software"
description = "Crossplatform (and web-compatible) graphing calculator"
[lib]
crate-type = ["cdylib", "rlib"]
[features]
wayland-native = ["eframe/wayland"]
[profile.release]
debug = false
codegen-units = 1
opt-level = "z" #optimize for size
lto = "fat"
strip = true
panic = "abort"
[profile.dev]
debug = true
codegen-units = 8
opt-level = 0
lto = false
strip = false
[profile.bench]
debug = true
codegen-units = 1
opt-level = 3
lto = "thin"
strip = false
[dependencies]
parsing = { path = "./parsing" }
eframe = { git = "https://github.com/titaniumtown/egui.git", default-features = false, features = [
"glow",
] }
egui = { git = "https://github.com/titaniumtown/egui.git", default-features = false, features = [
"serde",
] }
epaint = { git = "https://github.com/titaniumtown/egui.git", default-features = false , features = [
"bytemuck",
] }
emath = { git = "https://github.com/titaniumtown/egui.git", default-features = false }
egui_plot = { version = "0.34.0", default-features = false }
shadow-rs = { version = "1.4", default-features = false }
const_format = { version = "0.2", default-features = false, features = ["fmt"] }
cfg-if = "1"
ruzstd = "0.8"
tracing = "0.1"
itertools = "0.14"
static_assertions = "1.1"
bincode = "1.3"
serde = "1"
base64 = "0.22"
[dev-dependencies]
benchmarks = { path = "./benchmarks" }
[build-dependencies]
shadow-rs = "1.4"
epaint = { git = "https://github.com/titaniumtown/egui.git", default-features = false, features = [
"bytemuck",
] }
egui = { git = "https://github.com/titaniumtown/egui.git", default-features = false, features = [
"serde",
] }
bincode = "1.3"
serde = "1"
serde_json = "1"
zstd = { version = "0.13", default-features = false, features = ["pkg-config"] }
run_script = "0.11"
json5 = "1.0"
itertools = "0.14"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
instant = "0.1"
tracing-subscriber = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies]
instant = { version = "0.1", features = ["wasm-bindgen"] }
lol_alloc = "0.4.1"
wasm-bindgen = { version = "0.2", default-features = false, features = ["std"] }
web-sys = "0.3"
tracing-wasm = "0.2"
# pinned to 0.4.54 in order to be compatible with nixos's wasm-bindgen-cli version
wasm-bindgen-futures = "=0.4.54"
[package.metadata.cargo-all-features]
skip_optional_dependencies = true #don't test optional dependencies, only features
# various dependency patches fix issues with nix complication such as:
# ````
# ln: failed to create symbolic link '/nix/store/plh3y4gfxgwcacjccv72f551y1k89x75-cargo-vendor-dir/ecolor-0.33.2/qb43vsx43av6kf4h9y4bsmisvbjlcxd1-ecolor-0.33.2': Permission denied
# ````
[patch.crates-io]
egui = { git = "https://github.com/titaniumtown/egui.git" }
eframe = { git = "https://github.com/titaniumtown/egui.git" }
epaint = { git = "https://github.com/titaniumtown/egui.git" }
emath = { git = "https://github.com/titaniumtown/egui.git" }
ecolor = { git = "https://github.com/titaniumtown/egui.git" }