Last active
December 25, 2015 03:19
-
-
Save CommanderAlchemy/6908567 to your computer and use it in GitHub Desktop.
Updated for 1.7.5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Maintainer [base]: Sven-Hendrik Haase <sh@lutzhaase.com> | |
# Maintainer [-multimedia]: John Schoenick <john@pointysoftware.net> | |
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> | |
# Contributor: Eduardo Romero <eduardo@archlinux.org> | |
# Contributor: Giovanni Scafora <giovanni@archlinux.org> | |
pkgname=wine-multimedia | |
_basename=wine | |
pkgver=1.7.5 | |
pkgrel=1 | |
_pkgbasever=${pkgver/rc/-rc} | |
_multimediasnapshot=20131028 | |
source=(http://prdownloads.sourceforge.net/$_basename/$_basename-$_pkgbasever.tar.bz2{,.sign} | |
30-win32-aliases.conf | |
winemultimedia_${pkgver}_${_multimediasnapshot}.patch | |
glBufferSubDataARB.patch::http://bugs.winehq.org/attachment.cgi?id=42868) | |
sha1sums=('SKIP' # wine | |
'SKIP' # wine.sign | |
'023a5c901c6a091c56e76b6a62d141d87cce9fdb' # 30-win32-aliases.conf | |
'SKIP' # wine-multimedia patch (Thaodan) | |
'SKIP') # glBufferSubDataARB @ http://bugs.winehq.org/show_bug.cgi?id=11674#c263 | |
pkgdesc="Wine with Maarten Lankhorst's multimedia patches, including PulseAudio support" | |
url="http://repo.or.cz/w/wine/multimedia.git" | |
arch=(i686 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 | |
lcms lib32-lcms | |
mpg123 lib32-mpg123 | |
openal lib32-openal | |
v4l-utils lib32-v4l-utils | |
alsa-lib lib32-alsa-lib | |
libpulse lib32-libpulse | |
libxcomposite lib32-libxcomposite | |
mesa lib32-mesa | |
# multilib-build has issues with provides packages like this. If you're trying | |
# to build as such, exchange for: | |
# mesa-libgl lib32-mesa-libgl | |
libgl lib32-libgl | |
libcl lib32-libcl | |
oss | |
samba | |
opencl-headers | |
) | |
optdepends=( | |
giflib lib32-giflib | |
libpng lib32-libpng | |
libldap lib32-libldap | |
gnutls lib32-gnutls | |
lcms lib32-lcms | |
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 | |
libpulse lib32-libpulse | |
libjpeg-turbo lib32-libjpeg-turbo | |
libxcomposite lib32-libxcomposite | |
libxinerama lib32-libxinerama | |
ncurses lib32-ncurses | |
libcl lib32-libcl | |
oss 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-*/}) | |
provides=("wine=$pkgver") | |
conflicts=('wine') | |
else | |
makedepends=(${makedepends[@]} ${_depends[@]}) | |
provides=("bin32-wine=$pkgver" "wine-wow64=$pkgver" "wine=$pkgver") | |
conflicts=('bin32-wine' 'wine-wow64' 'wine') | |
replaces=('bin32-wine') | |
fi | |
prepare() { | |
cd "$srcdir" | |
# Get rid of old dirs | |
rm -rf $_basename{,-{32,64}-build} | |
mkdir $_basename-32-build | |
# Allow ccache to work | |
mv $_basename-$_pkgbasever $_basename | |
# ncurses fix | |
sed -i 's|libncurses|libncursesw|g' "$srcdir/$_basename/configure" | |
sed -i 's|lncurses|lncursesw|g' "$srcdir/$_basename/configure" | |
# Apply patches | |
cd "$_basename" | |
# Dual-core unsupported in WoW and SC2 | |
# http://bugs.winehq.org/show_bug.cgi?id=11674#c263 | |
msg2 "Applying glBufferSubDataARB patch" | |
patch -Np1 -i "${srcdir}"/glBufferSubDataARB.patch | |
msg2 "Applying multimedia branch patch" | |
patch -Np1 -i "${srcdir}"/winemultimedia_${pkgver}_${_multimediasnapshot}.patch | |
} | |
build() { | |
# These additional CPPFLAGS solve FS#27662 and FS#34195 | |
export CPPFLAGS="${CPPFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0" | |
if [[ $CARCH == x86_64 ]]; then | |
msg2 "Building Wine-64..." | |
mkdir $_basename-64-build | |
cd "$srcdir/$_basename-64-build" | |
../$_basename/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/$_basename-64-build" | |
) | |
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" | |
fi | |
msg2 "Building Wine-32..." | |
cd "$srcdir/$_basename-32-build" | |
../$_basename/configure \ | |
--prefix=/usr \ | |
--with-x \ | |
--without-gstreamer \ | |
"${_wine32opts[@]}" | |
# These additional CFLAGS solve FS#27560 and FS#23277 | |
# Added Link Time Optimization -flto | |
make CFLAGS+="-mstackrealign -mincoming-stack-boundary=2" CXXFLAGS+="-mstackrealign -mincoming-stack-boundary=2" | |
} | |
package() { | |
depends=(${_depends[@]}) | |
msg2 "Packaging Wine-32..." | |
cd "$srcdir/$_basename-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/$_basename-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" | |
} | |
# vim:set ts=8 sts=2 sw=2 et: |
Author
CommanderAlchemy
commented
Nov 6, 2013
- Removed
- SSL patchset since wine incorporates that already.
- -flto (bug in GCC that fails make)
- Multithreading patchset since some of them already landed in 1.7.4 and 1.7.5 of wine and the ones released in September are no longer current.
- Updated
- multimediasnapshot to current
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment