Blender: fix build

* disable opencolorio (1.0 required)
* build with openexr3
* fix hangs on exit
This commit is contained in:
Gerasim Troeglazov
2022-01-12 13:07:45 +10:00
parent c675aa21ae
commit 81cc22f7bf
2 changed files with 188 additions and 96 deletions

View File

@@ -10,7 +10,7 @@ benefit from its unified pipeline and responsive development process."
HOMEPAGE="https://www.blender.org/"
COPYRIGHT="2002-2018 Blender Foundation"
LICENSE="GNU GPL v2"
REVISION="25"
REVISION="26"
SOURCE_URI="https://download.blender.org/source/blender-$portVersion.tar.gz"
CHECKSUM_SHA256="4c944c304a49e68ac687ea06f5758204def049b66dc211e1cffa1857716393bc"
PATCHES="
@@ -21,8 +21,8 @@ ADDITIONAL_FILES="
Blender.sh
"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PYTHON_VERSION="3.6"
@@ -54,13 +54,13 @@ REQUIRES="
lib:libglew$secondaryArchSuffix
lib:libglu$secondaryArchSuffix
lib:libgomp$secondaryArchSuffix
lib:libhalf_2_4$secondaryArchSuffix
lib:libhdf5$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libiex_2_4$secondaryArchSuffix
lib:libilmimf_2_4$secondaryArchSuffix
lib:libilmthread_2_4$secondaryArchSuffix
lib:libimath_2_4$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libiex_3_0$secondaryArchSuffix
lib:libilmthread_3_0$secondaryArchSuffix
lib:libimath_3_0$secondaryArchSuffix
lib:libLLVM_9$secondaryArchSuffix
lib:liblzma$secondaryArchSuffix
lib:liblzo2$secondaryArchSuffix
@@ -108,13 +108,11 @@ BUILD_REQUIRES="
devel:libglew$secondaryArchSuffix
devel:libglu$secondaryArchSuffix
devel:libgomp$secondaryArchSuffix
devel:libhalf_2_4$secondaryArchSuffix
devel:libhdf5$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libiex_2_4$secondaryArchSuffix
devel:libilmimf_2_4$secondaryArchSuffix
devel:libilmthread_2_4$secondaryArchSuffix
devel:libimath_2_4$secondaryArchSuffix
devel:libiex_3_0$secondaryArchSuffix
devel:libilmthread_3_0$secondaryArchSuffix
lib:libimath_3_0$secondaryArchSuffix
devel:libllvm_9$secondaryArchSuffix
devel:liblzma$secondaryArchSuffix
devel:liblzo2$secondaryArchSuffix
@@ -154,8 +152,6 @@ BUILD_PREREQUIRES="
cmd:strip
"
defineDebugInfoPackage blender$secondaryArchSuffix \
$appsDir/Blender/Blender
PATCH()
{
@@ -203,6 +199,8 @@ BUILD()
-DZLIB_LIBRARY_RELEASE=`finddir B_SYSTEM_LIB_DIRECTORY`${secondaryArchSubDir}/libz.so.1 \
-DWITH_GHOST_SDL=ON \
-DWITH_BUILDINFO=OFF \
-DWITH_OPENCOLORIO=OFF \
-DWITH_MOD_FLUID=OFF \
-DWITH_PYTHON_INSTALL=OFF \
-DWITH_PYTHON_INSTALL_NUMPY=OFF \
-DWITH_PYTHON_INSTALL_REQUESTS=OFF \
@@ -231,6 +229,7 @@ BUILD()
cmake .. \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-C ../build_files/cmake/config/blender_release.cmake \
$BLENDER_PLATFORM_SPECIFIC \
$BLENDER_BUGOUS \

View File

@@ -1,18 +1,8 @@
From c369682bd92ac8313d2186d6ed43f9859d91439d Mon Sep 17 00:00:00 2001
From 1868f0c5c6908bb332d79c15811e27d46e9b7b23 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: [PATCH 01/10] Haiku patchset
Subject: Haiku patchset
---
CMakeLists.txt | 6 ++++--
build_files/cmake/macros.cmake | 3 +++
build_files/cmake/platform/platform_unix.cmake | 6 +++++-
intern/guardedalloc/intern/mallocn_intern.h | 3 +++
intern/libmv/libmv/numeric/numeric.h | 3 ++-
source/blender/blenlib/BLI_sys_types.h | 2 +-
source/blender/blenlib/intern/fileops.c | 11 +++++++++++
source/blender/blenlib/intern/storage.c | 2 +-
8 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bfea2dd..ebe6bef 100644
@@ -161,16 +151,14 @@ index b819c51..9fb3fbf 100644
# include <sys/statvfs.h>
# define USE_STATFS_STATVFS
--
2.24.1
2.30.2
From 8b837c040845fc8c9c41e97e5c3119a465012ff4 Mon Sep 17 00:00:00 2001
From ff2b374cb3f6e2e77b3db5169d52767002540b16 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: [PATCH 02/10] Haiku SDL2 check fix
Subject: Haiku SDL2 check fix
---
build_files/cmake/Modules/FindSDL2.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build_files/cmake/Modules/FindSDL2.cmake b/build_files/cmake/Modules/FindSDL2.cmake
index 2a835cf..61b7dee 100644
@@ -186,18 +174,14 @@ index 2a835cf..61b7dee 100644
FIND_LIBRARY(SDL2_LIBRARY
--
2.24.1
2.30.2
From 4dce957d591ef33cee42bcbbef8166aa452c6289 Mon Sep 17 00:00:00 2001
From 0e7f3d469d9eb34951005b9f71a6f799390a5253 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: [PATCH 03/10] In-tree glog supporting patches
Subject: In-tree glog supporting patches
---
extern/glog/src/config.h | 2 +
extern/glog/src/config_haiku.h | 172 +++++++++++++++++++++++++++++++++
2 files changed, 174 insertions(+)
create mode 100644 extern/glog/src/config_haiku.h
diff --git a/extern/glog/src/config.h b/extern/glog/src/config.h
index f5c9c0b..2703b7b 100644
@@ -389,16 +373,14 @@ index 0000000..4e6703b
+# define NO_FRAME_POINTER
+#endif
--
2.24.1
2.30.2
From 1b05076f83ea850591db84488d2a384d1b060dbc Mon Sep 17 00:00:00 2001
From bde7ee716d9e7be1e4719686ef1d41b75d869390 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: [PATCH 04/10] OpenCollada support
Subject: OpenCollada support
---
build_files/cmake/Modules/FindOpenCOLLADA.cmake | 2 ++
1 file changed, 2 insertions(+)
diff --git a/build_files/cmake/Modules/FindOpenCOLLADA.cmake b/build_files/cmake/Modules/FindOpenCOLLADA.cmake
index 63bc520..28cf0b9 100644
@@ -421,19 +403,14 @@ index 63bc520..28cf0b9 100644
${_opencollada_SEARCH_DIRS}
)
--
2.24.1
2.30.2
From 01e1ef3ad2140ef425329f12acc3bf2701a7015e Mon Sep 17 00:00:00 2001
From 4f30ebe4fa64d8325f7a7832b5d78587dac71def Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Sat, 4 Aug 2018 12:42:53 +0200
Subject: [PATCH 05/10] FFMPEG4 patches
Subject: FFMPEG4 patches
---
intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp | 4 ++--
intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp | 6 +++---
source/blender/blenkernel/intern/writeffmpeg.c | 14 ++++++--------
source/blender/imbuf/intern/indexer.c | 2 +-
4 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
index e9eea19..84aea33 100644
@@ -549,17 +526,14 @@ index e1b3abc..1850ffd 100644
if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) {
--
2.24.1
2.30.2
From ca3381eb08d068d6dcc817b3f23ba24eea4b14ea Mon Sep 17 00:00:00 2001
From 583d2336f330ee7bbf1bf8f9d46ed2d238fa29fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Thu, 22 Aug 2019 18:07:13 +0200
Subject: [PATCH 06/10] Build fixes from FreeBSD
Subject: Build fixes from FreeBSD
---
source/blender/collada/DocumentImporter.cpp | 5 +++++
source/blender/collada/DocumentImporter.h | 2 ++
2 files changed, 7 insertions(+)
diff --git a/source/blender/collada/DocumentImporter.cpp b/source/blender/collada/DocumentImporter.cpp
index 435eaa0..8708926 100644
@@ -591,17 +565,14 @@ index 62f76db..1f3b64f 100644
bool writeMaterial(const COLLADAFW::Material*);
--
2.24.1
2.30.2
From e30015b3cc19da3e3f641551a7341005b096a92e Mon Sep 17 00:00:00 2001
From ab1f49457cd467e03eb2560b69186390680bccaf Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 7 Nov 2019 18:35:57 +0100
Subject: [PATCH 07/10] applying patch blender-2.79b-gcc-8.patch
Subject: applying patch blender-2.79b-gcc-8.patch
---
intern/cycles/util/util_sseb.h | 2 +-
intern/itasc/kdl/tree.hpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/intern/cycles/util/util_sseb.h b/intern/cycles/util/util_sseb.h
index 6e66970..9ffe391 100644
@@ -630,12 +601,13 @@ index c8a253f..bd35f82 100644
class TreeElement
{
--
2.24.1
2.30.2
From 0e2b491eaba6074cdd9fa508c6bc571a6cd1b60e Mon Sep 17 00:00:00 2001
From 2e4bc04aa1a945e0643236bc1c955925c8f8d1d5 Mon Sep 17 00:00:00 2001
From: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Tue, 11 Dec 2018 12:17:26 +0100
Subject: [PATCH 08/10] Update code to be compatible with OIIO 2.0
Subject: Update code to be compatible with OIIO 2.0
There are some changes in API of OpenImageIO, but those are quite
simple to keep working with older and newer library versions.
@@ -645,16 +617,6 @@ Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4064
---
intern/cycles/blender/blender_python.cpp | 2 +-
intern/cycles/graph/node_xml.cpp | 2 +-
intern/cycles/render/buffers.cpp | 5 ++--
intern/cycles/render/image.cpp | 16 ++++-------
intern/cycles/render/image.h | 3 +-
intern/cycles/util/util_unique_ptr.h | 28 +++++++++++++++++++
.../imbuf/intern/oiio/openimageio_api.cpp | 19 ++++++-------
7 files changed, 48 insertions(+), 27 deletions(-)
create mode 100644 intern/cycles/util/util_unique_ptr.h
diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp
index 54973fd..bee6dd1 100644
@@ -929,16 +891,14 @@ index b123d50..7f2fac9 100644
if (!ibuf)
--
2.24.1
2.30.2
From 2888d696409b685e22c195914d91338c4bcec086 Mon Sep 17 00:00:00 2001
From 4daac7b836266516b1cd0adc4a71581cf11a0395 Mon Sep 17 00:00:00 2001
From: X512 <danger_mail@list.ru>
Date: Wed, 29 Jan 2020 14:07:31 +0900
Subject: [PATCH 09/10] Haiku: fix build for 32 bit
Subject: Haiku: fix build for 32 bit
---
intern/cycles/util/util_simd.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/intern/cycles/util/util_simd.h b/intern/cycles/util/util_simd.h
index 587febe..d25d7f8 100644
@@ -954,16 +914,14 @@ index 587febe..d25d7f8 100644
size_t r = 0; asm ("bsf %1,%0" : "=r"(r) : "r"(v)); return r;
}
--
2.24.1
2.30.2
From e0d48e0823a316a66b11c7c14fe289f53b44c2d8 Mon Sep 17 00:00:00 2001
From 664eef415a05ffe7e1f4901d2efeb40160c1eda9 Mon Sep 17 00:00:00 2001
From: X512 <danger_mail@list.ru>
Date: Wed, 29 Jan 2020 17:30:56 +0900
Subject: [PATCH 10/10] Fix TLS for haiku
Subject: Fix TLS for haiku
---
source/blender/blenlib/BLI_threads.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/blender/blenlib/BLI_threads.h b/source/blender/blenlib/BLI_threads.h
index 60da6b3..8ad0d69 100644
@@ -979,5 +937,140 @@ index 60da6b3..8ad0d69 100644
# define BLI_thread_local_create(name) pthread_key_create(&name, NULL)
# define BLI_thread_local_delete(name) pthread_key_delete(name)
--
2.24.1
2.30.2
From 25d759839b15857ebc7ece82c32c0a9e08712ff7 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 19 Mar 2021 11:07:00 +1000
Subject: Fix hangs on exit
diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c
index 7608b01..ec274af 100644
--- a/source/blender/windowmanager/intern/wm_init_exit.c
+++ b/source/blender/windowmanager/intern/wm_init_exit.c
@@ -568,6 +568,10 @@ void WM_exit_ext(bContext *C, const bool do_python)
ED_file_exit(); /* for fsmenu */
+ /* No need to call this early, rather do it late so that other pieces of Blender using sound may exit cleanly,
+ * see also T50676. */
+ BKE_sound_exit();
+
UI_exit();
BKE_blender_userdef_data_free(&U, false);
@@ -586,10 +590,6 @@ void WM_exit_ext(bContext *C, const bool do_python)
BLI_threadapi_exit();
- /* No need to call this early, rather do it late so that other pieces of Blender using sound may exit cleanly,
- * see also T50676. */
- BKE_sound_exit();
-
BKE_blender_atexit();
if (MEM_get_memory_blocks_in_use() != 0) {
--
2.30.2
From 46478538d18b46a8ffa8d62c77ce9880efaf3854 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 22 Aug 2021 15:20:53 +1000
Subject: Use OpenEXR 3.x
diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake
index 41e60a7..d058986 100644
--- a/build_files/cmake/Modules/FindOpenEXR.cmake
+++ b/build_files/cmake/Modules/FindOpenEXR.cmake
@@ -38,11 +38,10 @@ ENDIF()
SET(_openexr_libs_ver_init "2.0")
SET(_openexr_FIND_COMPONENTS
- Half
Iex
- IlmImf
- IlmThread
Imath
+ OpenEXR
+ IlmThread
)
SET(_openexr_SEARCH_DIRS
@@ -127,7 +126,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG
IF(OPENEXR_FOUND)
SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES})
# Both include paths are needed because of dummy OSL headers mixing #include <OpenEXR/foo.h> and #include <foo.h> :(
- SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR)
+ SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR ${OPENEXR_INCLUDE_DIR}/Imath)
ENDIF()
MARK_AS_ADVANCED(
diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp b/source/blender/imbuf/intern/openexr/openexr_api.cpp
index 5ad42bd..76204bc 100644
--- a/source/blender/imbuf/intern/openexr/openexr_api.cpp
+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp
@@ -49,9 +49,11 @@
#include <ImfChannelList.h>
#include <ImfPixelType.h>
#include <ImfInputFile.h>
+#include <ImfInt64.h>
#include <ImfOutputFile.h>
#include <ImfCompression.h>
#include <ImfCompressionAttribute.h>
+#include <ImfFrameBuffer.h>
#include <ImfStringAttribute.h>
#include <ImfStandardAttributes.h>
--
2.30.2
From 6e831779c90d6a40b7075ff4614070531eaa6a41 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 27 Dec 2021 14:46:03 +1000
Subject: Link with system ICU
diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake
index 9eb6985..0573950 100644
--- a/build_files/cmake/platform/platform_unix.cmake
+++ b/build_files/cmake/platform/platform_unix.cmake
@@ -359,7 +359,7 @@ endif()
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
if(HAIKU)
- list(APPEND PLATFORM_LINKLIBS -lnetwork)
+ list(APPEND PLATFORM_LINKLIBS -lnetwork -liconv -licuuc -licui18n)
else()
list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm)
endif()
--
2.30.2
From bc627d36ce45a5653f61acc3162e235d88cdd280 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 27 Dec 2021 14:46:55 +1000
Subject: Fix for openexr3
diff --git a/source/blender/alembic/intern/abc_transform.cc b/source/blender/alembic/intern/abc_transform.cc
index 5392387..9dc3200 100644
--- a/source/blender/alembic/intern/abc_transform.cc
+++ b/source/blender/alembic/intern/abc_transform.cc
@@ -22,7 +22,7 @@
#include "abc_transform.h"
-#include <OpenEXR/ImathBoxAlgo.h>
+#include <Imath/ImathBoxAlgo.h>
#include "abc_util.h"
--
2.30.2