From b2c222eb38a98e97dd65b79da52880d381054b86 Mon Sep 17 00:00:00 2001 From: InstaZDLL Date: Thu, 15 Oct 2026 19:26:12 +0200 Subject: [PATCH] chore(deps): move the waveflow-core pin onto the metadata clients Moves `waveflow-core` from 012be48 to bd8d360c, the merge of InstaZDLL/WaveFlow#855, so step C can inject a client, a base URL and a key into the metadata clients. Two things follow from the bump and nothing else: - `ExtractedCover::source` is now the typed `ArtworkSource`; the scanner stores its `as_str()`, the same "embedded" / "folder" as before. - the core now bundles libopus through `opusic-sys`, built by cmake, which the rust image does not ship. The builder stage installs it. The core also adds "opus" to `AUDIO_EXTENSIONS`, so scans and uploads now accept .opus files; FFmpeg already decodes them. Signed-off-by: InstaZDLL --- Cargo.lock | 32 +++++++++++++++++++++++++++++--- Cargo.toml | 2 +- Dockerfile | 4 +++- src/scanner.rs | 2 +- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 45ff168f..dfe1a517 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -497,6 +497,15 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" +[[package]] +name = "cmake" +version = "0.1.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" +dependencies = [ + "cc", +] + [[package]] name = "cmov" version = "0.5.4" @@ -1699,6 +1708,15 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "opusic-sys" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9d1ecdf206421bc74343ab3bb2f30ad2abbfee41fa341f7181fecbaf957769a" +dependencies = [ + "cmake", +] + [[package]] name = "parking" version = "2.2.1" @@ -1763,6 +1781,12 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +[[package]] +name = "pinyin" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e225f595052d9c46045755be4b8d7950b6d9f3c33e0c0b74ba58f11bbfa8c64b" + [[package]] name = "pkg-config" version = "0.3.34" @@ -2879,7 +2903,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.3", + "getrandom 0.3.4", "once_cell", "rustix", "windows-sys 0.61.2", @@ -3494,8 +3518,8 @@ dependencies = [ [[package]] name = "waveflow-core" -version = "1.7.0" -source = "git+https://github.com/InstaZDLL/WaveFlow?rev=012be48059b00fddf8fa48179afe42a77a3f54b1#012be48059b00fddf8fa48179afe42a77a3f54b1" +version = "1.9.1" +source = "git+https://github.com/InstaZDLL/WaveFlow?rev=bd8d360cf3db4da946fcd52ec14ed912169c25ec#bd8d360cf3db4da946fcd52ec14ed912169c25ec" dependencies = [ "anyhow", "async-trait", @@ -3508,6 +3532,8 @@ dependencies = [ "image", "lofty", "md-5", + "opusic-sys", + "pinyin", "regex", "reqwest", "resvg", diff --git a/Cargo.toml b/Cargo.toml index 305544f0..e53e6e93 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -75,7 +75,7 @@ utoipa-scalar = { version = "0.4", features = ["axum"] } url = "2" uuid = { version = "1", features = ["v4", "v8", "serde"] } walkdir = "2" -waveflow-core = { git = "https://github.com/InstaZDLL/WaveFlow", rev = "012be48059b00fddf8fa48179afe42a77a3f54b1", default-features = false } +waveflow-core = { git = "https://github.com/InstaZDLL/WaveFlow", rev = "bd8d360cf3db4da946fcd52ec14ed912169c25ec", default-features = false } [dev-dependencies] http-body-util = "0.1" diff --git a/Dockerfile b/Dockerfile index 6e7e99de..6c7eefd3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,9 @@ RUN bun run build FROM rust:1.94-bookworm AS builder WORKDIR /build -RUN apt-get update && apt-get install -y --no-install-recommends git ca-certificates && rm -rf /var/lib/apt/lists/* +# cmake builds the libopus that waveflow-core bundles (`opusic-sys`); the +# rust image ships a C compiler but not cmake. +RUN apt-get update && apt-get install -y --no-install-recommends git ca-certificates cmake && rm -rf /var/lib/apt/lists/* COPY . . # After COPY . ., so the built assets win over any stale local dist/. COPY --from=web /web/dist ./webapp/dist diff --git a/src/scanner.rs b/src/scanner.rs index 1ebe6c56..32921f7b 100644 --- a/src/scanner.rs +++ b/src/scanner.rs @@ -615,7 +615,7 @@ fn artwork_input(dir: &Path, cover: waveflow_core::scanner::ExtractedCover) -> A ArtworkInput { hash: cover.hash, format: cover.format, - source: cover.source.into(), + source: cover.source.as_str().to_owned(), byte_size: bytes, } }