dev-util/android-tools: Add patch for latest protobuf

Bug: https://bugs.gentoo.org/953774
Signed-off-by: Zac Medico <zmedico@gentoo.org>
This commit is contained in:
Zac Medico
2025-05-04 11:16:13 -07:00
parent 0dc3f021d5
commit 6d1ae36aca
2 changed files with 38 additions and 1 deletions

View File

@@ -30,7 +30,7 @@ DEPEND="
app-arch/zstd:=
dev-cpp/abseil-cpp:=
dev-libs/libpcre2:=
<dev-libs/protobuf-30:=
dev-libs/protobuf:=
sys-libs/zlib:=
>=dev-libs/libusb-1.0.28
>=dev-libs/libfmt-11:=
@@ -49,6 +49,7 @@ DOCS=()
src_prepare() {
eapply "${DISTDIR}/${PN}-31.0.3-no-gtest.patch"
eapply "${FILESDIR}/android-tools-35.0.2-protobuf.patch"
cd "${S}/vendor/core" || die
eapply "${S}/patches/core/0011-Remove-the-useless-dependency-on-gtest.patch"

View File

@@ -0,0 +1,36 @@
From 36c605004ae1c75813181ffe4c59907016aaf9e9 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <nathbappai@gmail.com>
Date: Tue, 22 Apr 2025 15:12:23 +0000
Subject: [PATCH] extras/libjsonpb: Fix incompatibility with protobuf v30
This commit fixes the following compiler error.
jsonpb.cpp:36:44: error: invalid operands to binary expression (
'basic_string<char, char_traits<char>, allocator<char>>' and
'internal::DescriptorStringView' (aka 'basic_string_view<char>'))
36 | return std::string(kTypeUrlPrefix) + "/" + message.GetDescriptor()->full_name();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
More info here https://protobuf.dev/news/2024-10-02/#descriptor-apis
Change-Id: I3c76d51dfdfbe013eaa5031e6194bf5edae1be35
---
libjsonpb/parse/jsonpb.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libjsonpb/parse/jsonpb.cpp b/libjsonpb/parse/jsonpb.cpp
index b342c2b..ebd71bf 100644
--- a/vendor/extras/libjsonpb/parse/jsonpb.cpp
+++ b/vendor/extras/libjsonpb/parse/jsonpb.cpp
@@ -33,7 +33,7 @@ using google::protobuf::util::TypeResolver;
static constexpr char kTypeUrlPrefix[] = "type.googleapis.com";
std::string GetTypeUrl(const Message& message) {
- return std::string(kTypeUrlPrefix) + "/" + message.GetDescriptor()->full_name();
+ return std::string(kTypeUrlPrefix) + "/" + std::string(message.GetDescriptor()->full_name());
}
ErrorOr<std::string> MessageToJsonString(const Message& message) {
--
2.49.0