wine: fix build failure on Darwin

This commit is contained in:
Randy Eckenrode 2023-03-05 21:09:33 -05:00
parent d154f809e9
commit 1d79811a42
No known key found for this signature in database
GPG key ID: 64C1CD4EC2A600D9
2 changed files with 19 additions and 3 deletions

View file

@ -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

View file

@ -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 <pthread.h>
+# include <pthread/qos.h>
# include <mach/mach.h>
# include <mach/mach_error.h>
# include <mach-o/getsect.h>