diff --git a/pkgs/applications/emulators/wine/base.nix b/pkgs/applications/emulators/wine/base.nix index ed9e24a910f6..28efcf5875bf 100644 --- a/pkgs/applications/emulators/wine/base.nix +++ b/pkgs/applications/emulators/wine/base.nix @@ -108,9 +108,13 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) { ]))); patches = [ ] - # Wine requires `MTLDevice.registryID` for `winemac.drv`, but that property is not available - # in the 10.12 SDK (current SDK on x86_64-darwin). Work around that by using selector syntax. - ++ lib.optional stdenv.isDarwin ./darwin-metal-compat.patch + ++ lib.optionals stdenv.isDarwin [ + # Wine requires `MTLDevice.registryID` for `winemac.drv`, but that property is not available + # in the 10.12 SDK (current SDK on x86_64-darwin). Work around that by using selector syntax. + ./darwin-metal-compat.patch + # Wine requires `qos.h`, which is not included by default on the 10.12 SDK in nixpkgs. + ./darwin-qos.patch + ] ++ patches'; configureFlags = prevConfigFlags diff --git a/pkgs/applications/emulators/wine/darwin-qos.patch b/pkgs/applications/emulators/wine/darwin-qos.patch new file mode 100644 index 000000000000..e9bd813feaab --- /dev/null +++ b/pkgs/applications/emulators/wine/darwin-qos.patch @@ -0,0 +1,12 @@ +diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c +index cde37c48b0d..be237bc0ad3 100644 +--- a/dlls/ntdll/unix/loader.c ++++ b/dlls/ntdll/unix/loader.c +@@ -65,6 +65,7 @@ + # undef LoadResource + # undef GetCurrentThread + # include ++# include + # include + # include + # include