From 09bbd80fadd064601e6c8aa7c375bc5eb104e964 Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 12 Sep 2025 19:00:59 +0100 Subject: [PATCH] watchman: patch CMake reproducibility issue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is the first thing outside of CMake itself I’ve seen that would have derived some value from `fixCmakeFiles`. --- pkgs/by-name/wa/watchman/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/wa/watchman/package.nix b/pkgs/by-name/wa/watchman/package.nix index e38b556d47a0..960f02a70355 100644 --- a/pkgs/by-name/wa/watchman/package.nix +++ b/pkgs/by-name/wa/watchman/package.nix @@ -96,6 +96,12 @@ stdenv.mkDerivation (finalAttrs: { cp ${./Cargo.lock} ${finalAttrs.cargoRoot}/Cargo.lock + # The build system looks for `/usr/bin/python3`. It falls back + # gracefully if it’s not found, but let’s dodge the potential + # reproducibility risk for unsandboxed Darwin. + substituteInPlace CMakeLists.txt \ + --replace-fail /usr/bin /var/empty + # Facebook Thrift requires C++20 now but Watchman hasn’t been # updated yet… (Aren’t these things meant to be integrated together # in a monorepo?)