<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/2ba63787d4f54555aca09fb73894d566cfaec27b">https://github.com/macports/macports-ports/commit/2ba63787d4f54555aca09fb73894d566cfaec27b</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 2ba63787d4f54555aca09fb73894d566cfaec27b
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Mon Aug 14 20:35:47 2023 +0800

<span style='display:block; white-space:pre;color:#404040;'>    R-tiledb: new port
</span>---
 R/R-tiledb/Portfile                       | 53 +++++++++++++++++++++++++++++++
 R/R-tiledb/files/no-peng.patch            | 11 +++++++
 R/R-tiledb/files/patch-unbreak-build.diff | 26 +++++++++++++++
 3 files changed, 90 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-tiledb/Portfile b/R/R-tiledb/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c60f85fcd30
</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-tiledb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,53 @@
</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;'>+R.setup             cran TileDB-Inc tiledb 0.20.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append   databases
</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;'>+license             MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Universal storage engine for sparse and dense multidimensional arrays
</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  8ba7bc50f40b769d49321bf5819f06dd8c866439 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  14b4c81a3c6e6c22edb8dd458cac7cf5fb68b8c01c7eecf3d7beb3e82f33b8eb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    495159
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:tiledb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-nanotime \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-Rcpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-spdl
</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;'>+# https://github.com/allisonhorst/palmerpenguins/issues/96
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          no-peng.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# configure does silly stuff, which unsurprisingly breaks the build:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Library not loaded: @rpath/libtiledb.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# It also hardcodes macOS minimum version, uses incorrect checks for libatomic etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Donʼt bother fixing it; instead, fix Makevars.in.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-unbreak-build.diff
</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 "s,@PREFIX@,${prefix},g" ${worksrcpath}/src/Makevars.in
</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;'>+depends_test-append port:R-arrow \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-bit64 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-curl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-data.table \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-nycflights13 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-simplermarkdown \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-tibble \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-tinytest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# On ppc and likely i386 a number of tests will fail: it is a consequence of TilDB itself being broken.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Until that is fixed, this port will not work correctly or at least reliably on 32-bit and/or Big-endian platforms.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# At the moment on ppc test_arrayschema.R tests pass, while test_arrayschemaevolution.R all fail with a familiar message:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# [TileDB::ArrayDirectory] Error: FilterCreate: Deserialization error; not enough data in buffer for metadata
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See also: https://github.com/TileDB-Inc/TileDB/issues/4096
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run            yes
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-tiledb/files/no-peng.patch b/R/R-tiledb/files/no-peng.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d8b841aaeaf
</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-tiledb/files/no-peng.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- DESCRIPTION.orig       2023-08-07 20:00:02.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ DESCRIPTION    2023-08-12 03:03:05.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,7 +28,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Imports: methods, Rcpp (>= 1.0.8), nanotime, spdl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinkingTo: Rcpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Suggests: tinytest, simplermarkdown, curl, bit64, Matrix,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        palmerpenguins, nycflights13, data.table, tibble, arrow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        nycflights13, data.table, tibble, arrow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VignetteBuilder: simplermarkdown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RoxygenNote: 7.2.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Encoding: UTF-8
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-tiledb/files/patch-unbreak-build.diff b/R/R-tiledb/files/patch-unbreak-build.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d56e0353d14
</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-tiledb/files/patch-unbreak-build.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/Makevars.in.orig   2023-07-18 22:08:13.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/Makevars.in        2023-08-14 19:59:05.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,18 +1,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## We need C++17 to use TileDB's C++ API
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_STD = CXX17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-## We need the TileDB Headers; for macOS aka Darwin need to set minimum version 10.14 for macOS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-PKG_CPPFLAGS = -I. -I../inst/include/ @CXX17_MACOS@ @TILEDB_INCLUDE@ @TILEDB_SILENT_BUILD@ @FILESYSTEM_HEADER_MISSSING@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++## We need the TileDB Headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++PKG_CPPFLAGS = -I. -I../inst/include/ @TILEDB_INCLUDE@ @TILEDB_SILENT_BUILD@ @FILESYSTEM_HEADER_MISSSING@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ## We also need the TileDB library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-PKG_LIBS = @CXX17_MACOS@ @TILEDB_LIBS@ @TILEDB_RPATH@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++PKG_LIBS = @TILEDB_LIBS@ @TILEDB_RPATH@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ all: $(SHLIB)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # if we are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         #  - on macOS aka Darwin which needs this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         #  - the library is present (implying non-system library use)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # then let us call install_name_tool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  @if [ `uname -s` = 'Darwin' ] && [ -f ../inst/tiledb/lib/libtiledb.dylib ] && [ -f tiledb.so ]; then \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      install_name_tool -change libz.1.dylib @rpath/libz.1.dylib ../inst/tiledb/lib/libtiledb.dylib; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      install_name_tool -add_rpath @loader_path/../tiledb/lib tiledb.so; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  @if [ `uname -s` = 'Darwin' ] && [ -f tiledb.so ]; then \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      install_name_tool -change @rpath/libtiledb.dylib @PREFIX@/lib/libtiledb.dylib tiledb.so; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   fi
</span></pre><pre style='margin:0'>

</pre>