<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/d5f2b287bbae743aca88c6f4e7878e1290a425b8">https://github.com/macports/macports-ports/commit/d5f2b287bbae743aca88c6f4e7878e1290a425b8</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d5f2b287bbae743aca88c6f4e7878e1290a425b8
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Sun Dec 4 00:38:35 2022 +0100

<span style='display:block; white-space:pre;color:#404040;'>    materialx: add python311; fix build
</span>---
 graphics/materialx/Portfile                        | 34 +++++++++++++----
 .../patch-MaterialXRender-oiio-reference.diff      | 44 ++++++++++++++++++++++
 2 files changed, 71 insertions(+), 7 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/materialx/Portfile b/graphics/materialx/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 11aee492261..625a5b5984b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/materialx/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/materialx/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,10 +2,12 @@
</span> 
 PortSystem          1.0
 PortGroup           github 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           compiler_blacklist_versions 1.0
</span> PortGroup           cmake 1.1
 
 github.setup        materialx MaterialX 1.38.2 v
 name                materialx
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> categories          graphics
 platforms           darwin
 license             Apache-2
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,11 +29,32 @@ long_description    MaterialX is an open standard specification and \
</span>                     and texturing, complex nested materials, and \
                     geometric assignments.
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from downloads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extract.rename      yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> checksums           rmd160  42a0c04554dec0d118a9cdf2b2e6010fde2a2311 \
                     sha256  640c2005ea84e7b57e287b59bceb57b31a5f7f751a150c4a6967292feadec9ea \
                     size    69168871
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.cxx_standard 2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# MaterialX requires C++2011 but OpenImageIO uses C++2014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# enforce to using the same compiler that is used for osl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set llvm_version    14
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# pin the used version for LLVM before 10.13 to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# which is forced by used version of osl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 18} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set llvm_version    11
</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;'>+compiler.blacklist-append clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.fallback macports-clang-${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -E {s|CMAKE_CXX_STANDARD 11|CMAKE_CXX_STANDARD 14|} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 if {${os.major} < 16} {
     # Add AppKit wrapper header to compiler library paths
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -122,10 +145,7 @@ variant oiio requires viewer \
</span> {
     depends_lib-append      port:openimageio
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace {/External/s/^/#/} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/source/MaterialXRender/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append       patch-MaterialXRender-oiio-reference.diff
</span> 
     configure.args-append   -DMATERIALX_BUILD_OIIO=ON
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -202,7 +222,7 @@ default_variants    +viewer +oiio +docs +tests
</span> ### The following code was adapted from the portfiles
 ### of ports such as openvdb and openimageio
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set pythons_suffixes    {36 37 38 39}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythons_suffixes    {36 37 38 39 310 311}
</span> 
 set pythons_ports       {}
 foreach s ${pythons_suffixes} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -211,7 +231,7 @@ foreach s ${pythons_suffixes} {
</span> 
 foreach s ${pythons_suffixes} {
     set p python${s}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set v [string index ${s} 0].[string index ${s} 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set v [string index ${s} 0].[string range ${s} 1 end]
</span>     set i [lsearch -exact ${pythons_ports} ${p}]
     set c [lreplace ${pythons_ports} ${i} ${i}]
     variant ${p} conflicts {*}${c} \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/materialx/files/patch-MaterialXRender-oiio-reference.diff b/graphics/materialx/files/patch-MaterialXRender-oiio-reference.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ae885bbdf51
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/materialx/files/patch-MaterialXRender-oiio-reference.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,44 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/MaterialXRender/CMakeLists.txt source/MaterialXRender/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 40ada6d..7f3532f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/MaterialXRender/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/MaterialXRender/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,18 +26,10 @@ target_link_libraries(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ${CMAKE_DL_LIBS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(MATERIALX_BUILD_OIIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    set(OPENIMAGEIO_ROOT_DIR ${MATERIALX_OIIO_DIR})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/External/OpenImageIO")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    find_package(OpenImageIO REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if(OPENIMAGEIO_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        include_directories(${OPENIMAGEIO_INCLUDE_DIR})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        target_link_libraries(MaterialXRender ${OPENIMAGEIO_LIBRARIES})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        # Also needed by MaterialXTest:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        set(OPENIMAGEIO_FOUND "${OPENIMAGEIO_FOUND}" PARENT_SCOPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        set(OPENIMAGEIO_INCLUDE_DIR "${OPENIMAGEIO_INCLUDE_DIR}" PARENT_SCOPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        set(OPENIMAGEIO_LIBRARIES "${OPENIMAGEIO_LIBRARIES}" PARENT_SCOPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        set(OPENIMAGEIO_LIBRARY_DIRS "${OPENIMAGEIO_LIBRARY_DIRS}" PARENT_SCOPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        set(OPENIMAGEIO_ROOT_DIR "${OPENIMAGEIO_ROOT_DIR}" PARENT_SCOPE)
</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;'>++    if(OpenImageIO_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        include_directories(${OpenImageIO_INCLUDE_DIR})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        target_link_libraries(MaterialXRender "OpenImageIO::OpenImageIO")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     endif()
</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;'>+diff --git source/MaterialXTest/CMakeLists.txt source/MaterialXTest/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c30e155..be20dc7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/MaterialXTest/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/MaterialXTest/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,8 +61,10 @@ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(MATERIALX_BUILD_RENDER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   add_subdirectory(MaterialXRender)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   target_link_libraries(MaterialXTest MaterialXRender)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (MATERIALX_BUILD_OIIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    target_link_libraries(MaterialXTest ${OPENIMAGEIO_LIBRARIES})
</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;'>++  if(OpenImageIO_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    include_directories(${OpenImageIO_INCLUDE_DIR})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    target_link_libraries(MaterialXTest "OpenImageIO::OpenImageIO")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if(MATERIALX_BUILD_GEN_GLSL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     add_subdirectory(MaterialXRenderGlsl)
</span></pre><pre style='margin:0'>

</pre>