summaryrefslogtreecommitdiffstats
path: root/graphics/Blender/Blender.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/Blender/Blender.SlackBuild')
-rw-r--r--graphics/Blender/Blender.SlackBuild60
1 files changed, 37 insertions, 23 deletions
diff --git a/graphics/Blender/Blender.SlackBuild b/graphics/Blender/Blender.SlackBuild
index 4d8d8cb152..90999a35a7 100644
--- a/graphics/Blender/Blender.SlackBuild
+++ b/graphics/Blender/Blender.SlackBuild
@@ -1,8 +1,8 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for Blender
-# Copyright 2015-2021 Christoph Willing, Brisbane Australia
+# Copyright 2015-2024 Christoph Willing, Sydney Australia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,15 +22,23 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20220322 bkw: Modified by SlackBuilds.org, BUILD=2:
+# - make embree optional (makes it possible to build Blender on 32-bit,
+# since embree is 64-bit-only).
+# - add patch to fix 32-bit compilation. (no longer needed)
+
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=Blender
-VERSION=${VERSION:-2.83.8}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-3.3.10}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
SRCNAM=blender
BASE_VERSION=${BASE_VERSION:-$( echo $VERSION | sed -e 's/[^0-9.]*//g')}
-PYTHON_VERSION=$(python3 -c "import sys; print(sys.version[:3])")
+PYTHON_VERSION=$(python3 -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))')
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -40,9 +48,13 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$SRCNAM
+PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
@@ -69,14 +81,10 @@ 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=OFF"
+# If embree is installed, use it unless user says EMBREE=no.
+if [ -d /usr/include/embree3 -a "${EMBREE:-yes}" = "yes" ]; then
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
@@ -87,13 +95,16 @@ cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.xz
cd $SRCNAM-$VERSION
-patch -p0 < $CWD/01_FindEmbree_so.diff
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
+ -o -perm 511 \) -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
+
+sed -i -e '/#include <stdio.h>/a #include <iostream>' intern/locale/boost_locale_wrapper.cpp
+sed -i -e '/#include "util\/windows.h"/a #include <system_error>' intern/cycles/util/thread.cpp
+sed -i -e '/#include <fstream>/a #include <cstdint>' extern/quadriflow/src/loader.cpp
mkdir -p build
cd build
@@ -127,6 +138,7 @@ cd build
-DCMAKE_BUILD_TYPE=Release \
$cuda \
$embree \
+ -DCMAKE_EXE_LINKER_FLAGS:STRING="-lboost_locale"
make
make install DESTDIR=$PKG
@@ -140,17 +152,19 @@ 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
exec $bin.bin "\$@"
EOF
chmod 0755 $PKG/usr/bin/$bin
done
-mkdir -p $PKG/usr/man/man1
-./doc/manpage/blender.1.py build/bin/blender $PKG/usr/man/man1/blender.1
-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
+# Recent OSL breaks manpage generation
+if [ ! -e "/usr/lib$LIBDIRSUFFIX/liboslcomp.so" ]; then
+ mkdir -p $PKG/usr/man/man1
+ ./doc/manpage/blender.1.py --blender build/bin/blender --output $PKG/usr/man/man1/blender.1
+ 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
+fi
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
mv $PKG/usr/share/doc/$SRCNAM/* $PKG/usr/doc/$PRGNAM-$VERSION/
@@ -162,4 +176,4 @@ 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/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE