<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>