summaryrefslogtreecommitdiff
path: root/community/blender/PKGBUILD
blob: 0f23b4ae58a3b28d4e4812dac2e8ae9c56be3046 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# $Id: PKGBUILD 145008 2011-12-14 03:12:03Z eric $
# Contributor: John Sowiak <john@archlinux.org>
# Contributor: tobias <tobias@archlinux.org>
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>

# Apparently, the blender guys refuse to release source tarballs for
# intermediate releases that deal mainly with binaries but incorporate tiny
# minor changes from svn. Since I'm sick and tired of the urges of users that
# look for release numbers only, we make a messy PKGBUILD that can checkout svn
# release if necessary.

#_svn=true
_svn=false

pkgname=blender
pkgver=2.61
pkgrel=4
epoch=3
pkgdesc="A fully integrated 3D graphics creation suite"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.blender.org"
depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' \
         'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' \
         'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' 'openimageio')
makedepends=('cmake' 'boost' 'cuda-toolkit')
optdepends=('cuda-toolkit: cycles renderer cuda support')
options=(!strip)
install=blender.install
if [ $_svn = false ]; then
  source=(http://download.blender.org/source/$pkgname-$pkgver.tar.gz)
  md5sums=('11a4721ff92286f678bb2e05e5f29c97')
else
  source=(ftp://ftp.archlinux.org/other/${pkgname}/$pkgname-$pkgver.tar.xz)
  md5sums=('7579d1139d0d6025df8afcfca64a65c4')
fi

# source PKGBUILD && mksource
mksource() {
  [[ -x /usr/bin/svn ]] || (echo "svn not found. Install subversion." && return 1)
  _svnver=38016
  _svntrunk="https://svn.blender.org/svnroot/bf-blender/trunk/blender"
  _svnmod="$pkgname-$pkgver"
  mkdir ${pkgname}-$pkgver
  pushd ${pkgname}-$pkgver
  svn co $_svntrunk --config-dir ./ -r $_svnver $_svnmod
  find . -depth -type d -name .svn -exec rm -rf {} \;
  tar -cJf ../${pkgname}-$pkgver.tar.xz ${pkgname}-$pkgver/*
  popd
}

build() {
  cd "$srcdir/$pkgname-$pkgver"
  mkdir build
  cd build

  [[ $CARCH == i686 ]] && ENABLESSE2="-DSUPPORT_SSE2_BUILD:BOOL=OFF"

  cmake .. \
    -DCMAKE_INSTALL_PREFIX:PATH=/usr \
    -DCMAKE_BUILD_TYPE:STRING=Release \
    -DWITH_INSTALL_PORTABLE:BOOL=OFF \
    -DWITH_PYTHON_INSTALL:BOOL=OFF \
    -DWITH_OPENCOLLADA:BOOL=ON \
    -DOPENIMAGEIO_ROOT_DIR:STRING=/usr \
    -DWITH_GAMEENGINE:BOOL=ON \
    -DWITH_PLAYER:BOOL=ON \
    -DWITH_BUILTIN_GLEW:BOOL=OFF \
    -DWITH_CODEC_FFMPEG:BOOL=ON \
    -DWITH_CODEC_SNDFILE:BOOL=ON \
    -DWITH_CYCLES:BOOL=ON \
    -DWITH_CYCLES_CUDA_BINARIES:BOOL=ON \
    -DCUDA_TOOLKIT_ROOT_DIR:STRING=/opt/cuda-toolkit/ \
    -DWITH_FFTW3:BOOL=ON \
    -DWITH_MOD_OCEANSIM:BOOL=ON \
    -DPYTHON_VERSION:STRING=3.2 \
    -DPYTHON_LIBPATH:STRING=/usr/lib \
    -DPYTHON_LIBRARY:STRING=python3.2mu \
    -DPYTHON_INCLUDE_DIRS:STRING=/usr/include/python3.2mu \
    $ENABLESSE2

  make $MAKEFLAGS

  cp -rf "$srcdir"/${pkgname}-$pkgver/release/plugins/* \
    "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/
  cd "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi
  chmod 755 bmake
  make
}

package() {
  cd "$srcdir/$pkgname-$pkgver/build"
  make DESTDIR="${pkgdir}" install
  python -m compileall "${pkgdir}/usr/share/blender"

# install plugins
  install -d -m755 "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture}
  cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/sequence/*.so \
    "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/
  cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/texture/*.so \
    "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/
}