Unverified Commit e0d0c393 authored by Randy Eckenrode's avatar Randy Eckenrode
Browse files
parent e1b70fb0
Loading
Loading
Loading
Loading
+23 −2
Original line number Diff line number Diff line
@@ -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"
    ];
  };
})