commit:     8518239ce8b650b9792d128c5bb96cc6e36d694f
Author:     Sasha Finkelstein <fnkl.kernel <AT> gmail <DOT> com>
AuthorDate: Thu May  1 12:42:48 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun  8 12:02:50 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8518239c

wine.eclass: Install xtajit.dll if requested

Signed-off-by: Sasha Finkelstein <fnkl.kernel <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/42493
Closes: https://github.com/gentoo/gentoo/pull/42493
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/wine.eclass | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/eclass/wine.eclass b/eclass/wine.eclass
index 6561e4019568..36d3b505f39a 100644
--- a/eclass/wine.eclass
+++ b/eclass/wine.eclass
@@ -50,6 +50,7 @@ REQUIRED_USE="
        wow64? ( !arm64? ( abi_x86_64 !abi_x86_32 ) )
 "
 
+RDEPEND="arm64? ( wow64? ( app-emulation/fex-xtajit ) )"
 BDEPEND="
        || (
                sys-devel/binutils:*
@@ -354,6 +355,10 @@ wine_src_install() {
                fi
        fi
 
+       use arm64 && use wow64 &&
+           dosym -r /usr/lib/fex-xtajit/libwow64fex.dll \
+                               ${WINE_PREFIX}/wine/aarch64-windows/xtajit.dll
+
        # delete unwanted files if requested, not done directly in ebuilds
        # given must be done after install and before wrappers
        if (( ${#WINE_SKIP_INSTALL[@]} )); then
@@ -375,11 +380,11 @@ wine_src_install() {
                if use mingw; then
                        : "$(usex arm64 aarch64 $(usex abi_x86_64 x86_64 
i686)-w64-mingw32-strip)"
                        find "${ED}"${WINE_PREFIX}/wine/*-windows -regex 
'.*\.\(a\|dll\|exe\)' \
-                               -exec ${_} --strip-unneeded {} +
+                               -type f -exec ${_} --strip-unneeded {} +
                else
                        # llvm-strip errors on .a, and CHOST binutils strip 
could mangle
                        find "${ED}"${WINE_PREFIX}/wine/*-windows -regex 
'.*\.\(dll\|exe\)' \
-                               -exec llvm-strip --strip-unneeded {} +
+                               -type f -exec llvm-strip --strip-unneeded {} +
                fi
                eend ${?} || die
        fi
@@ -418,13 +423,6 @@ wine_pkg_postinst() {
                fi
        fi
 
-       if use arm64 && use wow64; then
-               ewarn
-               ewarn "${PN} does not include an x86 emulator, running x86 
binaries"
-               ewarn "with USE=wow64 on arm64 requires manually setting up 
xtajit.dll"
-               ewarn "(not packaged) in the Wine prefix."
-       fi
-
        eselect wine update --if-unset || die
 }
 

Reply via email to