mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-15 02:36:16 +02:00
Add nix_store_copy_closure to libstore-c
This commit is contained in:
parent
0bcc83d0e7
commit
5d28a00322
2 changed files with 22 additions and 0 deletions
|
@ -144,3 +144,15 @@ StorePath * nix_store_path_clone(const StorePath * p)
|
||||||
{
|
{
|
||||||
return new StorePath{p->path};
|
return new StorePath{p->path};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nix_err nix_store_copy_closure(nix_c_context * context, Store * srcStore, Store * dstStore, StorePath * path)
|
||||||
|
{
|
||||||
|
if (context)
|
||||||
|
context->last_err_code = NIX_OK;
|
||||||
|
try {
|
||||||
|
nix::RealisedPath::Set paths;
|
||||||
|
paths.insert(path->path);
|
||||||
|
nix::copyClosure(*srcStore->ptr, *dstStore->ptr, paths);
|
||||||
|
}
|
||||||
|
NIXC_CATCH_ERRS
|
||||||
|
}
|
||||||
|
|
|
@ -161,6 +161,16 @@ nix_err nix_store_realise(
|
||||||
nix_err
|
nix_err
|
||||||
nix_store_get_version(nix_c_context * context, Store * store, nix_get_string_callback callback, void * user_data);
|
nix_store_get_version(nix_c_context * context, Store * store, nix_get_string_callback callback, void * user_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Copy the closure of `path` from `srcStore` to `dstStore`.
|
||||||
|
*
|
||||||
|
* @param[out] context Optional, stores error information
|
||||||
|
* @param[in] srcStore nix source store reference
|
||||||
|
* @param[in] srcStore nix destination store reference
|
||||||
|
* @param[in] path Path to copy
|
||||||
|
*/
|
||||||
|
nix_err nix_store_copy_closure(nix_c_context * context, Store * srcStore, Store * dstStore, StorePath * path);
|
||||||
|
|
||||||
// cffi end
|
// cffi end
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue