diff options
Diffstat (limited to 'pcr/mitsuba/PKGBUILD')
-rw-r--r-- | pcr/mitsuba/PKGBUILD | 148 |
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: |