diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index ab81159e4..f528ff2d4 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -289,7 +289,14 @@ jobs: # configure would ignore a CXXFLAGS-only fix). echo "OCIO_RS_ENABLE_REAL=1" >> "$GITHUB_ENV" echo "OCIO_RS_LINK=static" >> "$GITHUB_ENV" + # cargo fetch only downloads the .crate archives; unpack ocio-sys + # so the vendored yaml-cpp can be patched before the build. cargo fetch --locked + for dir in "$HOME"/.cargo/registry/src/*/; do + if ls "$HOME"/.cargo/registry/cache/*/ocio-sys-0.2.1.crate >/dev/null 2>&1; then + tar xzf "$HOME"/.cargo/registry/cache/*/ocio-sys-0.2.1.crate -C "$dir" 2>/dev/null || true + fi + done for f in "$HOME"/.cargo/registry/src/*/ocio-sys-0.2.1/vendor/OpenColorIO/ext/ocio-rs-deps/yaml-cpp/src/emitterutils.cpp; do grep -q '#include ' "$f" || \ sed -i '0,/#include/s||#include \n&|' "$f" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d16aae9fe..266e0ce4c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -125,7 +125,14 @@ jobs: # configure would ignore a CXXFLAGS-only fix). echo "OCIO_RS_ENABLE_REAL=1" >> "$GITHUB_ENV" echo "OCIO_RS_LINK=static" >> "$GITHUB_ENV" + # cargo fetch only downloads the .crate archives; unpack ocio-sys + # so the vendored yaml-cpp can be patched before the build. cargo fetch --locked + for dir in "$HOME"/.cargo/registry/src/*/; do + if ls "$HOME"/.cargo/registry/cache/*/ocio-sys-0.2.1.crate >/dev/null 2>&1; then + tar xzf "$HOME"/.cargo/registry/cache/*/ocio-sys-0.2.1.crate -C "$dir" 2>/dev/null || true + fi + done for f in "$HOME"/.cargo/registry/src/*/ocio-sys-0.2.1/vendor/OpenColorIO/ext/ocio-rs-deps/yaml-cpp/src/emitterutils.cpp; do grep -q '#include ' "$f" || \ sed -i '0,/#include/s||#include \n&|' "$f" diff --git a/crates/oakaudio/src/manager.rs b/crates/oakaudio/src/manager.rs index ce185934f..1191a20ec 100644 --- a/crates/oakaudio/src/manager.rs +++ b/crates/oakaudio/src/manager.rs @@ -505,7 +505,7 @@ mod tests { // state, so detaching a wedged thread is safe here. let (tx, rx) = std::sync::mpsc::channel(); std::thread::spawn(move || { - Self::output_callback_body(); + output_callback_body(); let _ = tx.send(()); }); if rx @@ -518,8 +518,7 @@ mod tests { } /// The test body (see the wrapping test for the watchdog rationale). - fn output_callback_body() { - // Skip when the audio system cannot actually run a stream: open a + fn output_callback_body() { // Skip when the audio system cannot actually run a stream: open a // silent stream and require at least one callback within 2 s. A // device existing is not enough — headless sessions report the // stream running while delivering zero callbacks.