about summary refs log tree commit diff
path: root/pkgs/by-name
diff options
context:
space:
mode:
authorEnno Richter <enno@nerdworks.de>2024-04-22 05:43:43 +0200
committerEnno Richter <enno@nerdworks.de>2024-04-30 10:21:56 +0200
commit6aed0cc9584405128b61379f6051ca52404178c2 (patch)
tree8ec634dd9e8b81443509e612ddd9abe0234673af /pkgs/by-name
parentc3d81340b40a35de27bcf78eb3de5e0390930706 (diff)
llama-cpp: set build_number/build_commit for version info
Diffstat (limited to 'pkgs/by-name')
-rw-r--r--pkgs/by-name/ll/llama-cpp/package.nix13
1 files changed, 11 insertions, 2 deletions
diff --git a/pkgs/by-name/ll/llama-cpp/package.nix b/pkgs/by-name/ll/llama-cpp/package.nix
index 9b2d5b15dab7e..8e1e0efd842b7 100644
--- a/pkgs/by-name/ll/llama-cpp/package.nix
+++ b/pkgs/by-name/ll/llama-cpp/package.nix
@@ -78,12 +78,21 @@ effectiveStdenv.mkDerivation (finalAttrs: {
     owner = "ggerganov";
     repo = "llama.cpp";
     rev = "refs/tags/b${finalAttrs.version}";
-    hash = "sha256-V+QDymEzXpw78Ezd2DInRLE0F6mXpLRhCK8iI8prq8I=";
+    hash = "sha256-KrIeZEq6RAz3N47wgtQjlfNzoGcTh3DqOhYBOxJPGzs=";
+    leaveDotGit = true;
+    postFetch = ''
+      git -C "$out" rev-parse --short HEAD > $out/COMMIT
+      find "$out" -name .git -print0 | xargs -0 rm -rf
+    '';
   };
 
   postPatch = ''
     substituteInPlace ./ggml-metal.m \
-      --replace '[bundle pathForResource:@"ggml-metal" ofType:@"metal"];' "@\"$out/bin/ggml-metal.metal\";"
+      --replace-fail '[bundle pathForResource:@"ggml-metal" ofType:@"metal"];' "@\"$out/bin/ggml-metal.metal\";"
+
+    substituteInPlace ./scripts/build-info.cmake \
+      --replace-fail 'set(BUILD_NUMBER 0)' 'set(BUILD_NUMBER ${finalAttrs.version})' \
+      --replace-fail 'set(BUILD_COMMIT "unknown")' "set(BUILD_COMMIT \"$(cat COMMIT)\")"
   '';
 
   nativeBuildInputs = [ cmake ninja pkg-config git ]