wine: update to 11.1.

enable new wow64 architecture on x84_64 glibc by default.
This commit is contained in:
Helmut Pozimski
2026-01-25 09:22:41 +01:00
parent 8352633eaa
commit 5f2192f6cb
4 changed files with 17 additions and 90 deletions
+6
View File
@@ -0,0 +1,6 @@
With the update to 11.1 the glibc x86_64 wine build has been converted to the
new wow64 mode. This means that 32 bit applications can now be executed without
requiring a 32 bit wine build oder separate 32 bit libraries.
Please also notice the announcement in the wine 11.0 release notes:
https://gitlab.winehq.org/wine/wine/-/releases/wine-11.0#wow64
-51
View File
@@ -1,51 +0,0 @@
#!/bin/sh -e
# Based on the Debian wrapper script written by Jens Reyer and Michael Gilbert
# SPDX-License-Identifier: LGPL-2.1-or-later
wine32=/usr/bin/wine32
wine64=/usr/bin/wine64
wine32_hint () {
if [ "$(xbps-uhelper arch)" = "x86_64-musl" ]; then
echo "wine under musl supports both 64bit & 32bit under the new experimental WoW64 mode"
else
echo "it looks like wine-32bit is missing, you should install it."
if uname -a | grep "x86_64" > /dev/null && xbps-query -l | grep void-repo-multilib > /dev/null; then
echo "the multilib repository needs to be enabled first. as root, please"
echo "execute \"xbps-install -S void-repo-multilib && xbps-install -S wine-32bit\""
else
echo "as root, please execute \"xbps-install -S wine-32bit\""
fi
fi
}
if test -x $wine64; then
wine=$wine64
if test -z "$WINELOADER"; then
export WINELOADER=$wine64
fi
case "x$WINEDEBUG" in
x-all*|x*,-all*|x*err-all*)
;;
*)
if ! test -x $wine32; then
wine32_hint >&2
fi
;;
esac
elif test -x $wine32; then
wine=$wine32
else
echo "error: unable to find wine executable. this shouldn't happen." >&2
exit 1
fi
if test -z "$WINEDEBUG"; then
export WINEDEBUG=fixme-all
fi
appname=$(basename "$0")
case "$appname" in
wine|wine32|wine64) exec $wine "$@" ;;
*) exec $wine "$appname.exe" "$@" ;;
esac
-18
View File
@@ -1,18 +0,0 @@
#!/bin/sh -e
# Based on the Debian wrapper script written by Jens Reyer and Michael Gilbert
# SPDX-License-Identifier: LGPL-2.1-or-later
wineserver32=/usr/bin/wineserver32
wineserver64=/usr/bin/wineserver64
if test -x "$wineserver64"; then
wineserver=$wineserver64
elif test -x "$wineserver32"; then
wineserver=$wineserver32
else
echo "error: unable to find wineserver executable." >&2
echo "wine and/or wine-32bit must be installed." >&2
exit 1
fi
exec $wineserver -p0 "$@"
+11 -21
View File
@@ -1,6 +1,6 @@
# Template file for 'wine'
pkgname=wine
version=11.0
version=11.1
revision=1
_pkgver=${version/r/-r}
create_wrksrc=yes
@@ -12,12 +12,13 @@ maintainer="Helmut Pozimski <helmut@pozimski.eu>"
license="LGPL-2.1-or-later"
homepage="http://www.winehq.org/"
# For non-zero subversions
# distfiles="https://dl.winehq.org/wine/source/${version%.*}.x/wine-${_pkgver}.tar.xz
# For zero subversions
distfiles="https://dl.winehq.org/wine/source/${version%.*}.0/wine-${_pkgver}.tar.xz
distfiles="https://dl.winehq.org/wine/source/${version%.*}.x/wine-${_pkgver}.tar.xz
https://github.com/wine-staging/wine-staging/archive/v${_pkgver}.tar.gz"
checksum="c07a6857933c1fc60dff5448d79f39c92481c1e9db5aa628db9d0358446e0701
ae4f711922c45252252a565e85b7f011c85387be1deb5acddca587364d5a2620"
# For zero subversions
#distfiles="https://dl.winehq.org/wine/source/${version%.*}.0/wine-${_pkgver}.tar.xz
# https://github.com/wine-staging/wine-staging/archive/v${_pkgver}.tar.gz"
checksum="bf4c7c8fb5d8c1f656f30a2bea93870c85f13ff8311ab2f61ddef900eb28cb8f
157fd6fb0c3ea825f2ccaef768f04edb1ed80d914241b94cceead66f2f34db2b"
# NOTE: wine depends on specific versions of wine-mono and wine-gecko,
# check for updates to these packages when updating wine
@@ -30,11 +31,6 @@ desc_option_xshm="Enable support for the X Shared Memory Extension"
desc_option_wow64="Run 32-bit Windows apps on a purely 64-bit Unix installation"
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
build_options_default+=" wow64"
fi
lib32mode=full
archs="i686* x86_64*"
patch_args="-Np1 --directory=${build_wrksrc}"
@@ -72,23 +68,22 @@ make_check=extended
if [ "$XBPS_TARGET_WORDSIZE" != 32 ]; then
configure_args+=" --enable-win64 --libdir=/usr/lib"
_wine_suffix="64"
build_options_default+=" wow64"
replaces="wine-32bit>=0"
else
_wine_suffix="32"
CFLAGS=" -D_LARGE_FILE_SOURCE=1 -D_FILE_OFFSET_BITS=64"
CPPFLAGS=" -D_LARGE_FILE_SOURCE=1 -D_FILE_OFFSET_BITS=64"
fi
_wineserver_suffix=${_wine_suffix}
if [ "${build_option_wow64}" ]; then
configure_args+=" --enable-archs=i386,x86_64"
makedepends+=" cross-i686-w64-mingw32"
fi
nopie_files="/usr/bin/wine${_wine_suffix}"
nopie_files="/usr/bin/wine"
if [ "${_nopie}" = yes ]; then
nopie_files+=" /usr/bin/wineserver${_wineserver_suffix}"
nopie_files+=" /usr/bin/wineserver"
fi
post_patch() {
@@ -117,11 +112,6 @@ post_install() {
install -m644 ${FILESDIR}/30-win32-aliases.conf ${DESTDIR}/etc/fonts/conf.avail
ln -s ../conf.avail/30-win32-aliases.conf ${DESTDIR}/etc/fonts/conf.d/30-win32-aliases.conf
mv ${DESTDIR}/usr/bin/wine ${DESTDIR}/usr/bin/wine${_wine_suffix}
mv ${DESTDIR}/usr/bin/wineserver ${DESTDIR}/usr/bin/wineserver${_wineserver_suffix}
vbin ${FILESDIR}/wine
vbin ${FILESDIR}/wineserver
# install man page for wine executable
for f in tools/wine/wine*.man; do
vman "$f" "${f//man/1}"