diff options
author | Griffin Smith <grfn@gws.fyi> | 2020-11-27T23·12-0500 |
---|---|---|
committer | glittershark <grfn@gws.fyi> | 2020-11-28T00·47+0000 |
commit | 49024be05644d4fac252e2191e9de74e0ffd4fe3 (patch) | |
tree | 73658943ab7a8230215a59e5ec9288882463bc2e /third_party/nix/src/libstore/store-api.hh | |
parent | 1d22874ab29f696c38146750bdd26645d4d75ccc (diff) |
feat(tvix): Thread a log sink through calls to buildDerivation r/1946
Similarly to how we did for buildPaths, add a std::ostream& log_sink parameter to the build_derivation method on Store, and pass it std::cerr when called at the top level by nix commands - most notably, the build-remote hook binary, so that we get build logs when using tvix as a remote builder. Change-Id: I0f8f729ba8429d4838a0a135a5c2ac1e1a95d575 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2176 Tested-by: BuildkiteCI Reviewed-by: andi <andi@notmuch.email> Reviewed-by: kanepyork <rikingcoding@gmail.com>
Diffstat (limited to 'third_party/nix/src/libstore/store-api.hh')
-rw-r--r-- | third_party/nix/src/libstore/store-api.hh | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/third_party/nix/src/libstore/store-api.hh b/third_party/nix/src/libstore/store-api.hh index 76c757bd6939..eb18511e60df 100644 --- a/third_party/nix/src/libstore/store-api.hh +++ b/third_party/nix/src/libstore/store-api.hh @@ -468,12 +468,14 @@ class Store : public std::enable_shared_from_this<Store>, public Config { on-disk .drv file). Note that ‘drvPath’ is only used for informational purposes. */ // TODO(tazjin): Thread std::ostream through here, too. - virtual BuildResult buildDerivation(const Path& drvPath, + virtual BuildResult buildDerivation(std::ostream& log_sink, + const Path& drvPath, const BasicDerivation& drv, BuildMode buildMode) = 0; - BuildResult buildDerivation(const Path& drvPath, const BasicDerivation& drv) { - return buildDerivation(drvPath, drv, bmNormal); + BuildResult buildDerivation(std::ostream& log_sink, const Path& drvPath, + const BasicDerivation& drv) { + return buildDerivation(log_sink, drvPath, drv, bmNormal); } /* Ensure that a path is valid. If it is not currently valid, it |