summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKira Bruneau <kira.bruneau@pm.me>2022-08-03 09:11:51 -0400
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2022-08-15 21:42:38 +0000
commit0740bdaa9f939fb88e42ad2ded06fe0f03ed7d27 (patch)
treecbd71e05eb8d2f3fe00c774791ba3f5ea76a964d
parentMerge pull request #186846 from NixOS/backport-182378-to-release-22.05 (diff)
downloadnixpkgs-origin/backport-185016-to-release-22.05.tar.gz
mangohud: statically link spdlogorigin/backport-185016-to-release-22.05
Works around bug in pressure-vessel where it wasn't including necessary vulkan layer dependencies defined through DT_RUNPATH in the sandbox. https://github.com/ValveSoftware/steam-runtime/issues/511 (cherry picked from commit 2d6481a4fd35069c271bbb2967a4c59989b010fc)
-rw-r--r--pkgs/tools/graphics/mangohud/default.nix32
1 files changed, 28 insertions, 4 deletions
diff --git a/pkgs/tools/graphics/mangohud/default.nix b/pkgs/tools/graphics/mangohud/default.nix
index 26c1b99216c6..7202f9f8b562 100644
--- a/pkgs/tools/graphics/mangohud/default.nix
+++ b/pkgs/tools/graphics/mangohud/default.nix
@@ -25,7 +25,6 @@
, vulkan-loader
, libXNVCtrl
, wayland
-, spdlog
, glew
, glfw
, nlohmann_json
@@ -49,6 +48,27 @@ let
sha256 = "sha256-bQC0QmkLalxdj4mDEdqvvOFtNwz2T1MpTDuMXGYeQ18=";
};
};
+
+ # Derived from subprojects/spdlog.wrap
+ #
+ # NOTE: We only statically link spdlog due to a bug in pressure-vessel:
+ # https://github.com/ValveSoftware/steam-runtime/issues/511
+ #
+ # Once this fix is released upstream, we should switch back to using
+ # the system provided spdlog
+ spdlog = rec {
+ version = "1.8.5";
+ src = fetchFromGitHub {
+ owner = "gabime";
+ repo = "spdlog";
+ rev = "refs/tags/v${version}";
+ sha256 = "sha256-D29jvDZQhPscaOHlrzGN1s7/mXlcsovjbqYpXd7OM50=";
+ };
+ patch = fetchurl {
+ url = "https://wrapdb.mesonbuild.com/v2/spdlog_${version}-1/get_patch";
+ sha256 = "sha256-PDjyddV5KxKGORECWUMp6YsXc3kks0T5gxKrCZKbdL4=";
+ };
+ };
in stdenv.mkDerivation rec {
pname = "mangohud";
version = "0.6.8";
@@ -67,7 +87,7 @@ in stdenv.mkDerivation rec {
postUnpack = ''(
cd "$sourceRoot/subprojects"
cp -R --no-preserve=mode,ownership ${imgui.src} imgui-${imgui.version}
- unzip ${imgui.patch}
+ cp -R --no-preserve=mode,ownership ${spdlog.src} spdlog-${spdlog.version}
)'';
patches = [
@@ -102,11 +122,16 @@ in stdenv.mkDerivation rec {
})
];
+ postPatch = ''(
+ cd subprojects
+ unzip ${imgui.patch}
+ unzip ${spdlog.patch}
+ )'';
+
mesonFlags = [
"-Duse_system_vulkan=enabled"
"-Dvulkan_datadir=${vulkan-headers}/share"
"-Dwith_wayland=enabled"
- "-Duse_system_spdlog=enabled"
] ++ lib.optionals gamescopeSupport [
"-Dmangoapp_layer=true"
"-Dmangoapp=true"
@@ -130,7 +155,6 @@ in stdenv.mkDerivation rec {
libX11
libXNVCtrl
wayland
- spdlog
] ++ lib.optionals gamescopeSupport [
glew
glfw