Blender : enable some features, cleanup (#2018)

* WIP

* WIP2

* Blender: add TBB, Alembic, OpenCollada

* WIP

* On my way to get Blender match to the official release feuture-set
This commit is contained in:
miqlas
2018-01-05 10:16:38 +01:00
committed by GitHub
parent 88002df0dd
commit 99b3c76c3e
2 changed files with 142 additions and 39 deletions

View File

@@ -10,7 +10,7 @@ benefit from its unified pipeline and responsive development process."
HOMEPAGE="http://www.blender.org/" HOMEPAGE="http://www.blender.org/"
COPYRIGHT="2002-2017 Blender Foundation" COPYRIGHT="2002-2017 Blender Foundation"
LICENSE="GNU GPL v2" LICENSE="GNU GPL v2"
REVISION="5" REVISION="6"
SOURCE_URI="http://download.blender.org/source/blender-$portVersion.tar.gz" SOURCE_URI="http://download.blender.org/source/blender-$portVersion.tar.gz"
CHECKSUM_SHA256="a9de03e769a2a4a0bf92186556896c4f4d32fd9ac4480915ae92d7f95b25c899" CHECKSUM_SHA256="a9de03e769a2a4a0bf92186556896c4f4d32fd9ac4480915ae92d7f95b25c899"
PATCHES="blender-$portVersion.patchset" PATCHES="blender-$portVersion.patchset"
@@ -24,12 +24,14 @@ PYTHON_VERSION="3.6"
PROVIDES=" PROVIDES="
blender$secondaryArchSuffix = $portVersion blender$secondaryArchSuffix = $portVersion
cmd:blender cmd:blender
cmd:blenderplayer
cmd:blender_thumbnailer.py cmd:blender_thumbnailer.py
cmd:cycles
" "
REQUIRES=" REQUIRES="
haiku$secondaryArchSuffix haiku$secondaryArchSuffix
lib:libalembic$secondaryArchSuffix
lib:libavcodec$secondaryArchSuffix lib:libavcodec$secondaryArchSuffix
lib:libavdevice$secondaryArchSuffix
lib:libboost_atomic$secondaryArchSuffix lib:libboost_atomic$secondaryArchSuffix
lib:libboost_chrono$secondaryArchSuffix lib:libboost_chrono$secondaryArchSuffix
lib:libboost_date_time$secondaryArchSuffix lib:libboost_date_time$secondaryArchSuffix
@@ -61,14 +63,21 @@ REQUIRES="
lib:liblzma$secondaryArchSuffix lib:liblzma$secondaryArchSuffix
lib:liblzo2$secondaryArchSuffix lib:liblzo2$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix lib:libopenal$secondaryArchSuffix
lib:libopencolladabaseutils$secondaryArchSuffix
lib:libopencolorio$secondaryArchSuffix lib:libopencolorio$secondaryArchSuffix
lib:libopenimageio$secondaryArchSuffix lib:libopenimageio$secondaryArchSuffix
lib:libopenjp2$secondaryArchSuffix # lib:libopenjp2$secondaryArchSuffix
# lib:libopenvdb$secondaryArchSuffix
lib:libosdCPU$secondaryArchSuffix
lib:libosdGPU$secondaryArchSuffix
# lib:liboslcomp$secondaryArchSuffix
lib:libpcre$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix lib:libpng16$secondaryArchSuffix
lib:libpugixml$secondaryArchSuffix lib:libpugixml$secondaryArchSuffix
lib:libpython${PYTHON_VERSION}m lib:libpython${PYTHON_VERSION}m
lib:libsdl2_2.0$secondaryArchSuffix lib:libsdl2_2.0$secondaryArchSuffix
lib:libsndfile$secondaryArchSuffix lib:libsndfile$secondaryArchSuffix
lib:libtbb$secondaryArchSuffix
lib:libtinyxml$secondaryArchSuffix lib:libtinyxml$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix lib:libtiff$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix lib:libxml2$secondaryArchSuffix
@@ -81,7 +90,9 @@ BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel haiku${secondaryArchSuffix}_devel
llvm$secondaryArchSuffix llvm$secondaryArchSuffix
devel:eigen$secondaryArchSuffix devel:eigen$secondaryArchSuffix
devel:libalembic$secondaryArchSuffix
devel:libavcodec$secondaryArchSuffix devel:libavcodec$secondaryArchSuffix
devel:libavdevice$secondaryArchSuffix
devel:libboost_atomic$secondaryArchSuffix devel:libboost_atomic$secondaryArchSuffix
devel:libboost_chrono$secondaryArchSuffix devel:libboost_chrono$secondaryArchSuffix
devel:libboost_date_time$secondaryArchSuffix devel:libboost_date_time$secondaryArchSuffix
@@ -111,14 +122,21 @@ BUILD_REQUIRES="
devel:liblzma$secondaryArchSuffix devel:liblzma$secondaryArchSuffix
devel:liblzo2$secondaryArchSuffix devel:liblzo2$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix devel:libopenal$secondaryArchSuffix
devel:libopencolladabaseutils$secondaryArchSuffix
devel:libopencolorio$secondaryArchSuffix devel:libopencolorio$secondaryArchSuffix
devel:libopenimageio$secondaryArchSuffix devel:libopenimageio$secondaryArchSuffix
devel:libopenjp2$secondaryArchSuffix # devel:libopenjp2$secondaryArchSuffix
# devel:libopenvdb$secondaryArchSuffix
devel:libosdCPU$secondaryArchSuffix
devel:libosdGPU$secondaryArchSuffix
# devel:liboslcomp$secondaryArchSuffix
devel:libpcre$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix devel:libpng16$secondaryArchSuffix
devel:libpugixml$secondaryArchSuffix devel:libpugixml$secondaryArchSuffix
devel:libpython${PYTHON_VERSION}m devel:libpython${PYTHON_VERSION}m
devel:libsdl2_2.0$secondaryArchSuffix devel:libsdl2_2.0$secondaryArchSuffix
devel:libsndfile$secondaryArchSuffix devel:libsndfile$secondaryArchSuffix
devel:libtbb$secondaryArchSuffix
devel:libtinyxml$secondaryArchSuffix devel:libtinyxml$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix devel:libtiff$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix devel:libxml2$secondaryArchSuffix
@@ -151,43 +169,104 @@ BUILD()
NUMPY_FOLDER=`find $PY_VENDOR_DIR -maxdepth 1 -type d |grep numpy` NUMPY_FOLDER=`find $PY_VENDOR_DIR -maxdepth 1 -type d |grep numpy`
PORT_SUBFOLDER=`echo $portVersion | sed 's/.$//'` PORT_SUBFOLDER=`echo $portVersion | sed 's/.$//'`
mkdir -p build_haiku # OpenCOLLADA workaround
cd build_haiku COLLADA_HEADERS="`finddir B_SYSTEM_HEADERS_DIRECTORY`/opencollada"
COLLADA_INC_FLAGS="-I$COLLADA_HEADERS/COLLADABaseUtils \
-I$COLLADA_HEADERS/COLLADAFramework \
-I$COLLADA_HEADERS/COLLADASaxFrameworkLoader \
-I$COLLADA_HEADERS/COLLADAStreamWriter \
-I$COLLADA_HEADERS/GeneratedSaxParser"
cmake .. \ # Haiku specific settings
-DCMAKE_INSTALL_PREFIX:PATH=$appsDir/Blender \ BLENDER_PLATFORM_SPECIFIC="-DCMAKE_INSTALL_PREFIX:PATH=$appsDir/Blender \
-DPYTHON_VERSION=${PYTHON_VERSION} \ -DPYTHON_VERSION=${PYTHON_VERSION} \
-DPYTHON_INCLUDE_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY`/python${PYTHON_VERSION}m/ \ -DPYTHON_INCLUDE_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY`/python${PYTHON_VERSION}m/ \
-DPYTHON_LIBRARY=`finddir B_SYSTEM_LIB_DIRECTORY`/libpython${PYTHON_VERSION}m.so.1.0 \ -DPYTHON_LIBRARY=`finddir B_SYSTEM_LIB_DIRECTORY`/libpython${PYTHON_VERSION}m.so.1.0 \
-DPYTHON_EXECUTABLE=/bin/python${PYTHON_VERSION} \ -DPYTHON_EXECUTABLE=/bin/python${PYTHON_VERSION} \
-DWITH_PYTHON_INSTALL:BOOL=ON \
-DPYTHON_NUMPY_PATH=$NUMPY_FOLDER \ -DPYTHON_NUMPY_PATH=$NUMPY_FOLDER \
-DWITH_PYTHON_INSTALL_NUMPY:BOOL=OFF \ -DWITH_PYTHON_INSTALL_NUMPY:BOOL=OFF \
-DWITH_PYTHON_INSTALL_REQUESTS:BOOL=OFF \ -DWITH_PYTHON_INSTALL_REQUESTS:BOOL=OFF \
-DWITH_BOOST:BOOL=ON \
-DWITH_CYCLES:BOOL=ON \
-DWITH_SDL:BOOL=ON \
-DWITH_GHOST_SDL:BOOL=ON \ -DWITH_GHOST_SDL:BOOL=ON \
-Wno-dev"
# Release settings breaks build on Haiku
BLENDER_BUGOUS="-DWITH_SYSTEM_OPENJPEG:BOOL=OFF \
-DWITH_SYSTEM_GLOG:BOOL=OFF \
-DWITH_SYSTEM_GFLAGS:BOOL=OFF \
-DWITH_GTESTS:BOOL=OFF \
-DWITH_CYCLES_OSL=OFF \
-DWITH_OPENVDB=OFF \
-DWITH_OPENVDB_BLOSC=OFF \
-DWITH_BOOST:BOOL=ON \
-DWITH_GAMEENGINE_DECKLINK:BOOL=OFF \ -DWITH_GAMEENGINE_DECKLINK:BOOL=OFF \
-DWITH_OPENIMAGEIO:BOOL=ON \ -DWITH_OPENIMAGEIO:BOOL=ON \
-DWITH_OPENCOLORIO:BOOL=ON \
-DWITH_FFTW3:BOOL=ON \
-DWITH_CODEC_SNDFILE:BOOL=ON \
-DWITH_SYSTEM_OPENJPEG:BOOL=ON \
-DWITH_SYSTEM_EIGEN3:BOOL=ON \ -DWITH_SYSTEM_EIGEN3:BOOL=ON \
-DWITH_SYSTEM_LZO:BOOL=ON \ -DWITH_SYSTEM_LZO:BOOL=ON \
-DWITH_SYSTEM_GLOG:BOOL=OFF \
-DWITH_GTESTS:BOOL=OFF \
-DWITH_SYSTEM_GFLAGS:BOOL=OFF \
-DWITH_IMAGE_OPENEXR:BOOL=ON \
-DWITH_LLVM:BOOL=ON \ -DWITH_LLVM:BOOL=ON \
-DWITH_CODEC_FFMPEG:BOOL=ON \
-DWITH_CYCLES_NATIVE_ONLY:BOOL=ON \ -DWITH_CYCLES_NATIVE_ONLY:BOOL=ON \
-DWITH_CYCLES_STANDALONE:BOOL=ON \ -DWITH_CYCLES_OPENSUBDIV:BOOL=ON"
-DWITH_CYCLES_STANDALONE_GUI:BOOL=ON \
-DWITH_RAYOPTIMIZATION:BOOL=ON \ # Missing deps on Haiku
-DCMAKE_CXX_FLAGS="-DBOOST_NO_CXX11_CONSTEXPR -std=c++11" \ BLENDER_MISSING="-DWITH_JACK=OFF \
-Wno-dev -DWITH_MEM_JEMALLOC=OFF \
-DWITH_INPUT_NDOF=OFF"
# Release build settings
BLENDER_RELEASE="-DWITH_ALEMBIC=ON \
-DWITH_BUILDINFO=ON \
-DWITH_BULLET=ON \
-DWITH_CODEC_AVI=ON \
-DWITH_CODEC_FFMPEG=ON \
-DWITH_CODEC_SNDFILE=ON \
-DWITH_CYCLES=ON \
-DWITH_CYCLES_OPENSUBDIV=ON \
-DWITH_FFTW3=ON \
-DWITH_LIBMV=ON \
-DWITH_LIBMV_SCHUR_SPECIALIZATIONS=ON \
-DWITH_GAMEENGINE=ON \
-DWITH_COMPOSITOR=ON \
-DWITH_FREESTYLE=ON \
-DWITH_GHOST_XDND=ON \
-DWITH_IK_SOLVER=ON \
-DWITH_IK_ITASC=ON \
-DWITH_IMAGE_CINEON=ON \
-DWITH_IMAGE_DDS=ON \
-DWITH_IMAGE_FRAMESERVER=ON \
-DWITH_IMAGE_HDR=ON \
-DWITH_IMAGE_OPENEXR=ON \
-DWITH_IMAGE_TIFF=ON \
-DWITH_INTERNATIONAL=ON \
-DWITH_LZMA=ON \
-DWITH_LZO=ON \
-DWITH_MOD_BOOLEAN=ON \
-DWITH_MOD_FLUID=ON \
-DWITH_MOD_REMESH=ON \
-DWITH_MOD_SMOKE=ON \
-DWITH_MOD_OCEANSIM=ON \
-DWITH_AUDASPACE=ON \
-DWITH_OPENAL=ON \
-DWITH_OPENCOLLADA=ON \
-DWITH_OPENCOLORIO=ON \
-DWITH_OPENMP=ON \
-DWITH_PYTHON_INSTALL=ON \
-DWITH_RAYOPTIMIZATION=ON \
-DWITH_SDL=ON \
-DWITH_PLAYER=ON \
-DWITH_OPENSUBDIV=ON"
# Extra CXX Flags
BLENDER_CXX="-DBOOST_NO_CXX11_CONSTEXPR \
-std=c++11 $COLLADA_INC_FLAGS"
mkdir -p build_haiku
cd build_haiku
cmake .. \
$BLENDER_PLATFORM_SPECIFIC \
$BLENDER_BUGOUS \
$BLENDER_MISSING \
$BLENDER_RELEASE \
-DCMAKE_CXX_FLAGS="$BLENDER_CXX"
make $jobArgs make $jobArgs
} }
@@ -197,10 +276,6 @@ INSTALL()
cd build_haiku cd build_haiku
make install $jobArgs make install $jobArgs
# Standalone Cycles doesn't installed automatically.
mkdir -p $binDir
cp bin/cycles $binDir
mv $appsDir/Blender/blender $appsDir/Blender/Blender mv $appsDir/Blender/blender $appsDir/Blender/Blender
strip $appsDir/Blender/Blender strip $appsDir/Blender/Blender
@@ -233,10 +308,8 @@ INSTALL()
TEST() TEST()
{ {
cd build_haiku cd build_haiku
# the whole testcase is around 1GB and not included. # The whole testcase is around 1GB and not included. Get it from here:
# Get it from here:
# svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests # svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests
# and put it in "work-2.xx/sources/lib" # and put it in "work-2.xx/sources/lib"
# without theese some test will fail.
make test make test
} }

View File

@@ -1,4 +1,4 @@
From 5639109c264a7f27107a3046911b2fdb24a02b0e Mon Sep 17 00:00:00 2001 From adebe8a276834f24205c170b8b09466727519146 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com> From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Tue, 19 Sep 2017 23:03:48 +0200 Date: Tue, 19 Sep 2017 23:03:48 +0200
Subject: Haiku patchset Subject: Haiku patchset
@@ -151,10 +151,10 @@ index b819c51..9fb3fbf 100644
# include <sys/statvfs.h> # include <sys/statvfs.h>
# define USE_STATFS_STATVFS # define USE_STATFS_STATVFS
-- --
2.14.1 2.15.0
From c6ab784647b736fe25523c024ff6194465ad8490 Mon Sep 17 00:00:00 2001 From a28c6353e71223779f8e287ff7e37f4180d0400d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com> From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Tue, 19 Sep 2017 23:15:20 +0200 Date: Tue, 19 Sep 2017 23:15:20 +0200
Subject: Haiku SDL2 check fix Subject: Haiku SDL2 check fix
@@ -174,10 +174,10 @@ index 2a835cf..61b7dee 100644
FIND_LIBRARY(SDL2_LIBRARY FIND_LIBRARY(SDL2_LIBRARY
-- --
2.14.1 2.15.0
From ff451389f3739d7917d3041a67174e8c9d138a81 Mon Sep 17 00:00:00 2001 From dfa0aa38f941503c196fb4c37a852eb3e1a177f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com> From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Tue, 19 Sep 2017 23:52:27 +0200 Date: Tue, 19 Sep 2017 23:52:27 +0200
Subject: In-tree glog supporting patches Subject: In-tree glog supporting patches
@@ -373,5 +373,35 @@ index 0000000..4e6703b
+# define NO_FRAME_POINTER +# define NO_FRAME_POINTER
+#endif +#endif
-- --
2.14.1 2.15.0
From 93800955fcf29cb52b37d78c3bf28cfdcbd63af8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Sat, 16 Dec 2017 17:04:56 +0100
Subject: OpenCollada support
diff --git a/build_files/cmake/Modules/FindOpenCOLLADA.cmake b/build_files/cmake/Modules/FindOpenCOLLADA.cmake
index 63bc520..28cf0b9 100644
--- a/build_files/cmake/Modules/FindOpenCOLLADA.cmake
+++ b/build_files/cmake/Modules/FindOpenCOLLADA.cmake
@@ -67,6 +67,7 @@ SET(_opencollada_SEARCH_DIRS
/opt/local # DarwinPorts
/opt/csw # Blastwave
/opt/lib/opencollada
+ /system/develop
)
SET(_opencollada_INCLUDES)
@@ -84,6 +85,7 @@ FOREACH(COMPONENT ${_opencollada_FIND_INCLUDES})
include/opencollada/${COMPONENT}
include/${COMPONENT}/include
include/${COMPONENT}
+ headers/opencollada
HINTS
${_opencollada_SEARCH_DIRS}
)
--
2.15.0