mirror of
https://github.com/spacedriveapp/spacedrive
synced 2024-07-04 13:23:28 +00:00
* sd-images crate which will support raw/dng, bmp, etc * more work on the image formatter * re-work `sd-images`, add svg support, r/g/b and r/g/b/a HEIF image support (will all be async again soon) * remove `ImageFormatter`, add note about r/g/b/(a) heif impl * implement the image formatter * rename the conversion trait and minor cleanups * isolate heif feature and major cleanup * very untested raw support * change fn name to `from_path` (a lot more idiomatic) * clean up orientation fixing * heif is no longer forbidden (linux has good heif) also all extensions are correctly matched in lowercase * fix builds, ext matching, feature gating * attempt to fix svg handling? * raw attempt, quite a few errors * add comment * new (untested) attempt * remove `raw` stuff for now * replace `sd-svg` with a `ToImage` `SvgHandler` impl * add some simple math to appropriately scale thumbnails (and bmp/ico support) * add comments regarding how the math works for image thumbs * rename the trait to `ImageHandler`
119 lines
3.1 KiB
TOML
119 lines
3.1 KiB
TOML
[package]
|
|
name = "sd-core"
|
|
version = "0.1.0"
|
|
description = "Virtual distributed filesystem engine that powers Spacedrive."
|
|
authors = ["Spacedrive Technology Inc."]
|
|
rust-version = "1.70.0"
|
|
license = { workspace = true }
|
|
repository = { workspace = true }
|
|
edition = { workspace = true }
|
|
|
|
[features]
|
|
default = []
|
|
# This feature allows features to be disabled when the Core is running on mobile.
|
|
mobile = []
|
|
# This feature controls whether the Spacedrive Core contains functionality which requires FFmpeg.
|
|
ffmpeg = ["dep:sd-ffmpeg"]
|
|
location-watcher = ["dep:notify"]
|
|
heif = ["sd-images/heif"]
|
|
|
|
[dependencies]
|
|
sd-media-metadata = { path = "../crates/media-metadata" }
|
|
sd-prisma = { path = "../crates/prisma" }
|
|
sd-ffmpeg = { path = "../crates/ffmpeg", optional = true }
|
|
sd-crypto = { path = "../crates/crypto", features = [
|
|
"rspc",
|
|
"specta",
|
|
"serde",
|
|
"keymanager",
|
|
] }
|
|
|
|
sd-images = { path = "../crates/images" }
|
|
sd-file-ext = { path = "../crates/file-ext" }
|
|
sd-sync = { path = "../crates/sync" }
|
|
sd-p2p = { path = "../crates/p2p", features = ["specta", "serde"] }
|
|
sd-utils = { path = "../crates/utils" }
|
|
sd-core-sync = { path = "./crates/sync" }
|
|
|
|
rspc = { workspace = true, features = [
|
|
"uuid",
|
|
"chrono",
|
|
"tracing",
|
|
"alpha",
|
|
"unstable",
|
|
] }
|
|
prisma-client-rust = { workspace = true }
|
|
specta = { workspace = true }
|
|
tokio = { workspace = true, features = [
|
|
"sync",
|
|
"rt-multi-thread",
|
|
"io-util",
|
|
"macros",
|
|
"time",
|
|
"process",
|
|
] }
|
|
kamadak-exif = "0.5.5"
|
|
base64 = "0.21.2"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
chrono = { version = "0.4.25", features = ["serde"] }
|
|
serde_json = { workspace = true }
|
|
futures = "0.3"
|
|
rmp = "^0.8.11"
|
|
rmp-serde = "^1.1.1"
|
|
rmpv = "^1.0.0"
|
|
blake3 = "1.3.3"
|
|
hostname = "0.3.1"
|
|
uuid = { workspace = true }
|
|
sysinfo = "0.28.4"
|
|
thiserror = "1.0.40"
|
|
include_dir = { version = "0.7.3", features = ["glob"] }
|
|
async-trait = "^0.1.68"
|
|
image = "0.24.6"
|
|
webp = "0.2.2"
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true, features = ["env-filter"] }
|
|
async-stream = "0.3.5"
|
|
once_cell = "1.17.2"
|
|
ctor = "0.1.26"
|
|
globset = { version = "^0.4.10", features = ["serde1"] }
|
|
itertools = "^0.10.5"
|
|
enumflags2 = "0.7.7"
|
|
http-range = "0.1.5"
|
|
mini-moka = "0.10.0"
|
|
serde_with = "2.3.3"
|
|
dashmap = { version = "5.4.0", features = ["serde"] }
|
|
notify = { version = "5.2.0", default-features = false, features = [
|
|
"macos_fsevent",
|
|
], optional = true }
|
|
static_assertions = "1.1.0"
|
|
serde-hashkey = "0.4.5"
|
|
normpath = { version = "1.1.1", features = ["localization"] }
|
|
tracing-appender = { workspace = true }
|
|
strum = { version = "0.24", features = ["derive"] }
|
|
strum_macros = "0.24"
|
|
regex = "1.8.4"
|
|
hex = "0.4.3"
|
|
int-enum = "0.5.0"
|
|
tokio-stream = "0.1.14"
|
|
futures-concurrency = "7.3"
|
|
async-channel = "1.9"
|
|
tokio-util = { version = "0.7.8", features = ["io"] }
|
|
slotmap = "1.0.6"
|
|
aovec = "1.1.0"
|
|
flate2 = "1.0.26"
|
|
tar = "0.4.40"
|
|
tempfile = "^3.5.0"
|
|
axum = "0.6.20"
|
|
http-body = "0.4.5"
|
|
pin-project-lite = "0.2.13"
|
|
bytes = "1.4.0"
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
plist = "1"
|
|
|
|
[target.'cfg(windows)'.dependencies.winapi-util]
|
|
version = "0.1.5"
|
|
|
|
[dev-dependencies]
|
|
tracing-test = "^0.2.4"
|