# Description: WINE with staging patches
# URL: https://wiki.winehq.org/Wine-Staging
# Maintainer: Matt Housh, jaeger at crux dot ninja
# Depends on: fontconfig-32 freeglut-32 gnutls-32 lcms2-32 mpg123-32 openal-32 prelink xorg-libxcomposite-32 xorg-libxcursor-32 xorg-libxinerama-32 xorg-libxrandr-32 vkd3d-32 mingw-w64-gcc libgcrypt-32

name=wine-staging
version=8.11
release=1
source=(https://dl.winehq.org/wine/source/8.x/wine-${version:0:4}.tar.xz \
	https://github.com/$name/$name/archive/v$version/$name-$version.tar.gz \
	https://dl.winehq.org/wine/wine-gecko/2.47.4/wine-gecko-2.47.4-x86.msi \
	https://dl.winehq.org/wine/wine-gecko/2.47.4/wine-gecko-2.47.4-x86_64.msi \
	https://dl.winehq.org/wine/wine-mono/8.0.0/wine-mono-8.0.0-x86.msi)

build() {
	# apply staging patches
	cd $name-$version
	./staging/patchinstall.py DESTDIR=../wine-${version:0:4} --all
	cd ..

	install -d wine32 wine64

	export CPPFLAGS="${CPPFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0"

	cd wine64

	../wine-${version:0:4}/configure \
		--prefix=/usr \
		--libdir=/usr/lib \
		--enable-win64

	make depend
	make
	make DESTDIR=$PKG install

	cd ../wine32
	CFLAGS="${CFLAGS} -m32"
	CXXFLAGS="${CXXFLAGS} -m32"
	LDFLAGS="${LDFLAGS} -m32"
	export PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig"

	../wine-${version:0:4}/configure \
		--prefix=/usr \
		--libdir=/usr/lib32 \
		--x-includes=/usr/include/X11 \
		--x-libraries=/usr/lib32 \
		--cache-file=config.cache \
		--with-wine64=../wine64

	make depend
	make
	make DESTDIR=$PKG install

	install -d $PKG/usr/share/wine/gecko
	install -d $PKG/usr/share/wine/mono

	install -t $PKG/usr/share/wine/gecko/ \
		$SRC/wine-gecko-2.47.4-x86.msi \
		$SRC/wine-gecko-2.47.4-x86_64.msi

	install $SRC/wine-mono-8.0.0-x86.msi $PKG/usr/share/wine/mono/

	rm -r $PKG/usr/share/man/??.UTF-8

	install -d $PKG/etc/revdep.d
	echo -e "/usr/lib/wine/x86_64-unix\n/usr/lib32/wine/i386-unix\n" > $PKG/etc/revdep.d/$name
}
