public
Last active

Updated for 1.7.5

  • Download Gist
PKGBUILD
Shell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
# 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:
  • 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

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.