This script builds Blender from its source code, rather than repackaging
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.