summaryrefslogtreecommitdiff
path: root/community/luxrays/PKGBUILD
blob: 9d3769717e4452c8dfbc1f5224d0458f6ad0c9e3 (plain)
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
# $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: