Files
ps5upload/engine/Cargo.toml
T
2026-10-18 14:43:29 -07:00

77 lines
2.7 KiB
TOML

[workspace]
exclude = ["crates/ava1/fuzz"]
members = [
"crates/ava1",
"crates/ava1-gen",
"crates/ava1-chaos",
"crates/ava1-ctest",
"crates/ps5upload-core",
"crates/ps5upload-lab",
"crates/ps5upload-ava1",
"crates/ps5upload-engine",
"crates/ps5upload-pkg",
"crates/ps5upload-fpkg",
"crates/ps5upload-tests",
"crates/ps5-dump-forge-ufs2",
"crates/ps5-dump-forge-pfs",
]
resolver = "2"
[workspace.package]
edition = "2021"
license = "GPL-3.0-or-later"
version = "7.1.5"
[workspace.dependencies]
anyhow = "1.0"
# "multipart" is for the backport library import (fakelibs_api.rs): users pick
# library files and upload them as one set. Same crate, just the extractor.
axum = { version = "0.8", features = ["multipart"] }
# `rayon`: an image build hashes every file twice (writing, reading back) on all cores.
blake3 = { version = "1", features = ["rayon"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "2.0"
tokio = { version = "1", features = ["rt-multi-thread", "macros", "signal", "fs", "io-util"] }
tokio-stream = { version = "0.1", features = ["sync"] }
tower-http = { version = "0.7", features = ["cors"] }
uuid = { version = "1", features = ["v4"] }
# Speed up debug builds: thinner debug info on macOS, more parallelism.
[profile.dev]
split-debuginfo = "unpacked"
# Line tables are enough for backtraces; full variable info made 76+ test binaries slow to link.
debug = "line-tables-only"
# Dependencies carry no debug info (smaller, faster links) but stay unoptimized: optimized
# crypto let a whole test upload sit in Linux's loopback buffers before the AVA1 cancel and
# space tests could act on it. The CPU-heavy image builders run optimized (the fpkg scale
# tests took 526 s in CI unoptimized).
[profile.dev.package."*"]
debug = false
[profile.dev.package.ps5upload-fpkg]
opt-level = 2
[profile.dev.package.ps5-dump-forge-ufs2]
opt-level = 2
[profile.dev.package.ps5-dump-forge-pfs]
opt-level = 2
# Same for the release engine binary — not a shipped bundle, so trade a
# little size for faster link times.
[profile.release]
debug = false
# Vendored `unrar` with a one-line bounds fix in the volume-change callback.
# Upstream 0.5.8 reads ~8 KB out of a much smaller buffer on every volume
# transition, which aborts debug builds on any multi-part .rar and is a
# latent out-of-bounds read in release. 0.5.8 is the latest release, so
# there is nothing upstream to take. See third_party/unrar/README.md and
# docs/unrar-upstream-bug.md.
[patch.crates-io]
unrar = { path = "../third_party/unrar" }
# 32-bit fix: archive sizes stay u64 (third_party/sevenz-rust2/README.md, #434).
sevenz-rust2 = { path = "../third_party/sevenz-rust2" }