commit:     fa339c77a0baca89157112af032324d8c4b3a1f2
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 30 00:51:03 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Apr 30 02:33:49 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa339c77

app-emulation/wine-proton: sync live (mostly)

Identical to 10.0.1b except for passing --without-vosk which is still
a bleeding-edge branch only thing, and using wine-mono-10.0.0.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/wine-proton/wine-proton-9999.ebuild | 66 +++++++++++++----------
 1 file changed, 39 insertions(+), 27 deletions(-)

diff --git a/app-emulation/wine-proton/wine-proton-9999.ebuild 
b/app-emulation/wine-proton/wine-proton-9999.ebuild
index 524892b2adf2..26d64e28a5c4 100644
--- a/app-emulation/wine-proton/wine-proton-9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-9999.ebuild
@@ -4,10 +4,10 @@
 EAPI=8
 
 PYTHON_COMPAT=( python3_{10..13} )
-inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wine
+inherit optfeature python-any-r1 readme.gentoo-r1 toolchain-funcs wine
 
 WINE_GECKO=2.47.4
-WINE_MONO=9.3.1
+WINE_MONO=10.0.0
 WINE_PV=$(ver_rs 2 -)
 
 if [[ ${PV} == 9999 ]]; then
@@ -23,13 +23,15 @@ fi
 DESCRIPTION="Valve Software's fork of Wine"
 HOMEPAGE="https://github.com/ValveSoftware/wine/";
 
-LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+LICENSE="LGPL-2.1+ BSD BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
 SLOT="${PV}"
 IUSE="
-       +alsa crossdev-mingw +dbus +fontconfig +gecko +gstreamer
+       +X +alsa crossdev-mingw +dbus ffmpeg +fontconfig +gecko +gstreamer
        llvm-libunwind +mono nls perl pulseaudio +sdl selinux +ssl udev
-       +unwind usb v4l video_cards_amdgpu +xcomposite xinerama
+       +unwind usb v4l wayland video_cards_amdgpu +xcomposite xinerama
 "
+# headless is not really supported with wine-proton, use normal Wine
+REQUIRED_USE="|| ( X wayland )"
 
 # tests are non-trivial to run, can hang easily, don't play well with
 # sandbox, and several need real opengl/vulkan or network access
@@ -39,14 +41,18 @@ RESTRICT="test"
 WINE_DLOPEN_DEPEND="
        dev-libs/libgcrypt:=[${WINE_USEDEP}]
        media-libs/freetype[${WINE_USEDEP}]
-       media-libs/libglvnd[X,${WINE_USEDEP}]
-       media-libs/vulkan-loader[X,${WINE_USEDEP}]
-       x11-libs/libXcursor[${WINE_USEDEP}]
-       x11-libs/libXfixes[${WINE_USEDEP}]
-       x11-libs/libXi[${WINE_USEDEP}]
-       x11-libs/libXrandr[${WINE_USEDEP}]
-       x11-libs/libXrender[${WINE_USEDEP}]
-       x11-libs/libXxf86vm[${WINE_USEDEP}]
+       media-libs/libglvnd[X?,${WINE_USEDEP}]
+       media-libs/vulkan-loader[X?,wayland?,${WINE_USEDEP}]
+       X? (
+               x11-libs/libXcursor[${WINE_USEDEP}]
+               x11-libs/libXfixes[${WINE_USEDEP}]
+               x11-libs/libXi[${WINE_USEDEP}]
+               x11-libs/libXrandr[${WINE_USEDEP}]
+               x11-libs/libXrender[${WINE_USEDEP}]
+               x11-libs/libXxf86vm[${WINE_USEDEP}]
+               xcomposite? ( x11-libs/libXcomposite[${WINE_USEDEP}] )
+               xinerama? ( x11-libs/libXinerama[${WINE_USEDEP}] )
+       )
        dbus? ( sys-apps/dbus[${WINE_USEDEP}] )
        fontconfig? ( media-libs/fontconfig[${WINE_USEDEP}] )
        sdl? ( media-libs/libsdl2[haptic,joystick,${WINE_USEDEP}] )
@@ -55,14 +61,15 @@ WINE_DLOPEN_DEPEND="
                net-libs/gnutls:=[${WINE_USEDEP}]
        )
        v4l? ( media-libs/libv4l[${WINE_USEDEP}] )
-       xcomposite? ( x11-libs/libXcomposite[${WINE_USEDEP}] )
-       xinerama? ( x11-libs/libXinerama[${WINE_USEDEP}] )
 "
 WINE_COMMON_DEPEND="
        ${WINE_DLOPEN_DEPEND}
-       x11-libs/libX11[${WINE_USEDEP}]
-       x11-libs/libXext[${WINE_USEDEP}]
+       X? (
+               x11-libs/libX11[${WINE_USEDEP}]
+               x11-libs/libXext[${WINE_USEDEP}]
+       )
        alsa? ( media-libs/alsa-lib[${WINE_USEDEP}] )
+       ffmpeg? ( media-video/ffmpeg:=[${WINE_USEDEP}] )
        gstreamer? (
                dev-libs/glib:2[${WINE_USEDEP}]
                media-libs/gst-plugins-base:1.0[opengl,${WINE_USEDEP}]
@@ -76,6 +83,10 @@ WINE_COMMON_DEPEND="
        )
        usb? ( dev-libs/libusb:1[${WINE_USEDEP}] )
        video_cards_amdgpu? ( 
x11-libs/libdrm[video_cards_amdgpu,${WINE_USEDEP}] )
+       wayland? (
+               dev-libs/wayland[${WINE_USEDEP}]
+               x11-libs/libxkbcommon[${WINE_USEDEP}]
+       )
 "
 RDEPEND="
        ${WINE_COMMON_DEPEND}
@@ -99,7 +110,7 @@ DEPEND="
                llvm-runtimes/compiler-rt:*[atomic-builtins(-)]
        )
        sys-kernel/linux-headers
-       x11-base/xorg-proto
+       X? ( x11-base/xorg-proto )
 "
 BDEPEND="
        ${PYTHON_DEPS}
@@ -108,6 +119,7 @@ BDEPEND="
        sys-devel/flex
        virtual/pkgconfig
        nls? ( sys-devel/gettext )
+       wayland? ( dev-util/wayland-scanner )
 "
 
 QA_CONFIG_IMPL_DECL_SKIP=(
@@ -121,7 +133,6 @@ PATCHES=(
        "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
        "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
        "${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
-       "${FILESDIR}"/${PN}-8.0.5c-vulkan-libm.patch
        "${FILESDIR}"/${PN}-9.0-rpath.patch
        "${FILESDIR}"/${PN}-9.0.4-binutils2.44.patch
 )
@@ -144,18 +155,17 @@ src_prepare() {
 
        # proton variant also needs specfiles and vulkan
        tools/make_specfiles || die # perl
-       dlls/winevulkan/make_vulkan -x vk.xml || die # python
+       dlls/winevulkan/make_vulkan -X video.xml -x vk.xml || die # python
 }
 
 src_configure() {
        local wineconfargs=(
                # upstream (Valve) doesn't really support misc configurations 
(e.g.
                # adds vulkan code not always guarded by --with-vulkan), so 
force
-               # some major options that are typically needed by games either 
way
+               # some options that are typically needed by games either way
                --with-freetype
                --with-opengl
                --with-vulkan
-               --with-x
 
                # ...and disable most options unimportant for games and unused 
by
                # Proton rather than expose as volatile USEs with little support
@@ -171,17 +181,15 @@ src_configure() {
                --without-sane
                ac_cv_lib_soname_odbc=
 
-               # afaik wayland support in 9.0.x currently cannot do 
opengl/vulkan
-               # yet making it mostly pointless for a gaming-oriented build
-               # (IUSE="X wayland" will likely be added in wine-proton-10)
-               --without-wayland
-
                $(use_enable gecko mshtml)
                $(use_enable mono mscoree)
                $(use_enable video_cards_amdgpu amd_ags_x64)
                --disable-tests
+
+               $(use_with X x)
                $(use_with alsa)
                $(use_with dbus)
+               $(use_with ffmpeg)
                $(use_with fontconfig)
                $(use_with gstreamer)
                $(use_with nls gettext)
@@ -194,6 +202,7 @@ src_configure() {
                $(use_with unwind)
                $(use_with usb)
                $(use_with v4l v4l2)
+               $(use_with wayland)
                $(use_with xcomposite)
                $(use_with xinerama)
 
@@ -225,6 +234,9 @@ pkg_postinst() {
 
        [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
 
+       optfeature "/dev/hidraw* access used for *some* controllers (e.g. 
DualShock4)" \
+               games-util/game-device-udev-rules
+
        ewarn
        ewarn "Warning: please consider ${PN} provided as-is without real"
        ewarn "support. Upstream does not want bug reports unless can reproduce"

Reply via email to