# Maintainer: Márcio Silva <coadde@parabola.nu>

_pkgname=mitsuba
_pkgver=0.5.0
_pkgrel=2
_bldname=blender
_bldver=2.70
_bldep=11
_addname=$_pkgname-$_bldname
_adddat=20140325
_addrev=55
_addrel=2
_pyver=3.4

# Tue Mar 25 02:35:10 2014 +0100 - rev:55:2e925643723b ($srcdir/$_addname/mtsblend/__init__.py:bl_info>version)
_addver=0.3.0

pkgname=(
  $_pkgname
  $_bldname-addon-$_pkgname
)
pkgver=$_pkgver
pkgrel=$_pkgrel
pkgdesc='A physically based renderer'
arch=(
  mips64el
  x86_64
  i686
)
url=https://www.$_pkgname-renderer.org/
license=GPL3
depends=(
  boost-libs
  collada-dom
  glew
  libxxf86vm
  openexr
  qt4
  xerces-c
)
optdepends=(
  'python: Python bindings'
  "${pkgname[1]}: ${_bldname^} addon exporter and renderer"
)
makedepends=(
  boost
  cmake
  eigen3
  mercurial
  python
)
source=(
  $_pkgname-$pkgver.tar.bz2::${url}repos/$_pkgname/archive/v$pkgver.tar.bz2
  $_addname-$_addver-$_addrev.tar.bz2::${url}repos/exporters/$_addname/archive/$_addrev.tar.bz2
)
sha512sums=(
  cb30ca95ada36bec56aca3af55af19511ae64f05631d3e221308dee6fe04a1de08daab6e89c9025c8f6492731ed586d40d92f2168c5d49a060f31cd0afc7d0a7
  d8b1b1fb33e94f6acc843fabec7479b0f1cb186b37e20e0bf176c0b7e9562b0f7fda5b14f870160dd370ccfdce37c1912817825ec1b3783624c05f23acdcf7ed
)

prepare() {
  mv -v $srcdir/$_pkgname-???????????? $srcdir/$_pkgname-v$pkgver
  mv -v $srcdir/$_addname-???????????? $srcdir/$_addname-$_addrev

  cd $srcdir/$_pkgname-v$pkgver

  msg 'renaming wrong OS name'
  _OS=$(uname -o)
  [[ $_OS == GNU ]] && sed -i 's|Linux|GNU|I' src/libcore/plugin.cpp
  [[ $_OS == GNU/Linux ]] && sed -i 's|Linux,|GNU/Linux,|' src/libcore/plugin.cpp
  [[ $_OS == GNU/kFreeBSD ]] && sed -i 's|Linux,|GNU/kFreeBSD,|' src/libcore/plugin.cpp
  sed -i 's|Linux/|Linux,|
          s|Linux|GNU/Linux|
         ' include/$_pkgname/core/{atomic,fstream,random,thread}.h

  msg 'removing Open Source term'
  sed -i 's|free-software/open-source|free-software|
         ' include/$_pkgname/core/quad.h

  [[ -d build ]] && rm -vr build
  mkdir -v build
}

build() {
  cd $srcdir/$_pkgname-v$pkgver/build

  [[ $CARCH == x86_64 ]] && _SSE=ON || _SSE=OFF
  # i686: MTS_SSE disabled

  cmake .. -DCMAKE_INSTALL_PREFIX=/usr\
    -DBoost_PYTHON_LIBRARY=/usr/lib/libboost_python${_pyver::1}.so\
    -DMTS_SSE=$_SSE\
    -DPYTHON_INCLUDE_DIR=/usr/include/python${_pyver}m\
    -DPYTHON_LIBRARY=/usr/lib/libpython${_pyver}m.so
  make
}

package_mitsuba() {
  cd $srcdir/$_pkgname-v$pkgver/build
  make DESTDIR=$pkgdir install
  install=$_pkgname.install

  msg 'fixing files and folders location'
  a=$pkgdir/usr
  b=$srcdir/$_pkgname-v$pkgver
  install -vd $a/{bin,lib{,/python$_pyver/lib-dynload},share/{applications,{licenses/,}$_pkgname,pixmaps}}
  install -vm644 $b/data/linux/$_pkgname.desktop           $a/share/applications
  install -vm644 $b/src/mtsgui/resources/${_pkgname}48.png $a/share/pixmaps
  install -vm644 $b/doc/license.txt                        $a/share/licenses/$_pkgname/LICENSE
  mv -v $a/{m{itsuba,ts{gui,import,srv,util}},bin}
  #mv -v $a/{m{itsuba,ts{gui,srv,util}},bin}
  mv -v $a/lib{$pkgname-{bidir,core,hw,render}.so,}
  mv -v $a/{{data,plugins},share/$_pkgname}
  mv -v $a/{python/mitsuba.so,lib/python$_pyver/lib-dynload}
  mv -v $a/{sdk/include,}
  rmdir -v $a/{python,sdk}
}

package_blender-addon-mitsuba() {
  pkgdesc="A addon for the ${_bldname^} which allows render and export with Mitsuba (built for the $_bldname-libre package)"
  arch=any
  depends=(
    $_pkgname=$pkgver
    "$_bldname-libre>=$_bldep:$_bldver"
    "$_bldname-libre<$(($_bldep+1)):${_bldver::2}$((${_bldver:2:4}+1))"
  )
  _pkgver=$pkgver
  pkgver=$_addver.r$_addrev.v$_bldver
  pkgrel=$_addrel
  optdepends=

  cd $srcdir/$_addname-$_addrev

  msg 'fixing binary path'
  sed -i 's|'"'default'"': efutil.find_config_value('"'mitsuba', 'defaults', 'binary_path', ''"')|'"'default'"': '"'/usr/bin'"'|
         ' mtsblend/properties/engine.py

  a=$pkgdir/usr/share/$_bldname/$_bldver/scripts/addons
  b=$pkgdir/usr/share/licenses/$pkgname
  c=$srcdir/$_pkgname-v$_pkgver/doc/license.txt

  install -vd $a && cp -a mtsblend $a/$_pkgname
  install -vd $b && install -m644 $c $b/LICENSE
}

# vim:set ts=2 sw=2 et: