mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-29 11:38:52 +02:00
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:
@@ -10,7 +10,7 @@ benefit from its unified pipeline and responsive development process."
|
||||
HOMEPAGE="http://www.blender.org/"
|
||||
COPYRIGHT="2002-2017 Blender Foundation"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="5"
|
||||
REVISION="6"
|
||||
SOURCE_URI="http://download.blender.org/source/blender-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="a9de03e769a2a4a0bf92186556896c4f4d32fd9ac4480915ae92d7f95b25c899"
|
||||
PATCHES="blender-$portVersion.patchset"
|
||||
@@ -24,12 +24,14 @@ PYTHON_VERSION="3.6"
|
||||
PROVIDES="
|
||||
blender$secondaryArchSuffix = $portVersion
|
||||
cmd:blender
|
||||
cmd:blenderplayer
|
||||
cmd:blender_thumbnailer.py
|
||||
cmd:cycles
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libalembic$secondaryArchSuffix
|
||||
lib:libavcodec$secondaryArchSuffix
|
||||
lib:libavdevice$secondaryArchSuffix
|
||||
lib:libboost_atomic$secondaryArchSuffix
|
||||
lib:libboost_chrono$secondaryArchSuffix
|
||||
lib:libboost_date_time$secondaryArchSuffix
|
||||
@@ -61,14 +63,21 @@ REQUIRES="
|
||||
lib:liblzma$secondaryArchSuffix
|
||||
lib:liblzo2$secondaryArchSuffix
|
||||
lib:libopenal$secondaryArchSuffix
|
||||
lib:libopencolladabaseutils$secondaryArchSuffix
|
||||
lib:libopencolorio$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:libpugixml$secondaryArchSuffix
|
||||
lib:libpython${PYTHON_VERSION}m
|
||||
lib:libsdl2_2.0$secondaryArchSuffix
|
||||
lib:libsndfile$secondaryArchSuffix
|
||||
lib:libtbb$secondaryArchSuffix
|
||||
lib:libtinyxml$secondaryArchSuffix
|
||||
lib:libtiff$secondaryArchSuffix
|
||||
lib:libxml2$secondaryArchSuffix
|
||||
@@ -81,7 +90,9 @@ BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
llvm$secondaryArchSuffix
|
||||
devel:eigen$secondaryArchSuffix
|
||||
devel:libalembic$secondaryArchSuffix
|
||||
devel:libavcodec$secondaryArchSuffix
|
||||
devel:libavdevice$secondaryArchSuffix
|
||||
devel:libboost_atomic$secondaryArchSuffix
|
||||
devel:libboost_chrono$secondaryArchSuffix
|
||||
devel:libboost_date_time$secondaryArchSuffix
|
||||
@@ -111,14 +122,21 @@ BUILD_REQUIRES="
|
||||
devel:liblzma$secondaryArchSuffix
|
||||
devel:liblzo2$secondaryArchSuffix
|
||||
devel:libopenal$secondaryArchSuffix
|
||||
devel:libopencolladabaseutils$secondaryArchSuffix
|
||||
devel:libopencolorio$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:libpugixml$secondaryArchSuffix
|
||||
devel:libpython${PYTHON_VERSION}m
|
||||
devel:libsdl2_2.0$secondaryArchSuffix
|
||||
devel:libsndfile$secondaryArchSuffix
|
||||
devel:libtbb$secondaryArchSuffix
|
||||
devel:libtinyxml$secondaryArchSuffix
|
||||
devel:libtiff$secondaryArchSuffix
|
||||
devel:libxml2$secondaryArchSuffix
|
||||
@@ -151,43 +169,104 @@ BUILD()
|
||||
NUMPY_FOLDER=`find $PY_VENDOR_DIR -maxdepth 1 -type d |grep numpy`
|
||||
PORT_SUBFOLDER=`echo $portVersion | sed 's/.$//'`
|
||||
|
||||
mkdir -p build_haiku
|
||||
cd build_haiku
|
||||
# OpenCOLLADA workaround
|
||||
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 .. \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=$appsDir/Blender \
|
||||
# Haiku specific settings
|
||||
BLENDER_PLATFORM_SPECIFIC="-DCMAKE_INSTALL_PREFIX:PATH=$appsDir/Blender \
|
||||
-DPYTHON_VERSION=${PYTHON_VERSION} \
|
||||
-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_EXECUTABLE=/bin/python${PYTHON_VERSION} \
|
||||
-DWITH_PYTHON_INSTALL:BOOL=ON \
|
||||
-DPYTHON_NUMPY_PATH=$NUMPY_FOLDER \
|
||||
-DWITH_PYTHON_INSTALL_NUMPY: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 \
|
||||
-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_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_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_CODEC_FFMPEG:BOOL=ON \
|
||||
-DWITH_CYCLES_NATIVE_ONLY:BOOL=ON \
|
||||
-DWITH_CYCLES_STANDALONE:BOOL=ON \
|
||||
-DWITH_CYCLES_STANDALONE_GUI:BOOL=ON \
|
||||
-DWITH_RAYOPTIMIZATION:BOOL=ON \
|
||||
-DCMAKE_CXX_FLAGS="-DBOOST_NO_CXX11_CONSTEXPR -std=c++11" \
|
||||
-Wno-dev
|
||||
-DWITH_CYCLES_OPENSUBDIV:BOOL=ON"
|
||||
|
||||
# Missing deps on Haiku
|
||||
BLENDER_MISSING="-DWITH_JACK=OFF \
|
||||
-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
|
||||
}
|
||||
@@ -197,10 +276,6 @@ INSTALL()
|
||||
cd build_haiku
|
||||
make install $jobArgs
|
||||
|
||||
# Standalone Cycles doesn't installed automatically.
|
||||
mkdir -p $binDir
|
||||
cp bin/cycles $binDir
|
||||
|
||||
mv $appsDir/Blender/blender $appsDir/Blender/Blender
|
||||
strip $appsDir/Blender/Blender
|
||||
|
||||
@@ -233,10 +308,8 @@ INSTALL()
|
||||
TEST()
|
||||
{
|
||||
cd build_haiku
|
||||
# the whole testcase is around 1GB and not included.
|
||||
# Get it from here:
|
||||
# The whole testcase is around 1GB and not included. Get it from here:
|
||||
# svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests
|
||||
# and put it in "work-2.xx/sources/lib"
|
||||
# without theese some test will fail.
|
||||
make test
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
Date: Tue, 19 Sep 2017 23:03:48 +0200
|
||||
Subject: Haiku patchset
|
||||
@@ -151,10 +151,10 @@ index b819c51..9fb3fbf 100644
|
||||
# include <sys/statvfs.h>
|
||||
# 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>
|
||||
Date: Tue, 19 Sep 2017 23:15:20 +0200
|
||||
Subject: Haiku SDL2 check fix
|
||||
@@ -174,10 +174,10 @@ index 2a835cf..61b7dee 100644
|
||||
|
||||
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>
|
||||
Date: Tue, 19 Sep 2017 23:52:27 +0200
|
||||
Subject: In-tree glog supporting patches
|
||||
@@ -373,5 +373,35 @@ index 0000000..4e6703b
|
||||
+# define NO_FRAME_POINTER
|
||||
+#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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user