Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
120 lines (113 loc) · 5.65 KB
/
Copy pathCargo.toml
File metadata and controls
120 lines (113 loc) · 5.65 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
[workspace]
resolver = "3"
members = ["crates/gitvolt-graph", "crates/gitvolt-graph-wasm", "crates/gitvolt-core", "crates/gitvolt-forge", "crates/gitvolt-app", "crates/gitvolt-harness"]
[workspace.package]
version = "1.6.1"
edition = "2024"
publish = false
license = "MIT"
[workspace.dependencies]
gitvolt-core = { path = "crates/gitvolt-core" }
gitvolt-forge = { path = "crates/gitvolt-forge" }
gitvolt-graph = { path = "crates/gitvolt-graph" }
gix = "0.90"
tokio = { version = "1.53", features = ["rt-multi-thread", "macros", "process", "time", "sync", "fs", "net", "io-util"] }
tokio-util = "0.7.19"
futures-util = "0.3.34"
serde = { version = "1.0.229", features = ["derive"] }
serde_json = "1.0.151"
thiserror = "2.0.21"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
tracing-appender = "0.2.5"
regex = "1.13"
# macOS only: the folder picker and the "Other…" app chooser (`openers::macos`). All but
# UniformTypeIdentifiers are already in the tree through the CEF runtime, same versions.
objc2-foundation = "0.3"
objc2 = "0.6"
objc2-app-kit = { version = "0.3", default-features = false }
block2 = "0.6"
dispatch2 = { version = "0.3", default-features = false, features = ["std", "objc2"] }
objc2-uniform-type-identifiers = { version = "0.3", default-features = false, features = ["std", "UTType", "UTCoreTypes"] }
nix = { version = "0.31", features = ["signal", "process", "user", "fs"] }
# Tests only: `pthread_atfork`, to prove a child starts without `fork` (core's git.rs). Already
# in the tree through nix, tokio and others; same version.
libc = "0.2"
# Windows system calls (core's platform module: job objects, file ids, named-pipe security).
# Already in the tree through tokio and others; same version.
windows-sys = "0.61"
# COM interfaces (the shell's folder dialog), which windows-sys doesn't have. In the tree on
# Windows through Tauri; same version.
windows = "0.62"
# Canonical paths without the `\\?\` prefix on Windows (git and users read them). In the tree.
dunce = "1.0.5"
ts-rs = "12.0.1"
# Forge tokens in the Secret Service (spec #4 §2; core spec §14.3). v1 feature: zbus Secret Service on Linux.
keyring = "4.2"
tempfile = "3.27"
# Retry-After as an HTTP date (forge HTTP, 4A T2). Already in the tree through hyper.
httpdate = "1.0.3"
encoding_rs = "0.8.42"
base64 = "0.23.1"
insta = "1.48"
axum = { version = "0.8.9", features = ["ws"] }
tokio-tungstenite = "0.30"
# Tauri 3 alpha + the official CEF (Chromium) runtime (Task 14). Pinned exactly: this is an
# alpha series. See vendor/tauri-runtime-cef/GITVOLT-PATCH.md for the vendored runtime patch.
tauri = { version = "=3.0.0-alpha.5", features = [] }
tauri-build = { version = "=3.0.0-alpha.4", features = [] }
tauri-runtime-cef = "=3.0.0-alpha.6"
tauri-plugin-clipboard-manager = "=3.0.0-alpha.3"
# Avatars and URL opening (plan 1B Task 5).
sha2 = "0.11.0"
# The harness's generated showcase media (PNG, PDF and ICO streams). Already in the tree through
# ureq; same version. The harness is never shipped.
flate2 = "1.1"
ureq = "3.4.2"
dirs = "7.0.0"
# The GLib program name (WM_CLASS) for the app window; already in the tree through gtk4.
glib = "0.22"
# GNOME's window button layout for the title bar (gitvolt-app chrome.rs), from GSettings.
# Already in the tree through gtk4; same version.
gio = "0.22"
# Pre-release: the only line compatible with tauri 3 alpha. Only its free function
# `open_url` is used; the plugin isn't registered and there's no JS package (plan 1C does the same).
tauri-plugin-opener = "=3.0.0-alpha.3"
# "Other…" (feedback H32): the xdg-desktop-portal Open With chooser over D-Bus. Already in the
# tree through tauri-plugin-opener; same version and features.
zbus = "5.19"
# The main window's X11 id, the folder-picker portal's parent (plan 1C, spec §13). Already in the
# tree through tauri; same version.
raw-window-handle = "0.6.2"
# The main window's X11 opacity, to keep it see-through until it's placed (window_state.rs, `veil`),
# set on GDK's own display with its error traps. Both already in the tree through
# tauri-runtime-cef; same versions and features.
gdk4-x11 = { version = "0.11.5", features = ["xlib"] }
x11-dl = "2.21"
# The active-tab file watcher (plan 1C Task 6): inotify on Linux.
notify = "8.2.0"
# The system's font families for the font pickers (gitvolt-core fonts.rs): reads the font files'
# name tables, and on Linux fontconfig's configuration for the folders, without a C library.
fontdb = "0.23"
# Tests only: a constructor that isolates each test process from the host's git config before
# `main` (gitvolt_core::testing::isolate_this_process). Already in the tree through tauri-utils;
# same version and features.
ctor = { version = "1.0.13", default-features = false }
[patch.crates-io]
# CEF issue #3002 idle-busy-loop workaround; see vendor/tauri-runtime-cef/GITVOLT-PATCH.md.
tauri-runtime-cef = { path = "vendor/tauri-runtime-cef" }
# Build speed (docs/dev-setup.md, "Build and test speed"). Dev and test builds keep file:line
# for our own crates (panic locations and backtraces still point at the line) and drop full debug
# info: smaller objects, faster links, a smaller target/. Dependencies keep only their symbols.
[profile.dev]
debug = "line-tables-only"
[profile.dev.package."*"]
debug = false
# Release builds (`just package`, `just build-app`) are only ever built on the dev machine. Our own
# crates build incrementally, so a one-line change in core re-optimises only what it touched; the
# dependencies stay non-incremental (and cached by sccache). Still opt-level 3, no LTO.
[profile.release]
incremental = true
# The website demo's WebAssembly graph: small over fast (it downloads with the page).
[profile.release.package.gitvolt-graph-wasm]
opt-level = "s"