lib32/wine/PKGBUILD
2014-12-15 15:22:45 +00:00

169 lines
4.5 KiB
Bash

# maintainer: Giuseppe Cala' <jiveaxe@gmail.com>
pkgname=wine
pkgver=1.7.33
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=('5ecc09c8e98c0709eb183993d39c1c72'
'1ff4e467f59409272088d92173a0f801'
'e71558cfc3a7b018cd15369d6f38b7ae')
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"
}