# Contributor (Arch): John Sowiak <john@archlinux.org>
# Contributor (Arch): tobias <tobias@archlinux.org>
# Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com>
# Maintainer: Márcio Silva <coadde@parabola.nu>

pkgbase=blender
pkgname=blender
pkgver=2.71
pkgrel=2.parabola3
epoch=14
_jpgver=1.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' 'freetype2' 'glew'
         'hicolor-icon-theme' 'jack' 'libpng' 'libsndfile' 'libspnav' 'libtiff'
         'llvm-libs' 'openal' 'opencolorio' 'opencollada=20140214' 'openexr'
         'openimageio' 'openshadinglanguage=1.4.2' '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'
           #'mesa-libcl: for rendering with optional Mesa OpenCL'
            'povray: for optional renderer with POV-Ray'
            'xcftools: for import GIMP images to scene (pcr repo)'
            '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-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"
source=("http://download.$pkgbase.org/source/$pkgbase-$pkgver.tar.gz")
md5sums=('fc1112adb493ea62e9587ca0e86d6b0d')

prepare() {
  cd $srcdir/$pkgbase-v$pkgver

  msg 'renaming wrong OS name'
  _OS=$(uname -o)
  [[ $_OS == GNU ]] && sed -i 's|BUILD_PLATFORM;|"GNU";|' source/creator/buildinfo.c
  [[ $_OS == GNU/Linux ]] && sed -i 's|BUILD_PLATFORM;|"GNU/Linux";|' source/creator/buildinfo.c
  [[ $_OS == 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-v$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=3.4 \
    -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_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_CYCLES=ON \
    -DWITH_CYCLES_CUDA_BINARIES=OFF \
    -DWITH_CYCLES_OSL=OFF \
    -DWITH_CYCLES_STANDALONE=ON \
    -DWITH_CYCLES_STANDALONE_GUI=ON \
    -DWITH_FFTW3=ON \
    -DWITH_FREESTYLE=ON \
    -DWITH_GAMEENGINE=ON \
    -DWITH_GHOST_XDND=ON \
    -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_OPENMP=ON \
    -DWITH_PLAYER=ON \
    -DWITH_PYTHON=ON \
    -DWITH_PYTHON_INSTALL=OFF \
    -DWITH_PYTHON_INSTALL_NUMPY=OFF \
    -DWITH_PYTHON_INSTALL_REQUESTS=ON \
    -DWITH_PYTHON_MODULE=OFF \
    -DWITH_PYTHON_SAFETY=OFF \
    -DWITH_PYTHON_SECURITY=ON \
    -DWITH_RAYOPTIMIZATION=ON \
    -DWITH_SDL=ON \
    -DWITH_STATIC_LIBS=OFF \
    -DWITH_SYSTEM_GLEW=ON \
    -DWITH_SYSTEM_OPENJPEG=ON \
    -DWITH_X11_XF86VMODE=ON \
    -DWITH_X11_XINPUT=ON
   #-DWITH_MOD_CLOTH_ELTOPO=ON\
   #-DWITH_SYSTEM_BULLET=ON\
  make
}

package() {
  cd $srcdir/$pkgbase-v$pkgver/build

  make DESTDIR=$pkgdir install
  python -m compileall $pkgdir/usr/share/$pkgbase
}