summaryrefslogtreecommitdiff
path: root/dev-cpp/fbthrift
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/fbthrift')
-rw-r--r--dev-cpp/fbthrift/Manifest3
-rw-r--r--dev-cpp/fbthrift/fbthrift-2025.04.14.00-r2.ebuild61
-rw-r--r--dev-cpp/fbthrift/files/fbthrift-2025.04.14.00-Use-FOLLY_HAS_LIBURING-to-check-for-liburing-support.patch27
3 files changed, 91 insertions, 0 deletions
diff --git a/dev-cpp/fbthrift/Manifest b/dev-cpp/fbthrift/Manifest
index 197963ce4be5..ef0d6d09f052 100644
--- a/dev-cpp/fbthrift/Manifest
+++ b/dev-cpp/fbthrift/Manifest
@@ -1,3 +1,6 @@
+AUX fbthrift-2025.04.14.00-Use-FOLLY_HAS_LIBURING-to-check-for-liburing-support.patch 1158 BLAKE2B e264f2301d32158e67d240caab926cbfee7c2a95ac57b5e5e3735b6210f6357ae490656e056c2fe4eadc7f38ad60404444d9cae6de11ab7b159235d1d3cba616 SHA512 a4011af1d2711825ed3c5567091a1232dc28ca8c5f0add49e626b79ce7d2809551afebd0866429be041490e7c11144008f4d0fbaaead2e3567de738446d352be
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
EBUILD fbthrift-2024.11.04.00-r1.ebuild 1196 BLAKE2B 67a2bd3ff5669782b1c0b9a86f6f7c9b7b0f1a260caae708bb601af13bf55808726f4822b3c0ce81e46777310a00c9975b00e0e60fa660d75778ef144a64046d SHA512 a855c33aced8bdb83235bfea703468c22007000b5a38568d2864346b33cf97e5631800e2b6561db084b6ce2f88fc5bd7acd7a1527f13b7914b42585277a57031
+EBUILD fbthrift-2025.04.14.00-r2.ebuild 1317 BLAKE2B 2fb8b7117c78dde1b748d6c3fabd95c413a5b89acd820e24c779609f96dae62fec1ba7a080d6f524f996385f3460512407f5265f07ce527f525da2a9ff1d8d06 SHA512 8369ad783ca2381c7bbf7e07fb8a99f774d41968eeb9bf28dc2a0d6598675a6d6061abe1c4c8da04064869260544330a7cef750af338e4cc4dd2b97e0650d095
MISC metadata.xml 475 BLAKE2B 6eb7bd77ac6519024d87adf20b1a4e4c19e0ac2aee35dd4abdb170747372e834e5c9838782842c382e209c15cb2632c5b6c7398f2ca14780df99da60e79241b6 SHA512 d623c4a6567da3272ac3ce24d18e11aef7556765cd21efeaffe8ba8ac7f0767d97b5cc311df0d4d4c2ae68d7331972c95b6288023e5f105f1b01dfe8a6183d8c
diff --git a/dev-cpp/fbthrift/fbthrift-2025.04.14.00-r2.ebuild b/dev-cpp/fbthrift/fbthrift-2025.04.14.00-r2.ebuild
new file mode 100644
index 000000000000..997bad946d90
--- /dev/null
+++ b/dev-cpp/fbthrift/fbthrift-2025.04.14.00-r2.ebuild
@@ -0,0 +1,61 @@
+# 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="io-uring test"
+
+# See https://github.com/facebook/fbthrift/issues/628
+RESTRICT="test"
+
+DEPEND="
+ ~dev-cpp/fizz-${PV}:=
+ ~dev-cpp/folly-${PV}:=[io-uring(+)=]
+ ~dev-cpp/mvfst-${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 <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
+