<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/f7e2c9f5b472d4d849cb25dcbf0945e88f172909">https://github.com/macports/macports-ports/commit/f7e2c9f5b472d4d849cb25dcbf0945e88f172909</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit f7e2c9f5b472d4d849cb25dcbf0945e88f172909
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Tue Apr 25 19:09:45 2023 +0200
<span style='display:block; white-space:pre;color:#404040;'> blender: update to 2.93.17; fix build with python3.11
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/65060
</span>---
graphics/blender/Portfile | 56 +++++--
.../blender/files/patch-before-macOS10.12.diff | 33 +++++
graphics/blender/files/patch-before-macOS11.diff | 42 ++++++
graphics/blender/files/patch-boost17.diff | 26 ++++
.../blender/files/patch-macports-libs-creator.diff | 14 +-
.../files/patch-macports-libs-platform_apple.diff | 77 +++++-----
.../blender/files/patch-manpage-for-apple.diff | 4 +-
graphics/blender/files/patch-openimageio24.diff | 55 +++++++
graphics/blender/files/patch-openvdb10.diff | 114 ++++++++++++++
graphics/blender/files/patch-pythin311.diff | 165 +++++++++++++++++++++
graphics/blender/files/patch-unix-or-apple.diff | 27 ++--
11 files changed, 544 insertions(+), 69 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/blender/Portfile b/graphics/blender/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3eb664ac44c..15b70474841 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/blender/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/blender/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,8 +7,8 @@ PortGroup active_variants 1.1
</span> PortGroup boost 1.0
name blender
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 2.91.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 2.93.17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span> categories graphics multimedia
platforms darwin
license GPL-2+
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,9 +28,9 @@ long_description Blender is a ${description}. It contains a set of \
</span>
master_sites https://download.blender.org/source/
use_xz yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 f49173e5478d16c8a2b70df5fdb41bd0fed4ef01 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 185cbc4cd7f2f614a7594221d8237170ade7f389d16858cee22ad778c26fcc70 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 42057100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 7c7ddbe88702b3d7836e5a59374f3d7eaeeeec03 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 040e1381c8a37bb22e684b15ba4fecb78817fd13f1e4709d6d8c20800ac7cbfb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 43033860
</span>
minimum_xcodeversions-append {15 8.2 16 8.2}
if {${os.platform} eq "darwin" && ${os.major} < 15} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,6 +48,11 @@ compiler.cxx_standard 2017
</span> # also not included in Xcode.)
# (Reference: https://stackoverflow.com/questions/32959627/where-is-the-system-llvm-config-on-macos)
compiler.blacklist-append clang {macports-clang-[5-8].0}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Blacklist macports-clang-16+ to prevent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# error: no template named 'unary_function' in namespace 'std'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append {macports-clang-1[6-9]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Even though we need to blacklist Xcode Clang/LLVM, we still need to
# make the rest of Xcode available to the build system. If we don't set
# use_xcode to yes, then the build will fail, because Blender's CMake
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -56,8 +61,13 @@ compiler.blacklist-append clang {macports-clang-[5-8].0}
</span> use_xcode yes
cmake.install_prefix ${applications_dir}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set py_ver 3.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# error: TARGET_OS_xxx not defined, evaluates to 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cppflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Wno-undef-prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set py_ver 3.11
</span> set py_ver_nodot [string map {. {}} ${py_ver}]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+require_active_variants [boost::depends_portname] python${py_ver_nodot}
</span>
depends_lib-append port:python${py_ver_nodot} \
port:openal-soft \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -106,7 +116,24 @@ if { ${llvm_version} eq "" } {
</span>
patchfiles patch-macports-libs-creator.diff \
patch-macports-libs-platform_apple.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-unix-or-apple.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-unix-or-apple.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-openvdb10.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-openimageio24.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-pythin311.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # NSWindow.allowsAutomaticWindowTabbing is introduced at macOS 10.12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-before-macOS10.12.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} < 20} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Fix of locations at 11.4 introduced a crash before, revert it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-before-macOS11.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
post-patch {
set platform_apple.cmake \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -275,9 +302,7 @@ list(APPEND USD_LIBRARIES\\
</span> ] {
reinplace $re ${platform_apple.cmake}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {$py_ver > 3.7} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace -E {s/(PYTHON_VERSION.)m/\1/} ${platform_apple.cmake}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> reinplace "s/@@llvm_version@@/$llvm_version/g" \
${worksrcpath}/source/creator/CMakeLists.txt
reinplace -E {s/(llvm-config-)/\1mp-/} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -286,10 +311,12 @@ list(APPEND USD_LIBRARIES\\
</span> ${worksrcpath}/build_files/cmake/Modules/FindLLVM.cmake
reinplace -E "/find_program.LLVM_CONFIG llvm-config.$/s|(llvm-config)|\\1 HINTS ${prefix}/libexec/llvm-\${LLVM_VERSION}/bin|" \
${worksrcpath}/build_files/cmake/Modules/FindLLVM.cmake
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -E "s|/opt/local/lib|${prefix}/libexec/llvm-\${LLVM_VERSION}|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/build_files/cmake/Modules/FindClang.cmake
</span>
# Prevent Blender's CMake scripts from attempting to set the
# MACOSX_DEPLOYMENT_TARGET. MacPorts base already sets this.
<span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace {/if.CMAKE_OSX_DEPLOYMENT_TARGET/,$s/^/#/g} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace {/set.CMAKE_OSX_DEPLOYMENT_TARGET/,$s/^/#/g} \
</span> ${platform_apple_xcode.cmake}
if {${os.major} >= 18} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -331,6 +358,10 @@ if {${os.major} < 16} {
</span> configure.objcxxflags-prepend -isystem ${filespath}/old_appkit_compat
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# modern compiler and legacy CoreAudio.framework leads to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# error: non-defining declaration of enumeration with a fixed underlying type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxxflags-append -Wno-elaborated-enum-base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Use of the name LIBDIR in the Blender source is not a very good one,
# since it doesn't actually point to the lib directory.
# vvvvvv
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -372,6 +403,9 @@ configure.args-append -DWITH_SYSTEM_GLEW=ON \
</span> # that dynamic builds are also possible
configure.args-append -DLLVM_STATIC=OFF
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# MacPorts hasn't got NanoVDB from Nvidia, disable it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append -DWITH_NANOVDB=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-destroot {
# Make sure that an addons_contrib folder makes it into the final
# distribution, even if it is empty.
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/blender/files/patch-before-macOS10.12.diff b/graphics/blender/files/patch-before-macOS10.12.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..70399a13f69
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/blender/files/patch-before-macOS10.12.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,33 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Based on:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - https://github.com/blender/blender/commit/d09b874244c8ef7385aff136acdaae6aae67ea7e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - https://github.com/blender/blender/commit/cf9ea111bf48b500db59f800c49f88544873c4f7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git intern/ghost/intern/GHOST_SystemCocoa.mm intern/ghost/intern/GHOST_SystemCocoa.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 31ce5649fdf..52c53b179e1 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- intern/ghost/intern/GHOST_SystemCocoa.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ intern/ghost/intern/GHOST_SystemCocoa.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -641,11 +641,6 @@ GHOST_TSuccess GHOST_SystemCocoa::init()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [NSApp setDelegate:appDelegate];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // AppKit provides automatic window tabbing. Blender is a single-tabbed application
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // without a macOS tab bar, and should explicitly opt-out of this. This is also
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // controlled by the macOS user default #NSWindowTabbingEnabled.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- NSWindow.allowsAutomaticWindowTabbing = NO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [NSApp finishLaunching];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git intern/ghost/intern/GHOST_WindowCocoa.mm intern/ghost/intern/GHOST_WindowCocoa.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1776b0d5ce0..81e984e39d0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- intern/ghost/intern/GHOST_WindowCocoa.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ intern/ghost/intern/GHOST_WindowCocoa.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -395,7 +395,7 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(GHOST_SystemCocoa *systemCocoa,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [m_window setAcceptsMouseMovedEvents:YES];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NSView *contentview = [m_window contentView];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- [contentview setAllowedTouchTypes:(NSTouchTypeMaskDirect | NSTouchTypeMaskIndirect)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ [contentview setAcceptsTouchEvents:YES];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [m_window registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NSStringPboardType,
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/blender/files/patch-before-macOS11.diff b/graphics/blender/files/patch-before-macOS11.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..221b070aa27
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/blender/files/patch-before-macOS11.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,42 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Based on https://github.com/blender/blender/commit/8e237d83f2138fb94933f971a070a0552f1f506a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git intern/locale/boost_locale_wrapper.cpp intern/locale/boost_locale_wrapper.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ede9377b38f..73433fe7c5e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- intern/locale/boost_locale_wrapper.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ intern/locale/boost_locale_wrapper.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -117,13 +117,6 @@ void bl_locale_set(const char *locale)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef LOCALE_INFO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // Extra catch on `std::runtime_error` is needed for macOS/Clang as it seems that exceptions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // like `boost::locale::conv::conversion_error` (which inherit from `std::runtime_error`) are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // not caught by their ancestor `std::exception`. See
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // https://developer.blender.org/T88877#1177108 .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- catch (std::runtime_error const &e) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- std::cout << "bl_locale_set(" << locale << "): " << e.what() << " \n";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ catch (std::exception const &e) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::cout << "bl_locale_set(" << locale << "): " << e.what() << " \n";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git intern/locale/osx_user_locale.mm intern/locale/osx_user_locale.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ce694b5fc1e..e2f65d39df9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- intern/locale/osx_user_locale.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ intern/locale/osx_user_locale.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,17 +14,7 @@ const char *osx_user_locale()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CFLocaleRef myCFLocale = CFLocaleCopyCurrent();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NSLocale *myNSLocale = (NSLocale *)myCFLocale;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [myNSLocale autorelease];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // This produces gettext-invalid locale in recent macOS versions (11.4),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // like `ko-Kore_KR` instead of `ko_KR`. See T88877.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // NSString *nsIdentifier = [myNSLocale localeIdentifier];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- const NSString *nsIdentifier = [myNSLocale languageCode];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- const NSString *const nsIdentifier_country = [myNSLocale countryCode];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if ([nsIdentifier length] != 0 && [nsIdentifier_country length] != 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- nsIdentifier = [NSString stringWithFormat:@"%@_%@", nsIdentifier, nsIdentifier_country];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ NSString *nsIdentifier = [myNSLocale localeIdentifier];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ user_locale = ::strdup([nsIdentifier UTF8String]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [pool drain];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/blender/files/patch-boost17.diff b/graphics/blender/files/patch-boost17.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c1616edbe5a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/blender/files/patch-boost17.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git build_files/cmake/platform/platform_apple.cmake build_files/cmake/platform/platform_apple.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fe9dd6a58de..b9be828ab2a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- build_files/cmake/platform/platform_apple.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ build_files/cmake/platform/platform_apple.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -265,6 +265,11 @@ if(WITH_BOOST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ find_package(Boost COMPONENTS ${_boost_FIND_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ foreach(COMPONENT ${_boost_FIND_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ list(APPEND Boost_LIBRARIES "${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endforeach()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(BOOST_LIBRARIES ${Boost_LIBRARIES})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(BOOST_DEFINITIONS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -287,7 +292,8 @@ if(WITH_PUGIXML)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(WITH_OPENIMAGEIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- find_package(OpenImageIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ find_package(OpenImageIO REQUIRED CONFIG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OPENIMAGEIO_LIBRARIES "OpenImageIO::OpenImageIO")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(APPEND OPENIMAGEIO_LIBRARIES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${PNG_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${JPEG_LIBRARIES}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/blender/files/patch-macports-libs-creator.diff b/graphics/blender/files/patch-macports-libs-creator.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 6f8767d78c7..4bf31a0dd3c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/blender/files/patch-macports-libs-creator.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/blender/files/patch-macports-libs-creator.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,6 +1,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- source/creator/CMakeLists.txt.orig 2020-11-25 03:31:32.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ source/creator/CMakeLists.txt 2021-03-16 01:45:49.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -79,6 +79,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/creator/CMakeLists.txt source/creator/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cb5fc538e69..e6241ad6790 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/creator/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/creator/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -79,6 +79,25 @@ if(WITH_TBB)
</span> endif()
endif()
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,7 +28,7 @@
</span>
if(WITH_PYTHON)
blender_include_dirs(../blender/python)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -988,15 +1007,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1029,8 +1048,11 @@ elseif(APPLE)
</span>
if(WITH_OPENMP AND OPENMP_CUSTOM)
install(
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,7 +40,9 @@
</span> + ${CMAKE_BINARY_DIR}/bin/Blender.app/Contents/Resources/lib/libomp.dylib \
+ )"
)
<span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(WITH_PYTHON_MODULE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Move the dylib in a Blender version folder to keep the corresponding OpenMP version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1050,8 +1072,11 @@ elseif(APPLE)
</span>
if(WITH_LLVM AND NOT LLVM_STATIC)
install(
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/blender/files/patch-macports-libs-platform_apple.diff b/graphics/blender/files/patch-macports-libs-platform_apple.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 5188e0c8eda..4ae18a92070 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/blender/files/patch-macports-libs-platform_apple.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/blender/files/patch-macports-libs-platform_apple.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,6 +1,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- build_files/cmake/platform/platform_apple.cmake.orig 2020-11-25 03:31:32.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ build_files/cmake/platform/platform_apple.cmake 2021-03-15 03:01:06.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -47,8 +47,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git build_files/cmake/platform/platform_apple.cmake build_files/cmake/platform/platform_apple.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fe9dd6a58de..c56606bca33 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- build_files/cmake/platform/platform_apple.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ build_files/cmake/platform/platform_apple.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -41,8 +41,12 @@ endfunction()
</span> # ------------------------------------------------------------------------
# Find system provided libraries.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14,8 +16,8 @@
</span> find_package(ZLIB REQUIRED)
find_package(BZip2 REQUIRED)
list(APPEND ZLIB_LIBRARIES ${BZIP2_LIBRARIES})
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -67,7 +71,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(NOT JACK_FRAMEWORK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -63,7 +67,7 @@ if(WITH_JACK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ message(STATUS "JACK not found, disabling WITH_JACK")
</span> set(WITH_JACK OFF)
else()
- set(JACK_INCLUDE_DIRS ${JACK_FRAMEWORK}/headers)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,9 +25,9 @@
</span> endif()
endif()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -83,13 +87,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -84,13 +88,6 @@ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file(GLOB LIB_SUBDIRS ${LIBDIR}/*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(CMAKE_PREFIX_PATH ${LIB_SUBDIRS})
</span>
-# -------------------------------------------------------------------------
-# Find precompiled libraries, and avoid system or user-installed ones.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,7 +39,7 @@
</span> if(WITH_ALEMBIC)
find_package(Alembic)
endif()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -107,10 +104,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -109,10 +106,10 @@ endif()
</span>
if(WITH_CODEC_SNDFILE)
find_package(SndFile)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,41 +54,36 @@
</span> list(APPEND LIBSNDFILE_LIBRARIES
${_sndfile_FLAC_LIBRARY}
${_sndfile_OGG_LIBRARY}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -127,7 +124,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -129,7 +126,7 @@ endif()
</span>
if(WITH_PYTHON)
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # we use precompiled libraries for py 3.7 and up by default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(PYTHON_VERSION 3.7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # we use precompiled libraries for py 3.9 and up by default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(PYTHON_VERSION 3.9)
</span> + set(PYTHON_VERSION @@py_ver@@)
if(NOT WITH_PYTHON_MODULE AND NOT WITH_PYTHON_FRAMEWORK)
# normally cached but not since we include them with blender
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -137,11 +134,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -139,7 +136,7 @@ if(WITH_PYTHON)
</span> # set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
else()
# module must be compiled against Python framework
- set(_py_framework "/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}")
+ set(_py_framework "${FRAMEWORK_SEARCH_PATHS}/Python.framework/Versions/${PYTHON_VERSION}")
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set(PYTHON_INCLUDE_DIR "${_py_framework}/include/python${PYTHON_VERSION}m")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(PYTHON_EXECUTABLE "${_py_framework}/bin/python${PYTHON_VERSION}m")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(PYTHON_LIBPATH "${_py_framework}/lib/python${PYTHON_VERSION}/config-${PYTHON_VERSION}m")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(PYTHON_LIBPATH "${_py_framework}/lib/python${PYTHON_VERSION}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # set(PYTHON_LIBRARY python${PYTHON_VERSION})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # set(PYTHON_LINKFLAGS "-u _PyMac_Error -framework Python") # won't build with this enabled
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -202,18 +199,18 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- list(APPEND PLATFORM_LINKLIBS c++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(PYTHON_INCLUDE_DIR "${_py_framework}/include/python${PYTHON_VERSION}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(PYTHON_EXECUTABLE "${_py_framework}/bin/python${PYTHON_VERSION}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -211,18 +208,18 @@ if(WITH_OPENIMAGEDENOISE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span>
if(WITH_JACK)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -F/Library/Frameworks -weak_framework jackmp")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -F${FRAMEWORK_SEARCH_PATHS} -ljack")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- string(APPEND PLATFORM_LINKFLAGS " -F/Library/Frameworks -weak_framework jackmp")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ string(APPEND PLATFORM_LINKFLAGS " -F${FRAMEWORK_SEARCH_PATHS} -ljack")
</span> endif()
if(WITH_PYTHON_MODULE OR WITH_PYTHON_FRAMEWORK)
# force cmake to link right framework
<span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/Python")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${FRAMEWORK_SEARCH_PATHS}/Python.framework/Versions/${PYTHON_VERSION}/Python")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- string(APPEND PLATFORM_LINKFLAGS " /Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/Python")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ string(APPEND PLATFORM_LINKFLAGS " ${FRAMEWORK_SEARCH_PATHS}/Python.framework/Versions/${PYTHON_VERSION}/Python")
</span> endif()
if(WITH_OPENCOLLADA)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -98,8 +95,8 @@
</span> print_found_status("PCRE" "${PCRE_LIBRARIES}")
print_found_status("XML2" "${XML2_LIBRARIES}")
endif()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -225,14 +222,14 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework ForceFeedback")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -234,14 +231,14 @@ if(WITH_SDL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ string(APPEND PLATFORM_LINKFLAGS " -framework ForceFeedback")
</span> endif()
-set(PNG_ROOT ${LIBDIR}/png)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -116,7 +113,7 @@
</span> find_package(TIFF)
if(NOT TIFF_FOUND)
message(WARNING "TIFF not found, disabling WITH_IMAGE_TIFF")
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -242,12 +239,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -251,12 +248,15 @@ endif()
</span>
if(WITH_BOOST)
set(Boost_NO_BOOST_CMAKE ON)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -134,7 +131,7 @@
</span> if(WITH_CYCLES_NETWORK)
list(APPEND _boost_FIND_COMPONENTS serialization)
endif()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -280,7 +280,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -297,7 +297,7 @@ if(WITH_OPENIMAGEIO)
</span> ${ZLIB_LIBRARIES}
)
set(OPENIMAGEIO_DEFINITIONS "-DOIIO_STATIC_BUILD")
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -143,7 +140,7 @@
</span> endif()
if(WITH_OPENCOLORIO)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -289,7 +289,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -311,7 +311,7 @@ endif()
</span>
if(WITH_OPENVDB)
find_package(OpenVDB)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -152,7 +149,7 @@
</span> print_found_status("Blosc" "${BLOSC_LIBRARIES}")
list(APPEND OPENVDB_LIBRARIES ${BLOSC_LIBRARIES})
set(OPENVDB_DEFINITIONS)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -308,20 +308,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -340,20 +340,12 @@ if(WITH_LLVM)
</span> endif()
if(WITH_CYCLES_OSL)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -165,7 +162,7 @@
</span> - list(APPEND OSL_LIBRARIES ${OSL_LIB_COMP} -force_load ${OSL_LIB_EXEC} ${OSL_LIB_QUERY})
- find_path(OSL_INCLUDE_DIR OSL/oslclosure.h PATHS ${CYCLES_OSL}/include)
- find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-- find_path(OSL_SHADER_DIR NAMES stdosl.h PATHS ${CYCLES_OSL}/shaders)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- find_path(OSL_SHADER_DIR NAMES stdosl.h PATHS ${CYCLES_OSL}/share/OSL/shaders)
</span> -
- if(OSL_INCLUDE_DIR AND OSL_LIBRARIES AND OSL_COMPILER AND OSL_SHADER_DIR)
- set(OSL_FOUND TRUE)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -176,10 +173,10 @@
</span> + endif()
+ find_package(OSL)
+ if(NOT OSL_FOUND)
<span style='display:block; white-space:pre;background:#ffe0e0;'>- message(STATUS "OSL not found")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ message(WARNING "OSL not found, disabling WITH_CYCLES_OSL")
</span> set(WITH_CYCLES_OSL OFF)
endif()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -373,29 +365,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -402,29 +394,29 @@ endif()
</span> if(WITH_OPENMP)
if(CMAKE_C_COMPILER_ID MATCHES "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "7.0")
# Use OpenMP from our precompiled libraries.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -189,13 +186,13 @@
</span> set(OPENMP_FOUND ON)
- set(OpenMP_C_FLAGS "-Xclang -fopenmp -I'${LIBDIR}/openmp/include'")
- set(OpenMP_CXX_FLAGS "-Xclang -fopenmp -I'${LIBDIR}/openmp/include'")
<span style='display:block; white-space:pre;background:#ffe0e0;'>-- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L'${LIBDIR}/openmp/lib' -lomp")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(OpenMP_LINKER_FLAGS "-L'${LIBDIR}/openmp/lib' -lomp")
</span> + set(OpenMP_C_FLAGS "-Xclang -fopenmp -I'${LIBDIR}/include/libomp'")
+ set(OpenMP_CXX_FLAGS "-Xclang -fopenmp -I'${LIBDIR}/include/libomp'")
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L'${LIBDIR}/lib/libomp' -lomp")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OpenMP_LINKER_FLAGS "-L'${LIBDIR}/lib/libomp' -lomp")
</span>
# Copy libomp.dylib to allow executables like datatoc and tests to work.
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # `@executable_path/../Resources/lib/` is a default dylib search path.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # `@executable_path/../Resources/lib/` `LC_ID_DYLIB` is added by the deps builder.
</span> # For single config generator datatoc, tests etc.
execute_process(
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/Resources/lib
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -216,7 +213,7 @@
</span> )
endif()
endif()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -416,8 +408,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -453,8 +445,20 @@ if(WITH_HARU)
</span> endif()
endif()
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/blender/files/patch-manpage-for-apple.diff b/graphics/blender/files/patch-manpage-for-apple.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index d601bb96249..ea5ecda805e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/blender/files/patch-manpage-for-apple.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/blender/files/patch-manpage-for-apple.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,8 +9,8 @@
</span> + add_custom_target(
+ blender_man_page ALL
+ COMMAND ${CMAKE_SOURCE_DIR}/doc/manpage/blender.1.py
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${EXECUTABLE_OUTPUT_PATH}/Blender.app/Contents/MacOS/Blender
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ${CMAKE_CURRENT_BINARY_DIR}/blender.1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --blender ${EXECUTABLE_OUTPUT_PATH}/Blender.app/Contents/MacOS/Blender
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ --output ${CMAKE_CURRENT_BINARY_DIR}/blender.1)
</span> + add_dependencies(blender_man_page blender)
+
+ # manpage only with 'blender' binary
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/blender/files/patch-openimageio24.diff b/graphics/blender/files/patch-openimageio24.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..64d16962626
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/blender/files/patch-openimageio24.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,55 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git build_files/cmake/platform/platform_apple.cmake build_files/cmake/platform/platform_apple.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fe9dd6a58de..31bc18fa212 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- build_files/cmake/platform/platform_apple.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ build_files/cmake/platform/platform_apple.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -287,7 +287,8 @@ if(WITH_PUGIXML)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(WITH_OPENIMAGEIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- find_package(OpenImageIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ find_package(OpenImageIO REQUIRED CONFIG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(OPENIMAGEIO_LIBRARIES "OpenImageIO::OpenImageIO")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(APPEND OPENIMAGEIO_LIBRARIES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${PNG_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${JPEG_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git intern/cycles/cmake/macros.cmake intern/cycles/cmake/macros.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ff62b816e6c..f5101664c50 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- intern/cycles/cmake/macros.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ intern/cycles/cmake/macros.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -139,6 +139,9 @@ macro(cycles_target_link_libraries target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(WITH_OPENIMAGEDENOISE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_link_libraries(${target} ${OPENIMAGEDENOISE_LIBRARIES})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if(WITH_OPENIMAGEIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ find_package(OpenImageIO REQUIRED CONFIG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_link_libraries(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${OPENIMAGEIO_LIBRARIES}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git intern/cycles/kernel/osl/CMakeLists.txt intern/cycles/kernel/osl/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6cdc7367fbb..ab2adb9f105 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- intern/cycles/kernel/osl/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ intern/cycles/kernel/osl/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,6 +38,10 @@ set(HEADER_SRC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ osl_shader.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(WITH_OPENIMAGEIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ find_package(OpenImageIO REQUIRED CONFIG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(LIB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cycles_render
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/blender/imbuf/intern/oiio/CMakeLists.txt source/blender/imbuf/intern/oiio/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ee5848dec36..a399ab380b8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/blender/imbuf/intern/oiio/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/blender/imbuf/intern/oiio/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -43,6 +43,7 @@ set(LIB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(WITH_OPENIMAGEIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ find_package(OpenImageIO REQUIRED CONFIG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(APPEND INC_SYS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${OPENIMAGEIO_INCLUDE_DIRS}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${BOOST_INCLUDE_DIR}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/blender/files/patch-openvdb10.diff b/graphics/blender/files/patch-openvdb10.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..573f3faa2d2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/blender/files/patch-openvdb10.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,114 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Based on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - https://developer.blender.org/rBbdc537e0a7b4b62af049dd4d508d5b08a4fa8b3b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - https://developer.blender.org/rB05697470ab0dde6646be939ae57a95c9d4099e0b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git intern/cycles/render/volume.cpp intern/cycles/render/volume.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 358ef71d501..a0a16d7c52f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- intern/cycles/render/volume.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ intern/cycles/render/volume.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -271,7 +271,8 @@ void VolumeMeshBuilder::add_grid(openvdb::GridBase::ConstPtr grid,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void VolumeMeshBuilder::add_padding(int pad_size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef WITH_OPENVDB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- openvdb::tools::dilateVoxels(topology_grid->tree(), pad_size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ openvdb::tools::dilateActiveValues(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ topology_grid->tree(), pad_size, openvdb::tools::NN_FACE, openvdb::tools::IGNORE_TILES);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (void)pad_size;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/blender/blenkernel/BKE_volume.h source/blender/blenkernel/BKE_volume.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cf755827a6c..5a96b70514e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/blender/blenkernel/BKE_volume.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/blender/blenkernel/BKE_volume.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -103,7 +103,6 @@ typedef enum VolumeGridType {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VOLUME_GRID_INT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VOLUME_GRID_INT64,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VOLUME_GRID_MASK,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- VOLUME_GRID_STRING,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VOLUME_GRID_VECTOR_FLOAT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VOLUME_GRID_VECTOR_DOUBLE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VOLUME_GRID_VECTOR_INT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -203,8 +202,6 @@ auto BKE_volume_grid_type_operation(const VolumeGridType grid_type, OpType &&op)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return op.template operator()<openvdb::Vec3IGrid>();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case VOLUME_GRID_VECTOR_DOUBLE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return op.template operator()<openvdb::Vec3dGrid>();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case VOLUME_GRID_STRING:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return op.template operator()<openvdb::StringGrid>();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case VOLUME_GRID_MASK:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return op.template operator()<openvdb::MaskGrid>();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case VOLUME_GRID_POINTS:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/blender/blenkernel/intern/volume.cc source/blender/blenkernel/intern/volume.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7b03839f659..6b745d0bb3e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/blender/blenkernel/intern/volume.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/blender/blenkernel/intern/volume.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1300,9 +1300,6 @@ VolumeGridType BKE_volume_grid_type_openvdb(const openvdb::GridBase &grid)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (grid.isType<openvdb::Vec3dGrid>()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return VOLUME_GRID_VECTOR_DOUBLE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (grid.isType<openvdb::StringGrid>()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return VOLUME_GRID_STRING;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (grid.isType<openvdb::MaskGrid>()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return VOLUME_GRID_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1338,7 +1335,6 @@ int BKE_volume_grid_channels(const VolumeGrid *grid)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case VOLUME_GRID_VECTOR_DOUBLE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case VOLUME_GRID_VECTOR_INT:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 3;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case VOLUME_GRID_STRING:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case VOLUME_GRID_POINTS:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case VOLUME_GRID_UNKNOWN:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1570,13 +1566,8 @@ struct CreateGridWithChangedResolutionOp {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename GridType> typename openvdb::GridBase::Ptr operator()()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if constexpr (std::is_same_v<GridType, openvdb::StringGrid>) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return {};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return create_grid_with_changed_resolution(static_cast<const GridType &>(grid),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- resolution_factor);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return create_grid_with_changed_resolution(static_cast<const GridType &>(grid),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ resolution_factor);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/blender/blenkernel/intern/volume_render.cc source/blender/blenkernel/intern/volume_render.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6dc497bb616..57c7773d7be 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/blender/blenkernel/intern/volume_render.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/blender/blenkernel/intern/volume_render.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -77,7 +77,6 @@ static void extract_dense_float_voxels(const VolumeGridType grid_type,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case VOLUME_GRID_VECTOR_INT:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return extract_dense_voxels<openvdb::Vec3IGrid, openvdb::Vec3f>(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ grid, bbox, reinterpret_cast<openvdb::Vec3f *>(r_voxels));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case VOLUME_GRID_STRING:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case VOLUME_GRID_POINTS:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case VOLUME_GRID_UNKNOWN:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Zero channels to copy. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/blender/makesrna/intern/rna_volume.c source/blender/makesrna/intern/rna_volume.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 76db6f3e325..32c59d5f359 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/blender/makesrna/intern/rna_volume.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/blender/makesrna/intern/rna_volume.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -241,7 +241,6 @@ static void rna_def_volume_grid(BlenderRNA *brna)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {VOLUME_GRID_INT, "INT", 0, "Integer", "32-bit integer"},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {VOLUME_GRID_INT64, "INT64", 0, "Integer 64-bit", "64-bit integer"},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {VOLUME_GRID_MASK, "MASK", 0, "Mask", "No data, boolean mask of active voxels"},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {VOLUME_GRID_STRING, "STRING", 0, "String", "Text string"},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {VOLUME_GRID_VECTOR_FLOAT, "VECTOR_FLOAT", 0, "Float Vector", "3D float vector"},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {VOLUME_GRID_VECTOR_DOUBLE, "VECTOR_DOUBLE", 0, "Double Vector", "3D double vector"},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {VOLUME_GRID_VECTOR_INT, "VECTOR_INT", 0, "Integer Vector", "3D integer vector"},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/blender/modifiers/intern/MOD_volume_displace.cc source/blender/modifiers/intern/MOD_volume_displace.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e7c4004853e..e74ea3656b3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/blender/modifiers/intern/MOD_volume_displace.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/blender/modifiers/intern/MOD_volume_displace.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -200,9 +200,8 @@ struct DisplaceGridOp {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<typename GridType> void operator()()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if constexpr (std::is_same_v<GridType, openvdb::points::PointDataGrid> ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- std::is_same_v<GridType, openvdb::StringGrid> ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::is_same_v<GridType, openvdb::MaskGrid>) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* We don't support displacing these grid types yet. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/blender/files/patch-pythin311.diff b/graphics/blender/files/patch-pythin311.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..140207334f1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/blender/files/patch-pythin311.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,165 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Based on https://github.com/blender/blender/commit/780c0ea097444c3be60314dffd203c099720badb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/blender/python/generic/py_capi_utils.c source/blender/python/generic/py_capi_utils.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 44293759672..2b2ca4acced 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/blender/python/generic/py_capi_utils.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/blender/python/generic/py_capi_utils.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -402,6 +402,7 @@ void PyC_StackSpit(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void PyC_FileAndNum(const char **r_filename, int *r_lineno)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PyFrameObject *frame;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyCodeObject *code;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (r_filename) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *r_filename = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -410,13 +411,16 @@ void PyC_FileAndNum(const char **r_filename, int *r_lineno)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *r_lineno = -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (!(frame = PyThreadState_GET()->frame)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!(frame = PyEval_GetFrame())) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!(code = PyFrame_GetCode(frame))) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* when executing a script */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (r_filename) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *r_filename = PyUnicode_AsUTF8(frame->f_code->co_filename);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *r_filename = PyUnicode_AsUTF8(code->co_filename);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* when executing a module */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/blender/python/intern/bpy_driver.c source/blender/python/intern/bpy_driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6c078e4228c..af5a04c60c6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/blender/python/intern/bpy_driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/blender/python/intern/bpy_driver.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -276,6 +276,56 @@ static void pydriver_error(ChannelDriver *driver)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define OK_OP(op) [op] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static const char secure_opcodes[255] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if PY_VERSION_HEX >= 0x030b0000 /* Python 3.11 & newer. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(CACHE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(POP_TOP),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(PUSH_NULL),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(NOP),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(UNARY_POSITIVE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(UNARY_NEGATIVE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(UNARY_NOT),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(UNARY_INVERT),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(BINARY_SUBSCR),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(GET_LEN),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(RETURN_VALUE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(SWAP),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(BUILD_TUPLE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(BUILD_LIST),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(BUILD_SET),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(BUILD_MAP),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(COMPARE_OP),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(JUMP_FORWARD),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(JUMP_IF_FALSE_OR_POP),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(JUMP_IF_TRUE_OR_POP),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(POP_JUMP_FORWARD_IF_FALSE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(POP_JUMP_FORWARD_IF_TRUE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(LOAD_GLOBAL),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(IS_OP),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(BINARY_OP),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(LOAD_FAST),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(STORE_FAST),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(DELETE_FAST),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(POP_JUMP_FORWARD_IF_NOT_NONE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(POP_JUMP_FORWARD_IF_NONE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(BUILD_SLICE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(LOAD_DEREF),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(STORE_DEREF),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(RESUME),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(POP_JUMP_BACKWARD_IF_NOT_NONE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(POP_JUMP_BACKWARD_IF_NONE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(POP_JUMP_BACKWARD_IF_FALSE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(POP_JUMP_BACKWARD_IF_TRUE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Special cases. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(LOAD_CONST), /* Ok because constants are accepted. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(LOAD_NAME), /* Ok, because `PyCodeObject.names` is checked. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(CALL), /* Ok, because we check its "name" before calling. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(KW_NAMES), /* Ok, because it's used for calling functions with keyword arguments. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OK_OP(PRECALL), /* Ok, because it's used for calling. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# else /* Python 3.10 and older. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OK_OP(POP_TOP),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OK_OP(ROT_TWO),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OK_OP(ROT_THREE),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -338,6 +388,8 @@ static const char secure_opcodes[255] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OK_OP(CALL_FUNCTION), /* ok, because we check its 'name' before calling */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OK_OP(CALL_FUNCTION_KW),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OK_OP(CALL_FUNCTION_EX),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# endif /* Python 3.10 and older. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # undef OK_OP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -375,7 +427,15 @@ static bool bpy_driver_secure_bytecode_validate(PyObject *expr_code, PyObject *d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const _Py_CODEUNIT *codestr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Py_ssize_t code_len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- PyBytes_AsStringAndSize(py_code->co_code, (char **)&codestr, &code_len);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyObject *co_code;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if PY_VERSION_HEX >= 0x030b0000 /* Python 3.11 & newer. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ co_code = py_code->_co_code;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ co_code = py_code->co_code;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyBytes_AsStringAndSize(co_code, (char **)&codestr, &code_len);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ code_len /= sizeof(*codestr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for (Py_ssize_t i = 0; i < code_len; i++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/blender/python/intern/bpy_interface.c source/blender/python/intern/bpy_interface.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5f31e0bb74d..c07ea42c872 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/blender/python/intern/bpy_interface.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/blender/python/intern/bpy_interface.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -589,16 +589,17 @@ void BPY_python_use_system_env(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void BPY_python_backtrace(FILE *fp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fputs("\n# Python backtrace\n", fp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- PyThreadState *tstate = PyGILState_GetThisThreadState();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (tstate != NULL && tstate->frame != NULL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- PyFrameObject *frame = tstate->frame;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- do {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- const int line = PyCode_Addr2Line(frame->f_code, frame->f_lasti);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- const char *filename = PyUnicode_AsUTF8(frame->f_code->co_filename);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- const char *funcname = PyUnicode_AsUTF8(frame->f_code->co_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- fprintf(fp, " File \"%s\", line %d in %s\n", filename, line, funcname);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- } while ((frame = frame->f_back));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyFrameObject *frame;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!(frame = PyEval_GetFrame())) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ do {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyCodeObject *code = PyFrame_GetCode(frame);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ const int line = PyFrame_GetLineNumber(frame);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ const char *filepath = PyUnicode_AsUTF8(code->co_filename);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ const char *funcname = PyUnicode_AsUTF8(code->co_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fprintf(fp, " File \"%s\", line %d in %s\n", filepath, line, funcname);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ } while ((frame = PyFrame_GetBack(frame)));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void BPY_DECREF(void *pyob_ptr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/blender/python/intern/bpy_traceback.c source/blender/python/intern/bpy_traceback.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 00b414e027e..019dc38488f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/blender/python/intern/bpy_traceback.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/blender/python/intern/bpy_traceback.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,7 +34,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static const char *traceback_filepath(PyTracebackObject *tb, PyObject **coerce)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *coerce = PyUnicode_EncodeFSDefault(tb->tb_frame->f_code->co_filename);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PyCodeObject *code = PyFrame_GetCode(tb->tb_frame);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *coerce = PyUnicode_EncodeFSDefault(code->co_filename);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return PyBytes_AS_STRING(*coerce);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/blender/files/patch-unix-or-apple.diff b/graphics/blender/files/patch-unix-or-apple.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 6dff1d90114..45542677395 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/blender/files/patch-unix-or-apple.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/blender/files/patch-unix-or-apple.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,7 +1,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- CMakeLists.txt.orig 2020-11-25 03:31:32.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ CMakeLists.txt 2021-03-15 01:08:06.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -240,7 +240,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git CMakeLists.txt CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f315fa87236..3102d71c2fe 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -239,7 +239,7 @@ mark_as_advanced(WITH_SYSTEM_AUDASPACE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_and_warn_dependency(WITH_AUDASPACE WITH_SYSTEM_AUDASPACE OFF)
</span>
option(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" ON)
-if(UNIX AND NOT APPLE)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,7 +11,7 @@
</span> option(WITH_OPENMP_STATIC "Link OpenMP statically (only used by the release environment)" OFF)
mark_as_advanced(WITH_OPENMP_STATIC)
endif()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -252,7 +252,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -251,7 +251,7 @@ if(WITH_GHOST_X11)
</span> option(WITH_X11_ALPHA "Enable X11 transparent background" ON)
endif()
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,7 +20,7 @@
</span> option(WITH_SYSTEM_GLEW "Use GLEW OpenGL wrapper library provided by the operating system" OFF)
option(WITH_SYSTEM_GLES "Use OpenGL ES library provided by the operating system" ON)
else()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -262,7 +262,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -261,7 +261,7 @@ else()
</span> endif()
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,20 +29,23 @@
</span> option(WITH_SYSTEM_EIGEN3 "Use the systems Eigen3 library" OFF)
endif()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -301,18 +301,18 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- option(WITH_OPENAL "Enable OpenAL Support (http://www.openal.org)" ON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -305,13 +305,13 @@ else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span> if(NOT WIN32)
option(WITH_JACK "Enable JACK Support (http://www.jackaudio.org)" ON)
- if(UNIX AND NOT APPLE)
+ if(UNIX OR APPLE)
option(WITH_JACK_DYNLOAD "Enable runtime dynamic JACK libraries loading" OFF)
endif()
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(WITH_JACK OFF)
</span> endif()
-if(UNIX AND NOT APPLE)
+if(UNIX OR APPLE)
option(WITH_SDL_DYNLOAD "Enable runtime dynamic SDL libraries loading" OFF)
endif()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(UNIX AND NOT APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -329,7 +329,7 @@ endif()
</span> # Compression
option(WITH_LZO "Enable fast LZO compression (used for pointcache)" ON)
option(WITH_LZMA "Enable best LZMA compression, (used for pointcache)" ON)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,7 +54,7 @@
</span> option(WITH_SYSTEM_LZO "Use the system LZO library" OFF)
endif()
option(WITH_DRACO "Enable Draco mesh compression Python module (used for glTF)" ON)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -336,7 +336,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -353,7 +353,7 @@ if(WIN32)
</span> option(WITH_INPUT_IME "Enable Input Method Editor (IME) for complex Asian character input" ON)
endif()
option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ON)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,7 +63,7 @@
</span> option(WITH_INSTALL_PORTABLE "Install redistributeable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON)
option(WITH_STATIC_LIBS "Try to link with static libraries, as much as possible, to make blender more portable across distributions" OFF)
if(WITH_STATIC_LIBS)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -454,7 +454,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -478,7 +478,7 @@ set(TEST_PYTHON_EXE "" CACHE PATH "Python executable to run unit tests")
</span> mark_as_advanced(TEST_PYTHON_EXE)
# Documentation
</pre><pre style='margin:0'>
</pre>