mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-22 22:16:16 +02:00
Provide function required by Hydra
This commit is contained in:
parent
25eea97873
commit
5a8455c85e
2 changed files with 16 additions and 3 deletions
|
@ -65,13 +65,21 @@ std::string LocalBinaryCacheStore::getFile(const std::string & path)
|
|||
return readFile(binaryCacheDir + "/" + path);
|
||||
}
|
||||
|
||||
ref<Store> openLocalBinaryCacheStore(std::shared_ptr<Store> localStore,
|
||||
const Path & secretKeyFile, const Path & publicKeyFile,
|
||||
const Path & binaryCacheDir)
|
||||
{
|
||||
auto store = std::make_shared<LocalBinaryCacheStore>(
|
||||
localStore, secretKeyFile, publicKeyFile, binaryCacheDir);
|
||||
store->init();
|
||||
return ref<Store>(std::shared_ptr<Store>(store));
|
||||
}
|
||||
|
||||
static RegisterStoreImplementation regStore([](const std::string & uri) -> std::shared_ptr<Store> {
|
||||
if (std::string(uri, 0, 7) != "file://") return 0;
|
||||
auto store = std::make_shared<LocalBinaryCacheStore>(std::shared_ptr<Store>(0),
|
||||
return openLocalBinaryCacheStore(std::shared_ptr<Store>(0),
|
||||
"", "", // FIXME: allow the signing key to be set
|
||||
std::string(uri, 7));
|
||||
store->init();
|
||||
return store;
|
||||
});
|
||||
|
||||
}
|
||||
|
|
|
@ -453,6 +453,11 @@ ref<Store> openStoreAt(const std::string & uri);
|
|||
ref<Store> openStore();
|
||||
|
||||
|
||||
ref<Store> openLocalBinaryCacheStore(std::shared_ptr<Store> localStore,
|
||||
const Path & secretKeyFile, const Path & publicKeyFile,
|
||||
const Path & binaryCacheDir);
|
||||
|
||||
|
||||
/* Store implementation registration. */
|
||||
typedef std::function<std::shared_ptr<Store>(const std::string & uri)> OpenStore;
|
||||
|
||||
|
|
Loading…
Reference in a new issue