Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
93 lines (76 loc) · 2.46 KB
/
Copy pathCargo.toml
File metadata and controls
93 lines (76 loc) · 2.46 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
[workspace]
members = [
".",
"evp_helper_tool",
"xtask",
]
[package]
name = "evp"
version = "0.20.0"
edition = "2024"
license = "MIT"
build = "build.rs"
[lib]
name = "evp"
path = "src/lib.rs"
[[bin]]
name = "evp"
path = "src/bin/evp.rs"
[dependencies]
# Terminal emulator. We pin to a known-good libghostty-rs revision and
# statically link libghostty-vt.
libghostty-vt = { git = "https://github.com/uzaaft/libghostty-rs", rev = "81b776c64fa96d8be0b243e0ebc383887c51eb38" }
# Force-enable libghostty-vt-sys pkg-config support so builds can use the
# prebuilt artifact in assets/libghostty instead of fetching Ghostty.
libghostty-vt-sys = { git = "https://github.com/uzaaft/libghostty-rs", rev = "81b776c64fa96d8be0b243e0ebc383887c51eb38", features = ["pkg-config"] }
# CLI / errors / logging.
anyhow = "1"
thiserror = "2"
clap = { version = "4", features = ["derive"] }
clap_complete = "4.6.5"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
humantime = "2"
# Serialization.
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Concurrency.
crossbeam-channel = "0.5"
# Pseudo-terminal & polling.
nix = { version = "0.31", features = ["term", "fs", "signal", "process", "user", "ioctl", "poll"] }
# Pattern matching for `Wait /regex/`.
regex = "1"
shell-words = "1"
termina = "0.3.3"
ratatui = { version = "0.30.2", features = ["termina"] }
ansi-to-tui = "8.0.1"
# Image / GIF rendering with streaming support.
gif = "0.14.2"
rgb = "0.8"
ab_glyph = "0.2"
fontdb = "0.23"
woff2-patched = "0.4"
lodepng = "3.12.2"
base64 = "0.22.1"
ttf-parser = "0.25.1"
rustybuzz = "0.20.1"
flate2 = "1.1.9"
font-subset = { version = "0.1.0", features = ["woff2"] }
unicode-width = "0.2"
easing-function = { version = "0.1.1", features = ["serde"] }
[build-dependencies]
vergen-gitcl = { version = "10.0.0-beta.8", features = ["build", "cargo", "rustc"] }
cc = "1.0"
# Release profile for distributed binaries. `lto = "fat"` lets the
# linker inline across crate boundaries (notable for gifski, ab_glyph
# and the libghostty-vt static lib). `codegen-units = 1` gives LLVM
# the widest view for inlining/dead-code elimination at the cost of
# build parallelism. `strip = "symbols"` drops debug + symbol tables
# from the final ELF \u2014 with the static-musl build this typically
# halves the on-disk size.
# [profile.release]
# lto = "fat"
# codegen-units = 1
# strip = "symbols"
[patch.crates-io]
termina = { git = "https://github.com/HalFrgrd/termina.git" }