<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/4c0886cd3933409c433ecb3beddd966c413ac3d2">https://github.com/macports/macports-ports/commit/4c0886cd3933409c433ecb3beddd966c413ac3d2</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 4c0886cd3933409c433ecb3beddd966c413ac3d2
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Thu Jun 15 18:50:59 2023 +0800

<span style='display:block; white-space:pre;color:#404040;'>    R-gpboost: new port
</span>---
 R/R-gpboost/Portfile                        | 35 +++++++++++++++++++++++++++++
 R/R-gpboost/files/patch-unbreak-openmp.diff | 30 +++++++++++++++++++++++++
 R/R-gpboost/files/patch-unbreak-ppc.diff    | 20 +++++++++++++++++
 3 files changed, 85 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-gpboost/Portfile b/R/R-gpboost/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7f96d6b8302
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/R/R-gpboost/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,35 @@
</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           R 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# GitHub version is outdated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+R.setup             cran fabsig gpboost 1.2.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append   math
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             Apache-2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Combining tree-boosting with Gaussian process and mixed effects models
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    {*}${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  17d46e7fb234f316502227f0a9dd4d46a948b0be \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  25615853e46019c4af36b06bb92b757ed23134478fbe1d6f2d7a2482a2ffa13a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1995989
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# OpenMP detected is broken: https://github.com/fabsig/GPBoost/issues/95
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Also it uses an outdated Eigen with yet unfixed Altivec headers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# For now, just disable vectorization on PowerPC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-unbreak-openmp.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-unbreak-ppc.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:R-data.table \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-R6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-RJSONIO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_test-append port:R-testthat
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run            yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# FIXME: linking on Rosetta may fail: https://github.com/fabsig/GPBoost/issues/97
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# No problem when building natively on PowerPC.
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-gpboost/files/patch-unbreak-openmp.diff b/R/R-gpboost/files/patch-unbreak-openmp.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..776620ae918
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/R/R-gpboost/files/patch-unbreak-openmp.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.orig 2023-06-15 02:57:58.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure      2023-06-15 14:14:56.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1757,7 +1757,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test `uname -s` = "Darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     OPENMP_CXXFLAGS='-Xclang -fopenmp'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if clang --version | grep -i "clang" > dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     OPENMP_LIB='-lomp'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ac_pkg_openmp=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenMP will work in a package" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo_n "checking whether OpenMP will work in a package... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1781,7 +1783,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             rm ./conftest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         OPENMP_CXXFLAGS="-fopenmp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} ${OPENMP_CXXFLAGS} ${OPENMP_LIB} -o conftest conftest.cpp 2>/dev/null && ./conftest && ac_pkg_openmp=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${LDFLAGS} ${OPENMP_CXXFLAGS} -o conftest conftest.cpp 2>/dev/null && ./conftest && ac_pkg_openmp=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_pkg_openmp}" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1792,8 +1794,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         echo '***********************************************************************************************'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         echo ' OpenMP is unavailable on this macOS system. GPBoost code will run single-threaded as a result.'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         echo ' To use all CPU cores for training jobs, you should install OpenMP by running'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        echo ''
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        echo '     brew install libomp'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         echo '***********************************************************************************************'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-gpboost/files/patch-unbreak-ppc.diff b/R/R-gpboost/files/patch-unbreak-ppc.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..323f2fe33d7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/R/R-gpboost/files/patch-unbreak-ppc.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/include/Eigen/Core.orig    2023-06-15 02:57:40.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/include/Eigen/Core 2023-06-15 13:39:08.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -199,7 +199,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   #include "src/Core/arch/SSE/TypeCasting.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   #include "src/Core/arch/SSE/MathFunctions.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   #include "src/Core/arch/SSE/Complex.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif (defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)) && !defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   #include "src/Core/arch/AltiVec/PacketMath.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   #include "src/Core/arch/AltiVec/MathFunctions.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   #include "src/Core/arch/AltiVec/Complex.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -339,7 +339,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "src/Core/CoreIterators.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "src/Core/ConditionEstimator.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if (defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)) && !defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   #include "src/Core/arch/AltiVec/MatrixProduct.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined EIGEN_VECTORIZE_NEON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   #include "src/Core/arch/NEON/GeneralBlockPanelKernel.h"
</span></pre><pre style='margin:0'>

</pre>