From 811ddd0030a7ba3e34e23d149b51c5c03c3c9dc9 Mon Sep 17 00:00:00 2001 From: kenmays Date: Wed, 19 Oct 2022 09:18:53 -0700 Subject: [PATCH] blender: bump to 3.3.1 (#7277) --- .../blender/additional-files/Blender3.sh | 2 +- ...er3-3.0.1.recipe => blender3-3.3.1.recipe} | 20 +- .../blender/patches/blender3-3.0.1.patchset | 229 ------------------ .../blender/patches/blender3-3.3.1.patchset | 125 ++++++++++ 4 files changed, 138 insertions(+), 238 deletions(-) rename media-gfx/blender/{blender3-3.0.1.recipe => blender3-3.3.1.recipe} (95%) delete mode 100644 media-gfx/blender/patches/blender3-3.0.1.patchset create mode 100644 media-gfx/blender/patches/blender3-3.3.1.patchset diff --git a/media-gfx/blender/additional-files/Blender3.sh b/media-gfx/blender/additional-files/Blender3.sh index 1c38f6b2c..a490ccbbe 100755 --- a/media-gfx/blender/additional-files/Blender3.sh +++ b/media-gfx/blender/additional-files/Blender3.sh @@ -1,2 +1,2 @@ #!/bin/bash -MESA_GL_VERSION_OVERRIDE="4.1" `finddir B_APPS_DIRECTORY`/Blender3/Blender -p 50 50 1024 768 +MESA_GL_VERSION_OVERRIDE="4.6" `finddir B_APPS_DIRECTORY`/Blender3/Blender -p 50 50 1024 768 diff --git a/media-gfx/blender/blender3-3.0.1.recipe b/media-gfx/blender/blender3-3.3.1.recipe similarity index 95% rename from media-gfx/blender/blender3-3.0.1.recipe rename to media-gfx/blender/blender3-3.3.1.recipe index 9e103ed6f..6c1890943 100644 --- a/media-gfx/blender/blender3-3.0.1.recipe +++ b/media-gfx/blender/blender3-3.3.1.recipe @@ -12,7 +12,7 @@ COPYRIGHT="2002-2022 Blender Foundation" LICENSE="GNU GPL v2" REVISION="1" SOURCE_URI="https://download.blender.org/source/blender-$portVersion.tar.xz" -CHECKSUM_SHA256="19bb0a96269e0a5c4b5d62b98363836054471c096b83d9755598b25b347d7441" +CHECKSUM_SHA256="2ada48f0bf8a0ca802b987d757452012e1f8f24acf4d23453b09c2d595118cca" SOURCE_DIR="blender-$portVersion" PATCHES=" blender3-$portVersion.patchset @@ -25,7 +25,7 @@ ADDITIONAL_FILES=" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" -PYTHON_VERSION="3.9" +PYTHON_VERSION="3.10" PROVIDES=" blender3$secondaryArchSuffix = $portVersion @@ -34,8 +34,8 @@ PROVIDES=" " REQUIRES=" haiku$secondaryArchSuffix - numpy${secondaryArchSuffix}_python39 - requests_python39 + numpy${secondaryArchSuffix}_python310 + requests_python310 lib:libalembic$secondaryArchSuffix lib:libavcodec$secondaryArchSuffix lib:libavdevice$secondaryArchSuffix @@ -65,6 +65,8 @@ REQUIRES=" lib:libiex_3_0$secondaryArchSuffix lib:libilmthread_3_0$secondaryArchSuffix lib:libimath_3_0$secondaryArchSuffix + lib:libopenexr_3_0$secondaryArchSuffix + lib:libopenexrutil_3_0$secondaryArchSuffix lib:libLLVM_9$secondaryArchSuffix lib:liblzma$secondaryArchSuffix lib:liblzo2$secondaryArchSuffix @@ -95,7 +97,7 @@ REQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel - numpy${secondaryArchSuffix}_python39 + numpy${secondaryArchSuffix}_python310 devel:eigen$secondaryArchSuffix devel:libalembic$secondaryArchSuffix devel:libavcodec$secondaryArchSuffix @@ -123,6 +125,8 @@ BUILD_REQUIRES=" devel:libiex_3_0$secondaryArchSuffix devel:libilmthread_3_0$secondaryArchSuffix devel:libimath_3_0$secondaryArchSuffix + devel:libopenexr_3_0$secondaryArchSuffix + devel:libopenexrutil_3_0$secondaryArchSuffix devel:libllvm_9$secondaryArchSuffix devel:liblzma$secondaryArchSuffix devel:liblzo2$secondaryArchSuffix @@ -152,8 +156,8 @@ BUILD_REQUIRES=" lib:libavdevice$secondaryArchSuffix # REQUIRED " BUILD_PREREQUIRES=" - numpy${secondaryArchSuffix}_python39 - requests_python39 + numpy${secondaryArchSuffix}_python310 + requests_python310 cmd:cmake cmd:find cmd:gcc$secondaryArchSuffix @@ -167,7 +171,7 @@ BUILD_PREREQUIRES=" PATCH() { - find . -type f -name "*.py" | xargs sed -i -e 's,python3,python3.9,g' + find . -type f -name "*.py" | xargs sed -i -e 's,python3,python3.10,g' } BUILD() diff --git a/media-gfx/blender/patches/blender3-3.0.1.patchset b/media-gfx/blender/patches/blender3-3.0.1.patchset deleted file mode 100644 index 4d8b60656..000000000 --- a/media-gfx/blender/patches/blender3-3.0.1.patchset +++ /dev/null @@ -1,229 +0,0 @@ -From 192b81e81ac73ae9f12f574eb36d06ff530ef5ac Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Fri, 19 Mar 2021 08:13:09 +1000 -Subject: Fix for Haiku - - -diff --git a/extern/wcwidth/wcwidth.h b/extern/wcwidth/wcwidth.h -index 3039a50..68f21b6 100644 ---- a/extern/wcwidth/wcwidth.h -+++ b/extern/wcwidth/wcwidth.h -@@ -21,7 +21,7 @@ - #define __WCWIDTH_H__ - - #ifndef __cplusplus --# if defined(__APPLE__) || defined(__NetBSD__) -+# if defined(__APPLE__) || defined(__NetBSD__) || defined(__HAIKU__) - /* The standard header is missing on macOS. */ - #include - typedef unsigned int char32_t; -diff --git a/source/blender/blenlib/BLI_threads.h b/source/blender/blenlib/BLI_threads.h -index 4f71e3a..4d55d5d 100644 ---- a/source/blender/blenlib/BLI_threads.h -+++ b/source/blender/blenlib/BLI_threads.h -@@ -177,7 +177,7 @@ void BLI_thread_queue_nowait(ThreadQueue *queue); - - /* Thread local storage */ - --#if defined(__APPLE__) -+#if defined(__APPLE__) || defined(__HAIKU__) - # define ThreadLocal(type) pthread_key_t - # define BLI_thread_local_create(name) pthread_key_create(&name, NULL) - # define BLI_thread_local_delete(name) pthread_key_delete(name) -diff --git a/source/blender/windowmanager/intern/wm_platform_support.c b/source/blender/windowmanager/intern/wm_platform_support.c -index 54fc454..89514f3 100644 ---- a/source/blender/windowmanager/intern/wm_platform_support.c -+++ b/source/blender/windowmanager/intern/wm_platform_support.c -@@ -118,7 +118,7 @@ bool WM_platform_support_perform_checks() - char link[WM_PLATFORM_SUPPORT_TEXT_SIZE]; - - bool result = true; -- -+#ifndef __HAIKU__ - eGPUSupportLevel support_level = GPU_platform_support_level(); - const char *platform_key = GPU_platform_support_level_key(); - -@@ -216,6 +216,6 @@ bool WM_platform_support_perform_checks() - WM_ghost_show_message_box( - title, message, "Find Latest Drivers", "Continue Anyway", link, dialog_options); - } -- -+#endif - return result; - } --- -2.36.1 - - -From 5c2f8c96a76d2713d98c0af62fdc699adb6c7523 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Fri, 19 Mar 2021 11:33:53 +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 1a45e53..df233cb 100644 ---- a/source/blender/windowmanager/intern/wm_init_exit.c -+++ b/source/blender/windowmanager/intern/wm_init_exit.c -@@ -624,6 +624,10 @@ void WM_exit_ex(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); - -@@ -642,10 +646,6 @@ void WM_exit_ex(bContext *C, const bool do_python) - BLI_threadapi_exit(); - BLI_task_scheduler_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_appdir_exit(); - CLG_exit(); - --- -2.36.1 - - -From d883a54c0bfc77ab70f667c504176daf5ffd27ad Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 26 Dec 2021 17:05:15 +1000 -Subject: applying patch openexr3.patch - - -diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake -index 090f80b..a2f7b4c 100644 ---- a/build_files/cmake/Modules/FindOpenEXR.cmake -+++ b/build_files/cmake/Modules/FindOpenEXR.cmake -@@ -34,11 +34,10 @@ ENDIF() - SET(_openexr_libs_ver_init "2.0") - - SET(_openexr_FIND_COMPONENTS -- Half - Iex -- IlmImf -- IlmThread - Imath -+ OpenEXR -+ IlmThread - ) - - SET(_openexr_SEARCH_DIRS -@@ -120,7 +119,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 and #include :( -- 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 adf09f8..4784a9b 100644 ---- a/source/blender/imbuf/intern/openexr/openexr_api.cpp -+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp -@@ -38,8 +38,10 @@ - #include - #include - #include -+#include - #include - #include -+#include - #include - #include - #include --- -2.36.1 - - -From d02e4deec93dcd83be8feec8b9cabd074597ec9c Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 26 Dec 2021 20:55:05 +1000 -Subject: Link with icu - - -diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake -index fc0c37e..1876bae 100644 ---- a/build_files/cmake/platform/platform_unix.cmake -+++ b/build_files/cmake/platform/platform_unix.cmake -@@ -505,7 +505,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.36.1 - - -From 305e20931c418ceb9255ab8778d5a8674bd6f090 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Sun, 26 Dec 2021 20:55:26 +1000 -Subject: Use clock_gettime for Haiku - - -diff --git a/source/blender/blenlib/intern/uuid.cc b/source/blender/blenlib/intern/uuid.cc -index de4602b..300aa93 100644 ---- a/source/blender/blenlib/intern/uuid.cc -+++ b/source/blender/blenlib/intern/uuid.cc -@@ -42,7 +42,7 @@ bUUID BLI_uuid_generate_random() - static_assert(std::mt19937_64::max() == 0xffffffffffffffffLL); - - struct timespec ts; --#ifdef __APPLE__ -+#if defined(__APPLE__) || defined(__HAIKU__) - /* `timespec_get()` is only available on macOS 10.15+, so until that's the minimum version - * supported by Blender, use another function to get the timespec. - * --- -2.36.1 - - -From f70e77cb1fdbf03799bc2c4e7a8971bcdd7a7757 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Thu, 2 Jun 2022 22:43:54 +1000 -Subject: applying gentoo patch blender-3.0.1-openimageio-2.3.patch - - -diff --git a/build_files/cmake/Modules/FindOpenImageIO.cmake b/build_files/cmake/Modules/FindOpenImageIO.cmake -index aac5b5c..9456ea5 100644 ---- a/build_files/cmake/Modules/FindOpenImageIO.cmake -+++ b/build_files/cmake/Modules/FindOpenImageIO.cmake -@@ -48,6 +48,15 @@ FIND_LIBRARY(OPENIMAGEIO_LIBRARY - lib64 lib - ) - -+FIND_LIBRARY(OPENIMAGEIO_UTIL_LIBRARY -+ NAMES -+ OpenImageIO_Util -+ HINTS -+ ${_openimageio_SEARCH_DIRS} -+ PATH_SUFFIXES -+ lib64 lib -+ ) -+ - FIND_FILE(OPENIMAGEIO_IDIFF - NAMES - idiff -@@ -64,7 +73,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_MSG - OPENIMAGEIO_LIBRARY OPENIMAGEIO_INCLUDE_DIR) - - IF(OPENIMAGEIO_FOUND) -- SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY}) -+ SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY} ${OPENIMAGEIO_UTIL_LIBRARY}) - SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR}) - IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp) - SET(OPENIMAGEIO_PUGIXML_FOUND TRUE) --- -2.36.1 - diff --git a/media-gfx/blender/patches/blender3-3.3.1.patchset b/media-gfx/blender/patches/blender3-3.3.1.patchset new file mode 100644 index 000000000..6ad5904c6 --- /dev/null +++ b/media-gfx/blender/patches/blender3-3.3.1.patchset @@ -0,0 +1,125 @@ +From 77f6982df9e53e477cccd2a9da30a988eb6638a0 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Fri, 19 Mar 2021 08:13:09 +1000 +Subject: Fix for Haiku + + +diff --git a/extern/wcwidth/wcwidth.h b/extern/wcwidth/wcwidth.h +index 3039a50..68f21b6 100644 +--- a/extern/wcwidth/wcwidth.h ++++ b/extern/wcwidth/wcwidth.h +@@ -21,7 +21,7 @@ + #define __WCWIDTH_H__ + + #ifndef __cplusplus +-# if defined(__APPLE__) || defined(__NetBSD__) ++# if defined(__APPLE__) || defined(__NetBSD__) || defined(__HAIKU__) + /* The standard header is missing on macOS. */ + #include + typedef unsigned int char32_t; +diff --git a/source/blender/blenlib/BLI_threads.h b/source/blender/blenlib/BLI_threads.h +index dac33e1..45f3462 100644 +--- a/source/blender/blenlib/BLI_threads.h ++++ b/source/blender/blenlib/BLI_threads.h +@@ -176,7 +176,7 @@ void BLI_thread_queue_nowait(ThreadQueue *queue); + + /* Thread local storage */ + +-#if defined(__APPLE__) ++#if defined(__APPLE__) || defined(__HAIKU__) + # define ThreadLocal(type) pthread_key_t + # define BLI_thread_local_create(name) pthread_key_create(&name, NULL) + # define BLI_thread_local_delete(name) pthread_key_delete(name) +diff --git a/source/blender/windowmanager/intern/wm_platform_support.c b/source/blender/windowmanager/intern/wm_platform_support.c +index becc2d8..9b5f808 100644 +--- a/source/blender/windowmanager/intern/wm_platform_support.c ++++ b/source/blender/windowmanager/intern/wm_platform_support.c +@@ -102,7 +102,7 @@ bool WM_platform_support_perform_checks() + char link[WM_PLATFORM_SUPPORT_TEXT_SIZE]; + + bool result = true; +- ++#ifndef __HAIKU__ + eGPUSupportLevel support_level = GPU_platform_support_level(); + const char *platform_key = GPU_platform_support_level_key(); + +@@ -200,6 +200,6 @@ bool WM_platform_support_perform_checks() + WM_ghost_show_message_box( + title, message, "Find Latest Drivers", "Continue Anyway", link, dialog_options); + } +- ++#endif + return result; + } +-- +2.37.3 + + +From 3010f81f40069802a22ff7a36af37c29c2e4824f Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sun, 26 Dec 2021 20:55:05 +1000 +Subject: Link with icu + + +diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake +index 7a427c4..a67d8e7 100644 +--- a/build_files/cmake/platform/platform_unix.cmake ++++ b/build_files/cmake/platform/platform_unix.cmake +@@ -551,7 +551,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.37.3 + + +From 47845ed1e534cd96b21476cd9ba056f799937f20 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sun, 26 Dec 2021 20:55:26 +1000 +Subject: Use clock_gettime for Haiku + + +diff --git a/source/blender/blenlib/intern/uuid.cc b/source/blender/blenlib/intern/uuid.cc +index 890a721..6fb1275 100644 +--- a/source/blender/blenlib/intern/uuid.cc ++++ b/source/blender/blenlib/intern/uuid.cc +@@ -28,7 +28,7 @@ bUUID BLI_uuid_generate_random() + static_assert(std::mt19937_64::max() == 0xffffffffffffffffLL); + + struct timespec ts; +-#ifdef __APPLE__ ++#if defined(__APPLE__) || defined(__HAIKU__) + /* `timespec_get()` is only available on macOS 10.15+, so until that's the minimum version + * supported by Blender, use another function to get the timespec. + * +-- +2.37.3 + + +From 804676eb48c4afb4a61cdb56d789b7f8e0579833 Mon Sep 17 00:00:00 2001 +From: Ken Mays +Date: Sun, 9 Oct 2022 05:07:14 +1000 +Subject: Fix for OpenEXR 3.0.x + + +diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake +index 9107b56..a699628 100644 +--- a/build_files/cmake/Modules/FindOpenEXR.cmake ++++ b/build_files/cmake/Modules/FindOpenEXR.cmake +@@ -86,7 +86,7 @@ IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0") + SET(_openexr_FIND_COMPONENTS + Iex + OpenEXR +- OpenEXRCore ++ Imath + IlmThread + ) + ELSE() +-- +2.37.3 +