diff --git a/pkgs/by-name/dx/dxvk_2/package.nix b/pkgs/by-name/dx/dxvk_2/package.nix index d8a00086abb6..76f16a19a1c4 100644 --- a/pkgs/by-name/dx/dxvk_2/package.nix +++ b/pkgs/by-name/dx/dxvk_2/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch2, pkgsBuildHost, glslang, meson, @@ -37,16 +38,29 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "dxvk"; - version = "2.4"; + version = "2.5"; src = fetchFromGitHub { owner = "doitsujin"; repo = "dxvk"; rev = "v${finalAttrs.version}"; - hash = "sha256-4U0Z1oR0BKIHZ6YNT/+8sFe2I/ZKmPecInMXUho4MHg="; + hash = "sha256-JwEKmzYnoDhad0VKadQYEqraMogXn7BFI9kmT9F+Ts0="; fetchSubmodules = true; # Needed for the DirectX headers and libdisplay-info }; + patches = [ + # Fixes `ERROR: Index 2 out of bounds of array of size 2` error on native builds. + (fetchpatch2 { + url = "https://github.com/doitsujin/dxvk/commit/e6209d28cd9c51ad371605db4c0de27547c0d28c.patch?full_index=1"; + hash = "sha256-zKO6YXOUKBnwcijzCldDzmDqXSkf+wWe9KmUlhsaTyM="; + }) + # Fixes missing symbol error when building with GLFW support enabled. + (fetchpatch2 { + url = "https://github.com/doitsujin/dxvk/commit/62ef4854a6accf2b042f25f44db667abadc0b3fd.patch?full_index=1"; + hash = "sha256-oXybFqoD68gTLHO1kDHll4XCfpU+s9E+PmaXQFqEy/g="; + }) + ]; + postPatch = '' substituteInPlace meson.build \ @@ -102,5 +116,12 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.zlib; badPlatforms = lib.platforms.darwin; platforms = lib.platforms.windows ++ lib.platforms.unix; + pkgConfigModules = [ + "dxvk-d3d10core" + "dxvk-d3d11" + "dxvk-d3d8" + "dxvk-d3d9" + "dxvk-dxgi" + ]; }; })