From 69203d07d91cd8d5f29fa7ae824682b62c5efce1 Mon Sep 17 00:00:00 2001 From: Maroun Deeb Date: Wed, 8 Apr 2026 23:49:00 +0200 Subject: [PATCH] vimPlugins.codediff-nvim: fix library build on Darwin Upstream falls back to `brew --prefix libomp` on macOS when `find_package(OpenMP)` fails, which does not work in the Nix sandbox. Patch the CMake fallback to use `llvmPackages.openmp` instead. No extra `libomp.dylib` symlink is needed on Darwin, since the built library already references `libomp.dylib` from the Nix store. --- .../plugins/non-generated/codediff-nvim/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/vim/plugins/non-generated/codediff-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/codediff-nvim/default.nix index 1ee3a51bfa0e..0e900bd057dc 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/codediff-nvim/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/codediff-nvim/default.nix @@ -7,6 +7,7 @@ vimPlugins, autoPatchelfHook, stdenv, + llvmPackages, }: vimUtils.buildVimPlugin rec { pname = "codediff.nvim"; @@ -22,8 +23,16 @@ vimUtils.buildVimPlugin rec { dependencies = [ vimPlugins.nui-nvim ]; nativeBuildInputs = [ cmake ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]; - buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ stdenv.cc.cc.lib ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ stdenv.cc.cc.lib ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ]; dontUseCmakeConfigure = true; + + postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace libvscode-diff/CMakeLists.txt \ + --replace-fail 'COMMAND brew --prefix libomp' 'COMMAND echo ${llvmPackages.openmp}' + ''; + buildPhase = '' runHook preBuild make