From d62329e124cde2cc3cedd88391e272d46fc3fbdb Mon Sep 17 00:00:00 2001 From: mudler <2420543+mudler@users.noreply.github.com> Date: Thu, 16 Jul 2026 21:01:49 +0000 Subject: [PATCH 1/2] :arrow_up: Update CrispStrobe/CrispASR Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- backend/go/crispasr/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/go/crispasr/Makefile b/backend/go/crispasr/Makefile index c66b9a3ef77e..6d149bbb18bf 100644 --- a/backend/go/crispasr/Makefile +++ b/backend/go/crispasr/Makefile @@ -8,7 +8,7 @@ JOBS?=$(shell nproc --ignore=1) # CrispASR version (release tag) CRISPASR_REPO?=https://github.com/CrispStrobe/CrispASR -CRISPASR_VERSION?=5b38179a4a3281fcdba4220ff285f32e80df43a8 +CRISPASR_VERSION?=a38cb89f7b9a743db2e8e50869fa646f91dc7f08 SO_TARGET?=libgocrispasr.so CMAKE_ARGS+=-DBUILD_SHARED_LIBS=OFF From b459ebb5e591bb9ad44b56fe2457d5dee5be4077 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Thu, 16 Jul 2026 22:11:12 +0000 Subject: [PATCH 2/2] fix(crispasr): rewrite c2pa-audio submodule path for subproject builds CrispASR a38cb89 adds a crispasr_c2pa_native static library whose sources live in the new third_party/c2pa-audio git submodule, located via CMAKE_SOURCE_DIR in src/CMakeLists.txt. That variable assumes CrispASR is the top-level CMake project; LocalAI embeds it via add_subdirectory, so the path resolved to backend/go/crispasr/third_party/c2pa-audio and every build variant failed at CMake generate with 'Cannot find source file: c2pa_native.cpp'. Extend the existing talk-llama sed workaround to also rewrite the c2pa-audio reference to PROJECT_SOURCE_DIR, which is correct both standalone and as a subproject. The submodule itself is already checked out by the recursive submodule init. Verified locally: the exact CI error reproduces with CMAKE_SOURCE_DIR, and with the rewrite CMake configure, crispasr_c2pa_native, and crispasr-lib all build cleanly on a CPU-only fallback configuration. Signed-off-by: Ettore Di Giacinto Assisted-by: Claude Code:claude-opus-4-8 --- backend/go/crispasr/Makefile | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/backend/go/crispasr/Makefile b/backend/go/crispasr/Makefile index 6d149bbb18bf..6f310542db87 100644 --- a/backend/go/crispasr/Makefile +++ b/backend/go/crispasr/Makefile @@ -62,12 +62,17 @@ sources/CrispASR: git checkout $(CRISPASR_VERSION) && \ git submodule update --init --recursive --depth 1 --single-branch # CrispASR's src/CMakeLists.txt locates its vendored llama.cpp - # (crispasr-llama-core, used by the chat C-ABI) via ${CMAKE_SOURCE_DIR}, - # which assumes CrispASR is the top-level CMake project. We add_subdirectory - # it, so ${CMAKE_SOURCE_DIR} is THIS backend dir and the talk-llama sources - # aren't found. Rewrite to ${PROJECT_SOURCE_DIR} (the crispasr project root), - # which is correct both standalone and as a subproject. Idempotent. - sed -i.bak 's#\$${CMAKE_SOURCE_DIR}/examples/talk-llama#\$${PROJECT_SOURCE_DIR}/examples/talk-llama#' sources/CrispASR/src/CMakeLists.txt && rm -f sources/CrispASR/src/CMakeLists.txt.bak + # (crispasr-llama-core, used by the chat C-ABI) and the c2pa-audio + # submodule (crispasr_c2pa_native, the pure-C++ C2PA signer) via + # ${CMAKE_SOURCE_DIR}, which assumes CrispASR is the top-level CMake + # project. We add_subdirectory it, so ${CMAKE_SOURCE_DIR} is THIS backend + # dir and those sources aren't found. Rewrite to ${PROJECT_SOURCE_DIR} + # (the crispasr project root), which is correct both standalone and as a + # subproject. Idempotent. + sed -i.bak \ + -e 's#\$${CMAKE_SOURCE_DIR}/examples/talk-llama#\$${PROJECT_SOURCE_DIR}/examples/talk-llama#' \ + -e 's#\$${CMAKE_SOURCE_DIR}/third_party/c2pa-audio#\$${PROJECT_SOURCE_DIR}/third_party/c2pa-audio#' \ + sources/CrispASR/src/CMakeLists.txt && rm -f sources/CrispASR/src/CMakeLists.txt.bak # Detect OS UNAME_S := $(shell uname -s)