<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/7899b38eb11d656b590f5e7910af8186c710e4b6">https://github.com/macports/macports-ports/commit/7899b38eb11d656b590f5e7910af8186c710e4b6</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 7899b38eb11 fbthrift: fix build with gcc and on older OS
</span>7899b38eb11 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 7899b38eb11d656b590f5e7910af8186c710e4b6
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Mon Aug 15 21:52:29 2022 +0700

<span style='display:block; white-space:pre;color:#404040;'>    fbthrift: fix build with gcc and on older OS
</span>---
 devel/fbthrift/Portfile              | 38 +++++++++++++++++-------------
 devel/fbthrift/files/patch-cpp2.diff | 45 ++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+), 16 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/fbthrift/Portfile b/devel/fbthrift/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6e3abd6ac0b..8f78483d42f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/fbthrift/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/fbthrift/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,11 +8,11 @@ PortGroup           openssl 1.0
</span> PortGroup           legacysupport 1.1
 PortGroup           compiler_blacklist_versions 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        facebook fbthrift 2022.06.06.00 v
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  e6dffb2a31570580d68f8d20ea6bf66d7ef2c5a7 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  add554f5f4139f5fe16502a279f3b1233e3f30e56efa387728d59a10dcf6a053 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    8057825
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        facebook fbthrift 2022.08.08.00 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  96f437cae0bfe52c4be7df6b04d09076906021c9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  6b5165b4f5115f3537b9b5843f2dec21cd4836e6d69d8562dcdfae13ca8ff322 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    8500146
</span> 
 categories          devel
 license             Apache-2
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,16 +24,6 @@ long_description    {*}${description}
</span> 
 github.tarball_from archive
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        known_fail      yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_error "${subport} requires macOS 10.12 or later"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            return -code error "incompatible macOS version"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> set port_libfmt     libfmt9
 cmake.module_path-append \
                     ${prefix}/lib/${port_libfmt}/cmake
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,6 +36,8 @@ depends_lib-append  port:mstch \
</span>                     port:fizz \
                     port:${port_libfmt}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-cpp2.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Fix error: invalid output constraint '=@ccc' in asm
 compiler.blacklist-append \
                     {clang < 1200}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,4 +47,18 @@ compiler.cxx_standard   2017
</span> cmake.generator     Ninja
 
 legacysupport.newest_darwin_requires_legacy 19
<span style='display:block; white-space:pre;background:#ffe0e0;'>-legacysupport.use_mp_libcxx                 yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Don’t use libcxx with gcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    legacysupport.use_mp_libcxx yes
</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;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://kumasento.github.io/2020-06-12-glog-gflags-and-c-abi/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.cxxflags-append -D_GLIBCXX_USE_CXX11_ABI=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[string match *gcc* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.ldflags-append  -latomic
</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;color:#808080;'>diff --git a/devel/fbthrift/files/patch-cpp2.diff b/devel/fbthrift/files/patch-cpp2.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c22a74ca570
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/fbthrift/files/patch-cpp2.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,45 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- thrift/lib/cpp2/server/Cpp2ConnContext.cpp.orig        2022-08-08 09:08:18.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ thrift/lib/cpp2/server/Cpp2ConnContext.cpp     2022-08-15 12:40:56.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22,6 +22,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/ucred.h> // @manual
</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;'>++#if !defined(SOL_LOCAL) && defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SOL_LOCAL 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;'>++#if !defined(LOCAL_PEEREPID) && defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define LOCAL_PEEREPID 0x003 // retrieve eff. peer pid
</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;'>+ namespace {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef _WIN32
</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;'>+# ParallelConcurrencyController.h:65:40: error: static assertion failed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# static_assert(std::atomic<Counters>::is_always_lock_free);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- thrift/lib/cpp2/server/ParallelConcurrencyController.h.orig    2022-08-08 09:08:18.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ thrift/lib/cpp2/server/ParallelConcurrencyController.h 2022-08-15 21:39:26.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,12 +55,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   struct Counters {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     constexpr Counters() noexcept = default;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__ppc__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Number of requests that are being executed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // by the executor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    uint16_t requestInExecution{0};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Number of requests that sit in the queue waiting
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // to be dequeued by the ConcurrencyController
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    uint16_t pendingDequeCalls{0};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else // Everything else besides ppc32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // Number of requests that are being executed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // by the executor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     uint32_t requestInExecution{0};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // Number of requests that sit in the queue waiting
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // to be dequeued by the ConcurrencyController
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     uint32_t pendingDequeCalls{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;'>+   static_assert(std::atomic<Counters>::is_always_lock_free);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>