# $Id: PKGBUILD 94030 2013-07-13 12:33:25Z svenstaro $
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
pkgname=('luxrays' 'luxmark')
pkgver=1.2.1
_pkgver=475fbf15f0ca
pkgrel=1
pkgdesc="Accelerate the ray intersection process by using GPUs"
arch=('i686' 'x86_64')
url="http://www.luxrender.net/"
license=('GPL')
depends=('freeimage' 'libcl' 'libgl')
makedepends=('cmake' 'boost' 'mesa' 'opencl-headers' 'glew' 'freeglut' 'qt4')
source=(https://bitbucket.org/luxrender/luxrays/get/$_pkgver.tar.bz2 \
        http://www.luxrender.net/release/luxmark/room_scene_v2.1.zip \
        luxmark_scenes_path.diff)
md5sums=('ac98e9a42ecc20d97d4c12dcdf17e315'
         'ae917f025e32e20b1d20ebf8d22204cb'
         '1fd2a6f32e2822b5e0f147304292a1b9')

build() {
  cd "$srcdir/luxrender-luxrays-$_pkgver"

  # change the path to luxmark scenes
  patch -Np1 < "$srcdir/luxmark_scenes_path.diff" || true

  export CXXFLAGS="$CXXFLAGS -lpthread"
  cmake -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_SKIP_RPATH=ON \
    -DLUXRAYS_DISABLE_OPENCL=OFF \
    -DBUILD_LUXMARK=ON \
    .
  make
}

package_luxrays() {
  optdepends=('glew: demos (SmallLuxGPU etc.)' 'freeglut: demos (SmallLuxGPU etc.)'
              'boost-libs: demos (SmallLuxGPU etc.)')

  cd "$srcdir/luxrender-luxrays-$_pkgver"

  install -d -m755 "$pkgdir"/usr/{bin,include,lib}
  install -m755 bin/* "$pkgdir"/usr/bin
  install -m644 lib/* "$pkgdir"/usr/lib
  cp -a include "$pkgdir"/usr

  # remove luxmark (packaged separately)
  rm "$pkgdir"/usr/bin/luxmark
}

package_luxmark() {
  pkgdesc="OpenCL benchmark tool"
  depends+=("${depends[@]}" 'boost-libs' 'qt4')

  cd "$srcdir/luxrender-luxrays-$_pkgver"
  install -d -m755 "$pkgdir"/usr/{bin,share}
  install -m755 bin/luxmark "$pkgdir"/usr/bin

  # install scenes
  cp -a samples/luxmark/scenes  "$pkgdir"/usr/share/luxmark
  cp -a "$srcdir"/samples/luxmark/scenes/room "$pkgdir"/usr/share/luxmark
  # fix the paths
  sed -i 's|scenes/|/usr/share/luxmark/|' "$pkgdir"/usr/share/luxmark/*/*.cfg "$pkgdir"/usr/share/luxmark/*/*.scn
}

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