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 }
