diff options
Diffstat (limited to 'graphics/Blender/Blender.SlackBuild')
-rw-r--r-- | graphics/Blender/Blender.SlackBuild | 54 |
1 files changed, 33 insertions, 21 deletions
diff --git a/graphics/Blender/Blender.SlackBuild b/graphics/Blender/Blender.SlackBuild index 972e3faaf2..a8c4ca8b9d 100644 --- a/graphics/Blender/Blender.SlackBuild +++ b/graphics/Blender/Blender.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for Blender -# Copyright 2015-2018 Christoph Willing Brisbane, Australia +# Copyright 2015-2021 Christoph Willing, Brisbane Australia # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,12 +22,14 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -SRCNAM=blender -PKGNAM=Blender -VERSION=${VERSION:-2.79b} -BASE_VERSION=${BASE_VERSION:-$( echo $VERSION | sed -e 's/[^0-9.]*//g')} +PRGNAM=Blender +VERSION=${VERSION:-2.83.8} BUILD=${BUILD:-3} TAG=${TAG:-_SBo} + +SRCNAM=blender + +BASE_VERSION=${BASE_VERSION:-$( echo $VERSION | sed -e 's/[^0-9.]*//g')} PYTHON_VERSION=$(python3 -c "import sys; print(sys.version[:3])") if [ -z "$ARCH" ]; then @@ -67,14 +69,30 @@ if [ -d /usr/include/cuda ]; then fi fi +embree="" +if [ -d /usr/include/embree3 ]; then + # If embree is installed, assume we want to use it + embree="-DWITH_CYCLES_EMBREE=ON" + # However disable embree if requested by e.g. EMBREE=no + if [ ${EMBREE:-yes} != "yes" ]; then + embree="-DWITH_CYCLES_EMBREE=OFF" + fi +fi + set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $SRCNAM-$VERSION -tar xvf $CWD/$SRCNAM-$VERSION.tar.gz +tar xvf $CWD/$SRCNAM-$VERSION.tar.xz cd $SRCNAM-$VERSION +patch -p0 < $CWD/01_FindEmbree_so.diff +if [ ${FORCE_FFMPEG4:-no} = "yes" ]; then + echo "Force use of ffmpeg4" + SLKCFLAGS="$SLKCFLAGS -I/usr/include/ffmpeg4 -L/usr/lib${LIBDIRSUFFIX}/ffmpeg4" + sed -i -e "s|\"exitcode=0\"|&,\"LD_LIBRARY_PATH\":\"/usr/lib$LIBDIRSUFFIX/ffmpeg4\"|g" doc/manpage/blender.1.py +fi chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -82,17 +100,12 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -patch -p0 < $CWD/buildinfo-$VERSION.diff -patch -p1 < $CWD/use-libopenmj2-for-openjpeg.diff -patch -p1 < $CWD/PyRNA-python3.7.diff - mkdir -p build cd build cmake ../ \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DWITH_CXX11=ON \ -DWITH_INSTALL_PORTABLE:BOOL=OFF \ -DWITH_BUILDINFO:BOOL=ON \ -DWITH_OPENCOLLADA:BOOL=ON \ @@ -107,10 +120,9 @@ cd build -DPYTHON_LIBPATH:PATH=/usr/lib${LIBDIRSUFFIX} \ -DWITH_CODEC_SNDFILE:BOOL=ON \ -DWITH_FFTW3:BOOL=ON \ - -DWITH_GAMEENGINE:BOOL=ON \ - -DWITH_PLAYER:BOOL=ON \ -DWITH_IMAGE_OPENJPEG:BOOL=ON \ - -DWITH_SYSTEM_OPENJPEG:BOOL=ON \ + -DWITH_SYSTEM_EIGEN3:BOOL=OFF \ + -DWITH_SYSTEM_GLEW:BOOL=OFF \ -DWITH_SYSTEM_LZO:BOOL=ON \ -DWITH_MEM_JEMALLOC:BOOL=ON \ -DWITH_MEM_VALGRIND:BOOL=ON \ @@ -119,6 +131,7 @@ cd build -DWITH_SDL_DYNLOAD:BOOL=ON \ -DCMAKE_BUILD_TYPE=Release \ $cuda \ + $embree \ make make install DESTDIR=$PKG @@ -127,13 +140,12 @@ cd .. find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true -BLENDERBINS="blender blenderplayer" +BLENDERBINS="blender" for bin in $BLENDERBINS ; do mv $PKG/usr/bin/$bin $PKG/usr/bin/$bin.bin cat <<EOF >$PKG/usr/bin/$bin #!/bin/sh -#export PYTHONPATH=/usr/share/$SRCNAM/$BASE_VERSION/python/lib$LIBDIRSUFFIX/python$PYTHON_VERSION -export LD_LIBRARY_PATH=/usr/lib$LIBDIRSUFFIX/opencollada +export LD_LIBRARY_PATH=/usr/lib$LIBDIRSUFFIX/opencollada:/usr/lib$LIBDIRSUFFIX/ffmpeg4 exec $bin.bin "\$@" EOF chmod 0755 $PKG/usr/bin/$bin @@ -144,14 +156,14 @@ mkdir -p $PKG/usr/man/man1 find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done -mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION -mv $PKG/usr/share/doc/$SRCNAM/* $PKG/usr/doc/$PKGNAM-$VERSION/ +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +mv $PKG/usr/share/doc/$SRCNAM/* $PKG/usr/doc/$PRGNAM-$VERSION/ rm -rf $PKG/usr/share/doc -cat $CWD/$PKGNAM.SlackBuild > $PKG/usr/doc/$PKGNAM-$VERSION/$PKGNAM.SlackBuild +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} |