From 562c635fb716f0872e909df822707817ca9b3c66 Mon Sep 17 00:00:00 2001 From: Yongun Seong Date: Sat, 8 Nov 2025 14:34:34 +0900 Subject: [PATCH] unison: patch to to correctly inject env into ocamlfind --- pkgs/by-name/un/unison/fix-ocamlfind-env.patch | 14 ++++++++++++++ pkgs/by-name/un/unison/package.nix | 3 +++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/by-name/un/unison/fix-ocamlfind-env.patch diff --git a/pkgs/by-name/un/unison/fix-ocamlfind-env.patch b/pkgs/by-name/un/unison/fix-ocamlfind-env.patch new file mode 100644 index 000000000000..7e1a594cc339 --- /dev/null +++ b/pkgs/by-name/un/unison/fix-ocamlfind-env.patch @@ -0,0 +1,14 @@ +diff --git a/src/make_tools.ml b/src/make_tools.ml +index a5792b6..4f4d037 100644 +--- a/src/make_tools.ml ++++ b/src/make_tools.ml +@@ -475,7 +475,7 @@ let shell_internal ?(err_null = false) ?exit_status ?(input_str = "") cmd = + Unix.handle_unix_error (fun () -> + if err_null || input_str <> "" then + let (sh_out, sh_in, _) as sh_full = +- Unix.open_process_full cmd [|"PATH=" ^ env.$("PATH")|] in ++ Unix.open_process_full cmd (Array.append (Unix.environment ()) [|"PATH=" ^ env.$("PATH")|]) in + if input_str <> "" then begin + output_string sh_in input_str; + flush sh_in + diff --git a/pkgs/by-name/un/unison/package.nix b/pkgs/by-name/un/unison/package.nix index 0907a7faca36..67cdcf72c012 100644 --- a/pkgs/by-name/un/unison/package.nix +++ b/pkgs/by-name/un/unison/package.nix @@ -21,6 +21,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ynsu9jLGFtjlzmHZtOdLEH5G6eXFAhZs9UayYrmKqp0="; }; + # Allow the build scripts to correctly call ocamlfind & detect dependencies + patches = [ ./fix-ocamlfind-env.patch ]; + strictDeps = true; nativeBuildInputs = [