[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] default = ["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 } 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"] } itertools = "0.14" allsorts = "0.15" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tracing-subscriber = "0.3" [target.'cfg(target_arch = "wasm32")'.dependencies] 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" }