summaryrefslogtreecommitdiff
path: root/audio/whisper.cpp/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'audio/whisper.cpp/Makefile')
-rw-r--r--audio/whisper.cpp/Makefile43
1 files changed, 43 insertions, 0 deletions
diff --git a/audio/whisper.cpp/Makefile b/audio/whisper.cpp/Makefile
new file mode 100644
index 000000000000..757869e17f2a
--- /dev/null
+++ b/audio/whisper.cpp/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= whisper.cpp
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.7.6
+CATEGORIES= audio # machine-learning
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Port of OpenAI's Whisper model in C/C++
+WWW= https://github.com/ggerganov/whisper.cpp
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libggml.so:misc/ggml
+
+USES= cmake:testing
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= ggerganov
+
+LDFLAGS+= -pthread
+
+CMAKE_ON= WHISPER_USE_SYSTEM_GGML
+CMAKE_OFF= WHISPER_BUILD_TESTS
+CMAKE_TESTING_ON= WHISPER_BUILD_TESTS \
+ WHISPER_BUILD_EXAMPLES
+
+OPTIONS_DEFINE= EXAMPLES
+OPTIONS_DEFAULT= EXAMPLES # examples contain important user level programs
+OPTIONS_SUB= yes
+
+EXAMPLES_CMAKE_BOOL= WHISPER_BUILD_EXAMPLES
+
+MAKE_JOBS_UNSAFE= yes # for tests to suceed on smaller Vulkan devices: they fail to allocate memory otherwise
+
+post-install:
+ ${INSTALL_SCRIPT} \
+ ${WRKSRC}/models/download-ggml-model.sh \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-download-ggml-model.sh
+
+# tests as of 1.7.6: 73% tests passed, 3 tests failed out of 11, see https://github.com/ggml-org/whisper.cpp/issues/3404
+
+.include <bsd.port.mk>