Here is an update to Blender 3.3.8.
Changelog - Build: patch Boost for incompatibility with Xcode and libc++ 15. [480a6bc94d] - Add-on Bool Tool ??? Click on Brush name throws a python error. [#104660] - Fix memory leak in BLI_file_older for WIN32. [c02d0fe8a89] - Glog: fixed OpenBSD support. [dd33c9109fd] - Scale Cage does not work with custom orientation in edit mode if object has rotation. [#107889] - Fix (unreported) crash in blendkernel unittest in debug builds. [03035404e28] - LTS downloads: user friendly names and add Apple Silicon. [d62f93b3eaf] - Build: fix OpenBSD error in guardedalloc. [ca660b09fb5] - Bevel Modifier pulling vertex. [#107910] - Fix outliner constraint disabling clearing unrelated flags. [10c9bd3e327] - Libmv: Remove FreeBSD sincos() workaround. [789f6911f51] - Transform Operator affected by disabled bone constraint. [#108161] - Memory consumption beyond defined limit when entering-exiting Edit mode. [#88010] - Image Editor glitch after texture painting undo. [#108501] - Undo does not undo removing a Geometry Nodes group from the modifier. [#106966] - Fix building with boost >= 1.81. [d7deddfc963] - Build: fix NetBSD support in Glog. [03c74c71e79] - Build: fix NetBSD error in guardedalloc. [4b8e9808482] - Renaming Custom Python Properties is Incorrect. [#98973] - Knife: remove redundant recreation of a ray. [d4e360b5262] - The relative angle constaint of the knife tool does not work correctly with rotated objects. [#104597] - Layer.load_from_file() have some problems loading a Multi-layered EXR files. [#108980] - Wrong text in MeshSequenceCache and Transform Cache. [#105942] - Proportional editing Fcurve Proportional Size is not displaying correctly. [#108911] - Asset Browser Crash (fixed in 3.6 ??? relevant for backporting?). [#106543] - Anim: remove assumption of array_index order when blending quaternions. [fcaa5cab85] - Fix Pose Library: crash when using partially-keyed quaternions. [0dcef23ebc] - Fix support for building with ffmpeg < 5.0. [edf31df7e891a9a9e479ba9e65108db9626340d9] - Fix: Build with FFmpeg 6.0. [7227e11f213d08e753bc381b3a94748a12a060de] - Fix ffmpeg warnings due to missing header include. [11c94fcb234856629b3bb3b433656d1fde8ceddd] Index: Makefile =================================================================== RCS file: /home/cvs/ports/graphics/blender/Makefile,v retrieving revision 1.116 diff -u -p -u -p -r1.116 Makefile --- Makefile 25 May 2023 07:31:55 -0000 1.116 +++ Makefile 21 Jun 2023 05:44:19 -0000 @@ -7,7 +7,7 @@ DPB_PROPERTIES = parallel COMMENT = 3D creation software -DISTNAME = blender-3.3.7 +DISTNAME = blender-3.3.8 CATEGORIES = graphics Index: distinfo =================================================================== RCS file: /home/cvs/ports/graphics/blender/distinfo,v retrieving revision 1.34 diff -u -p -u -p -r1.34 distinfo --- distinfo 25 May 2023 07:31:55 -0000 1.34 +++ distinfo 21 Jun 2023 05:10:43 -0000 @@ -1,2 +1,2 @@ -SHA256 (blender-3.3.7.tar.xz) = R7vjC79yPINIfnByO6Osj54RDkCvejEcRkf8LW27Rzo= -SIZE (blender-3.3.7.tar.xz) = 41909684 +SHA256 (blender-3.3.8.tar.xz) = lGVx0D79TvlbQ/ClCOhI4i1yoj5nJh/f3s65apMVHRc= +SIZE (blender-3.3.8.tar.xz) = 41915180 Index: patches/patch-extern_glog_src_config_h =================================================================== RCS file: patches/patch-extern_glog_src_config_h diff -N patches/patch-extern_glog_src_config_h --- patches/patch-extern_glog_src_config_h 25 May 2023 07:31:55 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: extern/glog/src/config.h ---- extern/glog/src/config.h.orig -+++ extern/glog/src/config.h -@@ -2,6 +2,8 @@ - #include "config_mac.h" - #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) - #include "config_freebsd.h" -+#elif defined(__OpenBSD__) -+ #include "config_openbsd.h" - #elif defined(__MINGW32__) - #include "windows/config.h" - #elif defined(__linux__) Index: patches/patch-extern_glog_src_config_openbsd_h =================================================================== RCS file: patches/patch-extern_glog_src_config_openbsd_h diff -N patches/patch-extern_glog_src_config_openbsd_h --- patches/patch-extern_glog_src_config_openbsd_h 25 May 2023 07:31:55 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,196 +0,0 @@ -Index: extern/glog/src/config_openbsd.h ---- extern/glog/src/config_openbsd.h.orig -+++ extern/glog/src/config_openbsd.h -@@ -0,0 +1,192 @@ -+/* define if glog doesn't use RTTI */ -+/* #undef DISABLE_RTTI */ -+ -+/* Namespace for Google classes */ -+#define GOOGLE_NAMESPACE google -+ -+/* Define if you have the `dladdr' function */ -+/* #undef HAVE_DLADDR */ -+ -+/* Define if you have the `snprintf' function */ -+#define HAVE_SNPRINTF -+ -+/* Define to 1 if you have the <dlfcn.h> header file. */ -+#define HAVE_DLFCN_H -+ -+/* Define to 1 if you have the <execinfo.h> header file. */ -+/* #undef HAVE_EXECINFO_H */ -+ -+/* Define if you have the `fcntl' function */ -+#define HAVE_FCNTL -+ -+/* Define to 1 if you have the <glob.h> header file. */ -+#define HAVE_GLOB_H -+ -+/* Define to 1 if you have the <inttypes.h> header file. */ -+#define HAVE_INTTYPES_H 1 -+ -+/* Define to 1 if you have the `pthread' library (-lpthread). */ -+#define HAVE_LIBPTHREAD -+ -+/* Define to 1 if you have the <libunwind.h> header file. */ -+/* #undef HAVE_LIBUNWIND_H */ -+ -+/* define if you have google gflags library */ -+#define HAVE_LIB_GFLAGS -+ -+/* define if you have google gmock library */ -+/* #undef HAVE_LIB_GMOCK */ -+ -+/* define if you have google gtest library */ -+/* #undef HAVE_LIB_GTEST */ -+ -+/* define if you have libunwind */ -+/* #undef HAVE_LIB_UNWIND */ -+ -+/* Define to 1 if you have the <memory.h> header file. */ -+#define HAVE_MEMORY_H -+ -+/* define to disable multithreading support. */ -+/* #undef NO_THREADS */ -+ -+/* define if the compiler implements namespaces */ -+#define HAVE_NAMESPACES -+ -+/* Define if you have the 'pread' function */ -+#define HAVE_PREAD -+ -+/* Define if you have POSIX threads libraries and header files. */ -+#define HAVE_PTHREAD -+ -+/* Define to 1 if you have the <pwd.h> header file. */ -+#define HAVE_PWD_H -+ -+/* Define if you have the 'pwrite' function */ -+#define HAVE_PWRITE -+ -+/* define if the compiler implements pthread_rwlock_* */ -+#define HAVE_RWLOCK 1 -+ -+/* Define if you have the 'sigaction' function */ -+#define HAVE_SIGACTION -+ -+/* Define if you have the `sigaltstack' function */ -+#define HAVE_SIGALTSTACK 1 -+ -+/* Define to 1 if you have the <stdint.h> header file. */ -+#define HAVE_STDINT_H 1 -+ -+/* Define to 1 if you have the <stdlib.h> header file. */ -+#define HAVE_STDLIB_H -+ -+/* Define to 1 if you have the <strings.h> header file. */ -+#define HAVE_STRINGS_H -+ -+/* Define to 1 if you have the <string.h> header file. */ -+#define HAVE_STRING_H -+ -+/* Define to 1 if you have the <syscall.h> header file. */ -+/* #undef HAVE_SYSCALL_H */ -+ -+/* Define to 1 if you have the <syslog.h> header file. */ -+#define HAVE_SYSLOG_H -+ -+/* Define to 1 if you have the <sys/stat.h> header file. */ -+#define HAVE_SYS_STAT_H -+ -+/* Define to 1 if you have the <sys/syscall.h> header file. */ -+/* #undef HAVE_SYS_SYSCALL_H */ -+ -+/* Define to 1 if you have the <sys/time.h> header file. */ -+#define HAVE_SYS_TIME_H -+ -+/* Define to 1 if you have the <sys/types.h> header file. */ -+#define HAVE_SYS_TYPES_H 1 -+ -+/* Define to 1 if you have the <sys/ucontext.h> header file. */ -+/* #undef HAVE_SYS_UCONTEXT_H */ -+ -+/* Define to 1 if you have the <sys/utsname.h> header file. */ -+#define HAVE_SYS_UTSNAME_H -+ -+/* Define to 1 if you have the <ucontext.h> header file. */ -+/* #undef HAVE_UCONTEXT_H */ -+ -+/* Define to 1 if you have the <unistd.h> header file. */ -+#define HAVE_UNISTD_H 1 -+ -+/* Define to 1 if you have the <unwind.h> header file. */ -+#define HAVE_UNWIND_H 1 -+ -+/* define if the compiler supports using expression for operator */ -+#define HAVE_USING_OPERATOR -+ -+/* define if your compiler has __attribute__ */ -+#define HAVE___ATTRIBUTE__ -+ -+/* define if your compiler has __builtin_expect */ -+#define HAVE___BUILTIN_EXPECT 1 -+ -+/* define if your compiler has __sync_val_compare_and_swap */ -+#define HAVE___SYNC_VAL_COMPARE_AND_SWAP -+ -+/* Define to the sub-directory in which libtool stores uninstalled libraries. -+ */ -+/* #undef LT_OBJDIR */ -+ -+/* Name of package */ -+/* #undef PACKAGE */ -+ -+/* Define to the address where bug reports for this package should be sent. */ -+/* #undef PACKAGE_BUGREPORT */ -+ -+/* Define to the full name of this package. */ -+/* #undef PACKAGE_NAME */ -+ -+/* Define to the full name and version of this package. */ -+/* #undef PACKAGE_STRING */ -+ -+/* Define to the one symbol short name of this package. */ -+/* #undef PACKAGE_TARNAME */ -+ -+/* Define to the home page for this package. */ -+/* #undef PACKAGE_URL */ -+ -+/* Define to the version of this package. */ -+/* #undef PACKAGE_VERSION */ -+ -+/* How to access the PC from a struct ucontext */ -+/* #undef PC_FROM_UCONTEXT */ -+ -+/* Define to necessary symbol if this constant uses a non-standard name on -+ your system. */ -+/* #undef PTHREAD_CREATE_JOINABLE */ -+ -+/* The size of `void *', as computed by sizeof. */ -+#define SIZEOF_VOID_P 8 -+ -+/* Define to 1 if you have the ANSI C header files. */ -+#define STDC_HEADERS 1 -+ -+/* the namespace where STL code like vector<> is defined */ -+#define STL_NAMESPACE std -+ -+/* location of source code */ -+#define TEST_SRC_DIR "." -+ -+/* Version number of package */ -+/* #undef VERSION */ -+ -+/* Stops putting the code inside the Google namespace */ -+#define _END_GOOGLE_NAMESPACE_ } -+ -+/* Puts following code inside the Google namespace */ -+#define _START_GOOGLE_NAMESPACE_ namespace google { -+ -+#define GOOGLE_GLOG_DLL_DECL -+ -+/* isn't getting defined by configure script when clang compilers are used -+ and cuases compilation errors in stactrace/unwind modules */ -+#ifdef __clang__ -+# define NO_FRAME_POINTER -+#endif Index: patches/patch-intern_ffmpeg_ffmpeg_compat_h =================================================================== RCS file: patches/patch-intern_ffmpeg_ffmpeg_compat_h diff -N patches/patch-intern_ffmpeg_ffmpeg_compat_h --- patches/patch-intern_ffmpeg_ffmpeg_compat_h 27 Apr 2023 06:00:34 -0000 1.8 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,23 +0,0 @@ -Fix: Build with FFmpeg 6.0 - -Index: intern/ffmpeg/ffmpeg_compat.h ---- intern/ffmpeg/ffmpeg_compat.h.orig -+++ intern/ffmpeg/ffmpeg_compat.h -@@ -36,6 +36,17 @@ - # define FFMPEG_INLINE static inline - #endif - -+/* AV_CODEC_CAP_AUTO_THREADS was renamed to AV_CODEC_CAP_OTHER_THREADS with -+ * upstream commit -+ * github.com/FFmpeg/FFmpeg/commit/7d09579190def3ef7562399489e628f3b65714ce -+ * (lavc 58.132.100) and removed with commit -+ * github.com/FFmpeg/FFmpeg/commit/10c9a0874cb361336237557391d306d26d43f137 -+ * for ffmpeg 6.0. -+ */ -+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,132,100) -+# define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS -+#endif -+ - #if (LIBAVFORMAT_VERSION_MAJOR < 58) || \ - ((LIBAVFORMAT_VERSION_MAJOR == 58) && (LIBAVFORMAT_VERSION_MINOR < 76)) - # define FFMPEG_USE_DURATION_WORKAROUND 1 Index: patches/patch-intern_guardedalloc_intern_mallocn_intern_h =================================================================== RCS file: patches/patch-intern_guardedalloc_intern_mallocn_intern_h diff -N patches/patch-intern_guardedalloc_intern_mallocn_intern_h --- patches/patch-intern_guardedalloc_intern_mallocn_intern_h 25 May 2023 07:31:55 -0000 1.10 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: intern/guardedalloc/intern/mallocn_intern.h ---- intern/guardedalloc/intern/mallocn_intern.h.orig -+++ intern/guardedalloc/intern/mallocn_intern.h -@@ -23,6 +23,8 @@ - # define HAVE_MALLOC_STATS - #elif defined(__FreeBSD__) - # include <malloc_np.h> -+#elif defined(__OpenBSD__) -+# undef USE_MALLOC_USABLE_SIZE - #elif defined(__APPLE__) - # include <malloc/malloc.h> - # define malloc_usable_size malloc_size Index: patches/patch-source_blender_blenkernel_intern_writeffmpeg_c =================================================================== RCS file: patches/patch-source_blender_blenkernel_intern_writeffmpeg_c diff -N patches/patch-source_blender_blenkernel_intern_writeffmpeg_c --- patches/patch-source_blender_blenkernel_intern_writeffmpeg_c 27 Apr 2023 06:00:34 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -Fix: Build with FFmpeg 6.0 - -Index: source/blender/blenkernel/intern/writeffmpeg.c ---- source/blender/blenkernel/intern/writeffmpeg.c.orig -+++ source/blender/blenkernel/intern/writeffmpeg.c -@@ -644,7 +644,7 @@ static AVStream *alloc_video_stream(FFMpegContext *con - 255); - st->avg_frame_rate = av_inv_q(c->time_base); - -- if (codec->capabilities & AV_CODEC_CAP_AUTO_THREADS) { -+ if (codec->capabilities & AV_CODEC_CAP_OTHER_THREADS) { - c->thread_count = 0; - } - else { Index: patches/patch-source_blender_imbuf_intern_anim_movie_c =================================================================== RCS file: patches/patch-source_blender_imbuf_intern_anim_movie_c diff -N patches/patch-source_blender_imbuf_intern_anim_movie_c --- patches/patch-source_blender_imbuf_intern_anim_movie_c 27 Apr 2023 06:00:34 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -Fix: Build with FFmpeg 6.0 - -Index: source/blender/imbuf/intern/anim_movie.c ---- source/blender/imbuf/intern/anim_movie.c.orig -+++ source/blender/imbuf/intern/anim_movie.c -@@ -555,7 +555,7 @@ static int startffmpeg(struct anim *anim) - avcodec_parameters_to_context(pCodecCtx, video_stream->codecpar); - pCodecCtx->workaround_bugs = FF_BUG_AUTODETECT; - -- if (pCodec->capabilities & AV_CODEC_CAP_AUTO_THREADS) { -+ if (pCodec->capabilities & AV_CODEC_CAP_OTHER_THREADS) { - pCodecCtx->thread_count = 0; - } - else { Index: patches/patch-source_blender_imbuf_intern_indexer_c =================================================================== RCS file: patches/patch-source_blender_imbuf_intern_indexer_c diff -N patches/patch-source_blender_imbuf_intern_indexer_c --- patches/patch-source_blender_imbuf_intern_indexer_c 27 Apr 2023 06:00:34 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,23 +0,0 @@ -Fix: Build with FFmpeg 6.0 - -Index: source/blender/imbuf/intern/indexer.c ---- source/blender/imbuf/intern/indexer.c.orig -+++ source/blender/imbuf/intern/indexer.c -@@ -557,7 +557,7 @@ static struct proxy_output_ctx *alloc_proxy_output_ffm - av_dict_set(&codec_opts, "preset", "veryfast", 0); - av_dict_set(&codec_opts, "tune", "fastdecode", 0); - -- if (rv->codec->capabilities & AV_CODEC_CAP_AUTO_THREADS) { -+ if (rv->codec->capabilities & AV_CODEC_CAP_OTHER_THREADS) { - rv->c->thread_count = 0; - } - else { -@@ -870,7 +870,7 @@ static IndexBuildContext *index_ffmpeg_create_context( - avcodec_parameters_to_context(context->iCodecCtx, context->iStream->codecpar); - context->iCodecCtx->workaround_bugs = FF_BUG_AUTODETECT; - -- if (context->iCodec->capabilities & AV_CODEC_CAP_AUTO_THREADS) { -+ if (context->iCodec->capabilities & AV_CODEC_CAP_OTHER_THREADS) { - context->iCodecCtx->thread_count = 0; - } - else {