# Maintainer: Mike Swanson # Warning: If you are downgrading from the development branch (Wine 1.9.x, # for example), your WINEPREFIX may break and experience unusual bugs. # Try to make a clean WINEPREFIX, such as by doing “rm -rf ~/.wine” pkgname=wine-stable pkgver=1.8.4 pkgrel=1 source=(https://dl.winehq.org/wine/source/1.8/wine-$pkgver.tar.bz2{,.sign} 30-win32-aliases.conf) sha256sums=('515d10439777a4816fe5b0a0fc9a4ce498a2ecfd23eba0c25dc00f3d6c805079' 'SKIP' '9901a5ee619f24662b241672a7358364617227937d5f6d3126f70528ee5111e7') validpgpkeys=(5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7 DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D) pkgdesc="A compatibility layer for running Windows programs" url="http://www.winehq.com" arch=(i686 x86_64) options=(staticlibs) license=(LGPL) _depends=( fontconfig lib32-fontconfig lcms2 lib32-lcms2 libxml2 lib32-libxml2 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 libpcap lib32-libpcap desktop-file-utils ) makedepends=(autoconf ncurses bison perl fontforge flex '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 libldap lib32-libldap mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse alsa-lib lib32-alsa-lib libxcomposite lib32-libxcomposite mesa lib32-mesa libgl lib32-libgl libcl lib32-libcl libxslt lib32-libxslt samba opencl-headers ) optdepends=( giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls 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 ) if [[ $CARCH == i686 ]]; then # Strip lib32 etc. on i686 _depends=(${_depends[@]/*32-*/}) makedepends=(${makedepends[@]/*32-*/} ${_depends[@]}) makedepends=(${makedepends[@]/*-multilib*/}) optdepends=(${optdepends[@]/*32-*/}) else makedepends=(${makedepends[@]} ${_depends[@]}) fi provides=("wine=$pkgver") conflicts=("wine") prepare() { # Allow ccache to work mv wine-$pkgver wine sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i wine/configure* # These additional CPPFLAGS solve FS#27662 and FS#34195 export CPPFLAGS="${CPPFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0" # Get rid of old build dirs rm -rf wine-{32,64}-build mkdir wine-32-build } build() { cd "$srcdir" if [[ $CARCH == x86_64 ]]; then msg2 "Building Wine-64..." mkdir wine-64-build cd "$srcdir/wine-64-build" ../wine/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/wine-64-build" ) export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" fi msg2 "Building Wine-32..." cd "$srcdir/wine-32-build" ../wine/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() { depends=(${_depends[@]}) msg2 "Packaging Wine-32..." cd "$srcdir/wine-32-build" if [[ $CARCH == i686 ]]; then make prefix="$pkgdir/usr" install else make prefix="$pkgdir/usr" \ libdir="$pkgdir/usr/lib32" \ dlldir="$pkgdir/usr/lib32/wine" install msg2 "Packaging Wine-64..." cd "$srcdir/wine-64-build" make prefix="$pkgdir/usr" \ libdir="$pkgdir/usr/lib" \ dlldir="$pkgdir/usr/lib/wine" install fi # 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" }