From d9cb109138cb32c7441794072e6fc122e8b08473 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Fri, 14 Apr 2023 07:55:56 -0400 Subject: [PATCH] mangohud: move loader header deps to nativeBuildInputs --- pkgs/tools/graphics/mangohud/default.nix | 15 +++++++++------ .../graphics/mangohud/hardcode-dependencies.patch | 10 ---------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/pkgs/tools/graphics/mangohud/default.nix b/pkgs/tools/graphics/mangohud/default.nix index b82cf971482c..891f8806fab4 100644 --- a/pkgs/tools/graphics/mangohud/default.nix +++ b/pkgs/tools/graphics/mangohud/default.nix @@ -11,7 +11,6 @@ , xdg-utils , dbus , hwdata -, libX11 , mangohud32 , appstream , glslang @@ -22,8 +21,9 @@ , pkg-config , unzip , libXNVCtrl -, spdlog , wayland +, libX11 +, spdlog , glew , glfw , nlohmann_json @@ -102,7 +102,7 @@ stdenv.mkDerivation (finalAttrs: { ]; libdbus = dbus.lib; - inherit hwdata libX11; + inherit hwdata; }) ] ++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux") [ # Support 32bit OpenGL applications by appending the mangohud32 @@ -142,14 +142,17 @@ stdenv.mkDerivation (finalAttrs: { ninja pkg-config unzip + + # Only the headers are used from these packages + # The corresponding libraries are loaded at runtime from the app's runpath + libXNVCtrl + wayland + libX11 ]; buildInputs = [ dbus - libX11 - libXNVCtrl spdlog - wayland ] ++ lib.optionals gamescopeSupport [ glew glfw diff --git a/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch b/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch index 0416008a99a3..debd33d10784 100644 --- a/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch +++ b/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch @@ -11,16 +11,6 @@ index 3b3cccb..1405725 100644 SPDLOG_ERROR("Could not load libdbus-1.so.3"); return false; } -diff --git a/src/loaders/loader_x11.cpp b/src/loaders/loader_x11.cpp -index 4db6f78..c60d08c 100644 ---- a/src/loaders/loader_x11.cpp -+++ b/src/loaders/loader_x11.cpp -@@ -89,4 +89,4 @@ void libx11_loader::CleanUp(bool unload) { - - } - --std::shared_ptr g_x11(new libx11_loader("libX11.so.6")); -+std::shared_ptr g_x11(new libx11_loader("@libX11@/lib/libX11.so.6")); diff --git a/src/logging.cpp b/src/logging.cpp index 1668226..f0c8df5 100644 --- a/src/logging.cpp