Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 73 lines 2.6 kB view raw
1diff --git a/src/dbus.cpp b/src/dbus.cpp 2index 7379af1..4eef3fe 100644 3--- a/src/dbus.cpp 4+++ b/src/dbus.cpp 5@@ -152,7 +152,7 @@ bool dbus_manager::get_media_player_metadata(metadata& meta, std::string name) { 6 } 7 8 bool dbus_manager::init_internal() { 9- if (!m_dbus_ldr.IsLoaded() && !m_dbus_ldr.Load("libdbus-1.so.3")) { 10+ if (!m_dbus_ldr.IsLoaded() && !m_dbus_ldr.Load("@libdbus@/lib/libdbus-1.so.3")) { 11 SPDLOG_ERROR("Could not load libdbus-1.so.3"); 12 return false; 13 } 14diff --git a/src/loaders/loader_glx.cpp b/src/loaders/loader_glx.cpp 15index aa453b8..0f6479d 100644 16--- a/src/loaders/loader_glx.cpp 17+++ b/src/loaders/loader_glx.cpp 18@@ -23,7 +23,7 @@ bool glx_loader::Load() { 19 handle = real_dlopen("glxtrace.so", RTLD_LAZY); 20 #endif 21 if (!handle) 22- handle = real_dlopen("libGL.so.1", RTLD_LAZY); 23+ handle = real_dlopen("@libGL@/lib/libGL.so.1", RTLD_LAZY); 24 if (!handle) { 25 SPDLOG_ERROR("Failed to open " MANGOHUD_ARCH " libGL.so.1: {}", dlerror()); 26 return false; 27diff --git a/src/loaders/loader_x11.cpp b/src/loaders/loader_x11.cpp 28index 214fd50..2f08857 100644 29--- a/src/loaders/loader_x11.cpp 30+++ b/src/loaders/loader_x11.cpp 31@@ -110,6 +110,6 @@ static std::shared_ptr<libx11_loader> loader; 32 std::shared_ptr<libx11_loader> get_libx11() 33 { 34 if (!loader) 35- loader = std::make_shared<libx11_loader>("libX11.so.6"); 36+ loader = std::make_shared<libx11_loader>("@libX11@/lib/libX11.so.6"); 37 return loader; 38 } 39diff --git a/src/logging.cpp b/src/logging.cpp 40index 4ef7023..e24f6da 100644 41--- a/src/logging.cpp 42+++ b/src/logging.cpp 43@@ -28,8 +28,12 @@ string exec(string command) { 44 #endif 45 std::array<char, 128> buffer; 46 std::string result; 47+ 48+ char* originalPath = getenv("PATH"); 49+ setenv("PATH", "@path@", 1); 50 auto deleter = [](FILE* ptr){ pclose(ptr); }; 51 std::unique_ptr<FILE, decltype(deleter)> pipe(popen(command.c_str(), "r"), deleter); 52+ setenv("PATH", originalPath, 1); 53 if (!pipe) { 54 return "popen failed!"; 55 } 56diff --git a/src/pci_ids.cpp b/src/pci_ids.cpp 57index 002a843..5a6262b 100644 58--- a/src/pci_ids.cpp 59+++ b/src/pci_ids.cpp 60@@ -24,11 +24,9 @@ static std::istream& get_uncommented_line(std::istream& is, std::string &line) 61 void parse_pciids() 62 { 63 std::ifstream file; 64- file.open("/usr/share/hwdata/pci.ids"); 65+ file.open("@hwdata@/share/hwdata/pci.ids"); 66 if (file.fail()){ 67- file.open("/usr/share/misc/pci.ids"); 68- if (file.fail()) 69- SPDLOG_ERROR("can't find file pci.ids"); 70+ SPDLOG_ERROR("can't find file pci.ids"); 71 } 72 73 std::string line;