From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-vanilla/files/, app-emulation/wine-vanilla/
Date: Thu, 24 Nov 2022 00:57:03 +0000 (UTC) [thread overview]
Message-ID: <1669251256.a62ccb7245ecaedf4bf99bd1f4101f3b1d02ae49.ionen@gentoo> (raw)
commit: a62ccb7245ecaedf4bf99bd1f4101f3b1d02ae49
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 23 23:46:33 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Nov 24 00:54:16 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a62ccb72
app-emulation/wine-vanilla: backport opengl32.dll fix to 7.21
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
.../files/wine-vanilla-7.21-opengl32.patch | 73 ++++++++++++++++++++++
...lla-7.21.ebuild => wine-vanilla-7.21-r1.ebuild} | 3 +-
2 files changed, 75 insertions(+), 1 deletion(-)
diff --git a/app-emulation/wine-vanilla/files/wine-vanilla-7.21-opengl32.patch b/app-emulation/wine-vanilla/files/wine-vanilla-7.21-opengl32.patch
new file mode 100644
index 000000000000..9411e05e96fd
--- /dev/null
+++ b/app-emulation/wine-vanilla/files/wine-vanilla-7.21-opengl32.patch
@@ -0,0 +1,73 @@
+Fixes PE opengl32.dll failing to initialize.
+
+https://gitlab.winehq.org/wine/wine/-/commit/34099bba6cb
+From: Rémi Bernon <rbernon@codeweavers.com>
+Date: Mon, 14 Nov 2022 11:55:51 +0100
+Subject: [PATCH] ntdll: Delay loading unixlibs until the functions are
+ requested.
+
+Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53909
+--- a/dlls/ntdll/unix/virtual.c
++++ b/dlls/ntdll/unix/virtual.c
+@@ -98,6 +98,7 @@ struct builtin_module
+ unsigned int refcount;
+ void *handle;
+ void *module;
++ char *unix_path;
+ void *unix_handle;
+ };
+
+@@ -583,6 +584,7 @@ static void add_builtin_module( void *module, void *handle )
+ builtin->handle = handle;
+ builtin->module = module;
+ builtin->refcount = 1;
++ builtin->unix_path = NULL;
+ builtin->unix_handle = NULL;
+ list_add_tail( &builtin_modules, &builtin->entry );
+ }
+@@ -603,6 +605,7 @@ void release_builtin_module( void *module )
+ list_remove( &builtin->entry );
+ if (builtin->handle) dlclose( builtin->handle );
+ if (builtin->unix_handle) dlclose( builtin->unix_handle );
++ free( builtin->unix_path );
+ free( builtin );
+ }
+ break;
+@@ -652,6 +655,8 @@ static NTSTATUS get_builtin_unix_funcs( void *module, BOOL wow, const void **fun
+ LIST_FOR_EACH_ENTRY( builtin, &builtin_modules, struct builtin_module, entry )
+ {
+ if (builtin->module != module) continue;
++ if (builtin->unix_path && !builtin->unix_handle)
++ builtin->unix_handle = dlopen( builtin->unix_path, RTLD_NOW );
+ if (builtin->unix_handle)
+ {
+ *funcs = dlsym( builtin->unix_handle, ptr_name );
+@@ -669,26 +674,19 @@ static NTSTATUS get_builtin_unix_funcs( void *module, BOOL wow, const void **fun
+ */
+ NTSTATUS load_builtin_unixlib( void *module, const char *name )
+ {
+- void *handle;
+ sigset_t sigset;
+- NTSTATUS status = STATUS_DLL_NOT_FOUND;
++ NTSTATUS status = STATUS_SUCCESS;
+ struct builtin_module *builtin;
+
+- if (!(handle = dlopen( name, RTLD_NOW ))) return status;
+ server_enter_uninterrupted_section( &virtual_mutex, &sigset );
+ LIST_FOR_EACH_ENTRY( builtin, &builtin_modules, struct builtin_module, entry )
+ {
+ if (builtin->module != module) continue;
+- if (!builtin->unix_handle)
+- {
+- builtin->unix_handle = handle;
+- status = STATUS_SUCCESS;
+- }
++ if (!builtin->unix_path) builtin->unix_path = strdup( name );
+ else status = STATUS_IMAGE_ALREADY_LOADED;
+ break;
+ }
+ server_leave_uninterrupted_section( &virtual_mutex, &sigset );
+- if (status) dlclose( handle );
+ return status;
+ }
+
diff --git a/app-emulation/wine-vanilla/wine-vanilla-7.21.ebuild b/app-emulation/wine-vanilla/wine-vanilla-7.21-r1.ebuild
similarity index 99%
rename from app-emulation/wine-vanilla/wine-vanilla-7.21.ebuild
rename to app-emulation/wine-vanilla/wine-vanilla-7.21-r1.ebuild
index d931d7219d8d..38fe963828ae 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-7.21.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-7.21-r1.ebuild
@@ -128,7 +128,8 @@ QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(
"${FILESDIR}"/${PN}-7.0-noexecstack.patch
"${FILESDIR}"/${PN}-7.20-unwind.patch
- "${FILESDIR}"/${PN}-7.21-crossflags.patch
+ "${FILESDIR}"/${P}-crossflags.patch
+ "${FILESDIR}"/${P}-opengl32.patch
)
pkg_pretend() {
next reply other threads:[~2022-11-24 0:57 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-24 0:57 Ionen Wolkens [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-02-14 5:28 [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-vanilla/files/, app-emulation/wine-vanilla/ Ionen Wolkens
2024-05-07 10:01 Ionen Wolkens
2024-04-22 20:31 Ionen Wolkens
2022-12-29 20:29 Ionen Wolkens
2022-11-12 11:33 Ionen Wolkens
2022-11-01 1:16 Ionen Wolkens
2022-09-13 4:19 Ionen Wolkens
2017-04-10 17:22 NP Hardass
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1669251256.a62ccb7245ecaedf4bf99bd1f4101f3b1d02ae49.ionen@gentoo \
--to=ionen@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox