mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
58 lines
2.2 KiB
TOML
58 lines
2.2 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = ["crates/pdfs-core", "crates/pdfs-fuse", "crates/pdfs-cli", "crates/pdfs-gui"]
|
|
|
|
[workspace.package]
|
|
version = "1.9.0"
|
|
edition = "2024"
|
|
license = "MIT"
|
|
authors = ["Nils Pukropp <contact@narl.io>"]
|
|
rust-version = "1.96"
|
|
repository = "https://github.com/narrrl/proton-drive-linux"
|
|
homepage = "https://github.com/narrrl/proton-drive-linux"
|
|
readme = "README.md"
|
|
keywords = ["proton", "drive", "fuse", "sync", "linux"]
|
|
categories = ["filesystem", "command-line-utilities"]
|
|
|
|
[workspace.dependencies]
|
|
proton-sdk = { version = "0.6.1" }
|
|
proton-drive-rs = { version = "0.6.1" }
|
|
|
|
# Internal crates.
|
|
pdfs-core = { path = "crates/pdfs-core" }
|
|
pdfs-fuse = { path = "crates/pdfs-fuse" }
|
|
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "fs", "io-util", "time", "signal"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
thiserror = "2"
|
|
anyhow = "1"
|
|
# Non-poisoning mutexes. A handler that panics while holding a lock must not
|
|
# wedge every later acquisition of it: `Workers` catches the unwind to keep the
|
|
# pool alive, and `std::sync::Mutex` would defeat that by poisoning the state
|
|
# the recovered worker needs.
|
|
parking_lot = "0.12"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
directories = "5"
|
|
ignore = "0.4"
|
|
sha2 = "0.10"
|
|
# Google Takeout exports are zip sets; the importer reads their central
|
|
# directories and streams entries out without extracting to disk first.
|
|
zip = { version = "8", default-features = false, features = ["deflate"] }
|
|
# Proton's photo duplicate detection is keyed on the plaintext SHA-1, so an
|
|
# import has to speak SHA-1 whatever its age.
|
|
sha1 = "0.10"
|
|
# Thumbnail generation for photos the server has none for. Decoders only for the
|
|
# formats a camera or phone actually produces — the rest of the crate's codecs
|
|
# would be dead weight in the daemon.
|
|
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "webp", "gif", "tiff", "bmp", "rayon"] }
|
|
rusqlite = { version = "0.32", features = ["bundled"] }
|
|
keyring = { version = "3", features = ["sync-secret-service", "crypto-rust"] }
|
|
clap = { version = "4", features = ["derive"] }
|
|
rpassword = "7"
|
|
async-trait = "0.1"
|
|
futures = "0.3"
|
|
fuser = "0.17"
|
|
libc = "0.2"
|