about summary refs log tree commit diff
path: root/pkgs/taalo-build
Commit message (Collapse)AuthorAgeFilesLines
* taalo-build: Combine ssh and ssh-ng store protocolaszlig2020-02-101-7/+12
| | | | | | | | | | For some reason which I haven't been able to debug yet, the legacy SSH remote store protocol is way faster when it comes to copying files. To cope with this for now, we now use the legacy protocol for copying and the new protocol for the actual remote build. Signed-off-by: aszlig <aszlig@nix.build>
* treewide: use `runCommandLocal` where applicableProfpatsch2019-12-081-2/+2
| | | | | | | `runCommandLocal` was added to nixpkgs in https://github.com/NixOS/nixpkgs/pull/74642 to speed up trivial `runCommand` derivations by always building them locally. We have a few places where that’s good to use.
* taalo-build: Allow to build multiple derivationsaszlig2019-02-131-1/+1
| | | | | | | | | | | | | | | | If taalo-build is used on a Nix expression returning multiple derivations either by a list or an attribute set, nix-instantiate will return multiple paths. Quoting the argument to "nix-store -r" however will pass the newline- separated files returned by nix-instantiate as one big file name, which in turn causes the realize to fail. Removing those quotes doesn't have this problems and we also don't get into trouble because those paths are under our control and don't contain spaces or tabs (which would then be splitted by the shell). Signed-off-by: aszlig <aszlig@nix.build>
* taalo-build: Switch back to instantiate + realizeaszlig2019-01-041-7/+19
| | | | | | | | | | | | | | | | | | | | I refactored the two tools a while ago but eventually rendered taalo-realize useless, because it doesn't copy the derivation to realize to the remote host. This is done now, plus the taalo-build command now makes sure that we instantiate on the local machine, thus speeding up builds a lot (except maybe if the local host is under very high load). In addition I added an indirect gcroot inside a temporary directory, so that we don't get into a race condition when garbage collecting between instantiate and realize. Instead of nix-copy-closure, I now use "nix copy", which properly supports the ssh-ng store backend. However I didn't use "nix build" and friends, because these commands still lack a few features. Signed-off-by: aszlig <aszlig@nix.build>
* taalo-build: Rewrite as wrapper and move to pkgsaszlig2017-11-121-0/+19
We no longer use the legacy SSH store protocol for taalo but the new ssh-ng protocol, which makes the implementation of taalo-build a LOT less clunky. It also didn't make sense to have this as a NixOS module when we after all just emit a static store path without any stuff depending on configuration options. The new implementation basically just wraps nix-build and nix-store -r along with the right NIX_REMOTE variable. With Nix 1.2 this can also be done with the new "nix build" command using the --store option, but unfortunately "nix build" doesn't yet have the same functionality as nix-build. Signed-off-by: aszlig <aszlig@nix.build> Cc: @Profpatsch, @bendlas