aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libexpr/flake/eval-cache.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libexpr/flake/eval-cache.cc b/src/libexpr/flake/eval-cache.cc
index fece1a2b5..b32d502f7 100644
--- a/src/libexpr/flake/eval-cache.cc
+++ b/src/libexpr/flake/eval-cache.cc
@@ -1,5 +1,6 @@
#include "eval-cache.hh"
#include "sqlite.hh"
+#include "eval.hh"
#include <set>
@@ -62,6 +63,8 @@ void EvalCache::addDerivation(
const std::string & attrPath,
const Derivation & drv)
{
+ if (!evalSettings.pureEval) return;
+
auto state(_state->lock());
if (state->fingerprints.insert(fingerprint).second)
@@ -81,6 +84,8 @@ std::optional<EvalCache::Derivation> EvalCache::getDerivation(
const Fingerprint & fingerprint,
const std::string & attrPath)
{
+ if (!evalSettings.pureEval) return {};
+
auto state(_state->lock());
auto queryAttribute(state->queryAttribute.use()