| ⋯ 67 unchanged lines |
| 68 | 68 | | # (aws-lc-rs, which the maintained JWT crates default to, needs cmake and does |
| 69 | 69 | | # not), and one signature check over `header.payload` is all we need. |
| 70 | 70 | | |
| 71 | | - | # `default-onig` (C Oniguruma regex engine) over the pure-Rust `default-fancy`: |
| 71 | + | # `regex-onig` (C Oniguruma regex engine) over the pure-Rust `regex-fancy`: |
| 72 | 72 | | # several times faster on large files, and zig's cc cross-compiles the C just |
| 73 | 73 | | # fine for the static musl build (verified via deploy/build.sh's toolchain). |
| 74 | + | # Spelled out rather than taking the `default-onig` bundle, which also turns on |
| 75 | + | # `plist-load` and `yaml-load` — those are for building a SyntaxSet/ThemeSet |
| 76 | + | # out of .sublime-syntax / .tmTheme files at runtime, and ui.rs only ever calls |
| 77 | + | # `load_defaults_newlines`/`load_defaults`, which read the baked-in bincode |
| 78 | + | # dumps (`dump-load`, still on). Dropping them takes plist, quick-xml, |
| 79 | + | # yaml-rust and linked-hash-map out of the tree. |
| 74 | 80 | | |
| 75 | 81 | | # ssh — use the `ring` crypto backend instead of the default `aws-lc-rs`: |
| 76 | 82 | | # ring is far cheaper to compile (no cmake/perl) and cross-compiles cleanly |
| ⋯ 2 unchanged lines |
| 79 | 85 | | # ssh-key parsing/fingerprinting, shared by anvil-core (storage) and anvil-ssh |
| 80 | 86 | | # (auth). Pinned to match russh's transitive ssh-key so fingerprints agree. |
| 81 | 87 | | |
| 88 | + | # The features we actually use, rather than `full`. Nothing here spawns a |
| 89 | + | # child process or installs a signal handler — the design rule is that the |
| 90 | + | # product never shells out, and the `Command::new("git")` calls in the tree are |
| 91 | + | # all test fixtures using `std::process` — so `process` and `signal` were |
| 92 | + | # paying for `signal-hook-registry` and `errno` and a chunk of tokio's own |
| 93 | + | # compile for nothing. Add a feature back the moment something needs it. |
| 94 | + | |
| 82 | 95 | | aes-gcm = { version = "0.11.1" } |
| 83 | 96 | | anyhow = { version = "1.0.104" } |
| 84 | 97 | | argon2 = { version = "0.6.0-rc.8", features = ["rand_core"] } |
| ⋯ 26 unchanged lines |
| 111 | 124 | | sha2 = { version = "0.11.0" } |
| 112 | 125 | | similar = { version = "3.2.0" } |
| 113 | 126 | | ssh-key = { version = "0.7.0-rc.11" } |
| 114 | | - | syntect = { version = "5.3.0", default-features = false, features = ["default-onig"] } |
| 127 | + | syntect = { version = "5.3.0", default-features = false, features = ["default-syntaxes", "default-themes", "html", "regex-onig"] } |
| 115 | 128 | | tar = { version = "0.4.46" } |
| 116 | 129 | | thiserror = { version = "2.0.20" } |
| 117 | 130 | | time = { version = "0.3.55", features = ["serde", "formatting"] } |
| 118 | 131 | | toasty = { version = "0.10.0", features = ["sqlite"] } |
| 119 | | - | tokio = { version = "1.53.1", features = ["full"] } |
| 132 | + | tokio = { version = "1.53.1", features = ["fs", "io-util", "macros", "net", "rt-multi-thread", "sync", "time"] } |
| 120 | 133 | | tokio-util = { version = "0.7.19", features = ["io"] } |
| 121 | 134 | | toml = { version = "1.1.4" } |
| 122 | 135 | | tower = { version = "0.5.3" } |
| ⋯ 2 unchanged lines |