From ca9f589a93309ca548d772f1634169007568d6a0 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 1 May 2017 15:00:39 +0200 Subject: build-remote: Don't copy the .drv closure Since build-remote uses buildDerivation() now, we don't need to copy the .drv file anymore. This greatly reduces the set of input paths copied to the remote side (e.g. from 392 to 51 store paths for GNU hello on x86_64-darwin). --- src/build-remote/build-remote.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/build-remote') diff --git a/src/build-remote/build-remote.cc b/src/build-remote/build-remote.cc index f3195f631..1ee8a625b 100644 --- a/src/build-remote/build-remote.cc +++ b/src/build-remote/build-remote.cc @@ -269,8 +269,11 @@ connected: copyPaths(store, ref(sshStore), inputs); uploadLock = -1; - printError("building ‘%s’ on ‘%s’", drvPath, hostName); - sshStore->buildDerivation(drvPath, readDerivation(drvPath)); + BasicDerivation drv(readDerivation(drvPath)); + drv.inputSrcs = inputs; + + printError("building ‘%s’ on ‘%s’", drvPath, storeUri); + sshStore->buildDerivation(drvPath, drv); PathSet missing; for (auto & path : outputs) -- cgit v1.2.3