From 0ffb2ed9fd5731027b1e43f424c26a698c77d2ba Mon Sep 17 00:00:00 2001 From: Alex-Wengg Date: Mon, 21 Sep 2026 14:56:12 -0400 Subject: [PATCH] fix(build): bump NemoTextProcessing to text-processing-rs v0.3.1 for Mac Catalyst The v0.3.0 xcframework shipped ios-arm64, ios-arm64-simulator and macos-arm64_x86_64 only, so Mac Catalyst apps (and Intel simulators) failed to link the NemoTextProcessing binary target; xcodebuild will not substitute the native macOS slice. Catalyst had worked before the binary target landed in 0.15.6 (#279 fixed it in January). v0.3.1 (text-processing-rs #89) adds ios-arm64_x86_64-maccatalyst and makes the simulator slice universal. It also carries #87 (namespaced headers), #84 (normalize_sentence_lang) and #85 (English fractions ITN) since v0.3.0. Both manifests are updated in lockstep; checksum verified against the release zip. --- Documentation/ASR/PostProcessing.md | 2 +- Package.swift | 7 ++++--- Package@swift-6.2.swift | 7 ++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Documentation/ASR/PostProcessing.md b/Documentation/ASR/PostProcessing.md index f4d9edcca..4de0b3ff1 100644 --- a/Documentation/ASR/PostProcessing.md +++ b/Documentation/ASR/PostProcessing.md @@ -30,7 +30,7 @@ TN converts written-form text to spoken form — useful for TTS preprocessing: ## Using with FluidAudio -FluidAudio supports text-processing-rs through the `TextNormalizer` class. The native engine ships with the package as the `NemoTextProcessing` binary target and is linked directly — no setup required, it works out of the box for every SwiftPM consumer. Apps that don't use TTS or ITN can opt out of the engine (about 8 MB per architecture slice) with a package trait; see [Opting out](#opting-out-of-the-engine). +FluidAudio supports text-processing-rs through the `TextNormalizer` class. The native engine ships with the package as the `NemoTextProcessing` binary target and is linked directly — no setup required, it works out of the box for every SwiftPM consumer. The xcframework carries macOS (arm64 + x86_64), iOS device (arm64), iOS Simulator (arm64 + x86_64) and Mac Catalyst (arm64 + x86_64) slices; text-processing-rs 0.3.0 and earlier had no Catalyst or x86_64-simulator slice, which broke those builds on FluidAudio 0.15.6–0.15.8. Apps that don't use TTS or ITN can opt out of the engine (about 8 MB per architecture slice) with a package trait; see [Opting out](#opting-out-of-the-engine). ### ITN (Spoken to Written) diff --git a/Package.swift b/Package.swift index 91da228fb..a6d9f480e 100644 --- a/Package.swift +++ b/Package.swift @@ -35,14 +35,15 @@ let package = Package( ] ), // Byte-exact NeMo text normalization (FST engine, all 7 languages). - // Prebuilt xcframework from FluidInference/text-processing-rs v0.3.0. + // Prebuilt xcframework from FluidInference/text-processing-rs v0.3.1 + // (macOS, iOS, iOS Simulator and Mac Catalyst slices). // Always linked on tools < 6.2; Package@swift-6.2.swift exposes it as // the opt-out `NemoTextProcessing` trait (#880, #888). .binaryTarget( name: "NemoTextProcessing", url: - "https://github.com/FluidInference/text-processing-rs/releases/download/v0.3.0/NemoTextProcessing.xcframework.zip", - checksum: "76d0ee9a32b1ee2193231299180ca9bc4fc7e98794e771b3d55d66498352d85f" + "https://github.com/FluidInference/text-processing-rs/releases/download/v0.3.1/NemoTextProcessing.xcframework.zip", + checksum: "5fa8c10d4ec26c1bb2413125f351a7222a4c68a23b74476680fbada7e26fc6aa" ), .target( name: "FastClusterWrapper", diff --git a/Package@swift-6.2.swift b/Package@swift-6.2.swift index bacc464bf..79c236504 100644 --- a/Package@swift-6.2.swift +++ b/Package@swift-6.2.swift @@ -54,12 +54,13 @@ let package = Package( ] ), // Byte-exact NeMo text normalization (FST engine, all 7 languages). - // Prebuilt xcframework from FluidInference/text-processing-rs v0.3.0. + // Prebuilt xcframework from FluidInference/text-processing-rs v0.3.1 + // (macOS, iOS, iOS Simulator and Mac Catalyst slices). .binaryTarget( name: "NemoTextProcessing", url: - "https://github.com/FluidInference/text-processing-rs/releases/download/v0.3.0/NemoTextProcessing.xcframework.zip", - checksum: "76d0ee9a32b1ee2193231299180ca9bc4fc7e98794e771b3d55d66498352d85f" + "https://github.com/FluidInference/text-processing-rs/releases/download/v0.3.1/NemoTextProcessing.xcframework.zip", + checksum: "5fa8c10d4ec26c1bb2413125f351a7222a4c68a23b74476680fbada7e26fc6aa" ), .target( name: "FastClusterWrapper",