diff --git a/backend/python/fish-speech/install.sh b/backend/python/fish-speech/install.sh index 6e1ab8c95e91..4be2cd2d294e 100644 --- a/backend/python/fish-speech/install.sh +++ b/backend/python/fish-speech/install.sh @@ -13,6 +13,17 @@ fi # fish-speech uses pyrootutils which requires a .project-root marker touch "${backend_dir}/.project-root" +# On darwin arm64 the transitive `tokenizers` dep compiles its Rust extension +# from source (Linux uses prebuilt manylinux wheels, so it never compiles +# there). The pinned tokenizers crate that fish-speech's stack resolves to +# contains a `&T` -> `&mut T` cast that trips the now-deny-by-default +# `invalid_reference_casting` lint in the macOS runner's newer Rust toolchain, +# breaking the build (seen in the v4.5.5 release CI fish-speech darwin/metal +# job). Allow that lint so the unchanged third-party crate compiles as before. +# Append rather than clobber any pre-existing RUSTFLAGS; harmless on Linux +# where no Rust compile happens. +export RUSTFLAGS="${RUSTFLAGS:-} -A invalid_reference_casting" + installRequirements # Clone fish-speech source (the pip package doesn't include inference modules)