wine: update to 9.6
This commit is contained in:
parent
1f4ec2b150
commit
bafc074a57
1
wine/sysctl.conf
Normal file
1
wine/sysctl.conf
Normal file
@ -0,0 +1 @@
|
||||
vm.max_map_count=1048576
|
25
wine/wine-7.22-autoconf-2.72.patch
Normal file
25
wine/wine-7.22-autoconf-2.72.patch
Normal file
@ -0,0 +1,25 @@
|
||||
--- wine-7.20.old/aclocal.m4 2022-11-17 17:19:01.772386752 +0100
|
||||
+++ wine-7.20/aclocal.m4 2022-11-17 17:24:03.721683055 +0100
|
||||
@@ -279,15 +279,17 @@
|
||||
dnl
|
||||
dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]])
|
||||
dnl
|
||||
AC_DEFUN([WINE_CHECK_DEFINE],
|
||||
[AS_VAR_PUSHDEF([ac_var],[ac_cv_cpp_def_$1])dnl
|
||||
-AC_CACHE_CHECK([whether we need to define $1],ac_var,
|
||||
- AC_EGREP_CPP(yes,[#ifndef $1
|
||||
-yes
|
||||
-#endif],
|
||||
- [AS_VAR_SET(ac_var,yes)],[AS_VAR_SET(ac_var,no)]))
|
||||
+AC_CACHE_CHECK([whether we need to define $1], ac_var,
|
||||
+ [AC_PREPROC_IFELSE([[
|
||||
+#ifndef $1
|
||||
+#error not defined
|
||||
+#endif
|
||||
+]],
|
||||
+ [AS_VAR_SET(ac_var,no)],[AS_VAR_SET(ac_var,yes)])])
|
||||
AS_VAR_IF([ac_var],[yes],
|
||||
[CFLAGS="$CFLAGS -D$1"
|
||||
LINTFLAGS="$LINTFLAGS -D$1"])dnl
|
||||
AS_VAR_POPDEF([ac_var])])
|
||||
|
@ -1,21 +0,0 @@
|
||||
--- a/aclocal.m4 2022-03-25 15:26:21.000000000 -0500
|
||||
+++ b/aclocal.m4 2022-03-30 14:17:03.862124917 -0500
|
||||
@@ -229,6 +229,7 @@
|
||||
AC_CACHE_CHECK([for MinGW $1], ac_var,
|
||||
[ac_wine_check_headers_saved_cc=$CC
|
||||
ac_wine_check_headers_saved_exeext=$ac_exeext
|
||||
+CFLAGS="$CROSSCFLAGS"
|
||||
CC="$CROSSCC"
|
||||
ac_exeext=".exe"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$4
|
||||
@@ -248,8 +249,10 @@
|
||||
[ac_wine_check_headers_saved_cc=$CC
|
||||
ac_wine_check_headers_saved_exeext=$ac_exeext
|
||||
ac_wine_check_headers_saved_libs=$LIBS
|
||||
+CFLAGS="$CROSSCFLAGS"
|
||||
CC="$CROSSCC"
|
||||
ac_exeext=".exe"
|
||||
+LDFLAGS="$CROSSLDFLAGS"
|
||||
LIBS="-l$1 $5 $LIBS"
|
||||
AC_LINK_IFELSE([AC_LANG_CALL([], [$2])],[AS_VAR_SET([ac_var],[yes])],[AS_VAR_SET([ac_var],[no])])
|
||||
CC=$ac_wine_check_headers_saved_cc
|
115
wine/wine-staging-9.0.patch
Normal file
115
wine/wine-staging-9.0.patch
Normal file
@ -0,0 +1,115 @@
|
||||
--- patches/eventfd_synchronization/0003-ntdll-Create-eventfd-based-objects-for-semaphores.patch.orig 2024-01-16 15:47:35.000000000 -0600
|
||||
+++ patches/eventfd_synchronization/0003-ntdll-Create-eventfd-based-objects-for-semaphores.patch 2024-01-17 20:36:36.796186786 -0600
|
||||
@@ -197,7 +197,7 @@
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
-+ if (!InterlockedCompareExchange( (int *)&esync_list[entry][idx].type, type, 0 ))
|
||||
++ if (!InterlockedCompareExchange( (LONG *)&esync_list[entry][idx].type, type, 0 ))
|
||||
+ {
|
||||
+ esync_list[entry][idx].fd = fd;
|
||||
+ esync_list[entry][idx].shm = shm;
|
||||
--- patches/eventfd_synchronization/0005-ntdll-Implement-NtClose.patch.orig 2024-01-16 15:47:35.000000000 -0600
|
||||
+++ patches/eventfd_synchronization/0005-ntdll-Implement-NtClose.patch 2024-01-17 20:22:59.170405980 -0600
|
||||
@@ -25,7 +25,7 @@
|
||||
+
|
||||
+ if (entry < ESYNC_LIST_ENTRIES && esync_list[entry])
|
||||
+ {
|
||||
-+ if (InterlockedExchange((int *)&esync_list[entry][idx].type, 0))
|
||||
++ if (InterlockedExchange((LONG *)&esync_list[entry][idx].type, 0))
|
||||
+ {
|
||||
+ close( esync_list[entry][idx].fd );
|
||||
+ return STATUS_SUCCESS;
|
||||
--- patches/eventfd_synchronization/0004-ntdll-Implement-NtReleaseSemaphore.patch.orig 2024-01-16 15:47:35.000000000 -0600
|
||||
+++ patches/eventfd_synchronization/0004-ntdll-Implement-NtReleaseSemaphore.patch 2024-01-17 20:25:51.399420034 -0600
|
||||
@@ -60,7 +60,7 @@
|
||||
+
|
||||
+ if (count + current > semaphore->max)
|
||||
+ return STATUS_SEMAPHORE_LIMIT_EXCEEDED;
|
||||
-+ } while (InterlockedCompareExchange( &semaphore->count, count + current, current ) != current);
|
||||
++ } while (InterlockedCompareExchange( (LONG *) &semaphore->count, count + current, current ) != current);
|
||||
+
|
||||
+ if (prev) *prev = current;
|
||||
+
|
||||
--- patches/eventfd_synchronization/0050-ntdll-server-Try-to-avoid-poll-for-signaled-events.patch.orig 2024-01-16 15:47:35.000000000 -0600
|
||||
+++ patches/eventfd_synchronization/0050-ntdll-server-Try-to-avoid-poll-for-signaled-events.patch 2024-01-17 20:29:39.020112232 -0600
|
||||
@@ -90,7 +90,7 @@
|
||||
+ if (obj->type == ESYNC_MANUAL_EVENT)
|
||||
+ {
|
||||
+ /* Acquire the spinlock. */
|
||||
-+ while (InterlockedCompareExchange( &event->locked, 1, 0 ))
|
||||
++ while (InterlockedCompareExchange( (LONG *) &event->locked, 1, 0 ))
|
||||
+ small_pause();
|
||||
+ }
|
||||
+
|
||||
@@ -103,7 +103,7 @@
|
||||
+ * eventfd is unsignaled (i.e. reset shm, set shm, set fd, reset fd), we
|
||||
+ * *must* signal the fd now, or any waiting threads will never wake up. */
|
||||
+
|
||||
-+ if (!InterlockedExchange( &event->signaled, 1 ) || obj->type == ESYNC_AUTO_EVENT)
|
||||
++ if (!InterlockedExchange( (LONG *) &event->signaled, 1 ) || obj->type == ESYNC_AUTO_EVENT)
|
||||
+ {
|
||||
+ if (write( obj->fd, &value, sizeof(value) ) == -1)
|
||||
+ ERR("write: %s\n", strerror(errno));
|
||||
@@ -137,7 +137,7 @@
|
||||
+ if (obj->type == ESYNC_MANUAL_EVENT)
|
||||
+ {
|
||||
+ /* Acquire the spinlock. */
|
||||
-+ while (InterlockedCompareExchange( &event->locked, 1, 0 ))
|
||||
++ while (InterlockedCompareExchange( (LONG *) &event->locked, 1, 0 ))
|
||||
+ small_pause();
|
||||
+ }
|
||||
+
|
||||
@@ -147,7 +147,7 @@
|
||||
+ * For auto-reset events, we have no guarantee that the previous "signaled"
|
||||
+ * state is actually correct. We need to leave both states unsignaled after
|
||||
+ * leaving this function, so we always have to read(). */
|
||||
-+ if (InterlockedExchange( &event->signaled, 0 ) || obj->type == ESYNC_AUTO_EVENT)
|
||||
++ if (InterlockedExchange( (LONG *) &event->signaled, 0 ) || obj->type == ESYNC_AUTO_EVENT)
|
||||
+ {
|
||||
+ if (read( obj->fd, &value, sizeof(value) ) == -1 && errno != EWOULDBLOCK && errno != EAGAIN)
|
||||
+ {
|
||||
--- patches/eventfd_synchronization/0006-ntdll-Implement-NtWaitForMultipleObjects.patch.orig 2024-01-16 15:47:35.000000000 -0600
|
||||
+++ patches/eventfd_synchronization/0006-ntdll-Implement-NtWaitForMultipleObjects.patch 2024-01-17 20:31:23.217332813 -0600
|
||||
@@ -82,7 +82,7 @@
|
||||
+ * fact that we were able to grab it at all means the count is nonzero,
|
||||
+ * and if someone else grabbed it then the count must have been >= 2,
|
||||
+ * etc. */
|
||||
-+ InterlockedExchangeAdd( &semaphore->count, -1 );
|
||||
++ InterlockedExchangeAdd( (LONG *) &semaphore->count, -1 );
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
--- patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch.orig 2024-01-16 15:47:35.000000000 -0600
|
||||
+++ patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch 2024-01-17 20:31:54.500700144 -0600
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
@@ -339,6 +358,14 @@ static void update_grabbed_object( struct esync *obj )
|
||||
* etc. */
|
||||
- InterlockedExchangeAdd( &semaphore->count, -1 );
|
||||
+ InterlockedExchangeAdd( (LONG *) &semaphore->count, -1 );
|
||||
}
|
||||
+ else if (obj->type == ESYNC_AUTO_EVENT)
|
||||
+ {
|
||||
--- patches/eventfd_synchronization/0049-ntdll-Try-to-avoid-poll-for-uncontended-objects.patch.orig 2024-01-16 15:47:35.000000000 -0600
|
||||
+++ patches/eventfd_synchronization/0049-ntdll-Try-to-avoid-poll-for-uncontended-objects.patch 2024-01-17 21:07:47.674962176 -0600
|
||||
@@ -68,7 +68,7 @@
|
||||
+ if ((size = read( obj->fd, &value, sizeof(value) )) == sizeof(value))
|
||||
+ {
|
||||
+ TRACE("Woken up by handle %p [%d].\n", handles[i], i);
|
||||
-+ InterlockedDecrement( &semaphore->count );
|
||||
++ InterlockedDecrement( (LONG *) &semaphore->count );
|
||||
+ return i;
|
||||
+ }
|
||||
+ }
|
||||
--- patches/gdi32-rotation/0002-gdi32-fix-for-rotated-ellipse.patch.orig 2024-01-16 15:47:35.000000000 -0600
|
||||
+++ patches/gdi32-rotation/0002-gdi32-fix-for-rotated-ellipse.patch 2024-01-18 08:19:37.882485865 -0600
|
||||
@@ -74,7 +74,7 @@
|
||||
+ }
|
||||
+
|
||||
+ if (pdev->brush.style != BS_NULL &&
|
||||
-+ !(interior = ULongToHandle(NtGdiPolyPolyDraw( ULongToHandle(ALTERNATE), points, (const UINT *)&count, 1, NtGdiPolyPolygonRgn ))))
|
||||
++ !(interior = ULongToHandle(NtGdiPolyPolyDraw( ULongToHandle(ALTERNATE), points, (const ULONG *)&count, 1, NtGdiPolyPolygonRgn ))))
|
||||
+ {
|
||||
+ free( points );
|
||||
+ if (outline) NtGdiDeleteObjectApp( outline );
|
623
wine/wine.spec
623
wine/wine.spec
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user