aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/globals.cc
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2024-06-05 06:02:18 +0200
committerRebecca Turner <rbt@sent.as>2024-08-26 16:27:31 -0700
commit4f02255c205378427f5831463c0c07e45382b2b2 (patch)
tree875efcf49a86ced24b37d72587bc4dfb153c4460 /src/libstore/globals.cc
parentca08f1217d8779971d4f2b306a19ad5622360372 (diff)
libstore: remove static initializers for Store registrations
Ref #359. Change-Id: Ia45530ddee25fa9fc399ff10738bb0d8bbc8b221
Diffstat (limited to 'src/libstore/globals.cc')
-rw-r--r--src/libstore/globals.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc
index 6cfa3ffac..b534882de 100644
--- a/src/libstore/globals.cc
+++ b/src/libstore/globals.cc
@@ -33,6 +33,16 @@
#include <sys/sysctl.h>
#endif
+// All built-in store implementations.
+#include "dummy-store.hh"
+#include "http-binary-cache-store.hh"
+#include "legacy-ssh-store.hh"
+#include "local-binary-cache-store.hh"
+#include "local-store.hh"
+#include "s3-binary-cache-store.hh"
+#include "ssh-store.hh"
+#include "uds-remote-store.hh"
+
namespace nix {
@@ -396,6 +406,17 @@ static void preloadNSS()
});
}
+static void registerStoreImplementations() {
+ registerDummyStore();
+ registerHttpBinaryCacheStore();
+ registerLegacySSHStore();
+ registerLocalBinaryCacheStore();
+ registerLocalStore();
+ registerS3BinaryCacheStore();
+ registerSSHStore();
+ registerUDSRemoteStore();
+}
+
static bool initLibStoreDone = false;
void assertLibStoreInitialized() {
@@ -433,6 +454,8 @@ void initLibStore() {
unsetenv("TMPDIR");
#endif
+ registerStoreImplementations();
+
initLibStoreDone = true;
}