aboutsummaryrefslogtreecommitdiff
path: root/nix/libstore/builtins.cc
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-11-13 22:59:54 +0100
committerLudovic Courtès <ludo@gnu.org>2016-11-16 18:19:54 +0100
commitf9aefa2d5fb3f6aad25a907939ee872c828b33d0 (patch)
tree51c87ff2ca17cb4aabf456446a14c43446956219 /nix/libstore/builtins.cc
parent94d92c7796a3dd50c27d532315f7d497ac99f08e (diff)
downloadguix-f9aefa2d5fb3f6aad25a907939ee872c828b33d0.tar
guix-f9aefa2d5fb3f6aad25a907939ee872c828b33d0.tar.gz
daemon: Add 'built-in-builders' RPC.
* nix/libstore/builtins.cc (builtinBuilderNames): New function. * nix/libstore/builtins.hh (builtinBuilderNames): New declaration. * nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x160. (WorkerOp)[wopBuiltinBuilders]: New value. * nix/nix-daemon/nix-daemon.cc (performOp): Handle it. * guix/store.scm (operation-id)[built-in-builders]: New value. * guix/store.scm (read-arg): Add 'string-list'. (built-in-builders): New procedure. * tests/derivations.scm ("built-in-builders"): New test.
Diffstat (limited to 'nix/libstore/builtins.cc')
-rw-r--r--nix/libstore/builtins.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/nix/libstore/builtins.cc b/nix/libstore/builtins.cc
index 605e44079a..32af767dc4 100644
--- a/nix/libstore/builtins.cc
+++ b/nix/libstore/builtins.cc
@@ -66,4 +66,14 @@ derivationBuilder lookupBuiltinBuilder(const std::string & name)
return NULL;
}
+std::list<std::string> builtinBuilderNames()
+{
+ std::list<std::string> result;
+ for(auto&& iter: builtins)
+ {
+ result.push_back(iter.first);
+ }
+ return result;
+}
+
}