summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhutli <jensstaermose@hotmail.com>2024-02-15 14:25:04 +0100
committerSomeone <newkozlukov@gmail.com>2024-03-28 07:48:27 +0000
commitf6a0f5c6422200764b7929064c39dcf4bb0e9cd6 (patch)
tree61d87c93e8bbb62f73f94ba91904dff9eafb756e
parentd0e2f6416bd43eddb70137f6b96c7bc3d0246102 (diff)
nix: .#widnows: init
initial nix build for windows using zig mingwW64 build removes nix zig windows build removes nix zig windows build removed unnessesary glibc.static removed unnessesary import of pkgs in nix fixed missing trailing newline on non-windows nix builds overriding stdenv when building for crosscompiling to windows in nix better variables when crosscompiling windows in nix cross compile windows on macos removed trailing whitespace remove unnessesary overwrite of "CMAKE_SYSTEM_NAME" in nix windows build nix: keep file extension when copying result files during cross compile for windows nix: better checking for file extensions when using MinGW nix: using hostPlatform instead of targetPlatform when cross compiling for Windows using hostPlatform.extensions.executable to extract executable format
-rw-r--r--.devops/nix/package.nix6
-rw-r--r--flake.nix3
2 files changed, 7 insertions, 2 deletions
diff --git a/.devops/nix/package.nix b/.devops/nix/package.nix
index b651f9e6..83858c82 100644
--- a/.devops/nix/package.nix
+++ b/.devops/nix/package.nix
@@ -67,6 +67,8 @@ let
strings.optionalString (suffices != [ ])
", accelerated with ${strings.concatStringsSep ", " suffices}";
+ executableSuffix = effectiveStdenv.hostPlatform.extensions.executable;
+
# TODO: package the Python in this repository in a Nix-like way.
# It'd be nice to migrate to buildPythonPackage, as well as ensure this repo
# is PEP 517-compatible, and ensure the correct .dist-info is generated.
@@ -244,8 +246,8 @@ effectiveStdenv.mkDerivation (
# TODO(SomeoneSerge): It's better to add proper install targets at the CMake level,
# if they haven't been added yet.
postInstall = ''
- mv $out/bin/main $out/bin/llama
- mv $out/bin/server $out/bin/llama-server
+ mv $out/bin/main${executableSuffix} $out/bin/llama${executableSuffix}
+ mv $out/bin/server${executableSuffix} $out/bin/llama-server${executableSuffix}
mkdir -p $out/include
cp $src/llama.h $out/include/
'';
diff --git a/flake.nix b/flake.nix
index 9a528a66..cdce3e0a 100644
--- a/flake.nix
+++ b/flake.nix
@@ -155,6 +155,9 @@
{
default = config.legacyPackages.llamaPackages.llama-cpp;
vulkan = config.packages.default.override { useVulkan = true; };
+ windows = config.legacyPackages.llamaPackages.llama-cpp.override {
+ stdenv = pkgs.pkgsCross.mingwW64.stdenv;
+ };
}
// lib.optionalAttrs pkgs.stdenv.isLinux {
opencl = config.packages.default.override { useOpenCL = true; };