summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Zander <negril.nx+gentoo@gmail.com>2024-07-18 21:09:20 +0200
committerSam James <sam@gentoo.org>2024-07-19 06:34:39 +0100
commita7a48ed2a0c9cfb428f50be5bf15b9fd1132c9c6 (patch)
treed9d2f0403e5da1fb97890812145c488d3b532327 /dev-libs
parentdev-util/pkgdev: keyword 0.2.10-r1 for ~mips (diff)
downloadgentoo-a7a48ed2a0c9cfb428f50be5bf15b9fd1132c9c6.tar.gz
gentoo-a7a48ed2a0c9cfb428f50be5bf15b9fd1132c9c6.tar.bz2
gentoo-a7a48ed2a0c9cfb428f50be5bf15b9fd1132c9c6.zip
dev-libs/protobuf-c: add 1.5.0-r2
Drop patch causing "Built-in generator --c_out specifies a maximum edition PROTO3 which is not the protoc maximum 2023" Add dependency on dev-cpp/abseil-cpp:= Closes: https://bugs.gentoo.org/934464 Closes: https://bugs.gentoo.org/936230 Closes: https://bugs.gentoo.org/936167 Closes: https://bugs.gentoo.org/936122 Closes: https://bugs.gentoo.org/936120 Closes: https://bugs.gentoo.org/936030 Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/37607 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/protobuf-c/files/protobuf-c-1.5.0-Clean-CMake.patch52
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.5.0-r2.ebuild (renamed from dev-libs/protobuf-c/protobuf-c-1.5.0-r1.ebuild)9
2 files changed, 7 insertions, 54 deletions
diff --git a/dev-libs/protobuf-c/files/protobuf-c-1.5.0-Clean-CMake.patch b/dev-libs/protobuf-c/files/protobuf-c-1.5.0-Clean-CMake.patch
index f3e55a9c89cc..38a36b50cc86 100644
--- a/dev-libs/protobuf-c/files/protobuf-c-1.5.0-Clean-CMake.patch
+++ b/dev-libs/protobuf-c/files/protobuf-c-1.5.0-Clean-CMake.patch
@@ -115,55 +115,3 @@ index 062d330b..be28b601 100644
}
// Work around changes in protobuf >= 22.x without breaking compilation against
-
-From 2480f4d9d2fa97e5511ed0914ee529a344e969a7 Mon Sep 17 00:00:00 2001
-From: Robert Edmonds <edmonds@users.noreply.github.com>
-Date: Wed, 20 Mar 2024 22:43:30 -0400
-Subject: [PATCH 03/11] CGenerator: Protect against being invoked against
- "edition" syntax .proto files
-
-The Google protobuf project is currently experimenting with a new syntax
-for .proto files called "editions". Since protobuf-c is a proto2/proto3
-compiler, after the previous commit reimplementing `FieldSyntax()`, the
-protobuf compiler will abort like this if presented with an "editions"
-syntax .proto file due to the safety check in `FieldSyntax()`:
-
- $ protoc --experimental_editions --c_out=. test.proto
- protoc-gen-c: ./protoc-c/c_helpers.h:178: int google::protobuf::compiler::c::FieldSyntax(const google::protobuf::FieldDescriptor*): Assertion `syntax == "proto2" || syntax == "proto3"' failed.
- --c_out: protoc-gen-c: Plugin killed by signal 6.
-
-On protobuf 26, our `CodeGenerator` can implement certain methods to
-declare that we "support" editions, and then reject any other edition
-except proto2 and proto3, which have apparently been retroactively
-declared to be "editions". Of course this needs to be wrapped in a
-version guard.
-
-With this protection in place, the protobuf compiler cleanly exits with
-a nice error message like this:
-
- $ protoc --experimental_editions --c_out=. test.proto
- WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
- E0000 00:00:1710988958.296200 20022 descriptor.cc:4620] Invalid proto descriptor for file "test.proto":
- E0000 00:00:1710988958.296239 20022 descriptor.cc:4623] test.proto: Edition 2023 is later than the maximum supported edition PROTO3
- --c_out: protoc-gen-c: Plugin failed with status code 1.
----
- protoc-c/c_generator.h | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
-index b8b44aaa..4aeb5790 100644
---- a/protoc-c/c_generator.h
-+++ b/protoc-c/c_generator.h
-@@ -93,6 +93,12 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
- const std::string& parameter,
- OutputDirectory* output_directory,
- std::string* error) const;
-+
-+#if GOOGLE_PROTOBUF_VERSION >= 5026000
-+ uint64_t GetSupportedFeatures() const { return CodeGenerator::FEATURE_SUPPORTS_EDITIONS; }
-+ Edition GetMinimumEdition() const { return Edition::EDITION_PROTO2; }
-+ Edition GetMaximumEdition() const { return Edition::EDITION_PROTO3; }
-+#endif
- };
-
- } // namespace c
diff --git a/dev-libs/protobuf-c/protobuf-c-1.5.0-r1.ebuild b/dev-libs/protobuf-c/protobuf-c-1.5.0-r2.ebuild
index 842e911beb9e..3099c2e6a0ad 100644
--- a/dev-libs/protobuf-c/protobuf-c-1.5.0-r1.ebuild
+++ b/dev-libs/protobuf-c/protobuf-c-1.5.0-r2.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD-2"
# Subslot == SONAME version
SLOT="0/1.0.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86"
IUSE="static-libs"
BDEPEND="
@@ -25,7 +25,12 @@ BDEPEND="
"
DEPEND="
>=dev-libs/protobuf-3:0=[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
+# NOTE
+# protobuf links to abseil-cpp libraries via it's .pc files.
+# To cause rebuild when the abseil-cpp version changes we add it to RDEPEND only.
+RDEPEND="${DEPEND}
+ dev-cpp/abseil-cpp:=[${MULTILIB_USEDEP}]
+"
PATCHES=(
"${FILESDIR}/${PN}-1.5.0-Clean-CMake.patch"