<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/4a43eb246e670b4f6860e58352f1dd47291f3735">https://github.com/macports/macports-ports/commit/4a43eb246e670b4f6860e58352f1dd47291f3735</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 4a43eb246e670b4f6860e58352f1dd47291f3735
</span>Author: Sergey Fedorov <barracuda@macos-powerpc.org>
AuthorDate: Tue Aug 27 15:45:08 2024 +0800
<span style='display:block; white-space:pre;color:#404040;'> R-data.table: update to 1.16.0
</span>---
R/R-data.table/Portfile | 28 +++++++++------
R/R-data.table/files/patch-fix-omp.diff | 64 +++++++++++++++++++++++++--------
2 files changed, 68 insertions(+), 24 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-data.table/Portfile b/R/R-data.table/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7064d12ceba..e19fa9bf07a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/R/R-data.table/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/R/R-data.table/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,30 +3,38 @@
</span> PortSystem 1.0
PortGroup R 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-R.setup github Rdatatable data.table 1.15.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+R.setup github Rdatatable data.table 1.16.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span> maintainers {@barracuda156 gmail.com:vital.had} openmaintainer
license MPL-2
description Extension of data.frame
long_description {*}${description}
homepage https://r-datatable.com
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 1f779a05cae5dd8ed3430d9ed0eedb08e57477ec \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 672a6cffe4332cb9f7c79345a923706bd5ea0c2cf4cf4d5c6d82cdde22dc9532 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 5536989
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 4cc19daa70f4350de2cf5dd27fbf1cba15d134ae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 547236a8b4d36fa13486f23339fc9719bdf2d4a984aa25f72ade4ddd25990bff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 5751016
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from archive
</span>
depends_build-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:bin/pkg-config:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_lib-append port:zlib
variant openmp description "Enable OpenMP support" {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # https://github.com/2005m/kit/issues/36#issuecomment-1449341363
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # In 1.16.0 OpenMP detection got broken further by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://github.com/Rdatatable/data.table/commit/096b20f1f1b9788787a826ba3d32177ed9836352
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # See: https://github.com/Rdatatable/data.table/issues/6409
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # We modify the patch, so that OpenMP works again.
</span> patchfiles patch-fix-omp.diff
post-patch {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s,@MP_OPENMP_FLAGS@,-fopenmp," ${worksrcpath}/configure
</span> if {[string match *gcc* ${configure.compiler}]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s,@OMPFLAGS@,-fopenmp,g" ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s,@MP_OPENMP_CFLAGS@,," ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s,@MP_OPENMP_LFLAGS@,," ${worksrcpath}/configure
</span> } elseif {[string match *clang* ${configure.compiler}]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s,@OMPFLAGS@,-I${prefix}/include/libomp -fopenmp -L${prefix}/lib/libomp -lomp," ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s,@MP_OPENMP_CFLAGS@,-I${prefix}/include/libomp," ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s,@MP_OPENMP_LFLAGS@,-L${prefix}/lib/libomp -lomp," ${worksrcpath}/configure
</span> }
}
compiler.openmp_version 3.0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,8 +43,8 @@ variant openmp description "Enable OpenMP support" {
</span> depends_test-append port:R-bit \
port:R-bit64 \
port:R-knitr \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:R-markdown \
</span> port:R-R.utils \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:R-rmarkdown \
</span> port:R-xts \
port:R-yaml \
port:R-zoo
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-data.table/files/patch-fix-omp.diff b/R/R-data.table/files/patch-fix-omp.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 79637e2357b..69a649e941f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/R/R-data.table/files/patch-fix-omp.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/R/R-data.table/files/patch-fix-omp.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,19 +1,55 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.orig 2023-02-18 01:33:36.000000000 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure 2023-03-01 13:09:16.000000000 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3,6 +3,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Find R compilers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CC=`${R_HOME}/bin/R CMD config CC`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CFLAGS=`${R_HOME}/bin/R CMD config CFLAGS`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # compiler and flags to 'cc' file
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "CC=${CC}" > inst/cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "CFLAGS=${CFLAGS}" >> inst/cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -106,7 +107,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "*** Continuing installation without OpenMP support..."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure 2024-08-27 13:33:10.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure 2024-08-27 15:36:45.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -109,38 +109,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if [ "$(uname)" = "Darwin" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # https://mac.r-project.org/openmp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- printf "%s" "* checking if R installation supports OpenMP with \"-Xclang -fopenmp\" ... "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if CPPFLAGS="${CPPFLAGS} -Xclang -fopenmp" PKG_LIBS="-lomp" "${R_HOME}/bin/R" CMD SHLIB test-omp.c >> config.log 2>&1; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "yes"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- export PKG_CFLAGS="${PKG_CFLAGS} -Xclang -fopenmp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- export PKG_LIBS="${PKG_LIBS} -lomp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- export R_OPENMP_ENABLED=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "no"
</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;'>+- if [ "$(uname -m)" = "arm64" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- HOMEBREW_PREFIX=/opt/homebrew
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- HOMEBREW_PREFIX=/usr/local
</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;'>+- if [ -e "${HOMEBREW_PREFIX}/opt/libomp" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- printf "%s" "* checking if libomp installation at ${HOMEBREW_PREFIX}/opt/libomp can be used... "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LIBOMP_INCLUDE="-I${HOMEBREW_PREFIX}/opt/libomp/include -Xclang -fopenmp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LIBOMP_LINK="-L${HOMEBREW_PREFIX}/opt/libomp/lib -lomp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if ${CC} ${CFLAGS} ${LIBOMP_INCLUDE} ${LIBOMP_LINK} test-omp.c >> config.log 2>&1; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "yes"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- export PKG_CFLAGS="${PKG_CFLAGS} ${LIBOMP_INCLUDE}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- export PKG_LIBS="${PKG_LIBS} ${LIBOMP_LINK}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- export R_OPENMP_ENABLED=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- echo "no"
</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;background:#e0ffe0;'>++ # Instead of using a defunct check, just set the right variables for OpenMP to work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ export PKG_CFLAGS="${PKG_CFLAGS} @MP_OPENMP_CFLAGS@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ export PKG_LIBS="${PKG_LIBS} @MP_OPENMP_LFLAGS@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ export R_OPENMP_ENABLED=1
</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;'>+ fi # uname=Darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -162,7 +135,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "***"
</span> sed -e "s|@openmp_cflags@||" src/Makevars.in > src/Makevars
else
- sed -e "s|@openmp_cflags@|\$(SHLIB_OPENMP_CFLAGS)|" src/Makevars.in > src/Makevars
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+ sed -e "s|@openmp_cflags@|@OMPFLAGS@|" src/Makevars.in > src/Makevars
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sed -e "s|@openmp_cflags@|@MP_OPENMP_FLAGS@|" src/Makevars.in > src/Makevars
</span> fi
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # retain user supplied PKG_ env variables, #4664. See comments in Makevars.in too.
<span style='display:block; white-space:pre;background:#ffe0e0;'>- sed -e "s|@PKG_CFLAGS@|$PKG_CFLAGS|" src/Makevars > src/Makevars.tmp && mv src/Makevars.tmp src/Makevars
</span></pre><pre style='margin:0'>
</pre>