about summary refs log tree commit diff
path: root/pkgs/tools/audio/openai-whisper-cpp
diff options
context:
space:
mode:
authorDavid Knaack <davidkna@users.noreply.github.com>2024-01-04 13:35:57 +0100
committerDavid Knaack <davidkna@users.noreply.github.com>2024-01-05 09:57:53 +0100
commit4b4f0f80344a17fdcb1feaed72315d2f517de4e9 (patch)
tree87f1f9e8a37749ef3592208410394f520687f7b8 /pkgs/tools/audio/openai-whisper-cpp
parentccd85f7b9c09e4fa25059461a7159eb806b6282d (diff)
downloadnixlib-4b4f0f80344a17fdcb1feaed72315d2f517de4e9.tar
nixlib-4b4f0f80344a17fdcb1feaed72315d2f517de4e9.tar.gz
nixlib-4b4f0f80344a17fdcb1feaed72315d2f517de4e9.tar.bz2
nixlib-4b4f0f80344a17fdcb1feaed72315d2f517de4e9.tar.lz
nixlib-4b4f0f80344a17fdcb1feaed72315d2f517de4e9.tar.xz
nixlib-4b4f0f80344a17fdcb1feaed72315d2f517de4e9.tar.zst
nixlib-4b4f0f80344a17fdcb1feaed72315d2f517de4e9.zip
openai-whisper-cpp: fix darwin build & add file for metal
Co-Authored-By: Hugh O'Brien <github@hughobrien.ie>
Diffstat (limited to 'pkgs/tools/audio/openai-whisper-cpp')
-rw-r--r--pkgs/tools/audio/openai-whisper-cpp/default.nix12
1 files changed, 11 insertions, 1 deletions
diff --git a/pkgs/tools/audio/openai-whisper-cpp/default.nix b/pkgs/tools/audio/openai-whisper-cpp/default.nix
index eac34e30b08c..53e609d9d07a 100644
--- a/pkgs/tools/audio/openai-whisper-cpp/default.nix
+++ b/pkgs/tools/audio/openai-whisper-cpp/default.nix
@@ -8,6 +8,7 @@
 , CoreGraphics
 , CoreML
 , CoreVideo
+, MetalKit
 }:
 
 stdenv.mkDerivation rec {
@@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  buildInputs = [ SDL2 ] ++ lib.optionals stdenv.isDarwin [ Accelerate CoreGraphics CoreML CoreVideo ];
+  buildInputs = [ SDL2 ] ++ lib.optionals stdenv.isDarwin [ Accelerate CoreGraphics CoreML CoreVideo MetalKit ];
 
   env = lib.optionalAttrs stdenv.isDarwin {
     WHISPER_COREML = "1";
@@ -51,6 +52,15 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/whisper-cpp-download-ggml-model \
       --prefix PATH : ${lib.makeBinPath [wget]}
 
+    ${lib.optionalString stdenv.isDarwin ''
+      install -Dt $out/share/whisper-cpp ggml-metal.metal
+
+      for bin in whisper-cpp whisper-cpp-stream whisper-cpp-command; do
+        wrapProgram $out/bin/$bin \
+          --set-default GGML_METAL_PATH_RESOURCES $out/share/whisper-cpp
+      done
+    ''}
+
     runHook postInstall
   '';