<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/5e85db4b35bf8c7bab5ba5e16ae2099fa1cf892f">https://github.com/macports/macports-ports/commit/5e85db4b35bf8c7bab5ba5e16ae2099fa1cf892f</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 5e85db4b35bf8c7bab5ba5e16ae2099fa1cf892f
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Fri May 3 22:34:42 2024 +0800
<span style='display:block; white-space:pre;color:#404040;'> R-duckdb: update to 0.10.2
</span>---
R/R-duckdb/Portfile | 13 ++++---
R/R-duckdb/files/patch-fix-cmath.diff | 64 +++++++++++++++++++++++++++++++++++
R/R-duckdb/files/patch-libatomic.diff | 10 +++---
3 files changed, 77 insertions(+), 10 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-duckdb/Portfile b/R/R-duckdb/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index fc895b6fd1a..af83365be27 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/R/R-duckdb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/R/R-duckdb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,22 +3,25 @@
</span> PortSystem 1.0
PortGroup R 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-R.setup cran duckdb duckdb 0.10.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+R.setup cran duckdb duckdb 0.10.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span> categories-append databases
maintainers nomaintainer
license MIT
description DBI package for the DuckDB database management system
long_description {*}${description}
homepage https://github.com/duckdb/duckdb-r
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 159a0ae3ac18f72a7b648996d129121f18b8f37a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 e3b1bfd4c31d9f8d624fb954681cd24351c19713093af21361b6b599e56e48ec \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 4147117
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 83751a632718218aaa8532408a8fd662dfaf3673 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 72e0b94b1cc321236fe95e0c3100017182bc5f22de816a1e18c4404b71a0cdd7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 4205337
</span>
depends_lib-append port:R-DBI
compiler.cxx_standard 2017
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/duckdb/duckdb-r/issues/152
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-fix-cmath.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # https://github.com/duckdb/duckdb/issues/7009
if {[string match macports-gcc* ${configure.compiler}] && (${configure.build_arch} in [list i386 ppc])} {
patchfiles-append \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-duckdb/files/patch-fix-cmath.diff b/R/R-duckdb/files/patch-fix-cmath.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..6240fb42899
</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-duckdb/files/patch-fix-cmath.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;'>+--- src/rfuns.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/rfuns.cpp 2024-05-03 22:24:42.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4,6 +4,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <math.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <climits>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <cmath>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace duckdb {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace rfuns {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29,7 +30,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BinaryExecutor::ExecuteWithNulls<double, double, double>(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ parts.lefts, parts.rights, result, args.size(), [&](double left, double right, ValidityMask &mask, idx_t idx) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (isnan(left) || isnan(right)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (std::isnan(left) || std::isnan(right)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mask.SetInvalid(idx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 0.0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,7 +39,7 @@
</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;'>+ double ExecuteBaseRPlusFunctionIntDouble(int32_t left, double right, ValidityMask &mask, idx_t idx) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (isnan(right)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (std::isnan(right)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mask.SetInvalid(idx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 0.0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -108,7 +109,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template <>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int32_t cast<double>(double input, ValidityMask &mask, idx_t idx) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (isnan(input)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (std::isnan(input)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mask.SetInvalid(idx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return check_range(input, mask, idx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -228,7 +229,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (ValidityMask::AllValid(validity_entry)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // all valid: check with isnan()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for (; base_idx < next; base_idx++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- result_data[base_idx] = isnan(data[base_idx]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ result_data[base_idx] = std::isnan(data[base_idx]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else if (ValidityMask::NoneValid(validity_entry)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // None valid:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -241,7 +242,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for (; base_idx < next; base_idx++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (ValidityMask::RowIsValid(validity_entry, base_idx - start)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ D_ASSERT(mask.RowIsValid(base_idx));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- result_data[base_idx] = isnan(data[base_idx]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ result_data[base_idx] = std::isnan(data[base_idx]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ result_data[base_idx] = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -627,7 +628,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template <>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool set_null<double>(double value, ValidityMask &mask, idx_t idx) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (isnan(value)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (std::isnan(value)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mask.SetInvalid(idx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-duckdb/files/patch-libatomic.diff b/R/R-duckdb/files/patch-libatomic.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 7f19e134c48..dd464191aa0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/R/R-duckdb/files/patch-libatomic.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/R/R-duckdb/files/patch-libatomic.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,7 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/Makevars 2023-10-11 22:06:21.000000000 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/Makevars 2023-10-13 20:49:48.000000000 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15,3 +15,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/Makevars 2024-04-30 10:20:53.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/Makevars 2024-05-03 20:42:41.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17,3 +17,4 @@
</span> CXX_STD = CXX17
<span style='display:block; white-space:pre;background:#ffe0e0;'>- PKG_CPPFLAGS = -Iinclude -I../inst/include -DDUCKDB_DISABLE_PRINT -DDUCKDB_R_BUILD -Iduckdb/src/include -Iduckdb/third_party/fmt/include -Iduckdb/third_party/fsst -Iduckdb/third_party/re2 -Iduckdb/third_party/miniz -Iduckdb/third_party/utf8proc/include -Iduckdb/third_party/utf8proc -Iduckdb/third_party/hyperloglog -Iduckdb/third_party/fastpforlib -Iduckdb/third_party/tdigest -Iduckdb/third_party/libpg_query/include -Iduckdb/third_party/libpg_query -Iduckdb/third_party/concurrentqueue -I [...]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- OBJECTS=database.o connection.o statement.o register.o relational.o scan.o transform.o utils.o reltoaltrep.o types.o cpp11.o $(SOURCES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PKG_CPPFLAGS = -Iinclude -I../inst/include -DDUCKDB_DISABLE_PRINT -DDUCKDB_R_BUILD -Iduckdb/src/include -Iduckdb/third_party/concurrentqueue -Iduckdb/third_party/fast_float -Iduckdb/third_party/fastpforlib -Iduckdb/third_party/fmt/include -Iduckdb/third_party/fsst -Iduckdb/third_party/httplib -Iduckdb/third_party/hyperloglog -Iduckdb/third_party/jaro_winkler -Iduckdb/third_party/jaro_winkler/details -Iduckdb/third_party/libpg_query -Iduckdb/third_party/libpg_query/include -Iduckdb/third [...]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OBJECTS=rfuns.o database.o connection.o statement.o register.o relational.o scan.o transform.o utils.o reltoaltrep.o types.o cpp11.o $(SOURCES)
</span> +PKG_LIBS = -latomic
</pre><pre style='margin:0'>
</pre>