# Contributor: Mark Riedesel # Maintainer: Mark Riedesel pkgname=blender pkgver=2.78c _pkgver=${pkgver/[a-z]} pkgrel=0 pkgdesc="3D Creation/Animation/Publishing System" url="http://www.blender.org/" arch="" license="GPL-2.0" depends="blender-shared=$pkgver-r$pkgrel" makedepends="cmake libx11-dev jpeg-dev zlib-dev libpng-dev freetype-dev python3-dev openimageio-dev opencolorio-dev glew-dev openal-soft-dev ffmpeg-dev fftw-dev tiff-dev mesa-dev libxi-dev libsndfile-dev libxmu-dev boost-dev openexr-dev py-numpy-dev opensubdiv-dev" install="" subpackages="$pkgname-doc $pkgname-shared::noarch $pkgname-headless $pkgname-player py3-$pkgname:python" source="http://download.blender.org/source/${pkgname}-${pkgver}.tar.gz blender-2.78a-musl.patch" builddir="$srcdir"/$pkgname-$pkgver build() { # Headless cd "$builddir" mkdir "$builddir"/build-headless cd "$builddir"/build-headless _build -C../build_files/cmake/config/blender_headless.cmake # Full cd "$builddir" mkdir "$builddir"/build-full cd "$builddir"/build-full _build -C../build_files/cmake/config/blender_full.cmake # Python module cd "$builddir" mkdir "$builddir"/build-py cd "$builddir"/build-py _build -C../build_files/cmake/config/bpy_module.cmake } _build() { local PY_VERSION=$(python3 -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))') cmake .. $@ \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DWITH_PYTHON_INSTALL:BOOL=OFF \ -DWITH_INSTALL_PORTABLE:BOOL=OFF \ -DWITH_OPENCOLORIO:BOOL=ON \ -DPYTHON_VERSION=$PY_VERSION \ -DPYTHON_LIBPATH=/usr/lib \ -DPYTHON_LIBRARY=python${PY_VERSION}m \ -DPYTHON_INCLUDE_DIRS=/usr/include/python${PY_VERSION}m \ -DNO_EXECINFO:BOOL=ON \ || return 1 make || return 1 } package() { # Install headless files cd "$builddir"/build-headless make DESTDIR="$pkgdir"/headless install || return 1 # Rename the headless blender to blender-headless mkdir -p "$pkgdir"/usr/bin mv "$pkgdir"/headless/usr/bin/blender "$pkgdir"/usr/bin/blender-headless || return 1 rm -rf "$pkgdir"/headless # Install python module cd "$builddir"/build-py make DESTDIR="$pkgdir" install || return 1 # Install the full package cd "$builddir"/build-full make DESTDIR="$pkgdir" install || return 1 } shared() { pkgdesc="Blender shared runtime data and add-on scripts" mkdir -p "$subpkgdir"/usr/share/ mv "$pkgdir"/usr/share/blender "$subpkgdir"/usr/share/ } headless() { pkgdesc="$pkgdesc (headless build)" depends="blender-shared=$pkgver-r$pkgrel" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/blender-headless "$subpkgdir"/usr/bin/ } player() { pkgdesc="Blender player runtime" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/blenderplayer "$subpkgdir"/usr/bin/ } python() { local PY_VERSION=$(python3 -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))') pkgdesc="Blender modules for Python 3" mkdir -p "$subpkgdir"/usr/lib/python${PY_VERSION}/site-packages mv "$pkgdir"/usr/lib/python${PY_VERSION}/site-packages/bpy.so "$subpkgdir"/usr/lib/python${PY_VERSION}/site-packages/ rm -rf "$pkgdir"/usr/lib # Symlink to the blender-shared files ln -s /usr/share/blender/${_pkgver} "$subpkgdir"/usr/lib/python${PY_VERSION}/site-packages/${_pkgver} } sha512sums="dee09e6ac19c4eeab71d64ad9581df1bb043a3de97586206b07aeb9aa55e68ecfc3a96d39835bcec20c72fb73a5eb418b349af7abe66d906a1e660caa1e4d267 blender-2.78c.tar.gz 47e8a6a017cea8c004d7e4205f201f167dd81ba95a4aadf9e55d01e81cc4a23e4d7f1d6aa7a6d1300fe3a5f5c98c664f584e7551fcde7fb1137147e2438f7ed5 blender-2.78a-musl.patch"