summaryrefslogtreecommitdiff
path: root/dev-libs/thrift
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/thrift')
-rw-r--r--dev-libs/thrift/Manifest3
-rw-r--r--dev-libs/thrift/files/thrift-0.21.0-gcc15-cstdint.patch52
-rw-r--r--dev-libs/thrift/thrift-0.21.0.ebuild73
3 files changed, 128 insertions, 0 deletions
diff --git a/dev-libs/thrift/Manifest b/dev-libs/thrift/Manifest
index dcbba1019a5b..c971873d0f08 100644
--- a/dev-libs/thrift/Manifest
+++ b/dev-libs/thrift/Manifest
@@ -1,9 +1,12 @@
AUX thrift-0.16.0-network-tests.patch 1184 BLAKE2B fc1737e6169a480718edeff366734a01cee43626f84a0785b0f7fe2cdad4ef964da5ef9c685d8c8fee32d8f719e1f4eb7c260a6c6a960e8fea89898a59cd6f16 SHA512 248de672f603c94919bf67890715a037030d378c80ec7dc849ee3677392353d89903e35ed3c0144ab3e1ff371bfb6eba861d11332844fec99b87bcb3476a1a7e
AUX thrift-0.18.1-tests.patch 1266 BLAKE2B 93937699f0b34d3dd273563f94fe5a55b0fc8d2fc349d446945756ec941ed1a9e4d84a7dd7deb3b5dd8237c999d28fbf3c901cb7af2c96782d7af229b4d99e88 SHA512 bdb9628c6db7e17e0ac7752e9bed600a040b1d9ec405e160ec127114ee7dece6b500e0cf768d3873986241e6d9607981cbafb15a6899e199870b63cf10c404d5
+AUX thrift-0.21.0-gcc15-cstdint.patch 3233 BLAKE2B fa8cc93c90962f48785441ba84d1103460bbeca665b3e4ae7563bdbcfcd42f3fc2876c5196abccf8a263f27f240a282f85b33b6296a1f6f17cc720e9aafd540e SHA512 c461ee597767bbd34868832d5630230a95a55775030a6ba838b0bb3219f3045c24993f85d48274f267d6975ef97e2ea12e83faa85dc2a672d4465f06d3bc0e37
DIST thrift-0.16.0.tar.gz 4085114 BLAKE2B 17c35096f6848fb0795e4cb125fed3068c8e1e53f67f404f4dcab67df7a42fc049a7d615591c861eb9e59e3333e21f185e8615663008bc7c846a03722ea8b834 SHA512 468fff6be2def85959fdf8adac92a0cfa7f786083b3bafb2c31427dfe5725f4d10962052d13ea960828f6a317778d35e66b602744a570212352bfc637ae586e0
DIST thrift-0.18.1.tar.gz 4310494 BLAKE2B 3e6c7e03059341e79d3f58e16b55761888b530b3d31dd22853026486a1303725ee5d5e6e5dd7a5e6bf8e57a2d3cf36ffc829cdb194d990cadedfc63f4f3e0874 SHA512 9c9a462aa8b6fddefd5bb9d2c950570eb2d3beaa7c9d37fceee677bdc1fdeb521b796f4eeee8a1fd9a7649f84449f6c0572305210e67402eb97682ca7f6e851b
DIST thrift-0.20.0.tar.gz 4397667 BLAKE2B 23422fdcdf7e0dbce8bc0f8017f54b5848594e2da21de56834152c17c74da7d1c4df23c5b57cf3ba811bb03f1a8588ddf1c2a05222bb726aceda4292a15af21e SHA512 8dc77f666e60141a6b3cf7ee1407b08a0e80d176f8ccfee69317d7df89ab87aea2c7b3ba3e59d4561835edf1ce23762443ad5aeed0099bf075b010853d5eb1cd
+DIST thrift-0.21.0.gh.tar.gz 3276565 BLAKE2B 806cda50086b592fa14723377ee0346ac77fff5c0002d0eea481a021c0d7ef4360a2ce347b1a1d969900fac10602534e25e9ac5df54a2d15d363bfc12d0cf055 SHA512 39566b7ecae7ae159822ee1c2c03a7af9ba6e228c3bbecea4079bdbd2332b42f03f79af08303a2685d04723f996d230cf95e5afc4d2a3880158a80429e21c190
EBUILD thrift-0.16.0-r2.ebuild 958 BLAKE2B 6003a01c59982fbecd4b75c01d77f0d59b89498888dabf39f3e9582760e7b456c236632b47dd085bbcd51489bed3eaece28c4eb71f11e02a66b1f02381ef063d SHA512 89fef989ab841a887b9a34fc0767ad61ea81b9dabe07c552ea6f8df1098348d2009f4f659a430d2d8163fcfeecb9c9c0d73c3fe2adf210d2adcd5f35e7478126
EBUILD thrift-0.18.1-r1.ebuild 1155 BLAKE2B 632d0ce721faea13b24bd94705416adc2843f8995347c11e21c6b7c496846874679f33dc052e814ab35984a0aab4d8f134d7ee2bfadcc98f028dea77d80fb1cd SHA512 b2d4de48a3a1df54c0f30b80a07601bb9dbfd5aca191736d1474b0b0610d4ebc8297339e01070b43fa7eb3519578ccd3ea42eb2835e38e24f51b9823d4221151
EBUILD thrift-0.20.0.ebuild 1162 BLAKE2B 43f9d03d4944f11777f1f68d9ca80d8669a6e9da5414907df20d499cda3a7a6253b9f46dbba39d84e92a040db40e639583c877f1d9e7436d2477a4be2d53361f SHA512 96b797ddcbb718db0bc5a350ef7aa2e7631c1502e89f3bc9f5c01612491507012a14b21d9099c8e1d69e4330bb31f943070e809f1657298fe123fd77d05c5cb5
+EBUILD thrift-0.21.0.ebuild 1505 BLAKE2B 86da0f5c2796583875a316e57798a977ed30dfbee82c8f0541b953eac9d83dfb33d54b7dc390a276ab30b2dac81fc5f8b5e26b5c5080e238cfd528dbcef8b915 SHA512 1c726bb93366a2999a9e86f4004e33d4415cce5565d0442e7e9923052597793193e88f7cbd32e9014c8b63723eb33bc0334d12606dd9aa7f002a8333626f9466
MISC metadata.xml 489 BLAKE2B 2b2c924951cd9c5dfa2a9d4f50f4a74b3f422d853fdf61248424500d792f87a9348335a80e54c2c110039274060ec8df87f3369c8ff81c3dc8d515cb7de58fa8 SHA512 f15102234cb9eb25272e4d1788b7cdd4274ef9c5ad0d2af3521533d86a4145b0f2789385ce9663f9d0aa9161c218d357cc76d56e5c47ed597c56f7ac35d8a373
diff --git a/dev-libs/thrift/files/thrift-0.21.0-gcc15-cstdint.patch b/dev-libs/thrift/files/thrift-0.21.0-gcc15-cstdint.patch
new file mode 100644
index 000000000000..ab3453e2bd0f
--- /dev/null
+++ b/dev-libs/thrift/files/thrift-0.21.0-gcc15-cstdint.patch
@@ -0,0 +1,52 @@
+https://bugs.gentoo.org/938100
+https://github.com/apache/thrift/commit/947ad66940cfbadd9b24ba31d892dfc1142dd330
+https://github.com/apache/thrift/pull/3078
+https://github.com/apache/arrow/issues/45096
+
+From 947ad66940cfbadd9b24ba31d892dfc1142dd330 Mon Sep 17 00:00:00 2001
+From: Sutou Kouhei <kou@clear-code.com>
+Date: Mon, 23 Dec 2024 12:33:22 +0900
+Subject: [PATCH] THRIFT-5842: Add missing cstdint include for int64_t in
+ Mutex.h
+
+Client: cpp
+
+GCC 15 (not released yet) requires `#include <cstdint>` for `int64_t`
+but `lib/cpp/src/thrift/concurrency/Mutex.h` doesn't have it. So we
+can't build Thrift with GCC 15:
+
+ [80/359] Building CXX object lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o
+ FAILED: lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o
+ /bin/g++-15 -DBOOST_ALL_DYN_LINK -DBOOST_TEST_DYN_LINK -DTHRIFT_STATIC_DEFINE -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/kou/work/cpp/thrift.kou.build/lib/cpp -I/home/kou/work/cpp/thrift.kou/lib/cpp -I/home/kou/work/cpp/thrift.kou.build -I/home/kou/work/cpp/thrift.kou/lib/cpp/src -g -std=c++11 -MD -MT lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o -MF lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o.d -o lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o -c /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp
+ In file included from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TServerSocket.h:25,
+ from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.h:23,
+ from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp:21:
+ /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:47:26: error: 'int64_t' has not been declared
+ 47 | virtual bool timedlock(int64_t milliseconds) const;
+ | ^~~~~~~
+ /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:25:1: note: 'int64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
+ 24 | #include <thrift/TNonCopyable.h>
+ +++ |+#include <cstdint>
+ 25 |
+ /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:60:29: error: 'int64_t' has not been declared
+ 60 | Guard(const Mutex& value, int64_t timeout = 0) : mutex_(&value) {
+ | ^~~~~~~
+ /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:60:29: note: 'int64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
+
+See also: https://github.com/apache/arrow/issues/45096
+---
+ lib/cpp/src/thrift/concurrency/Mutex.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/cpp/src/thrift/concurrency/Mutex.h b/lib/cpp/src/thrift/concurrency/Mutex.h
+index 1e5c3fba37c..12f1729d6bf 100644
+--- a/lib/cpp/src/thrift/concurrency/Mutex.h
++++ b/lib/cpp/src/thrift/concurrency/Mutex.h
+@@ -20,6 +20,7 @@
+ #ifndef _THRIFT_CONCURRENCY_MUTEX_H_
+ #define _THRIFT_CONCURRENCY_MUTEX_H_ 1
+
++#include <cstdint>
+ #include <memory>
+ #include <thrift/TNonCopyable.h>
+
diff --git a/dev-libs/thrift/thrift-0.21.0.ebuild b/dev-libs/thrift/thrift-0.21.0.ebuild
new file mode 100644
index 000000000000..885d01c25f6c
--- /dev/null
+++ b/dev-libs/thrift/thrift-0.21.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ bindings for Apache Thrift"
+HOMEPAGE="https://thrift.apache.org/lib/cpp.html"
+# Misses testing files
+# SRC_URI="mirror://apache/thrift/${PV}/${P}.tar.gz"
+SRC_URI="
+ https://github.com/apache/thrift/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~s390 ~x86"
+
+IUSE="libevent lua +ssl test"
+REQUIRED_USE="test? ( ssl libevent )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/boost:=[nls(+)]
+ dev-libs/openssl:=
+ sys-libs/zlib:=
+ libevent? ( dev-libs/libevent:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+PATCHES=(
+ "${FILESDIR}/thrift-0.21.0-gcc15-cstdint.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ # follow order in build/cmake/DefineOptions.cmake
+ # Prefer WITH_OPTION over BUILD_OPTION for bug #943012
+ -DBUILD_COMPILER=ON
+ -DBUILD_TESTING=$(usex test)
+ -DBUILD_TUTORIALS=OFF
+ -DBUILD_LIBRARIES=ON
+ -DWITH_AS3=ON
+ -DWITH_CPP=ON
+ -DWITH_ZLIB=ON
+ -DWITH_LIBEVENT=$(usex libevent)
+ -DWITH_QT5=OFF
+ -DWITH_C_GLIB=OFF
+ -DWITH_OPENSSL=$(usex ssl)
+ -DWITH_JAVA=OFF
+ -DWITH_JAVASCRIPT=OFF
+ -DWITH_NODEJS=OFF
+ -DWITH_PYTHON=OFF
+ -Wno-dev
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # network sandbox
+ StressTestConcurrent
+ StressTestNonBlocking
+ UnitTests
+ )
+ cmake_src_test
+}