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@protonmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
sin-ack 2025-04-21 16:02:14 +00:00 committed by Sam James
parent baae484ae5
commit ac2f4c06e7
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
3 changed files with 88 additions and 0 deletions

View File

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

View File

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

View File

@ -0,0 +1,27 @@
From 99f1ffbd2ff912d0407aa75f980ef918187c6525 Mon Sep 17 00:00:00 2001
From: sin-ack <sin-ack@protonmail.com>
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