summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/wine-proton/wine-proton-7.0.6.ebuild')
-rw-r--r--app-emulation/wine-proton/wine-proton-7.0.6.ebuild29
1 files changed, 22 insertions, 7 deletions
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 50cc8ae8ca6c..29b0e02ef24a 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -4,7 +4,7 @@
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit autotools flag-o-matic multilib multilib-build prefix
inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
@@ -43,7 +43,7 @@ WINE_DLOPEN_DEPEND="
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
media-libs/freetype[${MULTILIB_USEDEP}]
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
- media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[X,${MULTILIB_USEDEP}]
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
@@ -124,6 +124,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
"${FILESDIR}"/${PN}-7.0.4-unwind.patch
"${FILESDIR}"/${PN}-7.0.6-mingw64-11.0.0.patch
+ "${FILESDIR}"/${PN}-7.0.6-vulkan-libm.patch
)
pkg_pretend() {
@@ -242,6 +243,7 @@ src_configure() {
tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
@@ -250,6 +252,10 @@ src_configure() {
[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
append-ldflags -fuse-ld=bfd
+ # >=wine-proton-9 has proper fixes and builds with gcc-14, but would
+ # rather not have to worry about fixing old branches (bug #924486)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
# build using upstream's way (--with-wine64)
# order matters: configure+compile 64->32, install 32->64
local -i bits
@@ -350,11 +356,20 @@ pkg_preinst() {
pkg_postinst() {
[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
- if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
- then
- ewarn "x11-drivers/nvidia-drivers is installed but is built without"
- ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
- ewarn "applications under ${PN} will likely not be usable."
+ if use abi_x86_32; then
+ # difficult to tell what is needed from here, but try to warn
+ if has_version 'x11-drivers/nvidia-drivers'; then
+ if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ ewarn "Multi-card setups may need this on media-libs/mesa as well."
+ fi
+ elif has_version 'media-libs/mesa[-abi_x86_32]'; then
+ ewarn "media-libs/mesa seems to be in use but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
fi
eselect wine update --if-unset || die