wine-gohryt-wayland-wow64

LOW
maintainer Gohryt 0 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The source is a Git repository on a project-owned domain (gitlab.winehq.org) hosting a legitimate Wine fork; building from a non-whitelisted but official project host is normal for AUR packages and poses no inherent risk.

Triggered rules

Low AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source is a Git repository on a project-owned domain (gitlab.winehq.org) hosting a legitimate Wine fork; building from a non-whitelisted but official project host is normal for AUR packages and poses no inherent risk.

1 higher static finding superseded - not the current verdict (shown for transparency)
Medium source=() URL on a non-standard host source_untrusted_domain

One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).

  • PKGBUILD:117 source=(git+https://gitlab.winehq.org/gohryt/wine.git#branch=wayland-wow64
  • PKGBUILD:118 https://dl.winehq.org/wine/wine-mono/$_monover/wine-mono-$_monover-x86.tar.xz

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: gohryt
2# Based on the official Arch Linux wine package by Peter Jung <ptr1337@archlinux.org>
3#
4# Pure WoW64 build (no lib32/multilib), Wayland-only (no X11 driver),
5# NTSYNC (auto-enabled via linux/ntsync.h from linux-api-headers >= 6.14),
6# GStreamer media support.
7#
8# Source is our Wine fork (gitlab.winehq.org/gohryt/wine), branch wayland-wow64,
9# which carries the custom Wayland/Vulkan feature commits (described below) on
10# top of upstream Wine. To pin a commit instead of tracking the branch tip,
11# replace #branch=wayland-wow64 with #commit=<sha> in source().
12#
13# LTO is enabled for the native ELF side (the official Arch package uses !lto,
14# so revert to that if anything misbehaves at runtime). The PE side is built
15# without LTO. mold links the ELF side; Wine 11 builds the preloader as
16# -static-pie, so mold's missing -Ttext-segment support is no longer an issue.
17#
18# The preloader and ntdll.so are compiled with -fno-lto: their hand-written
19# asm (_start, __wine_syscall_dispatcher) references C symbols by name, which
20# LTO would otherwise discard, breaking the link with undefined references.
21#
22# Feature commits carried on the branch (in apply order):
23#
24# - Client-side WSI presenting cross-process Vulkan frames: swapchain images are
25# allocated as DMABUFs, exported, and duplicated into the GDI/Steam process to
26# present on Wayland. Integrates GPU-compositor synchronization via sync_file
27# (SYNC_FD semaphores) to prevent flickering/black frames during scrolls/resizes.
28# - Cross-process and GL/VK-obscured child window rendering (WineHQ bug #56014):
29# required for CEF applications (Steam, Battle.net, ...) to display their UI.
30# Includes bottom-up restacking of subsurfaces to match Win32 Z-order (resolving
31# flickering of store/library content), and healing orphaned subsurfaces.
32# - Live tracking of compositor text-input (IME): zwp_text_input_v3 is only
33# enabled when an input context is associated (ImmAssociateContext), preventing
34# gameplay keys from getting swallowed after chat interactions.
35# - System tray icons via the StatusNotifierItem D-Bus protocol instead of the
36# floating tray window (needs an SNI host: KDE natively, GNOME via the
37# AppIndicator extension; WINEWAYLAND_NO_SNI=1 reverts to the floating window).
38# Requires libdbus at configure time, hence dbus in makedepends.
39# - 16bpp cursor fix for Source 2 games (Dota 2): color cursors that GetDIBits
40# cannot convert to 32bpp fall back to a GDI DIB blit. Also fixes 16bpp icons.
41# - Windows implicit Vulkan layer loading from the registry (Steam overlay:
42# Shift+Tab in Vulkan/DXVK games works). On by default, disable with
43# WINE_VK_LAYERS=0.
44# - Monitor EDID synthesis so games can identify the output (UE titles like
45# Gothic 1 Remake otherwise see no display/resolution list and fall back to
46# borderless native).
47# - Per-window surface scale derived from the real compositor output scale
48# (physical mode size / xdg_output logical size) instead of Wine's DPI. Fixes
49# HiDPI / fractional / mixed-DPI window mis-sizing (off-screen or black-border
50# fullscreen) and mouse-offset; also stretches a non-native exclusive
51# fullscreen surface to fill the output.
52# - Per-process emulated display modes: a game changing the resolution only
53# affects itself (Windows "fullscreen optimizations" semantics) instead of
54# zooming every other window in the prefix; EmulateModeset restores the old
55# global behaviour. Also runs inside gamescope's nested compositor: prefers
56# GAMESCOPE_WAYLAND_DISPLAY, works without wl_subcompositor/wp_viewporter
57# (GL/VK takes over the toplevel surface, gamescope scales buffers itself),
58# so -w/-h game resolution is honoured.
59pkgname=wine-gohryt-wayland-wow64
60pkgver=11.17
61pkgrel=8
62_monover=11.3.0 # must match MONO_VERSION in dlls/appwiz.cpl/addons.c
63_geckover=2.47.4 # must match GECKO_VERSION in dlls/appwiz.cpl/addons.c
64pkgdesc="Includes fixes for wayland + vulkan, gamepad, steam, unreal, unity, affinity."
65url="https://www.winehq.org"
66arch=(x86_64)
67options=(lto !debug)
68license=(LGPL-2.1-or-later)
69provides=("wine=$pkgver" "wine-mono=$_monover" "wine-gecko=$_geckover")
70conflicts=(wine wine-staging wine-mono wine-gecko)
71
72depends=(
73 desktop-file-utils
74 fontconfig
75 freetype2
76 gettext
77 glib2
78 glibc
79 libgcc
80 libpcap
81 libunwind
82 libxkbcommon
83 systemd-libs
84 wayland
85)
86makedepends=(
87 alsa-lib
88 dbus
89 ffmpeg
90 git
91 gnutls
92 gst-plugins-base-libs
93 libpulse
94 mesa
95 mingw-w64-gcc
96 sdl2
97 vulkan-headers
98 vulkan-icd-loader
99)
100optdepends=(
101 'alsa-lib: ALSA audio driver'
102 'alsa-plugins: ALSA audio plugins'
103 'dbus: system tray icons (StatusNotifierItem)'
104 'ffmpeg: WMA decoding (winedmo)'
105 'gnutls: TLS/SSL support (strongly recommended)'
106 'gst-plugins-bad: extra media codecs'
107 'gst-plugins-base: media playback'
108 'gst-plugins-base-libs: GStreamer media support'
109 'gst-plugins-good: extra media codecs'
110 'gst-plugins-ugly: extra media codecs'
111 'gst-libav: steam video player'
112 'libpulse: PulseAudio/PipeWire audio driver'
113 'sdl2: game controller support'
114 'vulkan-icd-loader: Vulkan support'
115)
116
117source=(git+https://gitlab.winehq.org/gohryt/wine.git#branch=wayland-wow64
118 https://dl.winehq.org/wine/wine-mono/$_monover/wine-mono-$_monover-x86.tar.xz
119 https://dl.winehq.org/wine/wine-gecko/$_geckover/wine-gecko-$_geckover-x86.tar.xz
120 https://dl.winehq.org/wine/wine-gecko/$_geckover/wine-gecko-$_geckover-x86_64.tar.xz
121 30-win32-aliases.conf
122 wine-binfmt.conf
123 ntsync.conf)
124noextract=(wine-mono-$_monover-x86.tar.xz
125 wine-gecko-$_geckover-x86.tar.xz
126 wine-gecko-$_geckover-x86_64.tar.xz)
127sha512sums=('SKIP'
128 'SKIP'
129 'SKIP'
130 'SKIP'
131 'SKIP'
132 'SKIP'
133 'SKIP')
134
135install=wine.install
136
137prepare() {
138 # The Wayland/Vulkan feature commits live in the fork branch (see source),
139 # so there is nothing to patch here; just set up the out-of-tree build dir.
140 rm -rf build
141 mkdir build
142}
143
144build() {
145 # ccache for the MinGW cross compilers (the native side is handled by
146 # makepkg's ccache BUILDENV option, see ~/.config/pacman/makepkg.conf)
147 if command -v ccache > /dev/null; then
148 local _cc
149 mkdir -p "$srcdir/ccache-cross"
150 for _cc in x86_64-w64-mingw32-gcc i686-w64-mingw32-gcc \
151 x86_64-w64-mingw32-g++ i686-w64-mingw32-g++; do
152 printf '#!/bin/sh\nexec ccache /usr/bin/%s "$@"\n' "$_cc" > "$srcdir/ccache-cross/$_cc"
153 chmod +x "$srcdir/ccache-cross/$_cc"
154 done
155 export PATH="$srcdir/ccache-cross:$PATH"
156 fi
157
158 # Link the native ELF side with mold (PE side keeps mingw ld)
159 export LDFLAGS+=" -fuse-ld=mold"
160
161 # Flags for the MinGW cross-compiled PE parts (no LTO, no mold here)
162 export CROSSCFLAGS="-O2 -pipe"
163 export CROSSCXXFLAGS="-O2 -pipe"
164 export CROSSLDFLAGS="-Wl,-O1"
165
166 cd "$srcdir/build"
167 ../wine/configure \
168 --prefix=/usr \
169 --libdir=/usr/lib \
170 --disable-tests \
171 --enable-archs=x86_64,i386 \
172 --enable-build-id \
173 --without-x \
174 --with-wayland \
175 --with-gstreamer \
176 --with-ffmpeg
177
178 # Build the preloader and ntdll.so without LTO first (see header comment),
179 # then everything else; make skips the already-built objects.
180 make -j"$(nproc)" CFLAGS="$CFLAGS -fno-lto" \
181 loader/preloader.o loader/preloader_mac.o dlls/ntdll/ntdll.so
182 make -j"$(nproc)"
183}
184
185package() {
186 cd "$srcdir/build"
187 make -j"$(nproc)" \
188 prefix="$pkgdir/usr" \
189 libdir="$pkgdir/usr/lib" \
190 dlldir="$pkgdir/usr/lib/wine" install
191
192 # Font aliasing settings for Win32 applications
193 install -d "$pkgdir"/usr/share/fontconfig/conf.{avail,default}
194 install -m644 "$srcdir/30-win32-aliases.conf" "$pkgdir/usr/share/fontconfig/conf.avail"
195 ln -s ../conf.avail/30-win32-aliases.conf "$pkgdir/usr/share/fontconfig/conf.default/30-win32-aliases.conf"
196 install -Dm644 "$srcdir/wine-binfmt.conf" "$pkgdir/usr/lib/binfmt.d/wine.conf"
197
198 # Load the ntsync kernel module at boot
199 install -Dm644 "$srcdir/ntsync.conf" "$pkgdir/usr/lib/modules-load.d/10-ntsync.conf"
200
201 # Bundle wine-mono and wine-gecko: new prefixes pick these up from
202 # /usr/share/wine/{mono,gecko} offline, shared across all prefixes
203 install -d "$pkgdir/usr/share/wine/mono" "$pkgdir/usr/share/wine/gecko"
204 tar xf "$srcdir/wine-mono-$_monover-x86.tar.xz" -C "$pkgdir/usr/share/wine/mono"
205 tar xf "$srcdir/wine-gecko-$_geckover-x86.tar.xz" -C "$pkgdir/usr/share/wine/gecko"
206 tar xf "$srcdir/wine-gecko-$_geckover-x86_64.tar.xz" -C "$pkgdir/usr/share/wine/gecko"
207}
208

Changes since previous scan

--- PKGBUILD @ 2026-09-12 00:25
+++ PKGBUILD @ 2026-09-17 00:27
@@ -58,7 +58,7 @@
# so -w/-h game resolution is honoured.
pkgname=wine-gohryt-wayland-wow64
pkgver=11.17
-pkgrel=7
+pkgrel=8
_monover=11.3.0 # must match MONO_VERSION in dlls/appwiz.cpl/addons.c
_geckover=2.47.4 # must match GECKO_VERSION in dlls/appwiz.cpl/addons.c
pkgdesc="Includes fixes for wayland + vulkan, gamepad, steam, unreal, unity, affinity."

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Low 2
2026-09-16 00:03:17 Low 2
2026-09-15 00:25:31 Low 2
2026-09-14 00:27:57 Low 2
2026-09-13 00:19:54 Low 2
2026-09-12 09:11:25 Medium 1
2026-09-12 00:25:17 Low 2
2026-09-11 21:24:02 Medium 1
2026-09-11 00:19:22 Low 2
2026-09-10 03:20:13 Medium 1
2026-09-10 00:22:44 Low 2
2026-09-09 00:04:09 Low 2
2026-09-08 00:18:08 Low 2
2026-09-07 00:30:15 Low 2
2026-09-06 21:12:32 Medium 1
2026-09-06 19:12:22 Medium 1
2026-09-06 17:12:21 Medium 1
2026-09-06 13:11:32 Medium 1
2026-09-06 00:17:06 Low 2
2026-09-05 00:16:27 Low 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion