From 91df882f8ce9bb4f08216e0444c87e57d4918e29 Mon Sep 17 00:00:00 2001 From: DontEatOreo <57304299+DontEatOreo@users.noreply.github.com> Date: Wed, 16 Oct 2024 17:08:07 +0300 Subject: [PATCH] koboldcpp: refactor darwin sdks Refs: https://discourse.nixos.org/t/darwin-updates-news/42249/7 Refs: https://discourse.nixos.org/t/darwin-updates-news/42249/14 --- pkgs/by-name/ko/koboldcpp/package.nix | 37 +++++++++++++++------------ 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/ko/koboldcpp/package.nix b/pkgs/by-name/ko/koboldcpp/package.nix index 340034cbdf90a..8943aac922f21 100644 --- a/pkgs/by-name/ko/koboldcpp/package.nix +++ b/pkgs/by-name/ko/koboldcpp/package.nix @@ -9,6 +9,7 @@ addDriverRunpath, darwin, + overrideSDK, koboldLiteSupport ? true, @@ -40,13 +41,15 @@ let --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ addDriverRunpath.driverLink ]}" ''; - darwinFrameworks = - if (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) then - darwin.apple_sdk.frameworks - else - darwin.apple_sdk_11_0.frameworks; + stdenv' = if stdenv.hostPlatform.isDarwin then + overrideSDK stdenv { + darwinMinVersion = "10.15"; + darwinSdkVersion = "12.3"; + } + else + stdenv; - effectiveStdenv = if cublasSupport then cudaPackages.backendStdenv else stdenv; + effectiveStdenv = if cublasSupport then cudaPackages.backendStdenv else stdenv'; in effectiveStdenv.mkDerivation (finalAttrs: { pname = "koboldcpp"; @@ -72,15 +75,15 @@ effectiveStdenv.mkDerivation (finalAttrs: { [ tk ] ++ finalAttrs.pythonInputs ++ lib.optionals effectiveStdenv.hostPlatform.isDarwin [ - darwinFrameworks.Accelerate - darwinFrameworks.CoreVideo - darwinFrameworks.CoreGraphics - darwinFrameworks.CoreServices + darwin.apple_sdk.frameworks.Accelerate + darwin.apple_sdk.frameworks.CoreVideo + darwin.apple_sdk.frameworks.CoreGraphics + darwin.apple_sdk.frameworks.CoreServices ] ++ lib.optionals metalSupport [ - darwinFrameworks.MetalKit - darwinFrameworks.Foundation - darwinFrameworks.MetalPerformanceShaders + darwin.apple_sdk.frameworks.MetalKit + darwin.apple_sdk.frameworks.Foundation + darwin.apple_sdk.frameworks.MetalPerformanceShaders ] ++ lib.optionals openblasSupport [ openblas ] ++ lib.optionals cublasSupport [ @@ -98,14 +101,14 @@ effectiveStdenv.mkDerivation (finalAttrs: { pythonPath = finalAttrs.pythonInputs; darwinLdFlags = lib.optionals stdenv.hostPlatform.isDarwin [ - "-F${darwinFrameworks.CoreServices}/Library/Frameworks" - "-F${darwinFrameworks.Accelerate}/Library/Frameworks" + "-F${darwin.apple_sdk.frameworks.CoreServices}/Library/Frameworks" + "-F${darwin.apple_sdk.frameworks.Accelerate}/Library/Frameworks" "-framework CoreServices" "-framework Accelerate" ]; metalLdFlags = lib.optionals metalSupport [ - "-F${darwinFrameworks.Foundation}/Library/Frameworks" - "-F${darwinFrameworks.Metal}/Library/Frameworks" + "-F${darwin.apple_sdk.frameworks.Foundation}/Library/Frameworks" + "-F${darwin.apple_sdk.frameworks.Metal}/Library/Frameworks" "-framework Foundation" "-framework Metal" ];