aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortatarataratatan@gmail.com <tatarataratatan@gmail.com>2025-01-12 11:54:40 +0000
committerGerald Pfeifer <gerald@FreeBSD.org>2025-01-12 12:03:48 +0000
commit2acb6e55988b6fc62015ce70132c885dc2d620a2 (patch)
treeb188d54bea1bc8ac3830cc18cbf17a505652f01f
parent0d30c0fdbd892b28ad1ac10c1d8db22f8f3f5484 (diff)
emulators/wine-devel: Enable Wayland support
This is not on by default (yet). PR: 282825 Reviewed by: Thibault Payet <monwarez@mailoo.org>
-rw-r--r--emulators/wine-devel/Makefile19
-rw-r--r--emulators/wine-devel/files/pkg-message.in8
-rw-r--r--emulators/wine-devel/pkg-plist2
3 files changed, 26 insertions, 3 deletions
diff --git a/emulators/wine-devel/Makefile b/emulators/wine-devel/Makefile
index 5cf273979ec8..93e9ec36d6e9 100644
--- a/emulators/wine-devel/Makefile
+++ b/emulators/wine-devel/Makefile
@@ -1,5 +1,6 @@
PORTNAME= wine
DISTVERSION= 10.0-rc4
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= emulators
MASTER_SITES= https://dl.winehq.org/wine/source/10.0/
@@ -53,8 +54,7 @@ CONFIGURE_ARGS+=--verbose \
--with-sdl \
--without-udev \
--without-unwind \
- --without-usb \
- --without-wayland
+ --without-usb
CONFIGURE_ENV= CPPBIN="${CPP}" FLEX="${LOCALBASE}/bin/flex"
WINELIBDIR= ${PREFIX}/lib
.if !defined(USE_LDCONFIG32)
@@ -72,7 +72,7 @@ PIE_UNSAFE= yes
PORTDATA= wine.inf
-OPTIONS_DEFINE= CUPS DOCS DOSBOX GNUTLS V4L WINEMAKER X11 GECKO MONO
+OPTIONS_DEFINE= CUPS DOCS DOSBOX GNUTLS V4L WINEMAKER X11 GECKO MONO WAYLAND
OPTIONS_DEFAULT=ALSA GNUTLS X11
OPTIONS_RADIO= AUDIO
OPTIONS_RADIO_AUDIO= ALSA OSS
@@ -82,6 +82,7 @@ DOSBOX_DESC= Use DOSBox to run MS-DOS programs
WINEMAKER_DESC= Fully support winemaker (requires Perl)
GECKO_DESC= Bundle Gecko MSI package for Wine
MONO_DESC= Bundle Mono MSI package for Wine
+WAYLAND_DESC= Wayland Support
ALSA_CONFIGURE_WITH= alsa
ALSA_USES= gnome gstreamer
@@ -101,6 +102,10 @@ GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
MONO_RUN_DEPENDS= wine-mono-devel>0:emulators/wine-mono-devel
+WAYLAND_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
+WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \
+ libxkbcommon.so:x11/libxkbcommon
+
OSS_CONFIGURE_WITH= oss
OSS_USES= gnome gstreamer
OSS_USE= GNOME=glib20
@@ -128,6 +133,14 @@ CONFIGURE_ARGS+= --without-gstreamer
PLIST_SUB+= GSTREAMER="@comment "
.endif
+.if ${PORT_OPTIONS:MWAYLAND}
+CONFIGURE_ARGS+= --with-wayland
+PLIST_SUB+= WAYLAND=""
+.else
+CONFIGURE_ARGS+= --without-wayland
+PLIST_SUB+= WAYLAND="@comment "
+.endif
+
.if ${ARCH} == amd64
# Wine is composed of three parts:
# - wine (aka this port on FreeBSD/i386) is the 32-bit component
diff --git a/emulators/wine-devel/files/pkg-message.in b/emulators/wine-devel/files/pkg-message.in
index a8632c68958b..18639d47533e 100644
--- a/emulators/wine-devel/files/pkg-message.in
+++ b/emulators/wine-devel/files/pkg-message.in
@@ -8,6 +8,14 @@ is KVA_PAGES=500, which should still be enough for ZFS.
The port also installs some of Wine's documentation which describes
additional programs that are not in the manual pages under
%%PREFIX%%/share/doc/wine
+
+To enable Wayland run the following two commands:
+$ cat > wayland.reg <<EOF
+Windows Registry Editor Version 5.00
+[HKEY_CURRENT_USER\Software\Wine\Drivers]
+"Graphics"="x11,wayland"
+EOF
+$ wine64 regedit wayland.reg
EOM
}
]
diff --git a/emulators/wine-devel/pkg-plist b/emulators/wine-devel/pkg-plist
index 16179ca8d9a6..0bfd77c65e01 100644
--- a/emulators/wine-devel/pkg-plist
+++ b/emulators/wine-devel/pkg-plist
@@ -1637,6 +1637,7 @@ lib/wine/%%WINEARCH%%-unix/winedmo.so
%%OSS%%lib/wine/%%WINEARCH%%-unix/wineoss.so
lib/wine/%%WINEARCH%%-unix/wineps.so
lib/wine/%%WINEARCH%%-unix/winevulkan.so
+%%WAYLAND%%lib/wine/%%WINEARCH%%-unix/winewayland.so
%%X11%%lib/wine/%%WINEARCH%%-unix/winex11.so
lib/wine/%%WINEARCH%%-unix/winspool.so
lib/wine/%%WINEARCH%%-unix/ws2_32.so
@@ -2584,6 +2585,7 @@ lib/wine/%%WINEARCH%%-windows/wineps.drv
%%WINE32%%lib/wine/%%WINEARCH%%-windows/wineps16.drv16
%%WINE32%%lib/wine/%%WINEARCH%%-windows/winevdm.exe
lib/wine/%%WINEARCH%%-windows/winevulkan.dll
+%%WAYLAND%%lib/wine/%%WINEARCH%%-windows/winewayland.drv
%%X11%%lib/wine/%%WINEARCH%%-windows/winex11.drv
%%X11%%lib/wine/%%WINEARCH%%-windows/winexinput.sys
%%WINE32%%lib/wine/%%WINEARCH%%-windows/wing.dll16