# maintainer: Giuseppe Cala' pkgname=wine pkgver=1.7.37 pkgrel=1 _pkgbasever=${pkgver/rc/-rc} source=(http://ibiblio.org/pub/linux/system/emulators/$pkgname/$pkgname-$_pkgbasever.tar.bz2 30-win32-aliases.conf https://github.com/wine-compholio/wine-staging/archive/v${pkgver}.tar.gz) md5sums=('99741c9efece0bf062b39992b63cf5ca' '1ff4e467f59409272088d92173a0f801' '40feaf4d51cae9c575f638fbf6634f2b') pkgdesc="A compatibility layer for running Windows programs" url="http://www.winehq.com" categories=('system') screenshot=('http://wstaw.org/m/2012/04/28/wine.png') arch=('x86_64') license=('LGPL') install=wine.install depends=( fontconfig lib32-fontconfig libxcursor lib32-libxcursor libxrandr lib32-libxrandr libxdamage lib32-libxdamage libxi lib32-libxi gettext lib32-gettext freetype2 lib32-freetype2 glu lib32-glu libsm lib32-libsm gcc-libs lib32-gcc-libs desktop-file-utils ) makedepends=(autoconf ncurses bison perl fontforge flex prelink 'gcc>=4.5.0-2' 'gcc-multilib>=4.5.0-2' giflib lib32-giflib libpng lib32-libpng gnutls lib32-gnutls libxinerama lib32-libxinerama libxcomposite lib32-libxcomposite libxmu lib32-libxmu libxxf86vm lib32-libxxf86vm libxml2 lib32-libxml2 libldap lib32-libldap lcms2 lib32-lcms2 mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils alsa-lib lib32-alsa-lib libpulse lib32-libpulse mesa lib32-mesa mesa-libgl lib32-mesa-libgl libcl lib32-libcl libxslt lib32-libxslt jack lib32-jack samba opencl-headers ) optdepends=( giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls lcms2 lib32-lcms2 libxml2 lib32-libxml2 mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama lib32-libxinerama ncurses lib32-ncurses libcl lib32-libcl libxslt lib32-libxslt cups samba dosbox ) prepare() { cd $srcdir # Get rid of old code dir rm -rf $pkgname # Get rid of old build dirs rm -rf $pkgname-{32,64}-build # Allow ccache to work mv $pkgname-$_pkgbasever $pkgname # ncurses fix sed -i 's|libncurses|libncursesw|g' "$srcdir/$pkgname/configure" sed -i 's|lncurses|lncursesw|g' "$srcdir/$pkgname/configure" cd $pkgname for _patch in $(ls $srcdir/wine-staging-$pkgver/patches/winepulse-PulseAudio_Support/*.patch) ; do patch -p1 < $_patch done autoreconf # These additional CPPFLAGS solve FS#27662 and FS#34195 export CPPFLAGS="${CPPFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0" } build() { cd $srcdir msg2 "Building Wine-64..." mkdir -p $pkgname-64-build cd "$srcdir/$pkgname-64-build" ../$pkgname/configure \ --prefix=/usr \ --libdir=/usr/lib \ --with-x \ --without-gstreamer \ --enable-win64 # Gstreamer was disabled for FS#33655 make _wine32opts=( --libdir=/usr/lib32 --with-wine64="$srcdir/$pkgname-64-build" ) export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" msg2 "Building Wine-32..." mkdir -p "$srcdir/$pkgname-32-build" cd "$srcdir/$pkgname-32-build" ../$pkgname/configure \ --prefix=/usr \ --with-x \ --without-gstreamer \ "${_wine32opts[@]}" # These additional flags solve FS#23277 make CFLAGS+="-mstackrealign -mincoming-stack-boundary=2" CXXFLAGS+="-mstackrealign -mincoming-stack-boundary=2" } package() { msg2 "Packaging Wine-32..." cd "$srcdir/$pkgname-32-build" make prefix="$pkgdir/usr" \ libdir="$pkgdir/usr/lib32" \ dlldir="$pkgdir/usr/lib32/wine" install msg2 "Packaging Wine-64..." cd "$srcdir/$pkgname-64-build" make prefix="$pkgdir/usr" \ libdir="$pkgdir/usr/lib" \ dlldir="$pkgdir/usr/lib/wine" install # Font aliasing settings for Win32 applications install -d "$pkgdir"/etc/fonts/conf.{avail,d} install -m644 "$srcdir/30-win32-aliases.conf" "$pkgdir/etc/fonts/conf.avail" ln -s ../conf.avail/30-win32-aliases.conf "$pkgdir/etc/fonts/conf.d/30-win32-aliases.conf" }