summaryrefslogtreecommitdiff
path: root/pcr/mitsuba/PKGBUILD
blob: 210c6dfc6933f25e5cd65d10301b708c336c1fe8 (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# Maintainer: Márcio Silva <coadde@parabola.nu>

_build_pkg=no
_build_add=yes

_pkgname=mitsuba
_pkgver=0.5.0
_pkgrel=3
_bldname=blender
_bldver=2.71
_bldep=14
_addname=$_pkgname-$_bldname
_adddat=20140722
_addrev=61
_addrel=1
_pyver=3.4

# rev:55 addon ($srcdir/$_addname/mtsblend/__init__.py:bl_info>version)
_addver=0.3.0

[[ $_build_pkg == yes ]] && pkgname+=("$_pkgname")
[[ $_build_add == yes ]] && pkgname+=("$_bldname-addon-$_pkgname")
pkgver=$_pkgver
pkgrel=$_pkgrel
pkgdesc='A physically based renderer'
arch=('i686' 'x86_64' 'mips64el')
url="https://www.$_pkgname-renderer.org/"
license=('GPL3')
depends=('boost-libs' 'collada-dom' 'glew' 'libxxf86vm' 'openexr' 'qt4' 'xerces-c')
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'
            '1eacba1c290f288b8d59000097912be54e79f8c49ef8e3cb094b50d8548dc615db13ff8f2481860235a02b49ab58b6bdb0a9dfd95acec66727a454affa49abdd')

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() {
  install="$_pkgname.install"
  optdepends=('python: Python bindings'
              "${pkgname[1]}: ${_bldname^} addon exporter and renderer")

  cd $srcdir/$_pkgname-v$pkgver/build
  make DESTDIR=$pkgdir 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 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

  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: