aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libstore/build.cc6
-rw-r--r--src/libstore/globals.cc2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 1870abead..d59470603 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -590,7 +590,9 @@ HookInstance::HookInstance()
{
debug("starting build hook");
- Path buildHook = absPath(getEnv("NIX_BUILD_HOOK"));
+ Path buildHook = getEnv("NIX_BUILD_HOOK");
+ if (string(buildHook, 0, 1) != "/") buildHook = settings.nixLibexecDir + "/nix/" + buildHook;
+ buildHook = canonPath(buildHook);
/* Create a pipe to get the output of the child. */
fromHook.create();
@@ -1503,7 +1505,7 @@ void DerivationGoal::buildDone()
HookReply DerivationGoal::tryBuildHook()
{
- if (!settings.useBuildHook || getEnv("NIX_BUILD_HOOK") == "") return rpDecline;
+ if (!settings.useBuildHook) return rpDecline;
if (!worker.hook)
worker.hook = std::shared_ptr<HookInstance>(new HookInstance);
diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc
index 8bffdd73f..b9d028be9 100644
--- a/src/libstore/globals.cc
+++ b/src/libstore/globals.cc
@@ -38,7 +38,7 @@ Settings::Settings()
thisSystem = SYSTEM;
maxSilentTime = 0;
buildTimeout = 0;
- useBuildHook = true;
+ useBuildHook = getEnv("NIX_BUILD_HOOK") != "";
printBuildTrace = false;
reservedSize = 1024 * 1024;
fsyncMetadata = true;