From 1d79811a4211ad6f1b9f9f2b4279145ec531f92c Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Sun, 5 Mar 2023 21:09:33 -0500 Subject: [PATCH] wine: fix build failure on Darwin --- pkgs/applications/emulators/wine/base.nix | 10 +++++++--- pkgs/applications/emulators/wine/darwin-qos.patch | 12 ++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 pkgs/applications/emulators/wine/darwin-qos.patch 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