about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tvix/default.nix14
1 files changed, 7 insertions, 7 deletions
diff --git a/tvix/default.nix b/tvix/default.nix
index 9a362658c8d3..edcae8dd0795 100644
--- a/tvix/default.nix
+++ b/tvix/default.nix
@@ -185,13 +185,13 @@ in
     pkgs.stdenv.mkDerivation {
       inherit src;
 
-      # Important: we include the hash of the Cargo.lock file and
-      # Cargo.nix file in the derivation name.  This forces the FOD
-      # to be rebuilt/reverified whenever either of them changes.
-      name = "tvix-crate2nix-check-" +
-        (builtins.substring 0 8 (builtins.hashFile "sha256" ./Cargo.lock)) +
-        "-" +
-        (builtins.substring 0 8 (builtins.hashFile "sha256" ./Cargo.nix));
+      # Important: we include the hash of all Cargo related files in the derivation name.
+      # This forces the FOD to be rebuilt/re-verified whenever one of them changes.
+      name = "tvix-crate2nix-check-" + builtins.substring 0 8 (builtins.hashString "sha256"
+        (lib.concatMapStrings (f: builtins.hashFile "sha256" f)
+          ([ ./Cargo.toml ./Cargo.lock ] ++ (map (m: ./. + "/${m}/Cargo.toml") (lib.importTOML ./Cargo.toml).workspace.members))
+        )
+      );
 
       nativeBuildInputs = with pkgs; [ git cacert cargo ];
       buildPhase = ''