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