summaryrefslogtreecommitdiff
path: root/dev-libs/protobuf
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/protobuf')
-rw-r--r--dev-libs/protobuf/Manifest7
-rw-r--r--dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch37
-rw-r--r--dev-libs/protobuf/protobuf-22.5.ebuild4
-rw-r--r--dev-libs/protobuf/protobuf-23.3-r2.ebuild6
-rw-r--r--dev-libs/protobuf/protobuf-26.1.ebuild108
5 files changed, 157 insertions, 5 deletions
diff --git a/dev-libs/protobuf/Manifest b/dev-libs/protobuf/Manifest
index 5d381b2e3565..425c67bac854 100644
--- a/dev-libs/protobuf/Manifest
+++ b/dev-libs/protobuf/Manifest
@@ -5,6 +5,7 @@ AUX protobuf-22.5-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch 473
AUX protobuf-22.5-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch 1188 BLAKE2B a09cd3beabcab37449b1c7ac03f9aa11d7f1f85f07b1149a04bf3b77c6c3e0a71e5345288178a1235f41fb57817880d1cd6d67e40769f9793214b6411a6ed4d6 SHA512 798f5edbb5e81c26b4216412fdc6d3cf1ffbac4936713e909e1cbd04e5a7be7187d456bf91c48e6ba0593235226be2ce843304058acd38d1907208bc0c323378
AUX protobuf-23.3-disable-32-bit-tests.patch 1261 BLAKE2B 95adb955991b3c181e15c985996d1d136bc6586a885987c526b3f83feb4afad7553e585f4281fd0928913284cc9251fce089ab79400af3a3e9e75f31db5c8e9c SHA512 42d3121c215190c249dfd0b9e8e2ca59d49fce73a49f113b958d7b7f73708ee758bbeff2dbdbdf1c744352b7f49caab6fb4acd806089b37cf8690dc3cb298289
AUX protobuf-23.3-static_assert-failure.patch 529 BLAKE2B 69452cf44106fdd7295bbb8d97011309c160f51fb30c233b9549d955d57c0a188b407b97ea7de7dc708a145bf76d5f15f1332bf641541a8830db96705a071701 SHA512 291d8cd318a0324e58c5dc83273ca67b55fd1446bd5111e3caaa9e2b08e3a2565de8030050df6555f300f7051668f5b8918e52009f826a653bb70f9931f12ebd
+AUX protobuf-26.1-disable-32-bit-tests.patch 1382 BLAKE2B ef85af7bf53c3ea2876e7a4a51dff56e7ac2665a36dad61eba91e8e864f22e10dd055eb8b4b8e03d17b53d45585f064676eae6bb893f10bd95cdccc604f9fe9e SHA512 ac6ab37d852d9ebcaa1f2f21ec7eaa70d44a45e15f9e3d2f7faa35646e61f3222897c2d77e23ff655cc0e2e48ffb420f9bf54113d8d8ab1b985ed8a2b6defb1b
AUX protobuf-3.19.0-disable_no-warning-test.patch 1620 BLAKE2B e4f324ed59b2c31662cc625e9d3f1fdb20ee2a25769dbf86093e5000f73a01e11f05459989aaefeaf0414648cd52f1f1025b9d4f1423cdca4844e42e96f54836 SHA512 8c4bc72976a7eb3418b51e7a1c45b49d7ffaeb91a86f440008e6f162773b1db7afed4a6ae1d0b3510d49361c369b6552a9ba4976d104d804d825227aa7113d95
AUX protobuf-3.19.0-system_libraries.patch 7514 BLAKE2B 1ff5c226232c325ed48cf16e2c47652615c4bd1503f1be8560e7f2e8658ffefeffeef72a6baf4368f758e30a4a81d582769b61dd0b3e383c8188cd03bf409c01 SHA512 b6a58e483dbb1f6151c2f7c735fbd55f34bcf98d6370eabb425dbd96e10cb87e8dfbf5024ad8f888cb80a095bc26598aceb55d576d37166550ee62db41c51a44
AUX protobuf-3.20.2-protoc_input_output_files.patch 10080 BLAKE2B f52ea613b1104aa703e5e10eb5f968e33e46f05523e13fe84369a24ccbc16cecbcce3221b64b1acd624500864d224ccb59d1ce626157a0d0d77870f79ea64bd8 SHA512 dcf5dbd7be4a025d9ee96ed9be4566452ae4f946d0e1ae4c411a0dc3b7071fc156aca796497c0f2b67563a8ee884bded1a931d712cd7a3727301bbe37ec646f0
@@ -12,8 +13,10 @@ DIST protobuf-21.12.tar.gz 5141166 BLAKE2B 33500612d103afb817062486a741e8e5503f8
DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1
DIST protobuf-22.5.tar.gz 4924661 BLAKE2B d69c73f4ebfddf45fd94b4f5f898faf00256fe674f2cbc0443c60a88d7a0f47fb96f2f6262879927c6da88095b4ea3ee7fd4c471c100bf42a2bae9edf48c07f1 SHA512 058ab2fec5b11007972e6043071056d1944c3b6fe1d31246cddba8eb57686e3b5280f6ad3d58e78940ca63005e74a8de3c72237f9f7c5066548c5a2513ddc584
DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b
+DIST protobuf-26.1.tar.gz 5957903 BLAKE2B 1a7faab2f56aa0995801a80f73a812c7fc38a00af0bf25bdd5eecf7aec27a86a575ea2fb8484787d19c9ac6e46007c9864e79464f529c446f31af732981feed1 SHA512 0363ac09f92d8e040491425d444c8dca0b9b430e02d2dff6e2b28a0c2b2bea0d33a47f50bc9e2e2d4e8e22b65a02009a20c0066fb89c75df93a7b703dda42ed4
EBUILD protobuf-21.12.ebuild 2504 BLAKE2B b90c7eb65835f98825faf41fb70b7edcd40030c5c430be7faf13308a74cbc3576a910b83a73dcf593ebb248392900536b96152ba18d05f532b0632ad637b2ad8 SHA512 454f7104106edd5cbc9c1897cdc57fcef337fef51239d5e8832064a9a049b238bb3d4d549df88369098b26a350b4828131ecda74a65c832cf4aa9b1128445d7b
EBUILD protobuf-21.9.ebuild 4169 BLAKE2B 26d7458698701fc08d93a7fde27933b34d39975ae403531af31a7dfd8471e2ca20d9f471875ba15a88388616c353bb7b6fd29ed1a6d4b94391fccee2f448d4c5 SHA512 32699153aaf64ece98cd694826b6ba01e32af8a278143e8dacbe05a9eb23f37017a40807247eb1809a5be5e6300a922c8758f3e53be166a1d2e5d48735a63fad
-EBUILD protobuf-22.5.ebuild 2925 BLAKE2B 776506e726bcd13147612a3caa515db2a6c2fdae3c3588f9dec765d45b9e64b711f02dd74ba23476429aaec855ed852e61727ff03469064a75c346f9d35dc19f SHA512 198295678cc129d36834032a3ae5a068ba2c05bb3bdc907e99ee1b497c033df384ac3e232baaabd0b0d5a6a48d52f3361c5c73c0fbe05d0462220e9a2f2d8e87
-EBUILD protobuf-23.3-r2.ebuild 2659 BLAKE2B 1535f90dedfe009e965f85ecb14b895172b300a81f1915493adb9f7ea73eeadf51f5b2e0615b0d5c2df877b6f915450ef0f44cb762c9ca3d7932985933c91f67 SHA512 6dbd449376734bb6e789b6771e117797e971a45b5829257324630fdedc0bbb7697a1f6e66a4f1ca9f9eb99986dae827309a81556089a7c61e10c58d642ce9147
+EBUILD protobuf-22.5.ebuild 3045 BLAKE2B 1c5c927d0bef0e5a73b916f3e41f2d6a9f73dcde72b1ecc6e82a233cf3e974dcf06f07e3f294e3b9e68c456956987166c35230f805eaa8157d186e3108ade14d SHA512 19b310d2de1f5c1ab43e8fafe4402fee7fab6ee7524a664005cd5a4d1b623e141986fa1dd8e37f9c440bb3b2df07fc219e8c9dfb663a70b9542d73c537d776ce
+EBUILD protobuf-23.3-r2.ebuild 2779 BLAKE2B d10c239728c9e9fb1c236709453f3600419d2442442ee74a268cafcb12c29ad4a8a278cbe0a2b667592437a5fb4f994fbec9821b92c6e41e42f84d4de1f865e4 SHA512 524267a5153d151f6329657e3473d68399d33417c7f432d3966b5ff0c16702bbe1072babfb634b8ecf279d71cd5e3dc05a682099f15dd60e2271ea512963c74f
+EBUILD protobuf-26.1.ebuild 2659 BLAKE2B f007add1ca9fbfa47a832be51255043dc59c8c04d542253440570ce689771015c9c3b280389d38c8a82e92175cb912ed7b221066da1970154e019478af1e5741 SHA512 11cc5a557bd3cd4417a5c5792d6024e51b2b5ea6a57ce2d558c38c6cc05f8f0ffc73c03ef312ae528bae25e3e575bdc2069bdd7c77f8d4918a41116cc4499b4c
MISC metadata.xml 595 BLAKE2B ba1b916e26b1e53f68e660f03d2e53fea8d22db04e8241ebec3ec20fbb251c2b164cf25d5fb6118423ce7721a822ae2302aab137b0748730e9a6860bf8e65668 SHA512 785e2550621b79b6350e1a6b52ed9992610769885fb29a9e92ee45a35158cc08707a3590dfcbece9ee9a5e16e1abfb614e8186132da7b942f2761b5e6ecfa827
diff --git a/dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch b/dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch
new file mode 100644
index 000000000000..dfbda168d58e
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch
@@ -0,0 +1,37 @@
+https://github.com/protocolbuffers/protobuf/issues/8460
+--- a/src/google/protobuf/any_test.cc
++++ b/src/google/protobuf/any_test.cc
+@@ -40,9 +40,8 @@ TEST(AnyTest, TestPackAndUnpack) {
+ }
+
+ TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {
+-#if defined(_MSC_VER) && defined(_M_IX86)
+- GTEST_SKIP() << "This toolchain can't allocate that much memory.";
+-#endif
++ // Filter out this test on 32-bit architectures.
++ if(sizeof(void*) < 8) return;
+ protobuf_unittest::TestAny submessage;
+ submessage.mutable_text()->resize(INT_MAX, 'a');
+ protobuf_unittest::TestAny message;
+
+https://github.com/protocolbuffers/protobuf/issues/8459
+--- a/src/google/protobuf/arena_unittest.cc
++++ b/src/google/protobuf/arena_unittest.cc
+@@ -1373,6 +1373,8 @@ TEST(ArenaTest, MessageLiteOnArena) {
+ uint64_t Align8(uint64_t n) { return (n + 7) & -8; }
+
+ TEST(ArenaTest, SpaceAllocated_and_Used) {
++ // Filter out this test on 32-bit architectures.
++ if(sizeof(void*) < 8) return;
+ Arena arena_1;
+ EXPECT_EQ(0, arena_1.SpaceAllocated());
+ EXPECT_EQ(0, arena_1.SpaceUsed());
+@@ -1453,6 +1455,8 @@ TEST(ArenaTest, Alignment) {
+ }
+
+ TEST(ArenaTest, BlockSizeSmallerThanAllocation) {
++ // Filter out this test on 32-bit architectures.
++ if(sizeof(void*) < 8) return;
+ for (size_t i = 0; i <= 8; ++i) {
+ ArenaOptions opt;
+ opt.start_block_size = opt.max_block_size = i;
diff --git a/dev-libs/protobuf/protobuf-22.5.ebuild b/dev-libs/protobuf/protobuf-22.5.ebuild
index dc99040c5f31..ff582edbc198 100644
--- a/dev-libs/protobuf/protobuf-22.5.ebuild
+++ b/dev-libs/protobuf/protobuf-22.5.ebuild
@@ -25,11 +25,13 @@ RESTRICT="!test? ( test )"
BDEPEND="emacs? ( app-editors/emacs:* )"
DEPEND="
- >=dev-cpp/abseil-cpp-20230125:=[${MULTILIB_USEDEP}]
+ <dev-cpp/abseil-cpp-20240116.2:=[${MULTILIB_USEDEP},test?]
+ >=dev-cpp/abseil-cpp-20230125:=[${MULTILIB_USEDEP},test?]
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
"
RDEPEND="
+ <dev-cpp/abseil-cpp-20240116.2:=[${MULTILIB_USEDEP}]
>=dev-cpp/abseil-cpp-20230125:=[${MULTILIB_USEDEP}]
emacs? ( app-editors/emacs:* )
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
diff --git a/dev-libs/protobuf/protobuf-23.3-r2.ebuild b/dev-libs/protobuf/protobuf-23.3-r2.ebuild
index c9721bfd61ce..88af8ad53ef9 100644
--- a/dev-libs/protobuf/protobuf-23.3-r2.ebuild
+++ b/dev-libs/protobuf/protobuf-23.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2008-2023 Gentoo Authors
+# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -25,11 +25,13 @@ RESTRICT="!test? ( test )"
BDEPEND="emacs? ( app-editors/emacs:* )"
DEPEND="
- >=dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}]
+ <dev-cpp/abseil-cpp-20240116.2:=[${MULTILIB_USEDEP},test?]
+ >=dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP},test?]
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
"
RDEPEND="
+ <dev-cpp/abseil-cpp-20240116.2:=[${MULTILIB_USEDEP}]
>=dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}]
emacs? ( app-editors/emacs:* )
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
diff --git a/dev-libs/protobuf/protobuf-26.1.ebuild b/dev-libs/protobuf/protobuf-26.1.ebuild
new file mode 100644
index 000000000000..8b99e882da51
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-26.1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+if [[ "${PV}" == *9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=()
+else
+ SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2).0"
+IUSE="emacs examples test zlib"
+RESTRICT="!test? ( test )"
+
+BDEPEND="emacs? ( app-editors/emacs:* )"
+DEPEND="
+ >=dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP},test?]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ >=dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}]
+ emacs? ( app-editors/emacs:* )
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+src_configure() {
+ if tc-ld-is-gold; then
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=24527
+ tc-ld-disable-gold
+ fi
+
+ cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -Dprotobuf_DISABLE_RTTI=ON
+ -Dprotobuf_BUILD_EXAMPLES=$(usex examples)
+ -Dprotobuf_WITH_ZLIB=$(usex zlib)
+ -Dprotobuf_BUILD_TESTS=$(usex test)
+ -Dprotobuf_ABSL_PROVIDER=package
+ )
+ use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+
+ if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
+ eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
+ "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
+ die "Please update SLOT variable"
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins editors/proto.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins "${FILESDIR}/proto.vim"
+
+ if use emacs; then
+ elisp-install ${PN} editors/protobuf-mode.el*
+ elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
+ fi
+
+ if use examples; then
+ DOCS+=(examples)
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}