diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..0bf28555c258 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,177 @@ +# Maintainer: Mike Swanson <mikeonthecomputer@gmail.com> + +# 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.2 +pkgrel=1 + +source=(https://dl.winehq.org/wine/source/1.8/wine-$pkgver.tar.bz2{,.sign} + 30-win32-aliases.conf) +sha256sums=('51624fadf0145e87f0c01e7ce8524ea1e8d9d360c3e8a86e78cd26a52ce55a6f' + '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) +install=wine.install + +_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" +} |