From a32cfa9574eff603eaf6b06b29ca190be516d7fe Mon Sep 17 00:00:00 2001 From: NULLderef Date: Sat, 7 Mar 2026 21:27:41 +0100 Subject: [PATCH] ports: wine update `10.0` -> `11.4` Updated wine and its correspondig patch to current latest stable `11.4`. Fixes a bunch of issues related to the old version and also works with `--enable-mingw`. --- patches/wine/jinx-working-patch.patch | 44 +++++++++++++-------------- recipes/wine | 17 ++++++----- source-recipes/wine | 7 +++-- 3 files changed, 35 insertions(+), 33 deletions(-) diff --git a/patches/wine/jinx-working-patch.patch b/patches/wine/jinx-working-patch.patch index e7d4f1a0..2cc8e8cc 100644 --- a/patches/wine/jinx-working-patch.patch +++ b/patches/wine/jinx-working-patch.patch @@ -1,8 +1,8 @@ diff --git wine-clean/configure wine-workdir/configure -index fe7464a..02f7a89 100755 +index ed9c961..7b8413f 100755 --- wine-clean/configure +++ wine-workdir/configure -@@ -7891,12 +7891,14 @@ then : +@@ -10219,12 +10219,14 @@ then : printf "%s\n" "#define HAVE_SYS_CDIO_H 1" >>confdefs.h fi @@ -22,7 +22,7 @@ index fe7464a..02f7a89 100755 ac_fn_c_check_header_compile "$LINENO" "sys/event.h" "ac_cv_header_sys_event_h" "$ac_includes_default" if test "x$ac_cv_header_sys_event_h" = xyes then : -@@ -8059,12 +8061,12 @@ then : +@@ -10387,12 +10389,12 @@ then : printf "%s\n" "#define HAVE_SYS_VNODE_H 1" >>confdefs.h fi @@ -40,7 +40,7 @@ index fe7464a..02f7a89 100755 ac_fn_c_check_header_compile "$LINENO" "syscall.h" "ac_cv_header_syscall_h" "$ac_includes_default" if test "x$ac_cv_header_syscall_h" = xyes then : -@@ -21003,12 +21005,12 @@ then : +@@ -21321,12 +21323,12 @@ then : printf "%s\n" "#define HAVE_DLINFO 1" >>confdefs.h fi @@ -50,20 +50,20 @@ index fe7464a..02f7a89 100755 - printf "%s\n" "#define HAVE_EPOLL_CREATE 1" >>confdefs.h - -fi -+#ac_fn_c_check_func "$LINENO" "epoll_create" "ac_cv_func_epoll_create" -+#if test "x$ac_cv_func_epoll_create" = xyes -+#then : -+# printf "%s\n" "#define HAVE_EPOLL_CREATE 1" >>confdefs.h ++# ac_fn_c_check_func "$LINENO" "epoll_create" "ac_cv_func_epoll_create" ++# if test "x$ac_cv_func_epoll_create" = xyes ++# then : ++# printf "%s\n" "#define HAVE_EPOLL_CREATE 1" >>confdefs.h +# -+#fi - ac_fn_c_check_func "$LINENO" "fstatfs" "ac_cv_func_fstatfs" - if test "x$ac_cv_func_fstatfs" = xyes ++# fi + ac_fn_c_check_func "$LINENO" "epoll_pwait2" "ac_cv_func_epoll_pwait2" + if test "x$ac_cv_func_epoll_pwait2" = xyes then : diff --git wine-clean/dlls/ntdll/unix/signal_x86_64.c wine-workdir/dlls/ntdll/unix/signal_x86_64.c -index caa8524..9d35af1 100644 +index 740df80..f0ac779 100644 --- wine-clean/dlls/ntdll/unix/signal_x86_64.c +++ wine-workdir/dlls/ntdll/unix/signal_x86_64.c -@@ -75,6 +75,10 @@ +@@ -82,6 +82,10 @@ extern void _thread_set_tsd_base(uint64_t); #include "unix_private.h" #include "wine/debug.h" @@ -74,7 +74,7 @@ index caa8524..9d35af1 100644 WINE_DEFAULT_DEBUG_CHANNEL(unwind); WINE_DECLARE_DEBUG_CHANNEL(seh); -@@ -292,6 +296,38 @@ static inline XMM_SAVE_AREA32 *FPU_sig( const ucontext_t *context ) +@@ -355,6 +359,39 @@ static inline const WORD *SS_sig_ptr( const ucontext_t *context ) #define XState_sig(context) NULL @@ -102,6 +102,7 @@ index caa8524..9d35af1 100644 +#define CS_sig(context) (*((WORD *)&(context)->uc_mcontext.gregs[REG_CSGSFS] + 0)) +#define GS_sig(context) (*((WORD *)&(context)->uc_mcontext.gregs[REG_CSGSFS] + 1)) +#define FS_sig(context) (*((WORD *)&(context)->uc_mcontext.gregs[REG_CSGSFS] + 2)) ++#define SS_sig(context) (*((WORD *)&(context)->uc_mcontext.gregs[REG_CSGSFS] + 3)) +#define RSP_sig(context) ((context)->uc_mcontext.gregs[REG_RSP]) +#define RIP_sig(context) ((context)->uc_mcontext.gregs[REG_RIP]) +#define EFL_sig(context) ((context)->uc_mcontext.gregs[REG_EFL]) @@ -109,15 +110,14 @@ index caa8524..9d35af1 100644 +#define ERROR_sig(context) ((context)->uc_mcontext.gregs[REG_ERR]) +#define FPU_sig(context) ((XMM_SAVE_AREA32 *)((context)->uc_mcontext.fpregs)) +#define XState_sig(fpu) (((unsigned int *)fpu->Reserved4)[12] == FP_XSTATE_MAGIC1 ? (XSAVE_AREA_HEADER *)(fpu + 1) : NULL) -+ ++ #else #error You must define the signal context functions for your platform #endif -@@ -2604,6 +2640,11 @@ void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB - thread's gsbase. Have each thread record its gsbase pointer into its - TEB so alloc_tls_slot() can find it. */ - teb->Instrumentation[0] = thread_data->pthread_teb; -+ +@@ -2918,6 +2955,10 @@ void init_syscall_frame( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, + sysarch( X86_64_SET_GSBASE, &teb ); + #elif defined (__APPLE__) + thread_data->pthread_teb = mac_thread_gsbase(); +#elif defined(__astral__) + arch_ctl(ARCH_CTL_SET_GSBASE, teb); + //arch_ctl(ARCH_CTL_GET_FSBASE, &thread_data->pthread_teb); @@ -126,10 +126,10 @@ index caa8524..9d35af1 100644 # error Please define setting %gs for your architecture #endif diff --git wine-clean/server/sock.c wine-workdir/server/sock.c -index 32d622a..539d5e3 100644 +index fdc26bc..235406b 100644 --- wine-clean/server/sock.c +++ wine-workdir/server/sock.c -@@ -4174,12 +4174,12 @@ static MIB_TCP_STATE get_tcp_socket_state( int fd ) +@@ -4282,12 +4282,12 @@ static MIB_TCP_STATE get_tcp_socket_state( int fd ) #define TCP_INFO TCP_CONNECTION_INFO #define tcp_info tcp_connection_info #endif diff --git a/recipes/wine b/recipes/wine index bc084ba0..218627d4 100644 --- a/recipes/wine +++ b/recipes/wine @@ -1,18 +1,19 @@ name=wine revision=1 from_source=wine -imagedeps="build-essential" +imagedeps="build-essential mingw-w64" hostdeps="xgcc xbinutils pkgconfig wine freetype" -deps="base libxcursor libxfixes libxi libxrandr libxrender libxxf86vm libx11 libxext mesa fontconfig sdl2 freetype glib xorgproto openssl" +deps="base libxcursor libxfixes libxi libxrandr libxrender libxxf86vm libx11 libxext mesa fontconfig sdl2 freetype glib xorgproto openssl " configure() { - ${source_dir}/configure \ + ${source_dir}/configure \ --host=x86_64-astral \ --prefix=/usr \ --disable-tests \ + --enable-tools \ --enable-win64 \ --disable-win16 \ - --without-inotify \ + --without-inotify \ --without-alsa \ --without-capi \ --without-cups \ @@ -21,7 +22,6 @@ configure() { --without-gphoto \ --without-gssapi \ --without-krb5 \ - --without-mingw \ --without-netapi \ --without-opencl \ --without-osmesa \ @@ -35,14 +35,15 @@ configure() { --without-vulkan \ --without-xcomposite \ --without-xinerama \ + --with-mingw \ --with-x \ - --with-wine-tools="${base_dir}/build-${JINX_ARCH}/host-builds/wine/" + --with-wine-tools="${base_dir}/build-${JINX_ARCH}/host-builds/wine/" } build() { - make -j ${parallelism} + make -j ${parallelism} } package() { - make install DESTDIR=${dest_dir} + make install DESTDIR=${dest_dir} } diff --git a/source-recipes/wine b/source-recipes/wine index 5b72a170..03e4aa03 100644 --- a/source-recipes/wine +++ b/source-recipes/wine @@ -1,8 +1,9 @@ name=wine -version=10.0 +_version_series="11.x" +version=11.4 source_method=tarball -tarball_url="https://dl.winehq.org/wine/source/${version}/wine-${version}.tar.xz" -tarball_sha512="effb41c5641993e2e52eaa825cc19b7d9846e084992c5a5b066ead2339b24384d320898a9cee347a9a87106bcb3b0f54c8cd2c8d4de3a887a658052ddd5168d6" +tarball_url="https://dl.winehq.org/wine/source/${_version_series}/wine-${version}.tar.xz" +tarball_sha512="037ba964d80d50f25dafba2a24e334df5fe580998de229b6fd2ce040ef4835a232ebba4370b0d1e070c2d358841b2160b7f1c32af79b530093f19cc0b5edadb1" hostdeps="autoconf automake pkgconfig libtool autoconf-archive" prepare() { cp -v $(find /usr/local/share/automake* -name config.sub) tools/