summaryrefslogtreecommitdiffstats
path: root/graphics/Blender
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/Blender')
-rw-r--r--graphics/Blender/Blender.SlackBuild26
-rw-r--r--graphics/Blender/Blender.info8
-rw-r--r--graphics/Blender/README22
-rw-r--r--graphics/Blender/README.Slackware95
-rw-r--r--graphics/Blender/overloaded_min.diff51
5 files changed, 56 insertions, 146 deletions
diff --git a/graphics/Blender/Blender.SlackBuild b/graphics/Blender/Blender.SlackBuild
index 6436396a75..90999a35a7 100644
--- a/graphics/Blender/Blender.SlackBuild
+++ b/graphics/Blender/Blender.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for Blender
-# Copyright 2015-2022 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
@@ -25,13 +25,13 @@
# 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.
+# - add patch to fix 32-bit compilation. (no longer needed)
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=Blender
-VERSION=${VERSION:-3.0.1}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-3.3.10}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -54,7 +54,7 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
fi
TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$SRCNAM
+PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
@@ -102,8 +102,9 @@ 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 {} \+
-# 20220322 bkw: 32-bit needs this
-[ -z "$LIBDIRSUFFIX" ] && patch -p1 < $CWD/overloaded_min.diff
+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
@@ -157,10 +158,13 @@ EOF
chmod 0755 $PKG/usr/bin/$bin
done
-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
+# 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/
diff --git a/graphics/Blender/Blender.info b/graphics/Blender/Blender.info
index c4c49dc934..967d92ba92 100644
--- a/graphics/Blender/Blender.info
+++ b/graphics/Blender/Blender.info
@@ -1,10 +1,10 @@
PRGNAM="Blender"
-VERSION="3.0.1"
+VERSION="3.3.10"
HOMEPAGE="https://blender.org"
-DOWNLOAD="https://download.blender.org/source/blender-3.0.1.tar.xz"
-MD5SUM="41cccf2fe68b9b307204e9b9b2278b0c"
+DOWNLOAD="https://download.blender.org/source/blender-3.3.10.tar.xz"
+MD5SUM="a190dbfc5dfd490d737ee64ba68ce79c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="potrace OpenSubdiv pugixml jack opencollada valgrind numpy3 openimageio freealut"
+REQUIRES="potrace OpenSubdiv pugixml jack opencollada valgrind python3-numpy openimageio freealut tbb"
MAINTAINER="Christoph Willing"
EMAIL="chris.willing@linux.com"
diff --git a/graphics/Blender/README b/graphics/Blender/README
index 2cefbda47d..8fd9285fea 100644
--- a/graphics/Blender/README
+++ b/graphics/Blender/README
@@ -9,7 +9,7 @@ scripting, rendering, compositing, post-production and game creation.
CUDA support is included if cudatoolkit is installed.
It may be disabled by passing CUDA=no when building:
- CUDA=no sh ./Blender.SlackBuild
+ CUDA=no bash ./Blender.SlackBuild
CUDA support hasn't been thorougly tested, and may break the build. If
so, build with CUDA=no and report a bug to the maintainer of this
@@ -17,10 +17,28 @@ script.
Optional dependency: embree. If installed, Blender will be built with
support for it. It may be disabled by passing EMBREE=no when building:
- EMBREE=no sh ./Blender.SlackBuild
+ EMBREE=no bash ./Blender.SlackBuild
Note for 32-bit users: embree is 64-bit only, and can't be built on
32-bit Slackware.
+Optional dependency: alembic-framework. If already installed, it will
+be automatically detected and incorporated when Blender is built.
+
+To enable support for OptiX Ray Tracing Engine, the OptiX SDK must be
+available in the build environment. Use the OPTIX_ROOT_DIR environment
+variable to identify the SDK location e.g.
+ OPTIX_ROOT_DIR=/home/chris/NVIDIA-OptiX-SDK-7.6.0-linux64-x86_64 bash ./Blender.SlackBuild
+
+Optional dependency: OpenShadingLanguage (OSL). If already installed,
+it will be automatically detected and incorporated when Blender is built.
+Due to an unresolved issue with the current OSL version, generation of
+the blender manpage is suppressed when OSL is detected.
+
+
+This SlackBuild builds Blender from source code. For Slackware 15.0,
+due to its Python 3 version of 3.9.17, the Blender version to be built
+is restricted to version 3.3.10.
+
See also: graphics/blender (note, lowercase B), which repackages the
official Blender x86_64 release binary.
diff --git a/graphics/Blender/README.Slackware b/graphics/Blender/README.Slackware
index 2371484de5..36aca39941 100644
--- a/graphics/Blender/README.Slackware
+++ b/graphics/Blender/README.Slackware
@@ -3,81 +3,20 @@ an existing binary version. The process is therefore more complex and
time consuming but allows finer tuning of capabilities of the resulting
package. Working through the prerequisite packages from the REQUIRES field
of Blender.info results in the following basic build order:
- multimedia/ffmpeg
- audio/jack
- libraries/opencv
- graphics/opencollada
- libraries/OpenAL
- python/python3
- python/python-requests
- development/valgrind
- libraries/libwebp
- development/numpy3
- development/SDL2
- graphics/opencolorio
- graphics/openimageio
- libraries/freealut
- graphics/Blender
-
-When generating a new build order, python3 should first be added to the
-REQUIRES field of python-requests.info.
-
-To facilitate the greatest utility for Blender, its is strongly
-suggested that a number of standard SBo packages be built with
-a more complete set of features than provided by the default scripts:
- 1. the opencv package could/should first be built with additional
-features by preinstalling some other packages e.g.
-REQUIRES="
-opencl-headers libjpeg-turbo ffmpeg Sphinx libdc1394
-numpy3 gtkglext tbb jdk
-"
-The cmake configuration in opencv.SlackBuild can be replaced with:
- cmake \
- -DCMAKE_C_FLAGS="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
- -DCMAKE_BUILD_TYPE="Release" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=ON \
- -DENABLE_PRECOMPILED_HEADERS=OFF \
- -DLIB_SUFFIX=$LIBDIRSUFFIX \
- -DWITH_TBB=ON \
- -DWITH_OPENCL=ON \
- -DWITH_OPENGL=ON \
- -DWITH_QT=ON \
- -DWITH_XINE=ON \
- -DBUILD_EXAMPLES=ON \
- -DINSTALL_C_EXAMPLES=ON \
- -DINSTALL_PYTHON_EXAMPLES=ON \
- -DBUILD_NEW_PYTHON_SUPPORT=ON \
- -DWITH_FFMPEG=ON \
- -DCMAKE_SKIP_RPATH=ON \
- -DWITH_1394:BOOL=ON \
- ..
-
-If resources allow, the very large cudatoolkit package is another
-possible package which may be preinstalled and be utilised by the
-opencv build process.
-
-Blender itself can also use cudatoolkit to provide GPU rendering in
-systems with NVidia GPU cards. In this case, the SlackBuild will
-enable CUDA support if a cudatoolkit installation is detected at
-build time. In the unlikely CUDA support is not wanted despite cudatoolkit
-being available at build time, set the CUDA environment variable to "no"
-when running the SlackBuild e.g.
- CUDA=no sh ./Blender.SlackBuild
-
-NB. Blender-2.83.0 and above requires a newer cudatoolkit than available
-at SBo. If the SBo cudatoolkit is nevertheless installed for other reasons,
-please use CUDA=no when running the SlackBuild.
-
- 2. the ffmpeg package could/should first be built with additional
-features by preinstalling some other packages e.g.
-REQUIRES="lame x264
-speex libbluray xvidcore OpenAL libmodplug frei0r libdc1394 libavc1394
-libiec61883 ladspa_sdk gsm rtmpdump libva twolame celt faac dirac schroedinger"
-
- 3. the numpy SlackBuild at SBo does not build the python3 modules
-which are needed to be useful for any numpy-related python scripting in
-blender. It is therefore numpy3 which is the prerequisite for this build
-of blender.
-
+ libraries/libaec
+ development/python3-numpy
+ graphics/OpenSubdiv
+ graphics/opencollada
+ libraries/freealut
+ libraries/tbb
+ audio/jack
+ libraries/robin-map
+ libraries/hdf5
+ python/pybind11
+ graphics/opencolorio
+ development/valgrind
+ libraries/pugixml
+ graphics/potrace
+ libraries/dcmtk
+ graphics/openimageio
+ graphics/Blender
diff --git a/graphics/Blender/overloaded_min.diff b/graphics/Blender/overloaded_min.diff
deleted file mode 100644
index 5612d01599..0000000000
--- a/graphics/Blender/overloaded_min.diff
+++ /dev/null
@@ -1,51 +0,0 @@
-diff -Naur blender-3.0.1/intern/cycles/scene/hair.cpp blender-3.0.1.patched/intern/cycles/scene/hair.cpp
---- blender-3.0.1/intern/cycles/scene/hair.cpp 2021-10-27 15:21:51.000000000 -0400
-+++ blender-3.0.1.patched/intern/cycles/scene/hair.cpp 2022-03-22 14:54:15.181140060 -0400
-@@ -119,7 +119,7 @@
- {
- /* Figure out which steps we need to fetch and their interpolation factor. */
- const size_t max_step = num_steps - 1;
-- const size_t step = min((int)(time * max_step), max_step - 1);
-+ const size_t step = min((int)(time * max_step), (int)(max_step - 1));
- const float t = time * max_step - step;
- /* Fetch vertex coordinates. */
- float4 curr_keys[2];
-@@ -147,7 +147,7 @@
- {
- /* Figure out which steps we need to fetch and their interpolation factor. */
- const size_t max_step = num_steps - 1;
-- const size_t step = min((int)(time * max_step), max_step - 1);
-+ const size_t step = min((int)(time * max_step), (int)(max_step - 1));
- const float t = time * max_step - step;
- /* Fetch vertex coordinates. */
- float4 curr_keys[4];
-@@ -192,7 +192,7 @@
- float4 r_keys[2]) const
- {
- k0 = max(k0, 0);
-- k1 = min(k1, num_keys - 1);
-+ k1 = min((int)k1, (int)(num_keys - 1));
- const size_t center_step = ((num_steps - 1) / 2);
- if (step == center_step) {
- /* Center step: regular key location. */
-@@ -238,7 +238,7 @@
- float4 r_keys[4]) const
- {
- k0 = max(k0, 0);
-- k3 = min(k3, num_keys - 1);
-+ k3 = min((int)k3, (int)(num_keys - 1));
- const size_t center_step = ((num_steps - 1) / 2);
- if (step == center_step) {
- /* Center step: regular key location. */
-diff -Naur blender-3.0.1/intern/cycles/scene/mesh.cpp blender-3.0.1.patched/intern/cycles/scene/mesh.cpp
---- blender-3.0.1/intern/cycles/scene/mesh.cpp 2021-10-27 15:21:51.000000000 -0400
-+++ blender-3.0.1.patched/intern/cycles/scene/mesh.cpp 2022-03-22 15:35:52.169528851 -0400
-@@ -53,7 +53,7 @@
- {
- /* Figure out which steps we need to fetch and their interpolation factor. */
- const size_t max_step = num_steps - 1;
-- const size_t step = min((int)(time * max_step), max_step - 1);
-+ const size_t step = min((int)(time * max_step), (int)(max_step - 1));
- const float t = time * max_step - step;
- /* Fetch vertex coordinates. */
- float3 curr_verts[3];