wine: enable 64 bit build

along with the restructuring of the sub-packages this will allow
installing both a wine and wine-32bit package on x86_64 hosts
to be able to execute both 32 bit and 64 bit Windows binaries
[skip ci]
This commit is contained in:
Helmut Pozimski 2020-04-28 22:00:49 +02:00
parent 07fc514261
commit d870909392
5 changed files with 113 additions and 7 deletions

1
srcpkgs/wine-common Symbolic link
View file

@ -0,0 +1 @@
wine

1
srcpkgs/wine-tools Symbolic link
View file

@ -0,0 +1 @@
wine

41
srcpkgs/wine/files/wine Normal file
View file

@ -0,0 +1,41 @@
#!/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/libexec/wine/wine
wine64=/usr/libexec/wine/wine64
wine32_hint () {
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
}
if test -x $wine32; then
wine=$wine32
elif 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*)
;;
*)
wine32_hint >&2
;;
esac
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
exec $wine "$@"

18
srcpkgs/wine/files/wineserver Executable file
View file

@ -0,0 +1,18 @@
#!/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/libexec/wine/wineserver32
wineserver64=/usr/libexec/wine/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 "$@"

View file

@ -1,9 +1,9 @@
# Template file for 'wine'
pkgname=wine
version=5.7
revision=1
revision=2
build_style=gnu-configure
configure_args="--without-gstreamer"
configure_args="--without-gstreamer --bindir=/usr/libexec/wine"
short_desc="Run Microsoft Windows applications"
maintainer="Helmut Pozimski <helmut@pozimski.eu>"
license="LGPL-2.1-or-later"
@ -11,12 +11,10 @@ homepage="http://www.winehq.org/"
distfiles="https://dl.winehq.org/wine/source/${version%%.*}.x/wine-${version}.tar.xz"
checksum=16c99b9c6db56f75fcc2c6b3cbae400db1da1f750edba0249fd0fc288a9b4712
nopie_files="/usr/bin/wine"
lib32mode=full
archs=i686
archs="i686 x86_64"
hostmakedepends="pkg-config flex prelink"
hostmakedepends="pkg-config flex prelink gettext"
makedepends="gettext-devel lcms2-devel zlib-devel ncurses-devel
glu-devel libSM-devel libXext-devel libX11-devel libXpm-devel
libXinerama-devel libXcomposite-devel libXmu-devel libXxf86vm-devel
@ -30,14 +28,35 @@ makedepends="gettext-devel lcms2-devel zlib-devel ncurses-devel
depends="libXi libXinerama libXcomposite libXcursor libOSMesa
desktop-file-utils hicolor-icon-theme liberation-fonts-ttf
gnutls"
depends="wine-common"
binfmts="/usr/bin/wine --magic MZ"
case $XBPS_TARGET_MACHINE in
x86_64*) configure_args+=" --enable-win64 --libdir=/usr/lib"
_wine_suffix="64"
_wineserver_suffix=${_wine_suffix}
;;
*)
_wineserver_suffix="32"
;;
esac
_wine_libexec="/usr/libexec/wine"
nopie_files="${_wine_libexec}/wine${_wine_suffix}"
post_install() {
# Font aliasing settings for Win32 applications
install -d ${DESTDIR}/etc/fonts/conf.{avail,d}
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}${_wine_libexec}/wineserver ${DESTDIR}${_wine_libexec}/wineserver${_wineserver_suffix}
vbin ${FILESDIR}/wine
vbin ${FILESDIR}/wineserver
for file in msiexec regedit regsvr32 wineboot winecfg winepath winemine winefile \
winedbg wineconsole notepad msidb widl winebuild winecpp winedump wineg++ \
winegcc winemaker wmc wrc function_grep.pl
do
mv ${DESTDIR}/usr/libexec/wine/${file} ${DESTDIR}/usr/bin/
done
}
libwine_package() {
@ -49,6 +68,7 @@ libwine_package() {
vmove usr/lib/wine
}
}
wine-devel_package() {
depends="libwine-${version}_${revision}"
short_desc+=" - development files"
@ -58,3 +78,28 @@ wine-devel_package() {
vmove "usr/lib/*.so"
}
}
wine-common_package() {
archs="noarch"
short_desc+=" - common files"
binfmts="/usr/bin/wine --magic MZ"
pkg_install() {
vmove usr/share
vmove etc
for file in wine wineserver msiexec regedit regsvr32 wineboot winecfg winepath winemine winefile winedbg wineconsole notepad msidb
do
vmove usr/bin/${file}
done
}
}
wine-tools_package() {
depends="wine-${version}_${revision}"
short_desc+=" - development tools"
pkg_install() {
for file in widl winebuild winecpp winedump wineg++ winegcc winemaker wmc wrc function_grep.pl
do
vmove usr/bin/${file}
done
}
}