<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/6588eacf5d17c480d2aeaf12bd29113ecba1f2ae">https://github.com/macports/macports-ports/commit/6588eacf5d17c480d2aeaf12bd29113ecba1f2ae</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 6588eacf5d17c480d2aeaf12bd29113ecba1f2ae
</span>Author: Nicklas Larsson <n_larsson@yahoo.com>
AuthorDate: Mon Nov 20 14:51:54 2023 +0100

<span style='display:block; white-space:pre;color:#404040;'>    gdal: fix build failure on missing std::shared_mutex
</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/68716
</span>---
 gis/gdal/Portfile                           |  2 ++
 gis/gdal/files/patch-have_shared_mutex.diff | 51 +++++++++++++++++++++++++++++
 2 files changed, 53 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/gdal/Portfile b/gis/gdal/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 34f727051af..0abede45976 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gis/gdal/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/gdal/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,6 +47,8 @@ compiler.thread_local_storage yes
</span> patchfiles-append   0001-sqlite_rtree_bulk_load.c-define-__STDC_FORMAT_MACROS.patch
 # for GDAL 3.8.0 with libxml2 2.12
 patchfiles-append   patch-build-for-libxml2-12.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/68716
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-have_shared_mutex.diff
</span> 
 configure.optflags  -DGDAL_COMPILATION
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/gdal/files/patch-have_shared_mutex.diff b/gis/gdal/files/patch-have_shared_mutex.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..cd848203f82
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/gdal/files/patch-have_shared_mutex.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,51 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Addresses https://trac.macports.org/ticket/68716,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+committed upstream https://github.com/OSGeo/gdal/commit/994e40dbbf3dfd58ad66de02d87070afafd8da88
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- cmake/template/cpl_config.h.in.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cmake/template/cpl_config.h.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -175,6 +175,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `sched_getaffinity' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #cmakedefine HAVE_SCHED_GETAFFINITY 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Define to 1 if you have the `std::shared_mutex' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#cmakedefine HAVE_SHARED_MUTEX 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `uselocale' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #cmakedefine HAVE_USELOCALE 1
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- cmake/helpers/configure.cmake.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cmake/helpers/configure.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -359,6 +359,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     add_definitions(-DDONT_DEPRECATE_SPRINTF)
</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;'>++  check_cxx_source_compiles(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    #include <shared_mutex>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    int main(int argc, const char * argv[]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        std::shared_mutex smtx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        smtx.lock_shared();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        smtx.unlock_shared();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return 0;
</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;'>++    HAVE_SHARED_MUTEX
</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;'>+   check_include_file("linux/userfaultfd.h" HAVE_USERFAULTFD_H)
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- port/cpl_vsi_mem.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ port/cpl_vsi_mem.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -50,7 +50,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <mutex>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // c++17 or VS2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if __cplusplus >= 201703L || _MSC_VER >= 1910
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(HAVE_SHARED_MUTEX) || _MSC_VER >= 1910
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <shared_mutex>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define CPL_SHARED_MUTEX_TYPE std::shared_mutex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define CPL_SHARED_LOCK std::shared_lock<std::shared_mutex>
</span></pre><pre style='margin:0'>

</pre>