mirror of
https://github.com/phantomptr/ps5upload.git
synced 2026-10-19 02:20:02 -05:00
77 lines
2.7 KiB
TOML
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" }
|