diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-07-11T11·55+0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-07-11T11·55+0200 |
commit | e196eecbe6552d5afed89ad480544c90cf959922 (patch) | |
tree | 3b919f7e5e40c830dbb218be10ba96de5cb1b05d /src | |
parent | d0eb970fb4d3b5c347506b77f9657fc5eb6229e2 (diff) |
Allow $NIX_BUILD_HOOK to be relative to Nix libexec directory
Diffstat (limited to 'src')
-rw-r--r-- | src/libstore/build.cc | 6 | ||||
-rw-r--r-- | src/libstore/globals.cc | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 1870abead491..d59470603295 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 8bffdd73f7f7..b9d028be9654 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; |