mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-28 10:11:58 +01:00
sync_all on Apple platforms asks for F_FULLFSYNC, which SMB shares (ENOTSUP) and some virtual file systems (ENOTTY) refuse, so every save there failed. atomic::sync_file falls back to a plain fsync for exactly those errors, as Apple's removefile does; the automation workspace writes use it too. rustix is already in the lock on Apple targets. Fixes #1336. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
32 lines
1.0 KiB
TOML
32 lines
1.0 KiB
TOML
[package]
|
|
name = "photocraft-format"
|
|
description = "Native .pcraft document bundle: manifest + content-addressed zstd tiles"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
photocraft-geom = { workspace = true }
|
|
photocraft-color = { workspace = true }
|
|
photocraft-raster = { workspace = true }
|
|
photocraft-doc = { workspace = true }
|
|
photocraft-codecs = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true, features = ["unbounded_depth"] }
|
|
thiserror = { workspace = true }
|
|
flate2 = { workspace = true }
|
|
blake3 = { version = "1.8", default-features = false, features = ["pure"] }
|
|
ruzstd = "0.9"
|
|
|
|
# A plain fsync where a file system refuses the full flush (`sync_file`, atomic.rs). Already in
|
|
# Cargo.lock on Apple targets (cap-std), so this adds no new crate.
|
|
[target.'cfg(target_vendor = "apple")'.dependencies]
|
|
rustix = { version = "1.1", default-features = false, features = ["std", "fs"] }
|
|
|
|
[dev-dependencies]
|
|
proptest = { workspace = true }
|