summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRandy Eckenrode <randy@largeandhighquality.com>2022-06-01 16:21:14 -0400
committerRandy Eckenrode <randy@largeandhighquality.com>2022-06-06 23:59:19 -0400
commit2a7827fac37219f2576885b36b90486f038cbeaa (patch)
tree201d6683d2bda94a0aff287a9180a08ae1e24457
parenta97a4f491f59a2efe8e2d6a74932ad101a21fcca (diff)
dxvk: use function form of mkDerivation
This allows `overrideAttrs` to work correctly with `dxvkPatches`.
-rw-r--r--pkgs/misc/dxvk/default.nix48
1 files changed, 24 insertions, 24 deletions
diff --git a/pkgs/misc/dxvk/default.nix b/pkgs/misc/dxvk/default.nix
index 0305a5b9755f..200327619a92 100644
--- a/pkgs/misc/dxvk/default.nix
+++ b/pkgs/misc/dxvk/default.nix
@@ -6,29 +6,31 @@
, pkgsCross
}:
-let
- inherit (hostPlatform.uname) system;
-
- # DXVK needs to be a separate derivation because it’s actually a set of DLLs for Windows that
- # needs to be built with a cross-compiler.
- dxvk32 = pkgsCross.mingw32.callPackage ./dxvk.nix { inherit (self) src version dxvkPatches; };
- dxvk64 = pkgsCross.mingwW64.callPackage ./dxvk.nix { inherit (self) src version dxvkPatches; };
-
- # Split out by platform to make maintenance easy in case supported versions on Darwin and other
- # platforms diverge (due to the need for Darwin-specific patches that would fail to apply).
- # Should that happen, set `darwin` to the last working `rev` and `hash`.
- srcs = rec {
- darwin = { inherit (default) rev hash version; };
- default = {
- rev = "v${self.version}";
- hash = "sha256-+6PkrkamSvhCaGj2tq+RXri/yQ7vs0cAqgdRAFtU8UA=";
- version = "1.10.1";
+stdenvNoCC.mkDerivation (finalAttrs:
+ let
+ inherit (hostPlatform.uname) system;
+ # DXVK needs to be a separate derivation because it’s actually a set of DLLs for Windows that
+ # needs to be built with a cross-compiler.
+ dxvk32 = pkgsCross.mingw32.callPackage ./dxvk.nix {
+ inherit (finalAttrs) src version dxvkPatches;
+ };
+ dxvk64 = pkgsCross.mingwW64.callPackage ./dxvk.nix {
+ inherit (finalAttrs) src version dxvkPatches;
};
- };
- # Use the self pattern to support overriding `src` and `version` via `overrideAttrs`. A recursive
- # attrset wouldn’t work.
- self = stdenvNoCC.mkDerivation {
+ # Split out by platform to make maintenance easy in case supported versions on Darwin and other
+ # platforms diverge (due to the need for Darwin-specific patches that would fail to apply).
+ # Should that happen, set `darwin` to the last working `rev` and `hash`.
+ srcs = rec {
+ darwin = { inherit (default) rev hash version; };
+ default = {
+ rev = "v${finalAttrs.version}";
+ hash = "sha256-+6PkrkamSvhCaGj2tq+RXri/yQ7vs0cAqgdRAFtU8UA=";
+ version = "1.10.1";
+ };
+ };
+ in
+ {
name = "dxvk";
inherit (srcs."${system}" or srcs.default) version;
@@ -83,6 +85,4 @@ let
license = lib.licenses.zlib;
platforms = lib.platforms.unix;
};
- };
-in
-self
+ })