commit:     6d1ae36aca27e8b87868b92f3e2b1ffa61e4a24b
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun May  4 18:16:13 2025 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun May  4 18:18:10 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d1ae36a

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

Bug: https://bugs.gentoo.org/953774
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 dev-util/android-tools/android-tools-35.0.2.ebuild |  3 +-
 .../files/android-tools-35.0.2-protobuf.patch      | 36 ++++++++++++++++++++++
 2 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/dev-util/android-tools/android-tools-35.0.2.ebuild 
b/dev-util/android-tools/android-tools-35.0.2.ebuild
index 217dee444bed..0f1df4563393 100644
--- a/dev-util/android-tools/android-tools-35.0.2.ebuild
+++ b/dev-util/android-tools/android-tools-35.0.2.ebuild
@@ -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"

diff --git a/dev-util/android-tools/files/android-tools-35.0.2-protobuf.patch 
b/dev-util/android-tools/files/android-tools-35.0.2-protobuf.patch
new file mode 100644
index 000000000000..b5b02a27bcca
--- /dev/null
+++ b/dev-util/android-tools/files/android-tools-35.0.2-protobuf.patch
@@ -0,0 +1,36 @@
+From 36c605004ae1c75813181ffe4c59907016aaf9e9 Mon Sep 17 00:00:00 2001
+From: Biswapriyo Nath <[email protected]>
+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
+

Reply via email to