[ create a new paste ] login | about

Link: http://codepad.org/MZvACpUO    [ raw code | fork ]

Plain Text, pasted on Jun 14:
# 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.6rc1
pkgrel=1

_pkgbasever=${pkgver/rc/-rc}

source=(http://prdownloads.sourceforge.net/$_basename/$_basename-$_pkgbasever.tar.bz2{,.sign}
        30-win32-aliases.conf
        'winemultimedia_1.6rc1_20130609.patch'
	'use_glBufferSubDataARB_dbuffer.patch::http://bugs.winehq.org/attachment.cgi?id=42868'
	'awesomium.patch::http://bugs.winehq.org/attachment.cgi?id=36923')

sha1sums=('9b04de409e2602b6cf45ce2d69db2f7c968323d2'
          'SKIP'
          '023a5c901c6a091c56e76b6a62d141d87cce9fdb'
	  '8071f2a50778d15d863571e5618550cc47f80c1e'
	  '8684a342b3b5e21419adcc26c18252af29012089'
	  '1e23b5194c8f5aca8af270bce97f74f8e5cb0020')

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
)

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

build() {
  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 multimedia patch
  msg2 "Applying multimedia branch patch"
  (
    cd $_basename
    patch -Np1 -i "${srcdir}"/winemultimedia_1.6rc1_20130609.patch
    patch -Np1 -i "${srcdir}"/awesomium.patch || true
    patch -Np1 -i "${srcdir}"/use_glBufferSubDataARB_dbuffer.patch
  )

  # These additional CPPFLAGS solve FS#27662 and FS#34195
  export CPPFLAGS="${CPPFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0"
  export CXXFLAGS="${CXXFLAGS/-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

    # These additional flags solve FS#34819
    make CFLAGS+="-fno-builtin-memcpy" CXXFLAGS+="-fno-builtin-memcpy"

    _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
  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:


Create a new paste based on this one


Comments: