commit:     ac2f4c06e766ac37d5c57b0e89dcf80cd8fd1ec9
Author:     sin-ack <sin-ack <AT> protonmail <DOT> com>
AuthorDate: Mon Apr 21 16:02:14 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr 22 01:15:24 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac2f4c06

dev-cpp/fbthrift: add 2025.04.14.00

RDEPEND fixed via qa-vdb. One non-upstream patch added because of our
force-disable of Folly's io_uring support.

Ref: https://github.com/facebook/fbthrift/issues/649
Bug: https://bugs.gentoo.org/946922
Signed-off-by: sin-ack <sin-ack <AT> protonmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-cpp/fbthrift/Manifest                          |  1 +
 dev-cpp/fbthrift/fbthrift-2025.04.14.00.ebuild     | 60 ++++++++++++++++++++++
 ...AS_LIBURING-to-check-for-liburing-support.patch | 27 ++++++++++
 3 files changed, 88 insertions(+)

diff --git a/dev-cpp/fbthrift/Manifest b/dev-cpp/fbthrift/Manifest
index 211037528008..01937fbbcad1 100644
--- a/dev-cpp/fbthrift/Manifest
+++ b/dev-cpp/fbthrift/Manifest
@@ -1 +1,2 @@
 DIST fbthrift-2024.11.04.00.gh.tar.gz 15541383 BLAKE2B 
447fdeba8b9f270e77066d7cf8dedd64ff0e74baf58b8848b0225e936c5d0815cae764f0b38c26c4ce17d9b0f2c0ba46df3a03b2512065b7bd5d685ac7dc99d6
 SHA512 
b2175eac20ef9b4f15b5d9002583db7339549f660d03a1ced34289009cd99a4308a9ce340b9a37b9771a32340e80b7877b7c5498619241819cf0664e1e395bf7
+DIST fbthrift-2025.04.14.00.gh.tar.gz 15021132 BLAKE2B 
aba075fc0c7bf915b3927135c63fd06d902bef8943e09c0984601ffd910838d7458fee109895851135c38d99f53cd6bdd462ae71f1d1d659ffff848752b631b2
 SHA512 
ee109564121c28472980ee0bad975918b81997a0b0d544030a7e5c0c717d8c2d7e8bdb29adef851802271ce8f97fd637a8fe993b9f1c0e176b3f24414a9f9af7

diff --git a/dev-cpp/fbthrift/fbthrift-2025.04.14.00.ebuild 
b/dev-cpp/fbthrift/fbthrift-2025.04.14.00.ebuild
new file mode 100644
index 000000000000..d1fe71adac53
--- /dev/null
+++ b/dev-cpp/fbthrift/fbthrift-2025.04.14.00.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# These must be bumped together:
+# dev-cpp/edencommon
+# dev-cpp/fb303
+# dev-cpp/fbthrift
+# dev-cpp/fizz
+# dev-cpp/folly
+# dev-cpp/mvfst
+# dev-cpp/wangle
+# dev-util/watchman
+
+inherit cmake
+
+DESCRIPTION="Facebook's branch of Apache Thrift (C++ bindings)"
+HOMEPAGE="https://github.com/facebook/fbthrift";
+SRC_URI="https://github.com/facebook/fbthrift/archive/refs/tags/v${PV}.tar.gz 
-> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm64"
+IUSE="test"
+
+# See https://github.com/facebook/fbthrift/issues/628
+RESTRICT="test"
+
+DEPEND="
+       ~dev-cpp/fizz-${PV}:=
+       ~dev-cpp/folly-${PV}:=
+       ~dev-cpp/wangle-${PV}:=
+       dev-cpp/gflags:=
+       dev-cpp/glog:=[gflags]
+       dev-libs/boost:=[nls(+)]
+       dev-libs/double-conversion:=
+       dev-libs/libfmt:=
+       dev-libs/openssl:=
+       dev-libs/xxhash
+       sys-libs/zlib:=
+"
+RDEPEND="
+       ${DEPEND}
+       test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+       
"${FILESDIR}"/${PN}-2025.04.14.00-Use-FOLLY_HAS_LIBURING-to-check-for-liburing-support.patch
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_INSTALL_DIR="$(get_libdir)/cmake/${PN}"
+               -DLIB_INSTALL_DIR="$(get_libdir)"
+               -Denable_tests=$(usex test 'ON' 'OFF')
+               -Wno-dev
+       )
+       cmake_src_configure
+}

diff --git 
a/dev-cpp/fbthrift/files/fbthrift-2025.04.14.00-Use-FOLLY_HAS_LIBURING-to-check-for-liburing-support.patch
 
b/dev-cpp/fbthrift/files/fbthrift-2025.04.14.00-Use-FOLLY_HAS_LIBURING-to-check-for-liburing-support.patch
new file mode 100644
index 000000000000..bcb039ad8e4d
--- /dev/null
+++ 
b/dev-cpp/fbthrift/files/fbthrift-2025.04.14.00-Use-FOLLY_HAS_LIBURING-to-check-for-liburing-support.patch
@@ -0,0 +1,27 @@
+From 99f1ffbd2ff912d0407aa75f980ef918187c6525 Mon Sep 17 00:00:00 2001
+From: sin-ack <[email protected]>
+Date: Mon, 21 Apr 2025 16:31:18 +0200
+Subject: [PATCH] Use FOLLY_HAS_LIBURING to check for liburing support in Folly
+
+Folly may not be compiled with liburing support enabled, in which case
+the liburing classes must not be used.
+---
+ thrift/lib/cpp2/security/SSLUtil.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/thrift/lib/cpp2/security/SSLUtil.cpp 
b/thrift/lib/cpp2/security/SSLUtil.cpp
+index 52a15b66de..dbc67dfd81 100644
+--- a/thrift/lib/cpp2/security/SSLUtil.cpp
++++ b/thrift/lib/cpp2/security/SSLUtil.cpp
+@@ -133,7 +133,7 @@ folly::AsyncSocketTransport::UniquePtr 
moveToPlaintext(FizzSocket* fizzSock) {
+ 
+   auto sock = fizzSock->template getUnderlyingTransport<folly::AsyncSocket>();
+   folly::AsyncSocketTransport::UniquePtr plaintextTransport;
+-#if defined(__linux__) && __has_include(<liburing.h>)
++#if FOLLY_HAS_LIBURING
+   if (!sock &&
+       fizzSock->template getUnderlyingTransport<folly::AsyncIoUringSocket>()) 
{
+     // `AsyncFdSocket` currently lacks uring support, so hardcode 
`AsyncSocket`
+-- 
+2.49.0
+

Reply via email to