summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO25
-rw-r--r--0001-Revert-winex11.drv-Update-_NET_WM_STATE-before-resiz.patch42
-rw-r--r--0001-Updated-wow64cpu-Wow64Transition-patchset.patch63
-rw-r--r--0001-ntdll-Stub-NtQueryInformationThread-ThreadHideFromDe.patch28
-rw-r--r--PKGBUILD53
-rw-r--r--wine-lol-bug-47198-fix.patch17
6 files changed, 183 insertions, 45 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1787eca87616..3203b8ed9df9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
+
diff --git a/PKGBUILD b/PKGBUILD
index 60727cba7ebd..e8a44888d2dc 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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;
}
-