summaryrefslogtreecommitdiff
path: root/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-15 00:14:05 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-15 00:14:05 +0100
commit06a2593561b5f8054db8d68aa94b4338d2dd2bf6 (patch)
tree13e45c8f587efc7cf3385303b3a90c5c2a53755c /app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
parent85dc262ae9ec9413f8172a2a8442d6d9134d02f4 (diff)
gentoo auto-resync : 15:08:2023 - 00:14:05
Diffstat (limited to 'app-emulation/wine-vanilla/wine-vanilla-9999.ebuild')
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9999.ebuild49
1 files changed, 29 insertions, 20 deletions
diff --git a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
index c6b837670cbb..1aaebe5aa269 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
@@ -189,12 +189,16 @@ src_prepare() {
if tc-is-clang; then
if use mingw; then
# -mabi=ms was ignored by <clang:16 then turned error in :17
- # and it still gets used in install phase despite USE=mingw,
- # drop as a quick fix for now which hopefully should be safe
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
else
- # known broken due to bug #912237, require mingw for now
- die "building ${PN} with clang requires USE=mingw to be enabled"
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
fi
fi
@@ -344,22 +348,27 @@ src_install() {
use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
- if use wow64; then
- # compat symlinks, albeit ideally no one should call "wine64"
- dosym wine ${WINE_PREFIX}/bin/wine64
- dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
- elif use abi_x86_64 && use !abi_x86_32; then
- # if no 32bit support it instead only installs "wine64" which may
- # come as unexpected, so provide "wine" alongside its man page
- dosym wine64 ${WINE_PREFIX}/bin/wine
- dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
- local man
- for man in ../build64/loader/wine.*man; do
- : "${man##*/wine}"
- : "${_%.*}"
- insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
- newins ${man} wine.1
- done
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
fi
use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \