PKGBUILDs/community/blender/PKGBUILD
2018-12-05 20:53:49 +00:00

132 lines
5.6 KiB
Bash

# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: John Sowiak <john@archlinux.org>
# Contributor: tobias <tobias@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - remove makedepend, optdepend on cuda
# - set -DWITH_CYCLES_CUDA_BINARIES=OFF, -DWITH_CYCLES=OFF, -DWITH_RAYOPTIMIZATION=OFF
buildarch=12
# Sometimes blender.org takes some time to release patch releases and because Arch users
# are impatient, 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.
# _gittag=v2.79b
_gitcommit=32432d91bbec558cbd88e54aece61b0d641c1761
pkgname=blender
pkgver=2.79.b
[[ -n $_gitcommit ]] && pkgver=${pkgver}.git3.${_gitcommit:0:8}
pkgrel=12
epoch=17
pkgdesc="A fully integrated 3D graphics creation suite"
arch=('x86_64')
license=('GPL')
url="http://www.blender.org"
depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' 'python-requests'
'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' 'openjpeg' 'python-numpy'
'freetype2' 'openal' 'ffmpeg' 'fftw' 'boost-libs' 'opencollada' 'alembic'
'openimageio' 'libsndfile' 'jack' 'opencolorio' 'openshadinglanguage'
'jemalloc' 'libspnav' 'ptex' 'opensubdiv' 'openvdb' 'log4cplus' 'sdl2')
makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm')
options=(!strip)
source=("git://git.blender.org/blender-addons.git"
"git://git.blender.org/blender-addons-contrib.git"
"git://git.blender.org/blender-translations.git"
"git://git.blender.org/blender-dev-tools.git"
"git://git.blender.org/scons.git"
python37.patch
ffmpeg4.0.patch
tree_hpp.patch
util_sseb.patch
openvdb3-abi.patch
stl_export_iter.patch
gcc8.patch
opencollada1.patch
opencollada2.patch)
if [[ -n $_gittag ]]; then
source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#tag=${_gittag}")
elif [[ -n $_gitcommit ]]; then
source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#commit=${_gitcommit}")
fi
sha512sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'e6b83d61cf1b48ce78aca11e04196c638f5510f84efc4fb1bd4554f54e0e6ab92911bcd8606845116f4257d0898fa52c026f402f934e1eb7f01bbe96d0afae2c'
'446dd46557c7c976a68010c62e04693c61171980abea1cd0a900b00bcc3d525b83bb6ee200739623110e592e37e8f4783a18f234b40e9f85483830ea9785640d'
'6c0a619fe8fbc215a9a7c9d4b9c6fc5ec355c37212ec41b05b50787465354bbc7200e76eaafba46a2253196391838190d3de3b2be132095d2162142940e87924'
'429ffb6d36efb04c02d506858fc2691ea927ca486d950313dcb0c94d535a66409a14863807e69adc657dafbe243d0aad15cfaadf9f27bdc7c7759211da3fb8a8'
'2bd8c59ab8f163b6c7f89b6dfe8aacee3307dae6ecdc0d4878e1376ba29584c891171edd0a57f12241a98e0dd43efff0675a16708d34122bc22faebe3fd8e181'
'51f30acc407179f003d1dbec25fb47b0bf1fe8d2eb16e069a6ca83ab8b21f6032d636a42e0b140537ad1ad25ad38c52a87a2a33e51822729ab196fcef4682818'
'86f8d6c766644090bb59715b219db74f7acbe31dcd92dc1ecc32beedc1c894a98d2875e9078efa9994511b79e094277a943746dd602be6bc33ba37b7a8a41269'
'aea74c8d88e01703b46c5ee4e5a118aaeacfa0ace23e1fffd1b01d0395bafffa9012df22eca43050756f6dd8fb46c663eef1de3e061ca1911eaf1c2a0e01e58d'
'31d0f2045f88cbdb1d5720775aa49eff4672f06def1bbbd9f85da363e93143375cda84259a3e8c9000f3fe70c58ee7e1de791b5dc95d4982e559b43700bd0a2a'
'SKIP')
prepare() {
cd "$srcdir/$pkgname-$pkgver"
git submodule init
git config submodule."release/scripts/addons".url ${srcdir}/blender-addons
git config submodule."release/scripts/addons_contrib".url ${srcdir}/blender-addons-contrib
git config submodule."release/datafiles/locale".url ${srcdir}/blender-translations
git config submodule."source/tools".url ${srcdir}/blender-dev-tools
git config submodule."scons".url ${srcdir}/scons
git submodule update
patch -Np1 -i "$srcdir"/python37.patch
patch -Np1 -i "$srcdir"/ffmpeg4.0.patch
patch -Np1 -i "$srcdir"/tree_hpp.patch
patch -Np1 -i "$srcdir"/util_sseb.patch
patch -Np1 -i "$srcdir"/openvdb3-abi.patch
patch -Np1 -i "$srcdir"/stl_export_iter.patch
patch -Np1 -i "$srcdir"/gcc8.patch
patch -Np1 -i "$srcdir"/opencollada1.patch
patch -Np1 -i "$srcdir"/opencollada2.patch
}
build() {
cd "$srcdir/$pkgname-$pkgver"
[[ -d build ]] && rm -rf build
mkdir build && cd build
cmake -C../build_files/cmake/config/blender_release.cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_INSTALL_PORTABLE=OFF \
-DWITH_PYTHON_INSTALL=OFF \
-DOPENIMAGEIO_ROOT_DIR=/usr \
-DWITH_SYSTEM_OPENJPEG=ON \
-DWITH_GL_PROFILE_CORE=OFF \
-DWITH_GL_PROFILE_ES20=OFF \
-DWITH_LLVM=ON \
-DWITH_CYCLES_CUDA_BINARIES=OFF \
-DWITH_CYCLES_PTEX=OFF \
-DWITH_CYCLES=OFF \
-DWITH_RAYOPTIMIZATION=OFF \
-DPYTHON_VERSION=3.7 \
-DPYTHON_LIBPATH=/usr/lib \
-DPYTHON_LIBRARY=python3.7m \
-DPYTHON_INCLUDE_DIRS=/usr/include/python3.7m
make
# PTEX is currently broken and experimental in blender anyway
}
package() {
cd "$srcdir/$pkgname-$pkgver/build"
make DESTDIR="${pkgdir}" install
install -Dm755 ../release/bin/blender-softwaregl "${pkgdir}/usr/bin/blender-softwaregl"
python -m compileall "${pkgdir}/usr/share/blender"
python -O -m compileall "${pkgdir}/usr/share/blender"
}