<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a99e66975272e6cd45ba9025f14c09b3eccefd9f">https://github.com/macports/macports-ports/commit/a99e66975272e6cd45ba9025f14c09b3eccefd9f</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new a99e6697527 libfive: update to 20241103
</span>a99e6697527 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit a99e66975272e6cd45ba9025f14c09b3eccefd9f
</span>Author: Szabolcs Horvát <szhorvat@gmail.com>
AuthorDate: Sun Nov 3 19:44:34 2024 +0000

<span style='display:block; white-space:pre;color:#404040;'>    libfive: update to 20241103
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>     - Fixes build on recent macOS at the cost of breaking it on 10.14 and earlier
</span><span style='display:block; white-space:pre;color:#404040;'>     - Use Guile 3.0
</span><span style='display:block; white-space:pre;color:#404040;'>     - Add support for recent Python versions
</span><span style='display:block; white-space:pre;color:#404040;'>     - Use Python 3.12 by default
</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/63664
</span>---
 graphics/libfive/Portfile                          | 43 ++++++++++------------
 .../libfive/files/patch-remove-march-native.diff   | 19 ++++++----
 .../libfive/files/patch-use-macports-guile.diff    | 42 +++++++++++++++++++++
 3 files changed, 74 insertions(+), 30 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libfive/Portfile b/graphics/libfive/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8a591d85537..ee31d59fa89 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/libfive/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libfive/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,20 +5,13 @@ PortGroup           github 1.0
</span> PortGroup           cmake 1.1
 PortGroup           boost 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Version 601730dc8181f12aeb0c6c66bbe3f4f9b4523134 below does not build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# with Eigen 3.4, which is the current Eigen version in MacPorts. Newer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# versions require macOS 10.15 or later to be able to build with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Eigen 3.4+, so the update should be done by someone with access 10.15+.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# See https://trac.macports.org/ticket/63664
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # libfive does not have releases; the master branch is recommended.
 # See https://libfive.com/download/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        libfive libfive 601730dc8181f12aeb0c6c66bbe3f4f9b4523134
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version             20210717
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        libfive libfive 71899313d36ce14de6646ef760fa6bbc5c0cc067
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             20241103
</span> revision            0
 
 categories          graphics math cad
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span> license             MPL-2
 maintainers         nomaintainer
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,9 +24,9 @@ long_description    libfive is a software library and set of tools for solid mod
</span>                     infrastructure for generative design, mass customization, and \
                     domain-specific CAD tools.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  00534d1377c208a7cbcaa34f636dc9334fe70a1c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  ee34bfd335062d89888e819e929f51926667ea5c33699bf6627e38ee572306f8 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    879290
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  946e212d3de61c47d6ceb4bc0bd251ba5691ce39 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  546cfc85e5321b0d22d920fa829119dc30a7c679bdeea29e04d3674b9686ad57 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    917395
</span> 
 # Even though eigen3 is header-only, it must be a library dependency because
 # the libfive headers include it.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -53,13 +46,17 @@ configure.args-append \
</span>                     -DBUILD_PYTHON_BINDINGS=OFF \
                     -DBUILD_STUDIO_APP=OFF
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Workaround from https://github.com/libfive/libfive/blob/71899313d36ce14de6646ef760fa6bbc5c0cc067/CMakeLists.txt#L85
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxxflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -D__USE_ISOC99
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> patchfiles          patch-remove-march-native.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-use-macports-guile.diff
</span> 
 # Guile binding:
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# libfive supports Guile 3.0 as well, but MacPorts currently only includes 2.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant guile description {Build guile 2.2 bindings} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append      port:guile-2.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant guile description {Build guile 3.0 bindings} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append      port:guile-3.0
</span>     configure.args-replace  -DBUILD_GUILE_BINDINGS=OFF -DBUILD_GUILE_BINDINGS=ON
 
     build.env-append        GUILE_AUTO_COMPILE=0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -72,17 +69,16 @@ variant guile description {Build guile 2.2 bindings} {
</span> 
 # Python bindings:
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# The minimum supported Python version is 3.7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set pythons_suffixes {37 38 39}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythons_versions {3.9 3.10 3.11 3.12 3.13}
</span> 
 set pythons_ports {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend pythons_ports python${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v ${pythons_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    lappend pythons_ports python[string map {. {}} ${v}]
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v ${pythons_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set s [string map {. {}} ${v}]
</span>     set p python${s}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set v [string index ${s} 0].[string index ${s} 1]
</span>     set i [lsearch -exact ${pythons_ports} ${p}]
     set c [lreplace ${pythons_ports} ${i} ${i}]
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -157,8 +153,9 @@ test.target
</span> 
 # Default variants:
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set selected_python python39
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set selected_python python312
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v ${pythons_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set s [string map {. {}} ${v}]
</span>     if {[variant_isset python${s}]} {
         set selected_python python${s}
     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libfive/files/patch-remove-march-native.diff b/graphics/libfive/files/patch-remove-march-native.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 1d001472953..f55f82e4e6a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/libfive/files/patch-remove-march-native.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libfive/files/patch-remove-march-native.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +1,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- CMakeLists.txt.old     2021-04-29 14:38:58.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ CMakeLists.txt 2021-04-29 14:39:18.000000000 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -47,7 +47,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ################################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Do not use the -match=native flag.
</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;'>+@@ -57,12 +57,6 @@ endif()
</span>  if(NOT MSVC)
<span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -g -fPIC -pedantic -Werror=switch -march=native")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -g -fPIC -pedantic -Werror=switch")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra ${LIBFIVE_DEBUGGING}-fPIC -pedantic -Werror=switch")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    # Sometimes this flag is not supported (e.g. on Apple Silicon)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    check_cxx_compiler_flag("-march=native" MARCH_SUPPORTED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if(MARCH_SUPPORTED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span>      set(CMAKE_CXX_FLAGS_DEBUG "-O0")
      set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DEIGEN_NO_DEBUG")
  else()
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libfive/files/patch-use-macports-guile.diff b/graphics/libfive/files/patch-use-macports-guile.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ca67d843136
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libfive/files/patch-use-macports-guile.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;'>+Make sure that MacPorts's Guile 3.0 is used, with the customized executable names.
</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;'>+@@ -94,9 +94,11 @@ if(NOT MSVC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     find_package(Boost REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     find_package(PkgConfig REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    pkg_check_modules(GUILE guile-2.2>=2.2.1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if (NOT(GUILE_FOUND))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        pkg_check_modules(GUILE guile-3.0>=3.0.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    pkg_check_modules(GUILE guile-3.0>=3.0.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (GUILE_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      pkg_get_variable(GUILE_EXEC guile-3.0 guile)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      pkg_get_variable(GUILD_EXEC guile-3.0 guild)
</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;'>+     pkg_check_modules(EIGEN REQUIRED eigen3>=3.2.92)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libfive/bind/guile/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libfive/bind/guile/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,10 +28,10 @@ foreach(SRC ${SRCS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Then, copy the file from Guile's compilation cache to the build directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     execute_process(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        COMMAND guile -c "(use-modules (system base compile))(format #t \"~A\" (compiled-file-name \"${FULL_SRC}\"))"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        COMMAND ${GUILE_EXEC} -c "(use-modules (system base compile))(format #t \"~A\" (compiled-file-name \"${FULL_SRC}\"))"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         OUTPUT_VARIABLE CCACHE_FILE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     add_custom_command(OUTPUT ${OUT}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        COMMAND ${CMAKE_COMMAND} -E env LIBFIVE_FRAMEWORK_DIR=$<TARGET_FILE_DIR:libfive>/ LIBFIVE_STDLIB_DIR=$<TARGET_FILE_DIR:libfive-stdlib>/ guild compile -L${CMAKE_CURRENT_SOURCE_DIR} ${FULL_SRC}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        COMMAND ${CMAKE_COMMAND} -E env LIBFIVE_FRAMEWORK_DIR=$<TARGET_FILE_DIR:libfive>/ LIBFIVE_STDLIB_DIR=$<TARGET_FILE_DIR:libfive-stdlib>/ ${GUILD_EXEC} compile -L${CMAKE_CURRENT_SOURCE_DIR} ${FULL_SRC}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         COMMAND ${CMAKE_COMMAND} -E copy ${CCACHE_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${OUT}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         DEPENDS ${FULL_SRC} libfive libfive-stdlib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -45,7 +45,7 @@ if(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Find the installation directory for compiled files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (NOT DEFINED GUILE_CCACHE_DIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         execute_process(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            COMMAND guile -c "(format #t \"~A\" (%site-ccache-dir))"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            COMMAND ${GUILE_EXEC} -c "(format #t \"~A\" (%site-ccache-dir))"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             OUTPUT_VARIABLE GUILE_CCACHE_DIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>