From 97087f83d54f5c5e2c7b172d046f50a115d6c27a Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Thu, 23 Jul 2026 18:18:09 +0200 Subject: [PATCH] ollama: add update.sh which also updates llamaCppSrc --- pkgs/by-name/ol/ollama/package.nix | 9 +++++---- pkgs/by-name/ol/ollama/update.sh | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) create mode 100755 pkgs/by-name/ol/ollama/update.sh diff --git a/pkgs/by-name/ol/ollama/package.nix b/pkgs/by-name/ol/ollama/package.nix index fd9815394802..6be27301b5b9 100644 --- a/pkgs/by-name/ol/ollama/package.nix +++ b/pkgs/by-name/ol/ollama/package.nix @@ -6,7 +6,6 @@ makeBinaryWrapper, stdenv, addDriverRunpath, - nix-update-script, cmake, gitMinimal, @@ -112,11 +111,12 @@ let # vendored in-tree. Pre-stage the pin (tracks upstream's # `LLAMA_CPP_VERSION` file) so the FetchContent step uses our copy # instead of trying to clone over the network in the sandbox. + llamaCppVersion = "b9888"; llamaCppSrc = fetchFromGitHub { owner = "ggml-org"; repo = "llama.cpp"; - tag = "b9840"; - hash = "sha256-SlcBqlUSeXgGltk7fz1blp4DobypzkT8cw8a7dkVGiU="; + tag = llamaCppVersion; + hash = "sha256-9G7PqT1lQ414Ecg5Fp4qrShJOfMH9iYXZgY40EyAwEw="; }; wrapperOptions = [ @@ -366,6 +366,7 @@ goBuild (finalAttrs: { versionCheckKeepEnvironment = "HOME"; passthru = { + inherit llamaCppSrc llamaCppVersion; tests = { inherit ollama; } @@ -377,7 +378,7 @@ goBuild (finalAttrs: { service-vulkan = nixosTests.ollama-vulkan; }; } - // lib.optionalAttrs (!enableRocm && !enableCuda) { updateScript = nix-update-script { }; }; + // lib.optionalAttrs (!enableRocm && !enableCuda && !enableVulkan) { updateScript = ./update.sh; }; meta = { description = diff --git a/pkgs/by-name/ol/ollama/update.sh b/pkgs/by-name/ol/ollama/update.sh new file mode 100755 index 000000000000..1e8dc5b87c0d --- /dev/null +++ b/pkgs/by-name/ol/ollama/update.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p common-updater-scripts nix-update +# shellcheck shell=bash + +set -euo pipefail + +nix-update ollama --src-only + +ollama_src=$(nix-build --no-out-link -A ollama.src) +llama_cpp_version=$(<"$ollama_src/LLAMA_CPP_VERSION") + +if [[ -z "$llama_cpp_version" ]]; then + echo "LLAMA_CPP_VERSION is empty" >&2 + exit 1 +fi + +update-source-version ollama "$llama_cpp_version" \ + --source-key=llamaCppSrc \ + --version-key=llamaCppVersion + +nix-update ollama --version=skip