<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/552558f177c785f978b5863457e8235a279ad963">https://github.com/macports/macports-ports/commit/552558f177c785f978b5863457e8235a279ad963</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 552558f177c zix: Avoid fdatasync on macOS
</span>552558f177c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 552558f177c785f978b5863457e8235a279ad963
</span>Author: Ryan Carsten Schmidt <ryandesign@macports.org>
AuthorDate: Sat May 25 00:09:12 2024 -0500

<span style='display:block; white-space:pre;color:#404040;'>    zix: Avoid fdatasync on macOS
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/70070
</span>---
 devel/zix/Portfile              |  4 +++-
 devel/zix/files/fdatasync.patch | 22 ++++++++++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/zix/Portfile b/devel/zix/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a8dbc158c2a..2b93c0bada0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/zix/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/zix/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,7 +10,7 @@ PortGroup           meson   1.0
</span> legacysupport.newest_darwin_requires_legacy 15
 
 gitlab.setup        drobilla zix 0.4.2 v
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
 description         A lightweight C99 portability and data structure library
 long_description    {*}${description}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,6 +24,8 @@ checksums           rmd160  c69eb969044123e8fe16aaa9be1a76c2335c90a0 \
</span>                     sha256  250ad249ab080e1e45df92e8c8ea1cbcff1378c459933af5c88566480800df64 \
                     size    74432
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          fdatasync.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> compiler.c_standard 1999
 # ERROR: C++ Compiler does not support -std=c++17
 compiler.cxx_standard \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/zix/files/fdatasync.patch b/devel/zix/files/fdatasync.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7fe3190f252
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/zix/files/fdatasync.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Avoid fdatasync() on Darwin. fsync() there doesn't actually flush writes to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+storage like it does on Linux. So, use F_FULLFSYNC which was invented as an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+alternative API to do this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://gitlab.com/drobilla/zix/-/issues/3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://gitlab.com/drobilla/zix/-/commit/a6f804073de1f1e626464a9dd0a169fd3f69fdff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/posix/filesystem_posix.c.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/posix/filesystem_posix.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -58,7 +58,13 @@ zix_get_block_size(const struct stat* const s1, const struct stat* const s2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static ZixStatus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ finish_copy(const int dst_fd, const int src_fd, const ZixStatus status)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  const ZixStatus st0 = zix_posix_status(dst_fd >= 0 ? fdatasync(dst_fd) : 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  const int rc = dst_fd >= 0 ? fcntl(dst_fd, F_FULLFSYNC) : 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  const int rc = dst_fd >= 0 ? fdatasync(dst_fd) : 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  const ZixStatus st0 = zix_posix_status(rc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const ZixStatus st1 = zix_system_close_fds(dst_fd, src_fd);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return status ? status : st0 ? st0 : st1;
</span></pre><pre style='margin:0'>

</pre>