<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/0dd008fc8dae02e244b067c84218887f34192e88">https://github.com/macports/macports-ports/commit/0dd008fc8dae02e244b067c84218887f34192e88</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 0dd008fc8dae02e244b067c84218887f34192e88
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Fri Mar 15 01:37:25 2024 +0800

<span style='display:block; white-space:pre;color:#404040;'>    R-duckdb: update to 0.10.0
</span>---
 R/R-duckdb/Portfile                                | 12 +++---
 .../files/patch-fix-libproc-for-older-macOS.diff   | 48 ++++++++++++++++++++++
 2 files changed, 55 insertions(+), 5 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 1828133b5f9..ac36af9e61d 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,7 +3,7 @@
</span> PortSystem          1.0
 PortGroup           R 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-R.setup             cran duckdb duckdb 0.9.2-1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+R.setup             cran duckdb duckdb 0.10.0
</span> revision            0
 categories-append   databases
 maintainers         nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11,14 +11,16 @@ license             MIT
</span> 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  51543211eeb93fcc913830bcb8dd772d922acd82 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  441c7be8141947dec67292a2c7c4090e9cf49449de4e1ae67c2fcff4bc0bc796 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    3766705
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  62ed6eb7f08ca2f318c62775e75b03611dc43aa4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  a5158ca55b23113ca0676a57c6ab336e8f7768af67a8a7667fc972bcec3c199e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    4090561
</span> 
 depends_lib-append  port:R-DBI
 
 compiler.cxx_standard 2017
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-fix-libproc-for-older-macOS.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;background:#e0e0e0;'>@@ -40,5 +42,5 @@ depends_test-append port:R-adbcdrivermanager \
</span> 
 # FIXME: some functionality for Big-endian platforms is missing, see:
 # https://github.com/duckdblabs/duckplyr/issues/51
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Upstream not interested to fix anything: https://github.com/duckdb/duckdb/issues/9714
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Upstream not interested to fix it: https://github.com/duckdb/duckdb/issues/9714
</span> test.run            yes
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-duckdb/files/patch-fix-libproc-for-older-macOS.diff b/R/R-duckdb/files/patch-fix-libproc-for-older-macOS.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ecbaa4acc5d
</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-libproc-for-older-macOS.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,48 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 16acae07aebc8259dd21551f19d355f15c61dd99 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Sergey Fedorov <vital.had@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 20 Feb 2024 06:50:32 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] local_file_system.cpp: minor fix for macOS libproc code
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MIME-Version: 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Content-Type: text/plain; charset=UTF-8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Content-Transfer-Encoding: 8bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Recent commit has broken duckdb build on macOS < 10.7: https://github.com/duckdb/duckdb/commit/23112e9aa344905c2d2a0d1cb696c5f73c329534
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Add a fallback to fix it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+See also get_ppid_of.c in gettext’s libtextstyle.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/common/local_file_system.cpp | 15 +++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 15 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/common/local_file_system.cpp src/common/local_file_system.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bbca902a28..14903303e6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/duckdb/src/common/local_file_system.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/duckdb/src/common/local_file_system.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -188,6 +188,8 @@ static string AdditionalProcessInfo(FileSystem &fs, pid_t pid) {
</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;'>+   string process_name, process_owner;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// macOS >= 10.7 has PROC_PIDT_SHORTBSDINFO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined PROC_PIDT_SHORTBSDINFO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // try to find out more about the process holding the lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   struct proc_bsdshortinfo proc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (proc_pidinfo(pid, PROC_PIDT_SHORTBSDINFO, 0, &proc, PROC_PIDT_SHORTBSDINFO_SIZE) ==
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -199,6 +201,19 @@ static string AdditionalProcessInfo(FileSystem &fs, pid_t pid) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   process_owner = pw->pw_name;
</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;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Fallback code for older versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // try to find out more about the process holding the lock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  struct proc_bsdinfo proc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (proc_pidinfo(pid, PROC_PIDTBSDINFO, 0, &proc, 128) == 128) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          process_name = proc.pbi_comm; // only a short version however, let's take it in case proc_pidpath() below fails
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          // try to get actual name of conflicting process owner
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          auto pw = getpwuid(proc.pbi_uid);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          if (pw) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  process_owner = pw->pw_name;
</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;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // try to get a better process name (full path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   char full_exec_path[PROC_PIDPATHINFO_MAXSIZE];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (proc_pidpath(pid, full_exec_path, PROC_PIDPATHINFO_MAXSIZE) > 0) {
</span></pre><pre style='margin:0'>

</pre>