summaryrefslogtreecommitdiff
path: root/app-emulation/wine-proton/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-04-17 23:53:43 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-04-17 23:53:43 +0100
commit3a8423ee2874c2fd96358b28af08d38d83e9bdc0 (patch)
tree4cb2ff2a0a12a3c5013370cccd6697938b087225 /app-emulation/wine-proton/files
parent6fe0a08604ce763398dcbeb5fc63d814110f0748 (diff)
gentoo auto-resync : 17:04:2023 - 23:53:43
Diffstat (limited to 'app-emulation/wine-proton/files')
-rw-r--r--app-emulation/wine-proton/files/README.gentoo2
-rw-r--r--app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch36
2 files changed, 37 insertions, 1 deletions
diff --git a/app-emulation/wine-proton/files/README.gentoo b/app-emulation/wine-proton/files/README.gentoo
index 5b24fb4b7b8f..a6354c92ee53 100644
--- a/app-emulation/wine-proton/files/README.gentoo
+++ b/app-emulation/wine-proton/files/README.gentoo
@@ -7,7 +7,7 @@ To keep a low maintenance cost, these changes are not reverted in Gentoo
with the exception of re-enabling winemenubuilder for desktop entries.
Also, given this Wine variant is oriented toward running games, some
-normally unrelated features (e.g. ldap) may not have real upstream
+normally unrelated features (e.g. cups) may not have real upstream
(Valve) support. Because of this, some are left always disabled.
If needed, use other variants for the more expected Wine behavior.
diff --git a/app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch b/app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch
new file mode 100644
index 000000000000..50fc5be57abc
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch
@@ -0,0 +1,36 @@
+Fix build with llvm-libunwind, and also fix for non-llvm libunwind
+when using clang+bfd given clang doesn't have _Unwind_Find_FDE in
+its rtlib and expects it from llvm-libunwind.
+
+The _CONFIG_H_ check is for <llvm-libunwind-15 (adds _VERSION).
+--- a/dlls/ntdll/unix/dwarf.h
++++ b/dlls/ntdll/unix/dwarf.h
+@@ -257,5 +257,7 @@
+ };
+
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ extern const struct dwarf_fde *_Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
++#endif
+
+ static unsigned char dwarf_get_u1( const unsigned char **p )
+--- a/dlls/ntdll/unix/signal_x86_64.c
++++ b/dlls/ntdll/unix/signal_x86_64.c
+@@ -648,5 +648,5 @@
+ int rc;
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__)
+ rc = unw_getcontext( &unw_context );
+ if (rc == UNW_ESUCCESS)
+@@ -774,4 +774,5 @@
+ CONTEXT *context = params->context;
+ struct dwarf_eh_bases bases;
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ const struct dwarf_fde *fde = _Unwind_Find_FDE( (void *)(context->Rip - 1), &bases );
+
+@@ -779,4 +780,5 @@
+ return dwarf_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context, fde,
+ &bases, &dispatch->LanguageHandler, &dispatch->HandlerData );
++#endif
+ #ifdef HAVE_LIBUNWIND
+ return libunwind_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context,