git: cb4943510ff1 - main - emulators/wine-proton: Update to 8.0-5

From: Gerald Pfeifer <gerald_at_FreeBSD.org>
Date: Fri, 26 Apr 2024 08:54:19 UTC
The branch main has been updated by gerald:

URL: https://cgit.FreeBSD.org/ports/commit/?id=cb4943510ff163609a697f02398b79d6c8a8d441

commit cb4943510ff163609a697f02398b79d6c8a8d441
Author:     Bartek Jasicki <thindil@laeran.pl.eu.org>
AuthorDate: 2024-04-26 08:53:16 +0000
Commit:     Gerald Pfeifer <gerald@FreeBSD.org>
CommitDate: 2024-04-26 08:53:16 +0000

    emulators/wine-proton: Update to 8.0-5
    
    This brings two new patches on top of upstream (to maintain
    compilation).
    
    PR:             278288
    Approved by:    maintainer
---
 emulators/wine-proton/Makefile                     |  4 ++--
 emulators/wine-proton/distinfo                     |  6 +++---
 .../files/patch-dlls__ntdll__unix__virtual.c       | 18 +++++++++++++++++
 .../files/patch-dlls__winevulkan__vulkan.c         | 23 ++++++++++++++++++++++
 4 files changed, 46 insertions(+), 5 deletions(-)

diff --git a/emulators/wine-proton/Makefile b/emulators/wine-proton/Makefile
index f2ccd8aef6ec..0d6cc6af9321 100644
--- a/emulators/wine-proton/Makefile
+++ b/emulators/wine-proton/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	wine-proton
-DISTVERSION=	8.0-3
+DISTVERSION=	8.0-5
 PORTREVISION=	0
 CATEGORIES=	emulators
 
@@ -28,7 +28,7 @@ PIE_UNSAFE=	yes
 USE_GITHUB=	yes
 GH_ACCOUNT=	ValveSoftware
 GH_PROJECT=	wine
-GH_TAGNAME=	8a8ec5f86d8ab1e1d4c6bc88dda016b5e8cf479e
+GH_TAGNAME=	bb66944d9d7a0fc7692f05d4a2db418b468d3021
 
 USE_GL=		gl
 USE_GNOME=	glib20
diff --git a/emulators/wine-proton/distinfo b/emulators/wine-proton/distinfo
index 2119a536c88c..a504be615dfd 100644
--- a/emulators/wine-proton/distinfo
+++ b/emulators/wine-proton/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1693683407
-SHA256 (ValveSoftware-wine-8.0-3-8a8ec5f86d8ab1e1d4c6bc88dda016b5e8cf479e_GH0.tar.gz) = 4e1898853ef5ed4e14d3178dff39b8bcfd604e6f81f213a52b157eea38d976dc
-SIZE (ValveSoftware-wine-8.0-3-8a8ec5f86d8ab1e1d4c6bc88dda016b5e8cf479e_GH0.tar.gz) = 48301869
+TIMESTAMP = 1711968876
+SHA256 (ValveSoftware-wine-8.0-5-bb66944d9d7a0fc7692f05d4a2db418b468d3021_GH0.tar.gz) = 3f8e7e58b235d3101c866ff367afe9745b6abaf6fd1d4d864953bc389abb192d
+SIZE (ValveSoftware-wine-8.0-5-bb66944d9d7a0fc7692f05d4a2db418b468d3021_GH0.tar.gz) = 48756464
diff --git a/emulators/wine-proton/files/patch-dlls__ntdll__unix__virtual.c b/emulators/wine-proton/files/patch-dlls__ntdll__unix__virtual.c
new file mode 100644
index 000000000000..780ddacc5388
--- /dev/null
+++ b/emulators/wine-proton/files/patch-dlls__ntdll__unix__virtual.c
@@ -0,0 +1,18 @@
+--- dlls/ntdll/unix/virtual.c.orig
++++ dlls/ntdll/unix/virtual.c
+@@ -1562,7 +1562,6 @@ static NTSTATUS create_view( struct file_view **view_ret, void *base, size_t siz
+ 
+     if (vprot & VPROT_WRITEWATCH && use_kernel_writewatch)
+     {
+-        madvise( view->base, view->size, MADV_NOHUGEPAGE );
+         reset_write_watches( view->base, view->size );
+     }
+ 
+@@ -2158,7 +2157,6 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
+                 ERR("set_protection failed.\n");
+             if (vprot & VPROT_WRITEWATCH)
+             {
+-                madvise( base, size, MADV_NOHUGEPAGE );
+                 reset_write_watches( base, size );
+             }
+             return STATUS_SUCCESS;
diff --git a/emulators/wine-proton/files/patch-dlls__winevulkan__vulkan.c b/emulators/wine-proton/files/patch-dlls__winevulkan__vulkan.c
new file mode 100644
index 000000000000..b0f693c0909c
--- /dev/null
+++ b/emulators/wine-proton/files/patch-dlls__winevulkan__vulkan.c
@@ -0,0 +1,23 @@
+--- dlls/winevulkan/vulkan.c.orig
++++ dlls/winevulkan/vulkan.c
+@@ -30,6 +30,7 @@
+ #include <stdio.h>
+ #include <assert.h>
+ #include <limits.h>
++#include <pthread_np.h>
+ #ifdef HAVE_SYS_SYSCALL_H
+ # include <sys/syscall.h>
+ #endif
+@@ -4332,11 +4333,7 @@ signal_op_complete:
+ 
+ void *signaller_worker(void *arg)
+ {
+-#ifdef HAVE_SYS_SYSCALL_H
+-    int unix_tid = syscall( __NR_gettid );
+-#else
+-    int unix_tid = -1;
+-#endif
++    int unix_tid = pthread_getthreadid_np();
+     struct wine_device *device = arg;
+     struct wine_semaphore *sem;
+     VkSemaphoreWaitInfo wait_info = { 0 };