diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2023-07-12 00:02:37 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-12 00:02:37 +0000 |
commit | c7f86a0032fd73b23d485b0c669a24beb4445389 (patch) | |
tree | 1480d8acc8995308254e4e657ae4b19b80a5d9e7 /pkgs/misc | |
parent | 12991ebe2c322f2d7d73c8ce095a9d2bead28d5e (diff) | |
parent | ab7b093937035ec80899c35955d37d6b46f68af9 (diff) |
Merge master into staging-next
Diffstat (limited to 'pkgs/misc')
-rw-r--r-- | pkgs/misc/dxvk/default.nix | 8 | ||||
-rw-r--r-- | pkgs/misc/dxvk/dxvk.nix | 22 |
2 files changed, 21 insertions, 9 deletions
diff --git a/pkgs/misc/dxvk/default.nix b/pkgs/misc/dxvk/default.nix index 49b6c4d0bebdd..88b7e5b104fb3 100644 --- a/pkgs/misc/dxvk/default.nix +++ b/pkgs/misc/dxvk/default.nix @@ -8,8 +8,12 @@ stdenvNoCC.mkDerivation (finalAttrs: let - dxvk32 = if stdenv.isDarwin then pkgsCross.mingw32.dxvk_1 else pkgsCross.mingw32.dxvk_2; - dxvk64 = if stdenv.isDarwin then pkgsCross.mingwW64.dxvk_1 else pkgsCross.mingwW64.dxvk_2; + dxvk32 = if stdenv.isDarwin + then pkgsCross.mingw32.dxvk_1.override { enableMoltenVKCompat = true; } + else pkgsCross.mingw32.dxvk_2; + dxvk64 = if stdenv.isDarwin + then pkgsCross.mingwW64.dxvk_1.override { enableMoltenVKCompat = true; } + else pkgsCross.mingwW64.dxvk_2; in { pname = "dxvk"; diff --git a/pkgs/misc/dxvk/dxvk.nix b/pkgs/misc/dxvk/dxvk.nix index e0aa7105bb35d..b7bc4f2fc1275 100644 --- a/pkgs/misc/dxvk/dxvk.nix +++ b/pkgs/misc/dxvk/dxvk.nix @@ -5,14 +5,16 @@ , meson , ninja , windows -, dxvkVersion +, dxvkVersion ? "default" , spirv-headers , vulkan-headers , SDL2 , glfw , pkgsBuildHost +, gitUpdater , sdl2Support ? true , glfwSupport ? false +, enableMoltenVKCompat ? false }: # SDL2 and GLFW support are mutually exclusive. @@ -34,7 +36,7 @@ let hash = "sha256-T93ZylxzJGprrP+j6axZwl2d3hJowMCUOKNjIyNzkmE="; }; # These patches are required when using DXVK with Wine on Darwin. - patches = lib.optionals stdenv.buildPlatform.isDarwin [ + patches = lib.optionals enableMoltenVKCompat [ # Patch DXVK to work with MoltenVK even though it doesn’t support some required features. # Some games work poorly (particularly Unreal Engine 4 games), but others work pretty well. ./darwin-dxvk-compat.patch @@ -43,13 +45,13 @@ let ./darwin-thread-primitives.patch ]; }; - "2.1" = rec { - version = "2.1"; + "default" = rec { + version = "2.2"; src = fetchFromGitHub { owner = "doitsujin"; repo = "dxvk"; rev = "v${version}"; - hash = "sha256-A4KR11brfQbR56dGt371MRwMN/H6HFAU8TlFC97/bRs="; + hash = "sha256-GKRd66DvcA+7p3/wDqAUi02ZLRSVZ/fvJM0PQDEKVMA="; fetchSubmodules = true; # Needed for the DirectX headers and libdisplay-info }; patches = [ ]; @@ -59,7 +61,7 @@ let isWindows = stdenv.targetPlatform.uname.system == "Windows"; isCross = stdenv.hostPlatform != stdenv.targetPlatform; in -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "dxvk"; inherit (srcs.${dxvkVersion}) version src patches; @@ -95,6 +97,12 @@ stdenv.mkDerivation { doCheck = isDxvk2 && !isCross; + passthru = lib.optionalAttrs (lib.versionAtLeast finalAttrs.version "2.0") { + updateScript = gitUpdater { + rev-prefix = "v"; + }; + }; + meta = { description = "A Vulkan-based translation layer for Direct3D 9/10/11"; homepage = "https://github.com/doitsujin/dxvk"; @@ -103,4 +111,4 @@ stdenv.mkDerivation { license = lib.licenses.zlib; platforms = lib.platforms.windows ++ lib.optionals isDxvk2 lib.platforms.linux; }; -} +}) |