From 136cc106e7b693e58356214075e1449e2549d097 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sun, 18 May 2025 13:10:08 +0200 Subject: [PATCH] Restore the hash mismatch activity --- src/libstore/build/derivation-goal.cc | 1 + src/libstore/unix/build/derivation-builder.cc | 2 -- .../unix/include/nix/store/build/derivation-builder.hh | 9 ++++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/libstore/build/derivation-goal.cc b/src/libstore/build/derivation-goal.cc index 81215eacf..850d21bca 100644 --- a/src/libstore/build/derivation-goal.cc +++ b/src/libstore/build/derivation-goal.cc @@ -872,6 +872,7 @@ Goal::Co DerivationGoal::tryToBuild() *drvOptions, inputPaths, initialOutputs, + act }); } diff --git a/src/libstore/unix/build/derivation-builder.cc b/src/libstore/unix/build/derivation-builder.cc index abfe9b2b1..688f4311e 100644 --- a/src/libstore/unix/build/derivation-builder.cc +++ b/src/libstore/unix/build/derivation-builder.cc @@ -2709,14 +2709,12 @@ SingleDrvOutputs DerivationBuilderImpl::registerOutputs() store.printStorePath(drvPath), wanted.to_string(HashFormat::SRI, true), got.to_string(HashFormat::SRI, true))); -#if 0 // FIXME act->result(resHashMismatch, { {"storePath", store.printStorePath(drvPath)}, {"wanted", wanted}, {"got", got}, }); -#endif } if (!newInfo0.references.empty()) { auto numViolations = newInfo.references.size(); diff --git a/src/libstore/unix/include/nix/store/build/derivation-builder.hh b/src/libstore/unix/include/nix/store/build/derivation-builder.hh index d6c40060a..81a574fd0 100644 --- a/src/libstore/unix/include/nix/store/build/derivation-builder.hh +++ b/src/libstore/unix/include/nix/store/build/derivation-builder.hh @@ -58,6 +58,11 @@ struct DerivationBuilderParams const BuildMode & buildMode; + /** + * The activity corresponding to the build. + */ + std::unique_ptr & act; + DerivationBuilderParams( const StorePath & drvPath, const BuildMode & buildMode, @@ -66,7 +71,8 @@ struct DerivationBuilderParams const StructuredAttrs * parsedDrv, const DerivationOptions & drvOptions, const StorePathSet & inputPaths, - std::map & initialOutputs) + std::map & initialOutputs, + std::unique_ptr & act) : drvPath{drvPath} , buildResult{buildResult} , drv{drv} @@ -75,6 +81,7 @@ struct DerivationBuilderParams , inputPaths{inputPaths} , initialOutputs{initialOutputs} , buildMode{buildMode} + , act{act} { } DerivationBuilderParams(DerivationBuilderParams &&) = default;