about summary refs log tree commit diff
path: root/src/libstore/store-api.hh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2011-11-23T15·13+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2011-11-23T15·13+0000
commit5bbd693caedd5d50994938555b3a4b535875347e (patch)
tree19ea7d933118c3f40e0d096ceebc7e4f1a9eec6b /src/libstore/store-api.hh
parentab20af3e6f83f320232d0e5f6bcfcb279c0047c0 (diff)
* Add an API function exportPaths() that provides the functionality of
  ‘nix-store --export’.
* Add a Perl module that provides the functionality of
  ‘nix-copy-closure --to’.  This is used by build-remote.pl so it no
  longer needs to start a separate nix-copy-closure process.  Also, it
  uses the Perl API to do the export, so it doesn't need to start a
  separate nix-store process either.  As a result, nix-copy-closure
  and build-remote.pl should no longer fail on very large closures due
  to an "Argument list too long" error.  (Note that having very many
  dependencies in a single derivation can still fail because the
  environment can become too large.  Can't be helped though.)

Diffstat (limited to 'src/libstore/store-api.hh')
-rw-r--r--src/libstore/store-api.hh6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh
index b3e67436c6c3..8bfb09880edd 100644
--- a/src/libstore/store-api.hh
+++ b/src/libstore/store-api.hh
@@ -342,6 +342,12 @@ ValidPathInfo decodeValidPathInfo(std::istream & str,
     bool hashGiven = false);
 
 
+/* Export multiple paths in the format expected by ‘nix-store
+   --import’. */
+void exportPaths(StoreAPI & store, const Paths & paths,
+    bool sign, Sink & sink);
+
+
 }