nixpkgs/pkgs/misc/dxvk/dxvk.nix
Randy Eckenrode e2369cb9c9
dxvk: refactor to better support Darwin and Linux
- Move the synchronization primitive changes to their own patch, so it
  can be applied conditionally on Darwin. Also, document why this change
  is needed; and
- Refactor how `src` is handled to support allowing Darwin and Linux to
  diverge in case the Darwin patches do not apply to the latest version.
  This should address some post-merger concerns that were raised about
  Darwin’s blocking updates for Linux.
2022-03-09 11:18:05 -05:00

40 lines
818 B
Nix

{ lib
, stdenv
, fetchFromGitHub
, glslang
, meson
, ninja
, windows
, src
, version
, dxvkPatches
}:
stdenv.mkDerivation {
pname = "dxvk";
inherit src version;
nativeBuildInputs = [ glslang meson ninja ];
buildInputs = [ windows.pthreads ];
patches = dxvkPatches;
mesonFlags =
let
arch = if stdenv.is32bit then "32" else "64";
in
[
"--buildtype" "release"
"--cross-file" "build-win${arch}.txt"
"--prefix" "${placeholder "out"}"
];
meta = {
description = "A Vulkan-based translation layer for Direct3D 9/10/11";
homepage = "https://github.com/doitsujin/dxvk";
changelog = "https://github.com/doitsujin/dxvk/releases";
maintainers = [ lib.maintainers.reckenrode ];
license = lib.licenses.zlib;
platforms = lib.platforms.windows;
};
}