Blender 2.8 Beta

Nuovo script per compilare Blender 2.8. La prima versione mancava di alcune cose.

OpenSubdiv is a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel CPU and GPU architectures. This code path is optimized for drawing deforming surfaces with static topology at interactive framerates.
OpenSubdiv is an API ready to be integrated into 3rd party digital content creation tools. It is not an application, nor a tool that can be used directly to create digital assets.

Alembic is an open computer graphics interchange framework. Alembic distills complex, animated scenes into a non-procedural, application-independent set of baked geometric results. This distillation’ of scenes into baked geometry is exactly analogous to the distillation of lighting and rendering scenes into rendered image data.

Open Shading Language (OSL) is a small but rich language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation.

OpenVDB is an Academy Award-winning open-source C++ library comprising a novel hierarchical data structure and a suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It was developed by DreamWorks Animation for use in volumetric applications typically encountered in feature film production and is now maintained by the Academy Software Foundation (ASWF).

in allegato lo Slackbuilds, gli slackbuilds dlel dipendenze nel mio repository git

#!/bin/sh

# Slackware build script for blender

# Copyright 2015-16 Christoph Willing Brisbane, Australia
# Copyright 2018 Giorgio Peron , Belluno, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  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.8}
GITVERSION=${GITVERSION:-275c627}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PYTHON_VERSION=$(python3 -c "import sys; print(sys.version[:3])")
NUMJOBS=${NUMJOBS:-" -j7 "}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i486 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$SRCNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
# rm -rf $SRCNAM-$GITVERSION
# tar xvf $CWD/$SRCNAM-$GITVERSION.tar.gz
# cd $SRCNAM-$GITVERSION
rm -rf $SRCNAM
git clone git://git.blender.org/blender.git $SRCNAM
cd $SRCNAM
# retrieve submodule
git submodule update --init --recursive
git submodule foreach git checkout master
git submodule foreach git pull --rebase origin master

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 \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;

mkdir -p build
cd build
  cmake ../ \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -DOPENVDB_3_ABI_COMPATIBLE" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -DOPENVDB_3_ABI_COMPATIBLE" \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DWITH_CXX11=ON \
    -DWITH_INSTALL_PORTABLE:BOOL=OFF \
    -DWITH_BUILDINFO:BOOL=ON \
    -DWITH_OPENCOLLADA:BOOL=ON \
    -DWITH_OPENCOLORIO:BOOL=ON \
    -DPYTHON_VERSION=$PYTHON_VERSION \
    -DWITH_PYTHON_INSTALL:BOOL=ON \
    -DWITH_PYTHON_INSTALL_NUMPY:BOOL=ON \
    -DWITH_CODEC_FFMPEG:BOOL=ON \
    -DWITH_OPENAL:BOOL=ON \
    -DWITH_JACK:BOOL=ON \
    -DWITH_JACK_DYNLOAD:BOOL=ON \
    -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_LZO:BOOL=ON \
    -DWITH_MEM_JEMALLOC:BOOL=ON \
    -DWITH_MEM_VALGRIND:BOOL=ON \
    -DWITH_MOD_OCEANSIM:BOOL=ON \
    -DWITH_SDL:BOOL=ON \
    -DWITH_SDL_DYNLOAD:BOOL=ON \
    -DCMAKE_BUILD_TYPE=Release \
    -DWITH_ALEMBIC=ON \
    -DWITH_SYSTEM_GLEW=ON \
    -DWITH_CYCLES_OPENSUBDIV=ON \
    -DWITH_CYCLES_OSL=ON \
    -DWITH_LLVM=ON \
    -DWITH_IMAGE_OPENEXR=ON \
    -DWITH_OPENSUBDIV=ON \
    -DWITH_OPENVDB=ON \
    -DWITH_OPENVDB_BLOSC=ON \
    -DOPENVDB_3_ABI_COMPATIBLE=ON \
    # -DWITH_CYCLES_CUDA_BINARIES=ON \
    # -DCYCLES_CUDA_BINARIES_ARCH="sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_62;sm_70" \

  make $NUMJOBS
  make install DESTDIR=$PKG
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"
for bin in $BLENDERBINS ; do
  mv $PKG/usr/bin/$bin $PKG/usr/bin/$bin.bin
  cat < $PKG/usr/bin/$bin
#!/bin/sh
export PYTHONPATH=/usr/share/$SRCNAM/$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

mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
mv $PKG/usr/share/doc/$SRCNAM/*  $PKG/usr/doc/$PKGNAM-$VERSION/
rm -rf $PKG/usr/share/doc
cat $CWD/$PKGNAM.SlackBuild > $PKG/usr/doc/$PKGNAM-$VERSION/$PKGNAM.SlackBuild

# Add a desktop menu entry
mkdir -p $PKG/usr/share/applications
cat $CWD/Blender.desktop > $PKG/usr/share/applications/Blender.desktop

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}git${GITVERSION}-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

You may also like...

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.