summaryrefslogtreecommitdiff
path: root/extra/blender/PKGBUILD
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /extra/blender/PKGBUILD
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'extra/blender/PKGBUILD')
-rw-r--r--extra/blender/PKGBUILD143
1 files changed, 143 insertions, 0 deletions
diff --git a/extra/blender/PKGBUILD b/extra/blender/PKGBUILD
new file mode 100644
index 000000000..9def1bfa1
--- /dev/null
+++ b/extra/blender/PKGBUILD
@@ -0,0 +1,143 @@
+# $Id: PKGBUILD 101917 2010-12-02 16:14:10Z ibiru $
+# Contributor: John Sowiak <john@archlinux.org>
+# Maintainer: tobias <tobias@archlinux.org>
+
+# TODO:
+# - consider switching to scons when it is better supported
+
+# Apparently, the blender guys refuse to release source tarballs for
+# intermediate releases that deal mainly with binaries but incorporate tiny
+# minor changes from cvs. 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 cvs
+# tags if necessary.
+#cvs=true
+cvs=false
+
+pkgname=blender
+pkgver=2.49b
+pkgrel=2
+pkgdesc="A fully integrated 3D graphics creation suite"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.blender.org"
+depends=('libjpeg' 'libpng' 'openexr' 'sdl' 'python2' 'desktop-file-utils' \
+ 'gettext' 'libxi' 'libxmu' 'mesa' 'freetype2' 'openal')
+makedepends=('freeglut' 'libtiff' 'librsvg' 'yasm' 'csv')
+options=('!makeflags')
+install=blender.install
+source=($pkgname.desktop $pkgname.svg)
+if [ ! $cvs -o $cvs = false ]; then
+ makedepends=('freeglut' 'libtiff' 'librsvg' 'yasm')
+ source=(${source[@]} http://download.blender.org/source/$pkgname-$pkgver.tar.gz)
+ md5sums=('b5b9720b9430b1f5e2aa0b2df533fed8'
+ '0e53299444ff5570639c8f59372bc98c'
+ '718eef6a4ff377989e829b92a886cc5b')
+ sha1sums=('9ae82b5df21b4803f981e3df4a256b4be7137273'
+ '1e5452f56f590d5ce1af8c174113f0e639714c0c'
+ '43f71e7de4efe79c518d45f4b5a04e03c28d5fc5')
+fi
+
+build() {
+ if [ $cvs = true ]; then
+ cd "$srcdir/"
+ #cvs -d:pserver:anonymous@cvs.blender.org:/cvsroot/bf-blender login
+ cvs -z3 -d:pserver:anonymous@cvs.blender.org:/cvsroot/bf-blender checkout $pkgname
+ _cvsrel=$pkgname-$(echo $pkgver | sed 's/\./-/')-release
+ cvs -d:pserver:anonymous@cvs.blender.org:/cvsroot/bf-blender update -r $_cvsrel
+ find $pkgname/{bin,release/scripts} -name 'CVS' -exec rm -rf {} \; 2> /dev/null
+ cd $pkgname
+ else
+ cd "$srcdir/$pkgname-$pkgver"
+ fi
+
+ rm -f user-def.mk
+
+ ##########################################################################
+ # tweak the makefiles to prepare build for ArchLinux
+ # disable static binaries and enable blenderplayer binary
+ sed -i "s|^.*\(BINTARGETS += blenderstatic\)| #\1|g" source/Makefile
+ sed -i "s|^#\(.*BINTARGETS += blenderplayer\)|\1|g" source/Makefile
+ # link freetype and openal dynamically
+ sed -i 's|LOPTS)|LOPTS) -lfreetype -lopenal|g' source/Makefile
+ sed -i 's|COMLIB.*libfreetype\.a|#\0|g' source/Makefile
+ sed -i 's|NAN_SND_LIBS.*libopenal\.a|#\0|g' source/Makefile
+ # make ode (alternative physics engine)
+ # does not work for Arch64
+ #[ "$CARCH" = "i686" ] && sed -i 's|^\(DIRS.*\)$|\1 ode|' extern/Makefile
+ # make the nan_makefiles happy
+ export NAN_PYTHON_VERSION=2.7
+ export INTERNATIONAL=true
+ export WITH_FREETYPE2=true
+ export NAN_FREETYPE=/usr
+ export WITH_ICONV=true
+
+ export NAN_NO_PLUGIN=true
+
+ export NAN_OPENAL=/usr
+ export NAN_FMOD=/usr
+ export NAN_JPEG=/usr
+ export NAN_PNG=/usr
+ export WITH_OPENEXR=true
+ export NAN_OPENEXR=/usr
+ export NAN_ODE=/usr
+ export NAN_OPENEXR_LIBS=$(pkg-config --libs-only-l OpenEXR)
+
+ export NAN_SDL=/usr
+ export NAN_ZLIB=/usr
+ export NAN_MESA=/usr
+
+ export NAN_USE_BULLET=true
+ export NAN_USE_FFMPEG_CONFIG=true
+ export WITH_BF_VERSE=true
+ export WITH_VERSE=true
+ export WITH_BF_OPENMP=true
+ # there is an issue with a file
+ export NAN_DEBUG=-O
+ ###########################################################################
+ # build
+ LDFLAGS="-Wl,--hash-style=gnu"
+ make
+ ###########################################################################
+}
+
+package() {
+ if [ $cvs = true ]; then
+ cd "$srcdir/$pkgname"
+ else
+ cd "$srcdir/$pkgname-$pkgver"
+ fi
+
+ cd obj/linux-glibc2*/bin
+
+# common part
+
+ mkdir -p "$pkgdir/usr/share/"
+
+ # install binaries
+ install -Dm755 blender "$pkgdir/usr/bin/blender"
+ install -Dm755 blenderplayer "$pkgdir/usr/bin/blenderplayer"
+
+ # install internationalization support
+ cd ../../../bin/.blender
+ install -D -m644 .Blanguages \
+ "$pkgdir/usr/share/$pkgname/.Blanguages"
+ install -D -m644 .bfont.ttf \
+ "$pkgdir/usr/share/$pkgname/.bfont.ttf"
+
+ cp -R locale "$pkgdir/usr/share/"
+
+ # install scripts
+ cd ../../release/
+ cp -R scripts "$pkgdir/usr/share/$pkgname/"
+sed -i 's|#!/usr/bin/python|#!/usr/bin/python2|' "$pkgdir/usr/share/blender/scripts/bpymodules/blend2renderinfo.py"
+
+ # install all additional stuff
+ # install a freedesktop.org compliant menu entry
+ install -Dm644 "$srcdir/$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
+ # install some freedesktop.org compatibility
+ install -D -m644 "$srcdir/$pkgname.svg" "$pkgdir/usr/share/pixmaps/$pkgname.svg"
+ # finally we render a png as fallback for not svg aware menu applications
+ # Attention: always make sure you check the dimensions of the source-svg,
+ # you can read the dimensions via inkscape's export function
+ rsvg -w 64 -h 64 -f png "$pkgdir/usr/share/pixmaps/$pkgname.svg" "$pkgdir/usr/share/pixmaps/$pkgname.png"
+}