# $Id: PKGBUILD 73984 2012-07-18 01:06:11Z ibiru $
# Contributor: John Sowiak <john@archlinux.org>
# Contributor: tobias <tobias@archlinux.org>
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>

# Apparently, the blender guys refuse to release source tarballs for
# intermediate releases that deal mainly with binaries but incorporate tiny
# minor changes from svn. Since I'm sick and tired of the urges of users that
# look for release numbers only, we make a messy PKGBUILD that can checkout svn
# release if necessary.

_svn=true

pkgname=blender
true && pkgver=2.64 # Hack for svn
true && pkgrel=1
epoch=4
pkgdesc="A fully integrated 3D graphics creation suite"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.blender.org"
depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils'
         'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew'
         'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada'
         'openimageio' 'libsndfile' 'jack')
makedepends=('cmake' 'boost' 'cuda-toolkit' 'subversion')
optdepends=('cuda-toolkit: cycles renderer cuda support')
options=(!strip)
install=blender.install
if [[ $_svn = false ]]; then
  source=(http://download.blender.org/source/$pkgname-$pkgver.tar.gz)
  md5sums=('31a60b3ce5466d965cb7e2648995e092')
else
  source=()
  md5sums=()
fi

_svntrunk="https://svn.blender.org/svnroot/bf-blender/trunk/blender"
_svnmod="blender"

build() {
if [[ $_svn = true ]]; then
  cd "$srcdir"
  msg "Connecting to SVN server...."

  if [[ -d "$_svnmod/.svn" ]]; then
    (cd "$_svnmod" && svn up )
  else
    svn co "$_svntrunk" --config-dir ./ "$_svnmod"
  fi

  msg "SVN checkout done or server timeout"
  msg "Starting build..."

  rm -rf "$srcdir/$_svnmod-build"
  cp -r "$srcdir/$_svnmod" "$srcdir/$_svnmod-build"
  cd "$srcdir/$_svnmod-build"
else
  cd "$srcdir/$pkgname-$pkgver"
fi

  mkdir build
  cd build

  [[ $CARCH == i686 ]] && ENABLESSE2="-DSUPPORT_SSE2_BUILD=OFF"

  cmake .. \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=Release \
    -DWITH_INSTALL_PORTABLE=OFF \
    -DWITH_PYTHON_INSTALL=OFF \
    -DWITH_OPENCOLLADA=ON \
    -DOPENIMAGEIO_ROOT_DIR=/usr \
    -DWITH_GAMEENGINE=ON \
    -DWITH_JACK=ON \
    -DWITH_PLAYER=ON \
    -DWITH_BUILTIN_GLEW=OFF \
    -DWITH_CODEC_FFMPEG=ON \
    -DWITH_CODEC_SNDFILE=ON \
    -DWITH_CYCLES=ON \
    -DWITH_CYCLES_CUDA_BINARIES=ON \
    -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda-toolkit/ \
    -DWITH_FFTW3=ON \
    -DWITH_MOD_OCEANSIM=ON \
    -DPYTHON_VERSION=3.2 \
    -DPYTHON_LIBPATH=/usr/lib \
    -DPYTHON_LIBRARY=python3.2mu \
    -DPYTHON_INCLUDE_DIRS=/usr/include/python3.2mu \
    $ENABLESSE2

  make $MAKEFLAGS

  make
}

package() {
  if [[ $_svn = true ]]; then
    cd "$srcdir/$_svnmod-build/build"
  else
    cd "$srcdir/$pkgname-$pkgver/build"
  fi
  make DESTDIR="${pkgdir}" install
  python -m compileall "${pkgdir}/usr/share/blender"
}
