<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ba9f713ada2257c2fe9d1ad0ed3602996d318bac">https://github.com/macports/macports-ports/commit/ba9f713ada2257c2fe9d1ad0ed3602996d318bac</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 ba9f713ada2 polysolve: new port in math
</span>ba9f713ada2 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit ba9f713ada2257c2fe9d1ad0ed3602996d318bac
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Sat Jul 1 15:03:42 2023 +0800
<span style='display:block; white-space:pre;color:#404040;'> polysolve: new port in math
</span>---
math/polysolve/Portfile | 59 +++++++++++++++++++++++++++
math/polysolve/files/patch-CMakeLists.diff | 64 ++++++++++++++++++++++++++++++
2 files changed, 123 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/polysolve/Portfile b/math/polysolve/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e046d67c515
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/polysolve/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,59 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup polyfem polysolve 91f7e3a4a44df4ca541cb46923d5593a49254efd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 2023.06.29
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories math
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {@barracuda156 gmail.com:vital.had} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description Easy-to-use wrapper for linear solver.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description This library contains a cross-platform Eigen wrapper for many different external linear solvers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage https://polyfem.github.io
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 e932aeaf28a95776f8db4130a1ac745094d75aae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 5b5b88d653a676a2a0307e1f70ba48641c36f4741fba97e7fe2057adb4275874 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 52538
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append path:share/pkgconfig/eigen3.pc:eigen3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:hypre \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:nlohmann-json
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Use Macports libs. Related issue: https://github.com/polyfem/polysolve/issues/37
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-CMakeLists.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Match settings in hypre port:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.openmp_version 3.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxxflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -I${prefix}/include/libomp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Wno-c++11-narrowing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ldflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -L${prefix}/lib/libomp -lomp
</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;'>+# Accelerate support is broken at the moment: https://github.com/polyfem/polysolve/issues/38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DEIGEN_WITH_MKL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_LARGE_INDEX=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_ACCELERATE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_AMGCL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_CCACHE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_CHOLMOD=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_CUSOLVER=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_HYPRE=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_MKL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_PARDISO=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_SANITIZERS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_SPECTRA=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_SUPERLU=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_TESTS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPOLYSOLVE_WITH_UMFPACK=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${cmake.build_dir}/libpolysolve.a ${destroot}${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/polysolve/files/patch-CMakeLists.diff b/math/polysolve/files/patch-CMakeLists.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d7ef8602452
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/polysolve/files/patch-CMakeLists.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,64 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMakeLists.txt.orig 2023-06-30 02:43:40.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMakeLists.txt 2023-07-01 14:37:52.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -56,7 +56,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ project(PolySolve
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DESCRIPTION "Easy-to-use wrapper for linear solver"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LANGUAGES CXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LANGUAGES C CXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64" AND APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(POLYSOLVE_NOT_ON_APPLE_SILICON OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -107,11 +107,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ### Configuration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/polysolve/")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/recipes/")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/find/")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # General CMake utils
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-include(polysolve_cpm_cache)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include(polysolve_use_colors)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Sort projects inside the solution
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -155,13 +153,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Accelerate solver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(POLYSOLVE_WITH_ACCELERATE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- include(CPM)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- CPMAddPackage(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- NAME eigen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GIT_TAG 969c31eefcdfaab11da763bea3f7502086673ab0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- DOWNLOAD_ONLY ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(BLA_VENDOR Apple)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ find_package(BLAS REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ find_package(LAPACK REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -178,13 +169,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add_sanitizers(polysolve)
</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;'>+-include(eigen)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++find_package(Eigen3 3.3 REQUIRED NO_MODULE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_link_libraries(polysolve PUBLIC Eigen3::Eigen)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Hypre (GNU Lesser General Public License)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(POLYSOLVE_WITH_HYPRE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- include(hypre)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ find_package(HYPRE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ find_package(OpenMP)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_link_libraries(polysolve PUBLIC HYPRE::HYPRE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ target_link_libraries(polysolve PUBLIC OpenMP::OpenMP_C)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_compile_definitions(polysolve PUBLIC -DPOLYSOLVE_WITH_HYPRE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(HYPRE_WITH_MPI)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_compile_definitions(polysolve PUBLIC HYPRE_WITH_MPI)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -192,7 +185,7 @@
</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;'>+ # Json (MIT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-include(json)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++find_package(nlohmann_json)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_link_libraries(polysolve PUBLIC nlohmann_json::nlohmann_json)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Accelerate solvers
</span></pre><pre style='margin:0'>
</pre>