summaryrefslogtreecommitdiff
path: root/pcr/mitsuba/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/mitsuba/PKGBUILD')
-rw-r--r--pcr/mitsuba/PKGBUILD148
1 files changed, 148 insertions, 0 deletions
diff --git a/pcr/mitsuba/PKGBUILD b/pcr/mitsuba/PKGBUILD
new file mode 100644
index 000000000..7ae5856f8
--- /dev/null
+++ b/pcr/mitsuba/PKGBUILD
@@ -0,0 +1,148 @@
+# Maintainer: Márcio Silva <coadde@parabola.nu>
+
+_build_pkg=yes
+_build_add=yes
+
+[[ $_build_pkg != yes && $_build_pkg != no ]] && _build_pkg=yes
+[[ $_build_add != yes && $_build_add != no ]] && _build_add=yes
+[[ $_build_pkg == no && $_build_add == no ]] && _build_add=yes
+
+_pkgname=mitsuba
+_pkgver=0.5.0
+_pkgverM=${_pkgver%.*}
+_pkgdat=20140225
+_pkgrev=2030
+_pkgrel=6
+_bldname=blender
+_bldver=2.71
+_bldep=14
+_addname=$_bldname-addon-$_pkgname
+_addver=0.3.0 # __init__.py:bl_info>version
+_adddat=20140722
+_addrev=61
+_addrel=4
+_pyver=3.4
+
+pkgbase=$_pkgname
+[[ $_build_pkg == yes ]] && pkgname+=("$_pkgname")
+[[ $_build_add == yes ]] && pkgname+=("$_bldname-addon-$_pkgname")
+pkgver=$_pkgver.$_pkgrev
+pkgrel=$_pkgrel
+arch=('i686' 'x86_64' 'mips64el')
+url="https://www.$_pkgname-renderer.org"
+[[ $_build_pkg == yes ]] && depends=('boost-libs' 'collada-dom' 'glew' 'libxxf86vm' 'openexr' 'qt4' 'xerces-c')
+[[ $_build_pkg == yes ]] && makedepends=('boost' 'cmake' 'eigen3' 'mercurial' 'python')
+[[ $_build_pkg == yes ]] && source+=("$_pkgname-$_pkgver.$_pkgrev.tar.bz2::${url}/repos/$_pkgname/archive/$_pkgrev.tar.bz2")
+[[ $_build_add == yes ]] && source+=("$_addname-$_addver.$_addrev.tar.bz2::${url}/repos/exporters/$_pkgname-$_bldname/archive/$_addrev.tar.bz2"
+ 'http://www.gnu.org/licenses/gpl-2.0.txt')
+[[ $_build_pkg == yes ]] && sha512sums+=('cb30ca95ada36bec56aca3af55af19511ae64f05631d3e221308dee6fe04a1de08daab6e89c9025c8f6492731ed586d40d92f2168c5d49a060f31cd0afc7d0a7')
+[[ $_build_add == yes ]] && sha512sums+=('cd812c46ccfb4673a5d170c96e4aa8275d136ef4ae300b50944aac69ff646e9118afa78a9a1f22e7b03fcc1e4fa496c889f59d8bf40836e27d023548061a4491'
+ 'aee80b1f9f7f4a8a00dcf6e6ce6c41988dcaedc4de19d9d04460cbfb05d99829ffe8f9d038468eabbfba4d65b38e8dbef5ecf5eb8a1b891d9839cda6c48ee957')
+
+_prepare_mitsuba() {
+ msg 'Renaming source dir'
+ mv -v $srcdir/$_pkgname-???????????? $srcdir/$_pkgname-$_pkgver.$_pkgrev
+
+ cd $srcdir/$_pkgname-$_pkgver.$_pkgrev
+
+ 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
+
+ msg 'fixing headers'
+ sed -i 's|boost/spirit/home/phoenix/bind/bind_member_function.hpp|boost/phoenix/bind/preprocessed/bind_member_function.hpp|
+ s|boost/spirit/home/phoenix/bind/bind_member_variable.hpp|boost/phoenix/bind/bind_member_variable.hpp|
+ s|boost/spirit/home/phoenix/statement/if.hpp|boost/phoenix/statement/if.hpp|
+ ' src/bsdfs/irawan.h
+ sed -i 's|boost/spirit/home/phoenix/statement/if.hpp|boost/phoenix/statement/if.hpp|
+ ' src/bsdfs/irawan.cpp
+
+ [[ -d build ]] && rm -vr build
+ mkdir -v build
+}
+
+_prepare_blender-addon-mitsuba() {
+ msg 'Renaming addon dir'
+ mv -v $srcdir/$_pkgname-$_bldname-???????????? $srcdir/$_addname-$_addver.$_addrev
+}
+
+prepare() {
+ [[ $_build_pkg == yes ]] && _prepare_mitsuba
+ [[ $_build_add == yes ]] && _prepare_blender-addon-mitsuba
+}
+
+_build_mitsuba() {
+ cd $srcdir/$_pkgname-$_pkgver.$_pkgrev/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
+}
+[[ $_build_pkg == yes ]] && build() { _build_mitsuba; }
+
+package_mitsuba() {
+ pkgdesc='A physically based renderer'
+ license=('GPL3')
+ optdepends=('python: Python bindings'
+ "$_addname: ${_bldname^} addon exporter and renderer")
+ install="$_pkgname.install"
+
+ cd $srcdir/$_pkgname-$_pkgver.$_pkgrev/build
+ make DESTDIR=$pkgdir install
+
+ b=$pkgdir/usr/share/licenses/$pkgname
+
+ install -vd $b && install -vm644 ../doc/license.txt $b/GPL-v3.0
+
+ msg 'fixing files and folders location'
+ a=$pkgdir/usr
+ b=$srcdir/$_pkgname-$_pkgver.$_pkgrev
+ install -vd $a/{bin,lib/python$_pyver/lib-dynload,share/{applications,$_pkgname,pixmaps}}
+ install -vm644 $b/data/linux/$_pkgname.desktop $a/share/applications
+ install -vm644 $b/src/mtsgui/resources/${_pkgname}48.png $a/share/pixmaps
+ mv -v $a/{m{itsuba,ts{gui,import,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() {
+ pkgver=$_addver.$_addrev.v$_bldver
+ pkgrel=$_addrel
+ pkgdesc="A addon for the ${_bldname^} which allows render and export with Mitsuba (built for the $_bldname package)"
+ arch=('any')
+ license=('GPL2')
+ depends=("$_pkgname>=$_pkgver" "$_pkgname<${_pkgver/.*/}.$((${_pkgverM#*.}+1)).$((${_pkgver/*./}==0))" "$_bldname>=$_bldep:$_bldver" "$_bldname<$(($_bldep+1)):${_bldver/.*/}.$((${_bldver/*./}+1))")
+ makedepends=()
+
+ cd $srcdir/$_addname-$_addver.$_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
+
+ install -vd $a && cp -va mtsblend $a/$_pkgname
+ install -vd $b && install -vm644 $startdir/gpl-2.0.txt $b/GPL-v2.0
+}
+
+# vim:set ts=2 sw=2 et: