summaryrefslogtreecommitdiff
path: root/pcr/mitsuba/PKGBUILD
blob: 1bae709d832324aebf690e4a7411563a9b4a253d (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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# Maintainer: Márcio Silva <coadde@parabola.nu>

_pkgname=mitsuba
_pkgver=0.5.0
_pkgrel=3
_bldname=blender
_bldver=2.71
_bldep=12
_addname=$_pkgname-$_bldname
_adddat=20140325
_addrev=57
_addrel=1
_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
  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() {
  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: