From 4f02255c205378427f5831463c0c07e45382b2b2 Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Wed, 5 Jun 2024 06:02:18 +0200 Subject: libstore: remove static initializers for Store registrations Ref #359. Change-Id: Ia45530ddee25fa9fc399ff10738bb0d8bbc8b221 --- src/libstore/platform/darwin.cc | 5 +++++ src/libstore/platform/fallback.cc | 4 +++- src/libstore/platform/linux.cc | 4 +++- 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src/libstore/platform') diff --git a/src/libstore/platform/darwin.cc b/src/libstore/platform/darwin.cc index 1f7e9be23..078753bff 100644 --- a/src/libstore/platform/darwin.cc +++ b/src/libstore/platform/darwin.cc @@ -261,4 +261,9 @@ void DarwinLocalDerivationGoal::execBuilder(std::string builder, Strings args, S posix_spawn(nullptr, builder.c_str(), nullptr, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data()); } + +void registerLocalStore() { + StoreImplementations::add(); +} + } diff --git a/src/libstore/platform/fallback.cc b/src/libstore/platform/fallback.cc index 5a01d64c8..0593ec204 100644 --- a/src/libstore/platform/fallback.cc +++ b/src/libstore/platform/fallback.cc @@ -1,5 +1,7 @@ #include "platform/fallback.hh" namespace nix { -static RegisterStoreImplementation regLocalStore; +void registerLocalStore() { + Implementations::add(); +} } diff --git a/src/libstore/platform/linux.cc b/src/libstore/platform/linux.cc index 03b8bc0be..f22fbe58f 100644 --- a/src/libstore/platform/linux.cc +++ b/src/libstore/platform/linux.cc @@ -25,7 +25,9 @@ namespace { constexpr const std::string_view nativeSystem = SYSTEM; } -static RegisterStoreImplementation regLocalStore; +void registerLocalStore() { + StoreImplementations::add(); +} static void readProcLink(const std::string & file, UncheckedRoots & roots) { -- cgit v1.2.3