diff options
author | Martell Malone <martellmalone@gmail.com> | 2018-04-04 22:28:29 -0700 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2019-03-20 07:04:54 +0000 |
commit | 32fd86f9ce1cbb54edb3b24f88a69504607283de (patch) | |
tree | 91dd4c44efd5b8d02b2f064ed661b99d10b434e6 | |
parent | de12271c656e8a0018e9e84316121e353141eaef (diff) | |
download | aports-32fd86f9ce1cbb54edb3b24f88a69504607283de.tar.bz2 aports-32fd86f9ce1cbb54edb3b24f88a69504607283de.tar.xz |
community/wine: fix crypto emulation
-rw-r--r-- | community/wine/APKBUILD | 4 | ||||
-rw-r--r-- | community/wine/wine-dlclose-bug41703.patch | 69 |
2 files changed, 72 insertions, 1 deletions
diff --git a/community/wine/APKBUILD b/community/wine/APKBUILD index 7e9910d0f4..c58034bf0e 100644 --- a/community/wine/APKBUILD +++ b/community/wine/APKBUILD @@ -7,7 +7,7 @@ pkgname=wine pkgver=3.0.4 _pkgver=${pkgver/_/-} -pkgrel=0 +pkgrel=1 pkgdesc="A compatibility layer for running Windows programs" url="https://www.winehq.org" arch="x86 x86_64" @@ -25,6 +25,7 @@ makedepends="fontconfig-dev openldap-dev libxslt-dev libxxf86dga-dev " source="https://dl.winehq.org/$pkgname/source/${pkgver%.[1-9]}/$pkgname-$_pkgver.tar.xz no-pie.patch + wine-dlclose-bug41703.patch winhlp32-flex.patch " builddir="$srcdir/$pkgname-$_pkgver" @@ -121,4 +122,5 @@ libs() { sha512sums="e1ce33bbc165a9c640a38965a229b757b67746f2150d545eb0e29ba6d21cdf150bd8eb9a450d8dd71733fbea3b2ac24839dd8e381b7da9cd15ddf98c59304198 wine-3.0.4.tar.xz d853875f7d659617bdfba364704abd75b760d12977f1f13acc73acb3c8fefec0549677fb79a4f8955e073d64078b3071d63d97262522e22b7832a66d3d820a9c no-pie.patch +0701cfa947c40adfadf5e8e6cee677d6588404fce7081e66c284e75ed50a0bc2144a89d8d2ad12ac7450910e4c8f77fa26298ab0f8743148308bc508f18acf6b wine-dlclose-bug41703.patch 522a94a31fc459e80ea7dd05f7aee64f6ae666ec05236d06614acde118d5c60002e0f253ae75edb5f02164f22937ca89578504b690d1a5611bd60f703c8f0c00 winhlp32-flex.patch" diff --git a/community/wine/wine-dlclose-bug41703.patch b/community/wine/wine-dlclose-bug41703.patch new file mode 100644 index 0000000000..7b92d79bdd --- /dev/null +++ b/community/wine/wine-dlclose-bug41703.patch @@ -0,0 +1,69 @@ +This patch comes from https://bugs.winehq.org/show_bug.cgi?id=41703 +by xw897002528 on 2017-07-29 04:23:37 CDT as attachment 58819 + +--- a/configure.ac ++++ b/configure.ac +@@ -1123,6 +1123,12 @@ then + + dnl *** End of X11/Xlib.h check + ++ dnl Check for the unload_after_dlclose libc ++ AC_RUN_IFELSE( ++ [AC_LANG_PROGRAM([[#include <dlfcn.h>]], [[dlclose(dlopen("./conftest", 0)); return 0;]])], ++ ac_save_CPPFLAGS="$ac_save_CPPFLAGS -DNO_UNLOAD_AFTER_DLCLOSE", ++ []) ++ + dnl Check for the presence of OpenGL + opengl_msg="" + if test "x$with_opengl" != "xno" +--- a/dlls/ntdll/loader.c ++++ b/dlls/ntdll/loader.c +@@ -2289,6 +2289,13 @@ + if (mod->Flags & LDR_WINE_INTERNAL && mod->SectionHandle == handle) + { + info.wm = CONTAINING_RECORD(mod, WINE_MODREF, ldr); ++#ifdef NO_UNLOAD_AFTER_DLCLOSE ++ if (info.wm->ldr.LoadCount == 0) { ++ RtlEnterCriticalSection( &loader_section ); ++ info.wm->ldr.LoadCount = 1; ++ RtlLeaveCriticalSection( &loader_section ); ++ } ++#endif + TRACE( "Found %s at %p for builtin %s\n", + debugstr_w(info.wm->ldr.FullDllName.Buffer), info.wm->ldr.BaseAddress, debugstr_w(path) ); + break; +@@ -3199,6 +3199,9 @@ + * LdrShutdownProcess (NTDLL.@) + * + */ ++#ifdef NO_UNLOAD_AFTER_DLCLOSE ++static void MODULE_FlushModrefs(void); ++#endif + void WINAPI LdrShutdownProcess(void) + { + TRACE("()\n"); +@@ -3194,6 +3203,12 @@ + TRACE("()\n"); ++#ifdef NO_UNLOAD_AFTER_DLCLOSE ++ RtlEnterCriticalSection( &loader_section ); ++ process_detach(); ++ MODULE_FlushModrefs(); ++ RtlLeaveCriticalSection( &loader_section ); ++#endif + process_detaching = TRUE; + process_detach(); + } + + +@@ -3384,7 +3398,11 @@ + if ( free_lib_count <= 1 ) + { ++#ifdef NO_UNLOAD_AFTER_DLCLOSE ++ TRACE("apply no-op dlclose hacks on this platform\n"); ++#else + process_detach(); + MODULE_FlushModrefs(); ++#endif + } + + TRACE("END\n"); |