# Contributor (Arch): John Sowiak # Contributor (Arch): tobias # Maintainer (Arch): Sven-Hendrik Haase # Maintainer: Márcio Silva # Sometimes blender.org takes some time to release patch releases and because the blender package # is broke, we sometimes need to build from git directly. # Update because I get so many queries on this: # Due to our other rolling deps, it's sometimes not possible to build Blender stable releases. # More often than not, a new openshadinglanguage breaks it and I could either backport fixes # or simply roll with a new version. I usually choose the latter when the former seems # unreasonable. _git=no _gittag=v2.72 # blender: Fri, 3 Oct 2014 13:58:58 +0000 (15:58 +0200) _gitcommit=95182d # blender-addons: Fri, 3 Oct 2014 12:47:22 +0000 (14:47 +0200) _gitaddonscommit=c210f8 # blender-addons-contrib: Tue, 30 Sep 2014 20:09:07 +0000 (17:09 -0300) _gitaddonscontribcommit=3fc30c # blender-translations: Fri, 3 Oct 2014 13:55:15 +0000 (15:55 +0200) _gittranslationscommit=c98069 pkgbase=blender pkgname=("$pkgbase" "$pkgbase-addon-gimp" "$pkgbase-addon-povray") _pkgver=2.72 [[ $_git == no ]] && pkgver=$_pkgver [[ $_git == yes ]] && pkgver=$_pkgver.git1.$_gitcommit pkgrel=1.parabola1 epoch=14 _jpgver=1.5 _llvmver=3.5 _pyver=3.4 pkgdesc='Fully integrated 3D graphics creation suite, without nonfree cuda support' arch=('i686' 'x86_64' 'mips64el') license=('GPL') url="http://www.$pkgbase.org" depends=('boost-libs' 'desktop-file-utils' 'ffmpeg' 'fftw' 'freeglut' 'freetype2' 'glew' 'hicolor-icon-theme' 'jack' 'libpng' 'libsndfile' 'libspnav' 'libtiff' 'openal' 'opencolorio' 'opencollada' 'openexr' 'openimageio' 'openshadinglanguage' 'python' 'shared-mime-info' 'xdg-utils') makedepends=('boost' 'cmake' 'git' 'llvm') # 'bullet' (boost: for cycles, booleans, audaspace and/or i18n) optdepends=('bullet: for Rigid Bodies and Physics Simulation' #'opencl-mesa: for rendering with optional Mesa OpenCL' 'blender-addon-gimp: for import GIMP images to scene' 'blender-addon-luxrender: for optional renderer and exporter with LuxRender' 'blender-addon-mitsuba: for optional renderer and exporter with Mitsuba (pcr repo)' 'blender-addon-ogre: for export to Ogre3D formats (pcr repo)' 'blender-addon-povray: for optional renderer with POV-Ray' 'blender-addon-yafaray: for optional renderer with YafaRay (pcr repo)') conflicts=("$pkgbase-libre" "$pkgbase-libre-spacenav" "$pkgbase-spacenav-libre") replaces=("$pkgbase-libre" "$pkgbase-libre-spacenav" "$pkgbase-spacenav-libre") options=('!strip') install="$pkgbase.install" [[ $_git == no ]] && source=("$pkgbase-$pkgver::git://git.$pkgbase.org/$pkgbase.git#tag=$_gittag" "$pkgbase-addons-$pkgver::git://git.$pkgbase.org/$pkgbase-addons.git#tag=$_gittag" "$pkgbase-translations-$pkgver::git://git.$pkgbase.org/$pkgbase-translations.git#tag=$_gittag") [[ $_git == yes ]] && source=("$pkgbase-$pkgver::git://git.$pkgbase.org/$pkgbase.git#commit=$_gitcommit" "$pkgbase-addons-$pkgver::git://git.$pkgbase.org/$pkgbase-addons.git#commit=$_gitaddonscommit" "$pkgbase-translations-$pkgver::git://git.$pkgbase.org/$pkgbase-translations.git#commit=$_gittranslationscommit") source+=("git://git.$pkgbase.org/$pkgbase-addons-contrib.git#commit=$_gitaddonscontribcommit" "git://git.$pkgbase.org/scons.git") md5sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP') prepare() { cd $srcdir/$pkgbase-$pkgver git submodule init git config submodule.'release/scripts/addons'.url $srcdir/$pkgbase-addons-$pkgver git config submodule.'release/scripts/addons_contrib'.url $srcdir/$pkgbase-addons-contrib git config submodule.'release/datafiles/locale'.url $srcdir/$pkgbase-translations-$pkgver git config submodule.'scons'.url $srcdir/scons git submodule update msg 'renaming wrong OS name' [[ $(uname -o) == GNU ]] && sed -i 's|BUILD_PLATFORM;|"GNU";|' source/creator/buildinfo.c [[ $(uname -o) == GNU/Linux ]] && sed -i 's|BUILD_PLATFORM;|"GNU/Linux";|' source/creator/buildinfo.c [[ $(uname -o) == GNU/kFreeBSD ]] && sed -i 's|BUILD_PLATFORM;|"GNU/kFreeBSD";|' source/creator/buildinfo.c sed -i 's|Linux, Mac OS X, Windows and FreeBSD|GNU and BSD| s|Linux, FreeBSD|GNU and BSD| s|Unpack the archive, Then run the Blender executable.|Install from Parabola repo (pacman -S '"$pkgname"'), Then run blender.| \|Windows|d;\|Mac OS X|d s|The downloaded Blender package includes|The '"${pkgname^}"' package includes| ' release/text/readme.html sed -i 's|Linux|GNU| ' release/scripts/{addons/game_engine_save_as_runtime,modules/bl_i18n_utils/utils_rtl}.py sed -i 's| (.so under Linux, .dll under windows...)| (.so under GNU or BSD, .dll under Wine or ReactOS...)| ' release/scripts/{addons/ui_translate,modules/bl_i18n_utils}/settings.py msg 'removing Open Source term' sed -i 's|free, open source|free| s|free and open-source|free| s|open-source and free|free| ' release/text/readme.html msg 'fixing povray-libre path and desc' sed -i "s|FILE_PATH',|FILE_PATH',\n default='/usr/bin/povray',| s|both POV-Ray 3[.]7 and this script are beta|this script is beta| " release/scripts/addons/render_povray/__init__.py mkdir -v build } build() { cd $srcdir/$pkgbase-$pkgver/build [[ $CARCH == x86_64 || $CARCH == i686 ]] && _SSE=ON _SSE2=ON || _SSE=OFF _SSE2=OFF cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_FLAGS_RELEASE="-fno-delete-null-pointer-checks -DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE="-fno-delete-null-pointer-checks -DNDEBUG" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCYCLES_OSL=/usr \ -DLLVM_STATIC=OFF \ -DLLVM_VERSION=$_llvmver \ -DOPENIMAGEIO_ROOT_DIR=/usr \ -DOPENJPEG_INCLUDE_DIR=/usr/include/openjpeg-$_jpgver \ -DOSL_INCLUDES=/usr/include/OSL \ -DPYTHON_INCLUDE_DIRS=/usr/include/python${_pyver}m \ -DPYTHON_LIBPATH=/usr/lib \ -DPYTHON_LIBRARY=python${_pyver}m \ -DPYTHON_VERSION=$_pyver \ -DSUPPORT_SSE_BUILD=$_SSE \ -DSUPPORT_SSE2_BUILD=$_SSE2 \ -DWITH_AUDASPACE=ON \ -DWITH_ASSERT_ABORT=OFF \ -DWITH_BLENDER=ON \ -DWITH_BOOST=ON \ -DWITH_BOOST_ICU=OFF \ -DWITH_BUILDINFO=ON \ -DWITH_BULLET=ON \ -DWITH_CODEC_AVI=ON \ -DWITH_CODEC_FFMPEG=ON \ -DWITH_CODEC_SNDFILE=ON \ -DWITH_COMPOSITOR=ON \ -DWITH_CXX_GUARDEDALLOC=OFF \ -DWITH_CYCLES=ON \ -DWITH_CYCLES_CUDA_BINARIES=OFF \ -DWITH_CYCLES_OSL=ON \ -DWITH_CYCLES_STANDALONE=ON \ -DWITH_CYCLES_STANDALONE_GUI=ON \ -DWITH_FFTW3=ON \ -DWITH_FREESTYLE=ON \ -DWITH_GAMEENGINE=ON \ -DWITH_GCC_MUDFLAP=OFF \ -DWITH_GHOST_DEBUG=OFF \ -DWITH_GHOST_SDL=OFF \ -DWITH_GHOST_XDND=ON \ -DWITH_GTESTS=OFF \ -DWITH_HEADLESS=OFF \ -DWITH_IK_ITASC=ON \ -DWITH_IK_SOLVER=ON \ -DWITH_IMAGE_CINEON=ON \ -DWITH_IMAGE_DDS=ON \ -DWITH_IMAGE_FRAMESERVER=ON \ -DWITH_IMAGE_HDR=ON \ -DWITH_IMAGE_OPENEXR=ON \ -DWITH_IMAGE_OPENJPEG=ON \ -DWITH_IMAGE_REDCODE=ON \ -DWITH_IMAGE_TIFF=ON \ -DWITH_INPUT_NDOF=ON \ -DWITH_INSTALL_PORTABLE=OFF \ -DWITH_INTERNATIONAL=ON \ -DWITH_JACK=ON \ -DWITH_JACK_DYNLOAD=ON \ -DWITH_LIBMV=OFF \ -DWITH_LLVM=ON \ -DWITH_LZMA=ON \ -DWITH_LZO=ON \ -DWITH_MEM_JEMALLOC=OFF \ -DWITH_MEM_VALGRIND=OFF \ -DWITH_MOD_BOOLEAN=ON \ -DWITH_MOD_FLUID=ON \ -DWITH_MOD_OCEANSIM=ON \ -DWITH_MOD_REMESH=ON \ -DWITH_MOD_SMOKE=ON \ -DWITH_OPENAL=ON \ -DWITH_OPENIMAGEIO=ON \ -DWITH_OPENCOLLADA=ON \ -DWITH_OPENCOLORIO=ON \ -DWITH_OPENNL=ON \ -DWITH_OPENMP=ON \ -DWITH_PLAYER=ON \ -DWITH_PYTHON=ON \ -DWITH_PYTHON_INSTALL=OFF \ -DWITH_PYTHON_INSTALL_NUMPY=OFF \ -DWITH_PYTHON_INSTALL_REQUESTS=OFF \ -DWITH_PYTHON_MODULE=OFF \ -DWITH_PYTHON_SAFETY=OFF \ -DWITH_PYTHON_SECURITY=ON \ -DWITH_RAYOPTIMIZATION=ON \ -DWITH_SDL=ON \ -DWITH_STATIC_LIBS=OFF \ -DWITH_SYSTEM_BULLET=OFF \ -DWITH_SYSTEM_GLEW=ON \ -DWITH_SYSTEM_OPENJPEG=ON \ -DWITH_X11_XF86VMODE=ON \ -DWITH_X11_XINPUT=ON # for future blender #-DWITH_MOD_CLOTH_ELTOPO=ON\ # Note: Fix for gcc 4.9 :/ # -DCMAKE_C_FLAGS_RELEASE="-fno-delete-null-pointer-checks -DNDEBUG" # -DCMAKE_CXX_FLAGS_RELEASE="-fno-delete-null-pointer-checks -DNDEBUG" make } package_blender() { cd $srcdir/$pkgbase-$pkgver/build make DESTDIR=$pkgdir install python -m compileall $pkgdir/usr/share/$pkgbase python -O -m compileall $pkgdir/usr/share/$pkgbase msg 'move io_import_gimp_image_to_scene.py and render_povray to blender-addon-gimp and blender-addon-povray' [[ -d $srcdir/$pkgbase-addon-gimp ]] && rm -vr $srcdir/$pkgbase-addon-gimp [[ -d $srcdir/$pkgbase-addon-povray ]] && rm -vr $srcdir/$pkgbase-addon-povray install -vm755 -d $srcdir/$pkgbase-addon-{gimp,povray}/usr/share/$pkgbase/${_pkgver%[a-z]}/scripts/addons mv -v $pkgdir/usr/share/$pkgbase/${_pkgver%[a-z]}/scripts/addons/io_import_gimp_image_to_scene.py \ $srcdir/$pkgbase-addon-gimp/usr/share/$pkgbase/${_pkgver%[a-z]}/scripts/addons mv -v $pkgdir/usr/share/$pkgbase/${_pkgver%[a-z]}/scripts/addons/render_povray \ $srcdir/$pkgbase-addon-povray/usr/share/$pkgbase/${_pkgver%[a-z]}/scripts/addons } package_blender-addon-gimp() { pkgdesc='A addon for the Blender which allows import GIMP 2.6 images (xcf files) to scene (as polygon plane images)' arch=('any') depends=("$pkgbase>=$epoch:$_pkgver" "$pkgbase<$epoch:${_pkgver%%.*}.$((${_pkgver#*.}+1))" 'xcftools') makedepends=() optdepends=('gimp: for edit xcf files') conflicts=("$pkgbase<$epoch:$_pkgver") replaces=() epoch= options=() install= mv -v $srcdir/$pkgbase-addon-gimp/usr $pkgdir } package_blender-addon-povray() { pkgdesc='A addon for the Blender which allows render with POV-Ray' arch=('any') depends=("$pkgbase>=$epoch:$_pkgver" "$pkgbase<$epoch:${_pkgver%%.*}.$((${_pkgver#*.}+1))" 'povray>=3.7') makedepends=() optdepends=() conflicts=("$pkgbase<$epoch:$_pkgver") replaces=() epoch= options=() install= mv -v $srcdir/$pkgbase-addon-povray/usr $pkgdir }