diff options
-rw-r--r-- | .SRCINFO | 25 | ||||
-rw-r--r-- | 0001-Revert-winex11.drv-Update-_NET_WM_STATE-before-resiz.patch | 42 | ||||
-rw-r--r-- | 0001-Updated-wow64cpu-Wow64Transition-patchset.patch | 63 | ||||
-rw-r--r-- | 0001-ntdll-Stub-NtQueryInformationThread-ThreadHideFromDe.patch | 28 | ||||
-rw-r--r-- | PKGBUILD | 53 | ||||
-rw-r--r-- | wine-lol-bug-47198-fix.patch | 17 |
6 files changed, 183 insertions, 45 deletions
@@ -1,8 +1,8 @@ pkgbase = wine-lol - pkgdesc = A compatibility layer for running Windows programs - Staging branch with League Of Legends fixes - pkgver = 5.6 + pkgdesc = A compatibility layer for running Windows programs - Wine Tk-Glitch with League Of Legends fixes + pkgver = 5.18 pkgrel = 1 - url = http://www.wine-staging.com + url = https://github.com/M-Reimer/wine-lol install = wine.install arch = x86_64 license = LGPL @@ -149,18 +149,19 @@ pkgbase = wine-lol optdepends = samba optdepends = dosbox options = staticlibs - source = https://dl.winehq.org/wine/source/5.x/wine-5.6.tar.xz - source = wine-staging-v5.6.tar.gz::https://github.com/wine-staging/wine-staging/archive/v5.6.tar.gz - source = https://raw.githubusercontent.com/wine-staging/wine-staging/8d4d0a840e6ce434483edd81acb3be90fd734e44/patches/user32-rawinput-mouse/0005-server-Broadcast-rawinput-message-if-request-flag-is.patch + source = wine-tkg-5.18.tar.gz::https://github.com/Tk-Glitch/wine-tkg/archive/e379f968e8c8e693be4330bfa5ac03595e7ed1ce.tar.gz source = 30-win32-aliases.conf - source = wine-lol-autoconf-2.70.patch::https://github.com/wine-mirror/wine/commit/d7645b67c350f7179a1eba749ec4524c74948d86.patch + source = wine-lol-autoconf-2.70.patch source = wine-lol-bug-47198-fix.patch - sha512sums = b12b0eff228ecd783fec8bf91f97e4387125226b172046d800e1fbffa303ceca32f1f647b9e8ceb24d303c23eb57188be14ddd8ba5fc04ba781a69186fbe6be4 - sha512sums = 7ddf5699834a6e04b094a7cae008175c874415d22554bac38176f3121b9533071ef610f8b5a0dd3ce3e4adf8a9d4ac214aa1cee7634959c5150b66fbb74710b7 - sha512sums = 13ce85885270990f8f2cf6c1f872fc855b3caf5bc1de01022caf0b05dd6957e55391cd8dcd15ff0cc18cf3035851a8289a2e12e17f2f50b626b68afd10e3f315 + source = 0001-Updated-wow64cpu-Wow64Transition-patchset.patch + source = 0001-ntdll-Stub-NtQueryInformationThread-ThreadHideFromDe.patch + source = 0001-Revert-winex11.drv-Update-_NET_WM_STATE-before-resiz.patch + sha512sums = 85ea388e711b2a659b37233bcfd423d6bed3a56190d6cff3a9465eb8c0590cbc73b69479ec25749d43be9de7d8a37833e1c5c5f908d8e3c69f131ffa79dcbde3 sha512sums = 6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb sha512sums = 8c8b7932573b028b58653dce0d307bcdd2910309e5c137c27ddcdfaa07aa46337b85c288e1fa67fde8dea75a67b632bbd5288e3abd5df06eea5b37a87ec7a1e8 - sha512sums = a17db33ba5d6114bd71d1b013adc8e5ca0c3cedf856301cba59f95dadf643d2ee0e5a2d7abb2daedd5ed7c45cdbe93c78527f4d962bedc54776bb21cfc7e8b0b + sha512sums = e8207a4cf79fe83c20d6f2257b469127baf81876f3de240a24744b23ab1c2b0b523afae6acb1fc95edfc1e2cb5db34adea87e36047455b82f42b29228681b9d5 + sha512sums = 78680db42591fc882c50c4fc5156a1d3db915d71b8982b42b2affc6701d55bc5dacfd2d7a435a7b1424f9480b1e2db332321d9b4dae7122a3a0ad1efdcbe1d59 + sha512sums = 68c027c748faf1ea86c4b01f2decadb3240d1e98f1f16a9fc6f6a841bb5240efc91237e77aedd188c450b6f47e1ca89620ef924ec44e3f0bc2c9097361c1ac08 + sha512sums = ff6ea107598bd681bb5534d977e2f40fe8104bcf53148284fdd2be14f67db1dfe6d8176ff8200fc982ab3902c28e4186876c4d1870fd7362d98e8b3b6d8efe31 pkgname = wine-lol - diff --git a/0001-Revert-winex11.drv-Update-_NET_WM_STATE-before-resiz.patch b/0001-Revert-winex11.drv-Update-_NET_WM_STATE-before-resiz.patch new file mode 100644 index 000000000000..6d1cbc1841d9 --- /dev/null +++ b/0001-Revert-winex11.drv-Update-_NET_WM_STATE-before-resiz.patch @@ -0,0 +1,42 @@ +From 2fc93c905c0e9fc16f0118f04cac71ce60218e40 Mon Sep 17 00:00:00 2001 +From: yuiiio <atbjyk@protonmail.com> +Date: Thu, 26 Nov 2020 01:35:50 +0900 +Subject: [PATCH] Revert "winex11.drv: Update _NET_WM_STATE before resizing + windows." + +This reverts commit c69bb0342ca5e2b30f542ad4e61ae6bc404f22a1. +--- + dlls/user32/tests/win.c | 3 +++ + dlls/winex11.drv/window.c | 1 - + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c +index 5cc7a2cca91..d5749cfe998 100644 +--- a/dlls/user32/tests/win.c ++++ b/dlls/user32/tests/win.c +@@ -8539,7 +8539,10 @@ static void test_fullscreen(void) + if (rc.right - rc.left == 100 && rc.bottom - rc.top == 100) + break; + } ++ /* FVWM used by TestBots are not EWMH compliant. So this bug doesn't appear. */ ++ todo_wine_if(rc.right - rc.left != 100) + ok(rc.right - rc.left == 100, "Expect width %d, got %d.\n", 100, rc.right - rc.left); ++ todo_wine_if(rc.bottom - rc.top != 100) + ok(rc.bottom - rc.top == 100, "Expect height %d, got %d.\n", 100, rc.bottom - rc.top); + DestroyWindow(hwnd); + +diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c +index 52dac77c731..fa9f2bf3dee 100644 +--- a/dlls/winex11.drv/window.c ++++ b/dlls/winex11.drv/window.c +@@ -1363,7 +1363,6 @@ static void sync_window_position( struct x11drv_win_data *data, + + set_size_hints( data, style ); + set_mwm_hints( data, style, ex_style ); +- update_net_wm_states( data ); + data->configure_serial = NextRequest( data->display ); + XReconfigureWMWindow( data->display, data->whole_window, data->vis.screen, mask, &changes ); + #ifdef HAVE_LIBXSHAPE +-- +2.29.2 + diff --git a/0001-Updated-wow64cpu-Wow64Transition-patchset.patch b/0001-Updated-wow64cpu-Wow64Transition-patchset.patch new file mode 100644 index 000000000000..8a53040fff95 --- /dev/null +++ b/0001-Updated-wow64cpu-Wow64Transition-patchset.patch @@ -0,0 +1,63 @@ +From b5bce7dcc0fc4656e704c29d6df10f50324edba4 Mon Sep 17 00:00:00 2001 +From: yuiiio <atbjyk@protonmail.com> +Date: Thu, 17 Sep 2020 11:27:40 +0900 +Subject: [PATCH 1/3] Updated wow64cpu-Wow64Transition patchset + +--- + dlls/ntdll/loader.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c +index a1a52a59978..98c74661629 100644 +--- a/dlls/ntdll/loader.c ++++ b/dlls/ntdll/loader.c +@@ -790,7 +790,7 @@ static FARPROC find_ordinal_export( HMODULE module, const IMAGE_EXPORT_DIRECTORY + proc = get_rva( module, functions[ordinal] ); + + /* if the address falls into the export dir, it's a forward */ +- if (((const char *)proc >= (const char *)exports) && ++ if (((const char *)proc >= (const char *)exports) && + ((const char *)proc < (const char *)exports + exp_size)) + return find_forwarded_export( module, (const char *)proc, load_path ); + +@@ -1709,7 +1709,7 @@ static void process_detach(void) + + /* Call detach notification */ + mod->Flags &= ~LDR_PROCESS_ATTACHED; +- MODULE_InitDLL( CONTAINING_RECORD(mod, WINE_MODREF, ldr), ++ MODULE_InitDLL( CONTAINING_RECORD(mod, WINE_MODREF, ldr), + DLL_PROCESS_DETACH, ULongToPtr(process_detaching) ); + call_ldr_notifications( LDR_DLL_NOTIFICATION_REASON_UNLOADED, mod ); + +@@ -3537,7 +3537,7 @@ IMAGE_BASE_RELOCATION * WINAPI LdrProcessRelocationBlock( void *page, UINT count + * LdrQueryProcessModuleInformation + * + */ +-NTSTATUS WINAPI LdrQueryProcessModuleInformation(PSYSTEM_MODULE_INFORMATION smi, ++NTSTATUS WINAPI LdrQueryProcessModuleInformation(PSYSTEM_MODULE_INFORMATION smi, + ULONG buf_size, ULONG* req_size) + { + SYSTEM_MODULE* sm = &smi->Modules[0]; +@@ -3840,7 +3840,7 @@ void WINAPI LdrShutdownThread(void) + if ( mod->Flags & LDR_NO_DLL_CALLS ) + continue; + +- MODULE_InitDLL( CONTAINING_RECORD(mod, WINE_MODREF, ldr), ++ MODULE_InitDLL( CONTAINING_RECORD(mod, WINE_MODREF, ldr), + DLL_THREAD_DETACH, NULL ); + } + +@@ -4625,7 +4625,9 @@ void __wine_process_init(void) + static const WCHAR ntdllW[] = {'\\','?','?','\\','C',':','\\','w','i','n','d','o','w','s','\\', + 's','y','s','t','e','m','3','2','\\', + 'n','t','d','l','l','.','d','l','l',0}; +- static const WCHAR wow64cpuW[] = {'w','o','w','6','4','c','p','u','.','d','l','l',0}; ++ static const WCHAR wow64cpuW[] = {'\\','?','?','\\','C',':','\\','w','i','n','d','o','w','s','\\', ++ 's','y','s','t','e','m','3','2','\\', ++ 'w','o','w','6','4','c','p','u','.','d','l','l',0}; + static const WCHAR kernel32W[] = {'\\','?','?','\\','C',':','\\','w','i','n','d','o','w','s','\\', + 's','y','s','t','e','m','3','2','\\', + 'k','e','r','n','e','l','3','2','.','d','l','l',0}; +-- +2.28.0 + diff --git a/0001-ntdll-Stub-NtQueryInformationThread-ThreadHideFromDe.patch b/0001-ntdll-Stub-NtQueryInformationThread-ThreadHideFromDe.patch new file mode 100644 index 000000000000..d864d8ada9b1 --- /dev/null +++ b/0001-ntdll-Stub-NtQueryInformationThread-ThreadHideFromDe.patch @@ -0,0 +1,28 @@ +From f395d9794f0bdb73f88de417510609eb0fb93779 Mon Sep 17 00:00:00 2001 +From: David Torok <dt@zeroitlab.com> +Date: Tue, 19 Nov 2019 23:01:46 +0100 +Subject: [PATCH] ntdll: Stub NtQueryInformationThread(ThreadHideFromDebugger). + +--- + dlls/ntdll/thread.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c +index 85a568cd65a..ba6d8b8a2ad 100644 +--- a/dlls/ntdll/thread.c ++++ b/dlls/ntdll/thread.c +@@ -1344,6 +1344,11 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class, + *ret_len = sizeof(*info) + desc_len; + } + return status; ++ case ThreadHideFromDebugger: ++ if (length != sizeof(BOOLEAN)) return STATUS_INFO_LENGTH_MISMATCH; ++ *(BOOLEAN *)data = TRUE; ++ if (ret_len) *ret_len = sizeof(BOOLEAN); ++ return STATUS_SUCCESS; + case ThreadPriority: + case ThreadBasePriority: + case ThreadImpersonationToken: +-- +2.28.0 + @@ -12,31 +12,29 @@ # Primary bug report: https://bugs.winehq.org/show_bug.cgi?id=47198 pkgname=wine-lol -# Note: We are forced to use Wine 5.6 until whatever bug is fixed that makes it -# impossible to launch a game with latest releases. -pkgver=5.6 +pkgver=5.18 pkgrel=1 _pkgbasever=${pkgver/rc/-rc} -# TODO: Remove 0005-server-Broadcast-rawinput-message-if-request-flag-is.patch -# here and in prepare() for wine >= 5.7 -# Used to fix https://bugs.winehq.org/show_bug.cgi?id=48946 -source=(https://dl.winehq.org/wine/source/5.x/wine-$_pkgbasever.tar.xz - "wine-staging-v$_pkgbasever.tar.gz::https://github.com/wine-staging/wine-staging/archive/v$_pkgbasever.tar.gz" - https://raw.githubusercontent.com/wine-staging/wine-staging/8d4d0a840e6ce434483edd81acb3be90fd734e44/patches/user32-rawinput-mouse/0005-server-Broadcast-rawinput-message-if-request-flag-is.patch +source=("wine-tkg-5.18.tar.gz::https://github.com/Tk-Glitch/wine-tkg/archive/e379f968e8c8e693be4330bfa5ac03595e7ed1ce.tar.gz" 30-win32-aliases.conf $pkgname-autoconf-2.70.patch - $pkgname-bug-47198-fix.patch) -sha512sums=('b12b0eff228ecd783fec8bf91f97e4387125226b172046d800e1fbffa303ceca32f1f647b9e8ceb24d303c23eb57188be14ddd8ba5fc04ba781a69186fbe6be4' - '7ddf5699834a6e04b094a7cae008175c874415d22554bac38176f3121b9533071ef610f8b5a0dd3ce3e4adf8a9d4ac214aa1cee7634959c5150b66fbb74710b7' - '13ce85885270990f8f2cf6c1f872fc855b3caf5bc1de01022caf0b05dd6957e55391cd8dcd15ff0cc18cf3035851a8289a2e12e17f2f50b626b68afd10e3f315' + $pkgname-bug-47198-fix.patch + 0001-Updated-wow64cpu-Wow64Transition-patchset.patch + 0001-ntdll-Stub-NtQueryInformationThread-ThreadHideFromDe.patch + 0001-Revert-winex11.drv-Update-_NET_WM_STATE-before-resiz.patch + ) +sha512sums=('85ea388e711b2a659b37233bcfd423d6bed3a56190d6cff3a9465eb8c0590cbc73b69479ec25749d43be9de7d8a37833e1c5c5f908d8e3c69f131ffa79dcbde3' '6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb' '8c8b7932573b028b58653dce0d307bcdd2910309e5c137c27ddcdfaa07aa46337b85c288e1fa67fde8dea75a67b632bbd5288e3abd5df06eea5b37a87ec7a1e8' - 'a17db33ba5d6114bd71d1b013adc8e5ca0c3cedf856301cba59f95dadf643d2ee0e5a2d7abb2daedd5ed7c45cdbe93c78527f4d962bedc54776bb21cfc7e8b0b') + 'e8207a4cf79fe83c20d6f2257b469127baf81876f3de240a24744b23ab1c2b0b523afae6acb1fc95edfc1e2cb5db34adea87e36047455b82f42b29228681b9d5' + '78680db42591fc882c50c4fc5156a1d3db915d71b8982b42b2affc6701d55bc5dacfd2d7a435a7b1424f9480b1e2db332321d9b4dae7122a3a0ad1efdcbe1d59' + '68c027c748faf1ea86c4b01f2decadb3240d1e98f1f16a9fc6f6a841bb5240efc91237e77aedd188c450b6f47e1ca89620ef924ec44e3f0bc2c9097361c1ac08' + 'ff6ea107598bd681bb5534d977e2f40fe8104bcf53148284fdd2be14f67db1dfe6d8176ff8200fc982ab3902c28e4186876c4d1870fd7362d98e8b3b6d8efe31') -pkgdesc="A compatibility layer for running Windows programs - Staging branch with League Of Legends fixes" -url="http://www.wine-staging.com" +pkgdesc="A compatibility layer for running Windows programs - Wine Tk-Glitch with League Of Legends fixes" +url="https://github.com/M-Reimer/wine-lol" arch=(x86_64) options=(staticlibs) license=(LGPL) @@ -129,21 +127,25 @@ install=wine.install prepare() { # Allow ccache to work - mv wine-$_pkgbasever $pkgname + mv $(tar -tf wine-tkg-$pkgver.tar.gz | head -n1) $pkgname # Apply fix for autoconf 2.70 patch -d "$srcdir/$pkgname" -p1 -i "$srcdir/$pkgname-autoconf-2.70.patch" - # apply wine-staging patchset - pushd wine-staging-$_pkgbasever/patches - # Place updated patch - cp "$srcdir/0005-server-Broadcast-rawinput-message-if-request-flag-is.patch" user32-rawinput-mouse - ./patchinstall.sh DESTDIR="$srcdir/$pkgname" --all + # Apply Tk-Glitch missing patches + pushd "$srcdir/$pkgname" + patch -p1 -i "$srcdir/0001-Updated-wow64cpu-Wow64Transition-patchset.patch" + patch -p1 -i "$srcdir/0001-ntdll-Stub-NtQueryInformationThread-ThreadHideFromDe.patch" popd # Apply League Of Legends fixes patch -d "$srcdir/$pkgname" -p1 -i "$srcdir/$pkgname-bug-47198-fix.patch" + # Revert commit that breaks _net_active in league-client since wine-5.8 + pushd "$srcdir/$pkgname" + patch -p1 -i "$srcdir/0001-Revert-winex11.drv-Update-_NET_WM_STATE-before-resiz.patch" + popd + # Fix opencl header path sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i $pkgname/configure* } @@ -156,9 +158,7 @@ build() { mkdir $pkgname-{32,64}-build # https://bugs.winehq.org/show_bug.cgi?id=43530 - # TODO: Remove -fcommon for wine >= 5.8 - # Used to work around gcc 10.1 build issue - export CFLAGS="${CFLAGS/-fno-plt/} -fcommon" + export CFLAGS="${CFLAGS/-fno-plt/}" export LDFLAGS="${LDFLAGS/,-z,now/}" # We need RPATH to point to the "lib32" in our prefix @@ -176,7 +176,10 @@ build() { export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" cd "$srcdir/$pkgname-32-build" + # TODO: Remove "--disable-tests" for wine-tkg higher than 5.18. Some patches + # in wine-tkg seem to corrupt some tests in 5.18rc3 ../$pkgname/configure \ + --disable-tests \ --prefix=/opt/wine-lol \ --with-x \ --with-gstreamer \ diff --git a/wine-lol-bug-47198-fix.patch b/wine-lol-bug-47198-fix.patch index 504eff1e76fc..f1ac38f616af 100644 --- a/wine-lol-bug-47198-fix.patch +++ b/wine-lol-bug-47198-fix.patch @@ -1,11 +1,12 @@ diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c -index c5b2008e44..96ca266921 100644 +index 97626cec929..9db4619da69 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c -@@ -268,6 +268,77 @@ static void set_process_name( int argc, char *argv[] ) +@@ -348,6 +348,78 @@ HANDLE user_shared_data_init_done(void) + return section; } - - + ++ +#ifdef __i386__ +#include <asm/ldt.h> +#include <linux/audit.h> @@ -80,14 +81,14 @@ index c5b2008e44..96ca266921 100644 /*********************************************************************** * thread_init * -@@ -370,6 +441,10 @@ TEB *thread_init(void) - __wine_user_shared_data(); +@@ -432,6 +504,11 @@ TEB *thread_init(void) + unix_funcs->dbg_init(); + unix_funcs->get_paths( &build_dir, &data_dir, &config_dir ); fill_cpu_info(); - ++ +#ifdef __i386__ + seccomp_init(); +#endif + return teb; } - |