# quite a few examples require direct reference to ggml-cpu
#find_library(GGML_CPU_LOCATION ggml-cpu-sandybridge)
#message (STATUS "Found GGML CPU library: ${GGML_CPU_LOCATION}")
-#link_libraries("/usr/libexec/${CMAKE_LIBRARY_ARCHITECTURE}/ggml/libggml-cpu-sandybridge.so")
+link_libraries("${CMAKE_INSTALL_PREFIX}/libexec/${CMAKE_LIBRARY_ARCHITECTURE}/ggml/libggml-cpu-sandybridge.so")
+set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/libexec/${CMAKE_LIBRARY_ARCHITECTURE}/ggml")
endif()
add_compile_definitions(NDEBUG)
Build-Depends: debhelper-compat (= 13), pkg-config, cmake-data, cmake, cpio, file, git,
libsdl2-dev,
libswresample-dev, libavcodec-dev, libavformat-dev, libavdevice-dev, libavutil-dev, libavfilter-dev,
- ggml-dev, libllama-dev
+ ggml-dev, libggml-cpu, libllama-dev
Standards-Version: 4.5.1
Homepage: https://github.com/ggerganov/whisper.cpp
Rules-Requires-Root: binary-targets
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends}, ${shlibs:Depends},
- libggml
+ libggml, libggml-cpu
Description: Inference of Whisper in pure C/C++ (shared library)
Whisper.cpp inference of Whisper in pure C/C++ (shared library).
Description: Inference of Whisper in pure C/C++ (development files)
Whisper.cpp inference of Whisper in pure C/C++ (development files).
-#Package: whisper-cpp-cli
-#Architecture: any
-#Priority: optional
-#Depends: ${shlibs:Depends},
-# libwhisper,
-# libswresample4, libavcodec59, libavformat59,
-#Description: Inference of Whisper in pure C/C++ (CLI)
-# Whisper.cpp inference of Whisper in pure C/C++ (CLI).
+Package: whisper-cpp-cli
+Architecture: any
+Priority: optional
+Depends: ${shlibs:Depends},
+ libwhisper,
+ libswresample4, libavcodec59, libavformat59
+Description: Inference of Whisper in pure C/C++ (CLI)
+ Whisper.cpp inference of Whisper in pure C/C++ (CLI).
+
+Package: whisper-cpp-stream
+Architecture: any
+Priority: optional
+Depends: ${shlibs:Depends},
+ libwhisper,
+ libswresample4, libavcodec59, libavformat59,
+ libsdl2-2.0-0
+Description: Inference of Whisper in pure C/C++ (stream)
+ Whisper.cpp inference of Whisper in pure C/C++ (stream).
#Package: whisper-cpp-talk-llama
#Architecture: any
--- /dev/null
+From: Mathieu Baudier <mbaudier@argeo.org>
+Date: Wed, 22 Jan 2025 07:41:21 +0100
+Subject: filter-examples
+
+Disable building examples which are problematic or unnecessary.
+---
+ examples/CMakeLists.txt | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index d509626..6435959 100644
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -104,16 +104,16 @@ elseif(CMAKE_JS_VERSION)
+ add_subdirectory(addon.node)
+ else()
+ add_subdirectory(cli)
+- add_subdirectory(bench)
+- add_subdirectory(server)
+- add_subdirectory(quantize)
++ #add_subdirectory(bench)
++ #add_subdirectory(server)
++ #add_subdirectory(quantize)
+ if (WHISPER_SDL2)
+ add_subdirectory(stream)
+ add_subdirectory(command)
+- add_subdirectory(talk-llama)
+- add_subdirectory(lsp)
++ #add_subdirectory(talk-llama)
++ #add_subdirectory(lsp)
+ if (GGML_SYCL)
+- add_subdirectory(sycl)
++ #add_subdirectory(sycl)
+ endif()
+ endif (WHISPER_SDL2)
+
--- /dev/null
+0001-filter-examples.patch
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DWHISPER_BUILD_TESTS=OFF \
- -DWHISPER_BUILD_EXAMPLES=OFF \
+ -DWHISPER_BUILD_EXAMPLES=ON \
-DWHISPER_FFMPEG=ON \
-DWHISPER_SDL2=ON \
# Move executables to libexec, so that they can load the GGML backends
# and link them to bin
- #mkdir -p $(install_libexec_multiarch)/ggml
- #for file in $(install_bin)/whisper-*; do \
- # mv $$file $(install_libexec_multiarch)/ggml/$$(basename "$$file"); \
- # ln -s --relative -t $(install_bin) $(install_libexec_multiarch)/ggml/$$(basename "$$file"); \
- #done
+ mkdir -p $(install_libexec_multiarch)/ggml
+ for file in $(install_bin)/whisper-*; do \
+ mv $$file $(install_libexec_multiarch)/ggml/$$(basename "$$file"); \
+ ln -s --relative -t $(install_bin) $(install_libexec_multiarch)/ggml/$$(basename "$$file"); \
+ done
override_dh_auto_test:
# tests which depends on remote location are failing
/usr/bin/whisper-cli
/usr/libexec/*/ggml/whisper-cli
-#/usr/bin/whisper-stream
-#/usr/bin/whisper-command
/usr/include/whisper.cpp/common
-#/usr/lib/*/whisper.cpp/*
+/usr/lib/*/whisper.cpp/*
--- /dev/null
+/usr/bin/whisper-stream
+/usr/libexec/*/ggml/whisper-stream