diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/misc/ollama/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/misc/ollama/default.nix | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/nixpkgs/pkgs/tools/misc/ollama/default.nix b/nixpkgs/pkgs/tools/misc/ollama/default.nix index be1864024888..30be00d72a15 100644 --- a/nixpkgs/pkgs/tools/misc/ollama/default.nix +++ b/nixpkgs/pkgs/tools/misc/ollama/default.nix @@ -1,35 +1,50 @@ { lib , buildGoModule , fetchFromGitHub +, llama-cpp , stdenv -, darwin }: buildGoModule rec { pname = "ollama"; - version = "0.0.17"; + version = "0.1.7"; src = fetchFromGitHub { owner = "jmorganca"; repo = "ollama"; rev = "v${version}"; - hash = "sha256-idsFcjsRD1zPmG742gnYQJcgSWDA2DLMHksCFNe2GiY="; + hash = "sha256-rzcuRU2qcYTMo/GxiSHwJYnvA9samfWlztMEhOGzbRg="; }; - buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ - Accelerate - MetalPerformanceShaders - MetalKit - ]); + patches = [ + # disable passing the deprecated gqa flag to llama-cpp-server + # see https://github.com/ggerganov/llama.cpp/issues/2975 + ./disable-gqa.patch - vendorHash = "sha256-IgEf/WOc1eNGCif1fViIFxbgZAd6mHBqfxcaqH/WvGg="; + # replace the call to the bundled llama-cpp-server with the one in the llama-cpp package + ./set-llamacpp-path.patch + ]; - ldflags = [ "-s" "-w" ]; + postPatch = '' + substituteInPlace llm/llama.go \ + --subst-var-by llamaCppServer "${llama-cpp}/bin/llama-cpp-server" + ''; + + vendorHash = "sha256-Qt5QVqRkwK61BJPVhFWtox6b9E8BpAIseNB0yhh+/90="; + + ldflags = [ + "-s" + "-w" + "-X=github.com/jmorganca/ollama/version.Version=${version}" + "-X=github.com/jmorganca/ollama/server.mode=release" + ]; meta = with lib; { description = "Get up and running with large language models locally"; homepage = "https://github.com/jmorganca/ollama"; license = licenses.mit; - maintainers = with maintainers; [ dit7ya ]; + mainProgram = "ollama"; + maintainers = with maintainers; [ dit7ya elohmeier ]; + platforms = platforms.unix; }; } |