# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
setvar pkgname = 'wine'
setvar pkgver = '2.0.2'
setvar _pkgver = ${pkgver/_/-}
setvar pkgrel = '0'
setvar pkgdesc = ""A compatibility layer for running Windows programs""
setvar url = ""http://www.winehq.com""
setvar arch = ""x86 x86_64""
setvar license = ""LGPL2+""
setvar subpackages = ""$pkgname-libs $pkgname-dev $pkgname-doc""
setvar depends_dev = ""$pkgname perl""
setvar makedepends = ""fontconfig-dev openldap-dev libxslt-dev libxxf86dga-dev
	libxcursor-dev libxrandr-dev libxdamage-dev mesa-dev flex-dev bison
	libpng-dev libjpeg-turbo-dev freetype-dev ncurses-dev libressl-dev
	libxcomposite-dev libxrender-dev libxinerama-dev zlib-dev
	cups-dev alsa-lib-dev lcms-dev libxml2-dev paxmark dbus-dev libxi-dev
	gnutls-dev tiff-dev v4l-utils-dev udisks2-dev autoconf automake
	""
setvar source = ""http://dl.winehq.org/$pkgname/source/${pkgver%.[1-9]}/$pkgname-$_pkgver.tar.xz
	no-pie.patch
	winhlp32-flex.patch
	""
setvar builddir = ""$srcdir/$pkgname-$_pkgver""

proc prepare {
	cd $builddir

	default_prepare || return 1
	aclocal && autoheader && autoreconf || return 1
}

proc build {
	cd $builddir

	case (CARCH) {
		x86_64 { setvar _win64 = '--enable-win64'}
	}
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--libdir=/usr/lib \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--with-dbus \
		--with-x \
		$_win64 \
		|| return 1
	make || return 1
}

proc package {
	local file
	cd $builddir
	make -j1 DESTDIR="$pkgdir" install || return 1

	case (CARCH) {
		x86_64 { setvar _wine = ""wine64""}
		* { setvar _wine = ""wine""}
	}

	paxmark -psmre "$pkgdir"/usr/bin/$_wine-preloader \
		"$pkgdir"/usr/bin/$_wine

	install -Dm755 tools/wineapploader \
		"$pkgdir"/usr/bin/wineapploader || return 1

	for file in msiexec notepad regedit regsvr32 wineboot \
		winecfg wineconsole winefile winemine winepath
	{
		rm "$pkgdir"/usr/bin/$file || return 1
		ln -sf /usr/bin/wineapploader "$pkgdir"/usr/bin/$file
	}
}

proc dev {
	local file
	default_dev || return 1

	install -d "$subpkgdir"/usr/bin
	for file in widl wmc wrc winebuild winedump function_grep.pl \
		 winedbg winemaker winegcc winecpp wineg++
	{
		mv "$pkgdir"/usr/bin/$file "$subpkgdir"/usr/bin/
	}

	install -d "$subpkgdir"/usr/lib/wine
	mv "$pkgdir"/usr/lib/wine/*.def "$subpkgdir"/usr/lib/wine/
}

proc doc {
	default_doc || return 1
	rm -fr "$subpkgdir"/usr/share/man/*.UTF-8
}

proc libs {
	local file ext
	default_libs || return 1

	install -d "$subpkgdir"/usr/lib/wine/fakedlls
	for ext in dll16 drv16 exe16 acm dll drv ds ocx sys tlb vxd {
		for file in $(find "$pkgdir/usr/lib/wine/fakedlls" -name "*.$ext") {
			mv "$pkgdir"/usr/lib/wine/fakedlls/${file##*/} \
				"$subpkgdir"/usr/lib/wine/fakedlls/
			mv "$pkgdir"/usr/lib/wine/${file##*/}.so \
				"$subpkgdir"/usr/lib/wine/
		}
	}
}

setvar sha512sums = ""3f37080a951819304cd3475f6012f1d6b5a94879b137cdf816cac4c8fde68ddc777905e92277ec5dce96437d8c32c43d55d3750b582781a9f9774b118f1a5b90  wine-2.0.2.tar.xz
d853875f7d659617bdfba364704abd75b760d12977f1f13acc73acb3c8fefec0549677fb79a4f8955e073d64078b3071d63d97262522e22b7832a66d3d820a9c  no-pie.patch
522a94a31fc459e80ea7dd05f7aee64f6ae666ec05236d06614acde118d5c60002e0f253ae75edb5f02164f22937ca89578504b690d1a5611bd60f703c8f0c00  winhlp32-flex.patch""