From 8706573d3364bd956f46761f58941d3f91aebcb7 Mon Sep 17 00:00:00 2001 From: Dongsu Park Date: Thu, 13 Jul 2023 10:06:38 +0200 Subject: [PATCH 1/3] dev-libs/protobuf: update to 21.9 Update dev-libs/protobuf to 21.9, mainly to address CVE-2022-1941. Gentoo ref: 2bf32183a2b79e19eb860b8e39dd2e8ac226113e --- .../portage-stable/dev-libs/protobuf/Manifest | 8 +- .../protobuf-21.9-disable-32-bit-tests.patch | 118 ++++++++++++++ ...tobuf-3.17.0-disable_no-warning-test.patch | 19 --- .../protobuf-3.17.0-system_libraries.patch | 121 -------------- ...tobuf-3.18.0-disable_no-warning-test.patch | 36 ----- .../protobuf-3.18.0-system_libraries.patch | 146 ----------------- ...uf-3.20.2-protoc_input_output_files.patch} | 74 ++++----- ...buf-3.19.3.ebuild => protobuf-21.9.ebuild} | 37 +++-- .../dev-libs/protobuf/protobuf-3.17.0.ebuild | 143 ----------------- .../dev-libs/protobuf/protobuf-3.17.1.ebuild | 143 ----------------- .../dev-libs/protobuf/protobuf-3.17.2.ebuild | 143 ----------------- .../dev-libs/protobuf/protobuf-3.17.3.ebuild | 143 ----------------- .../dev-libs/protobuf/protobuf-3.18.2.ebuild | 147 ------------------ .../dev-libs/protobuf/protobuf-3.19.1.ebuild | 141 ----------------- .../dev-libs/protobuf/protobuf-9999.ebuild | 118 -------------- 15 files changed, 176 insertions(+), 1361 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-21.9-disable-32-bit-tests.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.18.0-disable_no-warning-test.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.18.0-system_libraries.patch rename sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/{protobuf-3.16.0-protoc_input_output_files.patch => protobuf-3.20.2-protoc_input_output_files.patch} (90%) rename sdk_container/src/third_party/portage-stable/dev-libs/protobuf/{protobuf-3.19.3.ebuild => protobuf-21.9.ebuild} (78%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.3.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.18.2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.19.1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest index 018b2ea1f9b..85bcbb4bda7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest @@ -1,7 +1 @@ -DIST protobuf-3.17.0.tar.gz 5185780 BLAKE2B a168619df72cdf097c7ddfd50aca96a2101bf73e7c1c842c020e6ee08a853db8674a86ca999b7706da3dd21d4d3d2159241c93232efc693701962f3a54a382e9 SHA512 36ed2de641849ce01531ff1207f62a0748f811519c40622a119a17a1e709864382de81481fb58f374a025948971c48416e7e6de9c00512a78633c7a8a3aa3a36 -DIST protobuf-3.17.1.tar.gz 5192666 BLAKE2B 7f912db7e0835aaa42628fcf564a5666e2cbfa021bb35638a5eec53c3c457f1e747225dea54f732b7239a1520febca9bc20c824b1938f100796caa3ac2133bc1 SHA512 5a18aa3c1dab040dc6d22310a8503241081106acf7ca89079d7b416533d7c2cdd47719dc9023e6bc26969f0f1c796550260a04034a403c69752f6a3a7a651bb8 -DIST protobuf-3.17.2.tar.gz 5192779 BLAKE2B 97f9561848e70b8d26ebcc7fc4fa8da51c4b8267efbe1d2d386c2785308e7ba7edc05f1b3863c274dc8838866d58b58509606d72c51a22b956d1d528584c4c95 SHA512 b3e7ad50ed772668df70a3a20ad1af13a5e82f23b109e4fecd34e6a74947bed300963c9f084907fbfafe28fc18365cde7df1975e2ff9538d2f5a3d2b458bca98 -DIST protobuf-3.17.3.tar.gz 5235236 BLAKE2B 2495e678c8f9436d4e5a30ccee8b6226125d418ac7ecf7df20b078a1a16c221cbccab7d846dcd56a90220c106617fa75c410a21b62612fedec378cd7e8571350 SHA512 b4030b4474cc5fb5a62501200725dd488e6e66e3ced4ed12ab4ee029fcfed305e92ec966adafbdd343afffd186908163849422b95eaa500e7e741ac325d01d12 -DIST protobuf-3.18.2.tar.gz 5272935 BLAKE2B f65caa4483d3ff4186f9ea388e2a9ef232ab758cfda846cfb5993df1f991e4574e63a33b175dd00c72f61c0a23ed12d3c62eb658cd397bf43b805c41fb34c47e SHA512 8ca613fdeefcbd93e866fab65effc38aa8508060aa3de0109dbead68f2e27eb22ad0a8aea10c8b4c3e9de181d62185c93b369fb5abf96de02a170f2e5c27e0cd -DIST protobuf-3.19.1.tar.gz 5291573 BLAKE2B a34f1a7cf99ecb6cb8a26bc858de6273bfd26aa9be1e89e48c16cb5df0f1e9576479344c8250017238dbac0d0c4ac33001125b5fc622cb64ed6b91023198b03a SHA512 f1271f5159a7be363a5f60ce4921dfea68a8468d66808330bacaeaa1cb7f652d045ab080b5d82816a6fd4e6d7d7fe79aaa6c8d66d81692721d36ce3bbf619f31 -DIST protobuf-3.19.3.tar.gz 5293258 BLAKE2B c05b70ffca97f7166ea6a511a36907eed125edf1ebf17f908718221d9b851be84dfb2b1b39973f2faf35f6ade630e6ba4f9e8b91b8fbc922c5db97079323ee6e SHA512 1c003e7cbc8eae6a038f46e688b401ee202ba47f502561e909df79770f6e8b7daf3dc1ccc727e31bfb5b52cd04cb4fef7d2d2a28d650c13f396872ad4aa076c6 +DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-21.9-disable-32-bit-tests.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-21.9-disable-32-bit-tests.patch new file mode 100644 index 00000000000..cd6b5aa2db6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-21.9-disable-32-bit-tests.patch @@ -0,0 +1,118 @@ +https://bugs.gentoo.org/875584 +https://github.com/protocolbuffers/protobuf/pull/10589 + +From 5f4a52d9bff7595ec47fb6727662a1cada3cd404 Mon Sep 17 00:00:00 2001 +From: Mike Kruskal +Date: Thu, 15 Sep 2022 10:23:23 -0700 +Subject: [PATCH 3/7] Patching static assert test failure + +--- a/src/google/protobuf/extension_set_unittest.cc ++++ b/src/google/protobuf/extension_set_unittest.cc +@@ -855,8 +855,10 @@ TEST(ExtensionSetTest, SpaceUsedExcludingSelf) { + const size_t old_capacity = \ + message->GetRepeatedExtension(unittest::repeated_##type##_extension) \ + .Capacity(); \ +- EXPECT_GE(old_capacity, \ +- (RepeatedFieldLowerClampLimit())); \ ++ EXPECT_GE( \ ++ old_capacity, \ ++ (RepeatedFieldLowerClampLimit())); \ + for (int i = 0; i < 16; ++i) { \ + message->AddExtension(unittest::repeated_##type##_extension, value); \ + } \ + +From c94b66706bec17d918495f4715183a5eaf0f8044 Mon Sep 17 00:00:00 2001 +From: Mike Kruskal +Date: Thu, 15 Sep 2022 11:31:31 -0700 +Subject: [PATCH 4/7] Test fixes for 32-bit architectures + +--- a/src/google/protobuf/compiler/cpp/message_size_unittest.cc ++++ b/src/google/protobuf/compiler/cpp/message_size_unittest.cc +@@ -139,9 +139,9 @@ TEST(GeneratedMessageTest, OneStringSize) { + + TEST(GeneratedMessageTest, MoreStringSize) { + struct MockGenerated : public MockMessageBase { // 16 bytes +- int has_bits[1]; // 4 bytes + int cached_size; // 4 bytes + MockRepeatedPtrField data; // 24 bytes ++ // + 4 bytes padding + }; + GOOGLE_CHECK_MESSAGE_SIZE(MockGenerated, 48); + EXPECT_EQ(sizeof(protobuf_unittest::MoreString), sizeof(MockGenerated)); +--- a/src/google/protobuf/io/zero_copy_stream_unittest.cc ++++ b/src/google/protobuf/io/zero_copy_stream_unittest.cc +@@ -720,6 +720,9 @@ TEST_F(IoTest, StringIo) { + + // Verifies that outputs up to kint32max can be created. + TEST_F(IoTest, LargeOutput) { ++ // Filter out this test on 32-bit architectures. ++ if(sizeof(void*) < 8) return; ++ + std::string str; + StringOutputStream output(&str); + void* unused_data; +--- a/src/google/protobuf/repeated_field_unittest.cc ++++ b/src/google/protobuf/repeated_field_unittest.cc +@@ -429,14 +429,14 @@ TEST(RepeatedField, ReserveNothing) { + + TEST(RepeatedField, ReserveLowerClamp) { + int clamped_value = internal::CalculateReserveSize(0, 1); +- EXPECT_GE(clamped_value, 8 / sizeof(bool)); ++ EXPECT_GE(clamped_value, sizeof(void*) / sizeof(bool)); + EXPECT_EQ((internal::RepeatedFieldLowerClampLimit()), + clamped_value); + // EXPECT_EQ(clamped_value, (internal::CalculateReserveSize( clamped_value, 2))); + + clamped_value = internal::CalculateReserveSize(0, 1); +- EXPECT_GE(clamped_value, 8 / sizeof(int)); ++ EXPECT_GE(clamped_value, sizeof(void*) / sizeof(int)); + EXPECT_EQ((internal::RepeatedFieldLowerClampLimit()), + clamped_value); + // EXPECT_EQ(clamped_value, (internal::CalculateReserveSize= sizeof(uint64_t)) { ++ Timestamp begin, end; ++ EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin)); ++ EXPECT_EQ(TimeUtil::kTimestampMinSeconds, begin.seconds()); ++ EXPECT_EQ(0, begin.nanos()); ++ EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end)); ++ EXPECT_EQ(TimeUtil::kTimestampMaxSeconds, end.seconds()); ++ EXPECT_EQ(999999999, end.nanos()); ++ EXPECT_EQ("0001-01-01T00:00:00Z", TimeUtil::ToString(begin)); ++ EXPECT_EQ("9999-12-31T23:59:59.999999999Z", TimeUtil::ToString(end)); ++ } + + // Test negative timestamps. + Timestamp time = TimeUtil::NanosecondsToTimestamp(-1); +@@ -94,9 +97,12 @@ TEST(TimeUtilTest, DurationStringFormat) { + EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin)); + EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end)); + +- EXPECT_EQ("315537897599.999999999s", TimeUtil::ToString(end - begin)); ++ // These these are out of bounds for 32-bit architectures. ++ if(sizeof(time_t) >= sizeof(uint64_t)) { ++ EXPECT_EQ("315537897599.999999999s", TimeUtil::ToString(end - begin)); ++ EXPECT_EQ("-315537897599.999999999s", TimeUtil::ToString(begin - end)); ++ } + EXPECT_EQ(999999999, (end - begin).nanos()); +- EXPECT_EQ("-315537897599.999999999s", TimeUtil::ToString(begin - end)); + EXPECT_EQ(-999999999, (begin - end).nanos()); + + // Generated output should contain 3, 6, or 9 fractional digits. diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch deleted file mode 100644 index eb1598c945f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch +++ /dev/null @@ -1,19 +0,0 @@ -Disable no-warning-test which is compiled with -Werror option and whose only purpose is checking if compilation results in any warnings. - ---- /src/Makefile.am -+++ /src/Makefile.am -@@ -713,7 +713,7 @@ - GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock - check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ - protobuf-lite-test test_plugin protobuf-lite-arena-test \ -- no-warning-test $(GZCHECKPROGRAMS) -+ $(GZCHECKPROGRAMS) - protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ - $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ - $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -@@ -900,4 +900,4 @@ - - TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \ - google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS) \ -- protobuf-lite-arena-test no-warning-test -+ protobuf-lite-arena-test diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch deleted file mode 100644 index 3d5069dd147..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch +++ /dev/null @@ -1,121 +0,0 @@ ---- /Makefile.am -+++ /Makefile.am -@@ -11,28 +11,10 @@ - # Always include third_party directories in distributions. - DIST_SUBDIRS = src conformance benchmarks third_party/googletest - --# Build gmock before we build protobuf tests. We don't add gmock to SUBDIRS --# because then "make check" would also build and run all of gmock's own tests, --# which takes a lot of time and is generally not useful to us. Also, we don't --# want "make install" to recurse into gmock since we don't want to overwrite --# the installed version of gmock if there is one. - check-local: -- @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock" -- @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la -- @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la - --# We would like to clean gmock when "make clean" is invoked. But we have to --# be careful because clean-local is also invoked during "make distclean", but --# "make distclean" already recurses into gmock because it's listed among the --# DIST_SUBDIRS. distclean will delete gmock/Makefile, so if we then try to --# cd to the directory again and "make clean" it will fail. So, check that the --# Makefile exists before recursing. - clean-local: -- @if test -e third_party/googletest/Makefile; then \ -- echo "Making clean in googletest"; \ -- cd third_party/googletest && $(MAKE) $(AM_MAKEFLAGS) clean; \ -- fi; \ -- if test -e conformance/Makefile; then \ -+ @if test -e conformance/Makefile; then \ - echo "Making clean in conformance"; \ - cd conformance && $(MAKE) $(AM_MAKEFLAGS) clean; \ - fi; \ ---- /configure.ac -+++ /configure.ac -@@ -236,12 +236,5 @@ - fi - AC_SUBST([LIBLOG_LIBS]) - --# HACK: Make gmock's configure script pick up our copy of CFLAGS and CXXFLAGS, --# since the flags added by ACX_CHECK_SUNCC must be used when compiling gmock --# too. --export CFLAGS --export CXXFLAGS --AC_CONFIG_SUBDIRS([third_party/googletest]) -- - AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc]) - AC_OUTPUT ---- /src/Makefile.am -+++ /src/Makefile.am -@@ -707,19 +707,11 @@ - google/protobuf/testing/file.cc \ - google/protobuf/testing/file.h - --GOOGLETEST_BUILD_DIR=../third_party/googletest/googletest --GOOGLEMOCK_BUILD_DIR=../third_party/googletest/googlemock --GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest --GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock - check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ - protobuf-lite-test test_plugin protobuf-lite-arena-test \ - $(GZCHECKPROGRAMS) - protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \ -- -I$(GOOGLEMOCK_SRC_DIR)/include -+ -lgtest -lgmock -lgmock_main - # Disable optimization for tests unless the user explicitly asked for it, - # since test_util.cc takes forever to compile with optimization (with GCC). - # See configure.ac for more info. -@@ -811,12 +803,8 @@ - # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined. - protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \ - libprotoc.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ -- -I$(GOOGLETEST_SRC_DIR)/include \ -- -DPROTOBUF_TEST_NO_DESCRIPTORS -+ -lgtest -lgmock -lgmock_main -+protobuf_lazy_descriptor_test_CPPFLAGS = -DPROTOBUF_TEST_NO_DESCRIPTORS - protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) - protobuf_lazy_descriptor_test_SOURCES = \ - google/protobuf/compiler/cpp/cpp_unittest.cc \ -@@ -837,11 +825,7 @@ - # full runtime and we want to make sure this test builds without full - # runtime. - protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_lite_test_CPPFLAGS= -I$(GOOGLEMOCK_SRC_DIR)/include \ -- -I$(GOOGLETEST_SRC_DIR)/include -+ -lgtest -lgmock -lgmock_main - protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) - protobuf_lite_test_SOURCES = \ - google/protobuf/lite_unittest.cc \ -@@ -853,11 +837,7 @@ - # gtest when building the test internally our memory sanitizer doesn't detect - # memory leaks (don't know why). - protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ -- -I$(GOOGLETEST_SRC_DIR)/include -+ -lgtest -lgmock -lgmock_main - protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) - protobuf_lite_arena_test_SOURCES = \ - google/protobuf/lite_arena_unittest.cc \ -@@ -867,8 +847,7 @@ - - # Test plugin binary. - test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la --test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include -+ -lgtest - test_plugin_SOURCES = \ - google/protobuf/compiler/mock_code_generator.cc \ - google/protobuf/testing/file.cc \ diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.18.0-disable_no-warning-test.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.18.0-disable_no-warning-test.patch deleted file mode 100644 index 9abf5deca29..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.18.0-disable_no-warning-test.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 290073d7d4ddaa6d39ad12c90245e795c5482432 Mon Sep 17 00:00:00 2001 -From: Arfrever Frehtes Taifersar Arahesis -Date: Sat, 29 Jan 2022 22:43:50 +0800 -Subject: [PATCH] protobuf-3.18.0: disable no-warning test - -Disable no-warning-test which is compiled with -Werror option -and whose only purpose is checking if compilation results in any warnings. - -Signed-off-by: Arfrever Frehtes Taifersar Arahesis -Signed-off-by: Yixun Lan ---- - src/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index e6b4d0f..1cfd885 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -726,7 +726,7 @@ GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest - GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock - check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ - protobuf-lite-test test_plugin protobuf-lite-arena-test \ -- no-warning-test $(GZCHECKPROGRAMS) -+ $(GZCHECKPROGRAMS) - protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ - $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ - $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -@@ -915,4 +915,4 @@ nodist_no_warning_test_SOURCES = no_warning_test.cc $(protoc_outputs) - - TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \ - google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS) \ -- protobuf-lite-arena-test no-warning-test -+ protobuf-lite-arena-test --- -2.34.1 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.18.0-system_libraries.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.18.0-system_libraries.patch deleted file mode 100644 index 0e417c51bda..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.18.0-system_libraries.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 10b2d5bb5a4d1b7529cb781e5513940ad6db4ada Mon Sep 17 00:00:00 2001 -From: Arfrever Frehtes Taifersar Arahesis -Date: Sat, 29 Jan 2022 22:46:38 +0800 -Subject: [PATCH] protobuf-3.18.0: system_libraries - -Use system version of GoogleTest, -which will unbundle gtest, gmock libraries - -Signed-off-by: Arfrever Frehtes Taifersar Arahesis -Signed-off-by: Yixun Lan ---- - Makefile.am | 20 +------------------- - configure.ac | 7 ------- - src/Makefile.am | 33 ++++++--------------------------- - 3 files changed, 7 insertions(+), 53 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 7ce954e..c1493e0 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -11,28 +11,10 @@ SUBDIRS = . src - # Always include third_party directories in distributions. - DIST_SUBDIRS = src conformance benchmarks third_party/googletest - --# Build gmock before we build protobuf tests. We don't add gmock to SUBDIRS --# because then "make check" would also build and run all of gmock's own tests, --# which takes a lot of time and is generally not useful to us. Also, we don't --# want "make install" to recurse into gmock since we don't want to overwrite --# the installed version of gmock if there is one. - check-local: -- @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock" -- @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la -- @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la - --# We would like to clean gmock when "make clean" is invoked. But we have to --# be careful because clean-local is also invoked during "make distclean", but --# "make distclean" already recurses into gmock because it's listed among the --# DIST_SUBDIRS. distclean will delete gmock/Makefile, so if we then try to --# cd to the directory again and "make clean" it will fail. So, check that the --# Makefile exists before recursing. - clean-local: -- @if test -e third_party/googletest/Makefile; then \ -- echo "Making clean in googletest"; \ -- cd third_party/googletest && $(MAKE) $(AM_MAKEFLAGS) clean; \ -- fi; \ -- if test -e conformance/Makefile; then \ -+ @if test -e conformance/Makefile; then \ - echo "Making clean in conformance"; \ - cd conformance && $(MAKE) $(AM_MAKEFLAGS) clean; \ - fi; \ -diff --git a/configure.ac b/configure.ac -index 4a6d50a..6301bd6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -236,12 +236,5 @@ if test "x$ANDROID_TEST" = xyes; then - fi - AC_SUBST([LIBLOG_LIBS]) - --# HACK: Make gmock's configure script pick up our copy of CFLAGS and CXXFLAGS, --# since the flags added by ACX_CHECK_SUNCC must be used when compiling gmock --# too. --export CFLAGS --export CXXFLAGS --AC_CONFIG_SUBDIRS([third_party/googletest]) -- - AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc]) - AC_OUTPUT -diff --git a/src/Makefile.am b/src/Makefile.am -index 1cfd885..73c2c6d 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -720,19 +720,11 @@ COMMON_TEST_SOURCES = \ - google/protobuf/testing/googletest.cc \ - google/protobuf/testing/googletest.h - --GOOGLETEST_BUILD_DIR=../third_party/googletest/googletest --GOOGLEMOCK_BUILD_DIR=../third_party/googletest/googlemock --GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest --GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock - check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ - protobuf-lite-test test_plugin protobuf-lite-arena-test \ - $(GZCHECKPROGRAMS) - protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \ -- -I$(GOOGLEMOCK_SRC_DIR)/include -+ -lgtest -lgmock -lgmock_main - # Disable optimization for tests unless the user explicitly asked for it, - # since test_util.cc takes forever to compile with optimization (with GCC). - # See configure.ac for more info. -@@ -825,12 +817,8 @@ $(am_protobuf_test_OBJECTS): unittest_proto_middleman - # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined. - protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \ - libprotoc.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ -- -I$(GOOGLETEST_SRC_DIR)/include \ -- -DPROTOBUF_TEST_NO_DESCRIPTORS -+ -lgtest -lgmock -lgmock_main -+protobuf_lazy_descriptor_test_CPPFLAGS = -DPROTOBUF_TEST_NO_DESCRIPTORS - protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) - protobuf_lazy_descriptor_test_SOURCES = \ - google/protobuf/compiler/cpp/cpp_unittest.cc \ -@@ -851,11 +839,7 @@ COMMON_LITE_TEST_SOURCES = \ - # full runtime and we want to make sure this test builds without full - # runtime. - protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_lite_test_CPPFLAGS= -I$(GOOGLEMOCK_SRC_DIR)/include \ -- -I$(GOOGLETEST_SRC_DIR)/include -+ -lgtest -lgmock -lgmock_main - protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) - protobuf_lite_test_SOURCES = \ - google/protobuf/lite_unittest.cc \ -@@ -867,11 +851,7 @@ $(am_protobuf_lite_test_OBJECTS): unittest_proto_middleman - # gtest when building the test internally our memory sanitizer doesn't detect - # memory leaks (don't know why). - protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ -- -I$(GOOGLETEST_SRC_DIR)/include -+ -lgtest -lgmock -lgmock_main - protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) - protobuf_lite_arena_test_SOURCES = \ - google/protobuf/lite_arena_unittest.cc \ -@@ -881,8 +861,7 @@ $(am_protobuf_lite_arena_test_OBJECTS): unittest_proto_middleman - - # Test plugin binary. - test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la --test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include -+ -lgtest - test_plugin_SOURCES = \ - google/protobuf/compiler/mock_code_generator.cc \ - google/protobuf/compiler/test_plugin.cc \ --- -2.34.1 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch similarity index 90% rename from sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch rename to sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch index 7295e805a19..e4bf6858974 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch @@ -1,10 +1,10 @@ https://github.com/protocolbuffers/protobuf/pull/235 ---- /src/google/protobuf/compiler/command_line_interface.cc -+++ /src/google/protobuf/compiler/command_line_interface.cc -@@ -1110,6 +1110,28 @@ +--- a/src/google/protobuf/compiler/command_line_interface.cc ++++ b/src/google/protobuf/compiler/command_line_interface.cc +@@ -1112,6 +1112,28 @@ } - + if (mode_ == MODE_ENCODE || mode_ == MODE_DECODE) { + bool success = false; + int in_fd = STDIN_FILENO; @@ -31,9 +31,9 @@ https://github.com/protocolbuffers/protobuf/pull/235 if (codec_type_.empty()) { // HACK: Define an EmptyMessage type to use for decoding. DescriptorPool pool; -@@ -1118,13 +1140,20 @@ +@@ -1120,13 +1142,20 @@ file.add_message_type()->set_name("EmptyMessage"); - GOOGLE_CHECK(pool.BuildFile(file) != NULL); + GOOGLE_CHECK(pool.BuildFile(file) != nullptr); codec_type_ = "EmptyMessage"; - if (!EncodeOrDecode(&pool)) { - return 1; @@ -57,8 +57,8 @@ https://github.com/protocolbuffers/protobuf/pull/235 + return 1; } } - -@@ -1163,6 +1192,11 @@ + +@@ -1165,6 +1194,11 @@ for (int i = 0; i < proto_path_.size(); i++) { source_tree->MapPath(proto_path_[i].first, proto_path_[i].second); } @@ -67,13 +67,13 @@ https://github.com/protocolbuffers/protobuf/pull/235 + std::cerr << "--protobuf_in and --protobuf_out are only valid with " + << "decode operations. Ignoring."; + } - + // Map input files to virtual paths if possible. if (!MakeInputsBeProtoPathRelative(source_tree, fallback_database)) { -@@ -1885,6 +1919,12 @@ +@@ -1888,6 +1922,12 @@ } else if (name == "--deterministic_output") { deterministic_output_ = true; - + + } else if (name == "--protobuf_in") { + protobuf_in_path_ = value; + @@ -83,7 +83,7 @@ https://github.com/protocolbuffers/protobuf/pull/235 } else if (name == "--error_format") { if (value == "gcc") { error_format_ = ERROR_FORMAT_GCC; -@@ -2018,22 +2058,38 @@ +@@ -2021,22 +2061,38 @@ --version Show version info and exit. -h, --help Show this text and exit. --encode=MESSAGE_TYPE Read a text-format message of the given type @@ -129,20 +129,20 @@ https://github.com/protocolbuffers/protobuf/pull/235 --descriptor_set_in=FILES Specifies a delimited list of FILES each containing a FileDescriptorSet (a protocol buffer defined in descriptor.proto). -@@ -2344,7 +2400,9 @@ +@@ -2347,7 +2403,9 @@ return true; } - + -bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool) { +bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool, + int in_fd, + int out_fd) { // Look up the type. const Descriptor* type = pool->FindMessageTypeByName(codec_type_); - if (type == NULL) { -@@ -2356,15 +2414,15 @@ + if (type == nullptr) { +@@ -2359,15 +2417,15 @@ std::unique_ptr message(dynamic_factory.GetPrototype(type)->New()); - + if (mode_ == MODE_ENCODE) { - SetFdToTextMode(STDIN_FILENO); - SetFdToBinaryMode(STDOUT_FILENO); @@ -154,31 +154,31 @@ https://github.com/protocolbuffers/protobuf/pull/235 + SetFdToBinaryMode(in_fd); + SetFdToTextMode(out_fd); } - + - io::FileInputStream in(STDIN_FILENO); - io::FileOutputStream out(STDOUT_FILENO); + io::FileInputStream in(in_fd); + io::FileOutputStream out(out_fd); - + if (mode_ == MODE_ENCODE) { // Input is text. ---- /src/google/protobuf/compiler/command_line_interface.h -+++ /src/google/protobuf/compiler/command_line_interface.h -@@ -292,7 +292,9 @@ +--- a/src/google/protobuf/compiler/command_line_interface.h ++++ b/src/google/protobuf/compiler/command_line_interface.h +@@ -294,7 +294,9 @@ GeneratorContext* generator_context, std::string* error); - + // Implements --encode and --decode. - bool EncodeOrDecode(const DescriptorPool* pool); + bool EncodeOrDecode(const DescriptorPool* pool, + int in_fd, + int out_fd); - + // Implements the --descriptor_set_out option. bool WriteDescriptorSet( -@@ -427,6 +429,13 @@ +@@ -429,6 +431,13 @@ // parsed FileDescriptorSets to be used for loading protos. Otherwise, empty. std::vector descriptor_set_in_names_; - + + // When using --encode / --decode / --decode_raw absolute path to the output + // file. (Empty string indicates write to STDOUT). + std::string protobuf_out_path_; @@ -189,12 +189,12 @@ https://github.com/protocolbuffers/protobuf/pull/235 // If --descriptor_set_out was given, this is the filename to which the // FileDescriptorSet should be written. Otherwise, empty. std::string descriptor_set_out_name_; ---- /src/google/protobuf/compiler/command_line_interface_unittest.cc -+++ /src/google/protobuf/compiler/command_line_interface_unittest.cc +--- a/src/google/protobuf/compiler/command_line_interface_unittest.cc ++++ b/src/google/protobuf/compiler/command_line_interface_unittest.cc @@ -99,7 +99,7 @@ - virtual void SetUp(); - virtual void TearDown(); - + void SetUp() override; + void TearDown() override; + - // Runs the CommandLineInterface with the given command line. The + // Run the CommandLineInterface with the given command line. The // command is automatically split on spaces, and the string "$tmpdir" @@ -203,10 +203,10 @@ https://github.com/protocolbuffers/protobuf/pull/235 @@ -2626,6 +2626,17 @@ std::string::npos); } - -+ void ExpectBinaryFilesMatch(const string &expected_file, -+ const string &actual_file) { -+ string expected_output, actual_output; + ++ void ExpectBinaryFilesMatch(const std::string &expected_file, ++ const std::string &actual_file) { ++ std::string expected_output, actual_output; + ASSERT_TRUE(File::ReadFileToString(expected_file, &expected_output)); + ASSERT_TRUE(File::ReadFileToString(actual_file, &actual_output)); + @@ -221,9 +221,9 @@ https://github.com/protocolbuffers/protobuf/pull/235 @@ -2749,6 +2760,19 @@ "Can only use --deterministic_output with --encode.\n"); } - + +TEST_P(EncodeDecodeTest, RedirectInputOutput) { -+ string out_file = TestTempDir() + "/golden_message_out.pbf"; ++ std::string out_file = TestTempDir() + "/golden_message_out.pbf"; + EXPECT_TRUE( + Run(TestUtil::MaybeTranslatePath("net/proto2/internal/unittest.proto") + + " --encode=protobuf_unittest.TestAllTypes" + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.19.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-21.9.ebuild similarity index 78% rename from sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.19.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-21.9.ebuild index 9171eaebedb..68b9207ab7b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.19.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-21.9.ebuild @@ -1,28 +1,27 @@ -# Copyright 2008-2022 Gentoo Authors +# Copyright 2008-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI=8 inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs -if [[ "${PV}" == "9999" ]]; then +if [[ "${PV}" == *9999 ]]; then inherit git-r3 - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" + 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 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos" fi DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" -fi +HOMEPAGE=" + https://developers.google.com/protocol-buffers/ +" LICENSE="BSD" -SLOT="0/30" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +SLOT="0/32" IUSE="emacs examples static-libs test zlib" RESTRICT="!test? ( test )" @@ -35,7 +34,8 @@ RDEPEND="emacs? ( app-editors/emacs:* ) PATCHES=( "${FILESDIR}/${PN}-3.19.0-disable_no-warning-test.patch" "${FILESDIR}/${PN}-3.19.0-system_libraries.patch" - "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch" + "${FILESDIR}/${PN}-3.20.2-protoc_input_output_files.patch" + "${FILESDIR}/${PN}-21.9-disable-32-bit-tests.patch" ) DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) @@ -58,11 +58,8 @@ src_prepare() { # https://github.com/protocolbuffers/protobuf/issues/8460 sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die - # https://github.com/protocolbuffers/protobuf/issues/9392 - sed -e "s/^AC_PROG_OBJC$/AS_CASE([\$target_os], [darwin*], [AC_PROG_OBJC], [AM_CONDITIONAL([am__fastdepOBJC], [false])])/" -i configure.ac || die - # https://github.com/protocolbuffers/protobuf/issues/9433 - sed -e "/^[[:space:]]*static_assert(alignof(T) <= 8, \"\");$/d" -i src/google/protobuf/descriptor.cc || die + sed -e "/^[[:space:]]*static_assert(alignof(U) <= 8, \"\");$/d" -i src/google/protobuf/descriptor.cc || die eautoreconf } @@ -119,6 +116,12 @@ multilib_src_test() { 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 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.0.ebuild deleted file mode 100644 index ab50d514273..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.0.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 2008-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" -fi - -LICENSE="BSD" -SLOT="0/28" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="emacs examples static-libs test zlib" -RESTRICT="!test? ( test )" - -BDEPEND="emacs? ( app-editors/emacs:* )" -DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" -RDEPEND="emacs? ( app-editors/emacs:* ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch" - "${FILESDIR}/${PN}-3.17.0-system_libraries.patch" - "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch" -) - -DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) - -src_prepare() { - default - - # https://github.com/protocolbuffers/protobuf/issues/7413 - sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die - - # https://github.com/protocolbuffers/protobuf/issues/8082 - sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8459 - sed \ - -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -i src/google/protobuf/arena_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8460 - sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/9392 - sed -e "s/^AC_PROG_OBJC$/AS_CASE([\$target_os], [darwin*], [AC_PROG_OBJC], [AM_CONDITIONAL([am__fastdepOBJC], [false])])/" -i configure.ac || die - - eautoreconf -} - -src_configure() { - append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI - - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local options=( - $(use_enable static-libs static) - $(use_with zlib) - ) - - if tc-is-cross-compiler; then - # Build system uses protoc when building, so protoc copy runnable on host is needed. - mkdir -p "${WORKDIR}/build" || die - pushd "${WORKDIR}/build" > /dev/null || die - ECONF_SOURCE="${S}" econf_build "${options[@]}" - options+=(--with-protoc="$(pwd)/src/protoc") - popd > /dev/null || die - fi - - ECONF_SOURCE="${S}" econf "${options[@]}" -} - -src_compile() { - multilib-minimal_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -multilib_src_compile() { - if tc-is-cross-compiler; then - emake -C "${WORKDIR}/build/src" protoc - fi - - default -} - -multilib_src_test() { - emake check -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.1.ebuild deleted file mode 100644 index ab50d514273..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.1.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 2008-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" -fi - -LICENSE="BSD" -SLOT="0/28" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="emacs examples static-libs test zlib" -RESTRICT="!test? ( test )" - -BDEPEND="emacs? ( app-editors/emacs:* )" -DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" -RDEPEND="emacs? ( app-editors/emacs:* ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch" - "${FILESDIR}/${PN}-3.17.0-system_libraries.patch" - "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch" -) - -DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) - -src_prepare() { - default - - # https://github.com/protocolbuffers/protobuf/issues/7413 - sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die - - # https://github.com/protocolbuffers/protobuf/issues/8082 - sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8459 - sed \ - -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -i src/google/protobuf/arena_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8460 - sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/9392 - sed -e "s/^AC_PROG_OBJC$/AS_CASE([\$target_os], [darwin*], [AC_PROG_OBJC], [AM_CONDITIONAL([am__fastdepOBJC], [false])])/" -i configure.ac || die - - eautoreconf -} - -src_configure() { - append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI - - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local options=( - $(use_enable static-libs static) - $(use_with zlib) - ) - - if tc-is-cross-compiler; then - # Build system uses protoc when building, so protoc copy runnable on host is needed. - mkdir -p "${WORKDIR}/build" || die - pushd "${WORKDIR}/build" > /dev/null || die - ECONF_SOURCE="${S}" econf_build "${options[@]}" - options+=(--with-protoc="$(pwd)/src/protoc") - popd > /dev/null || die - fi - - ECONF_SOURCE="${S}" econf "${options[@]}" -} - -src_compile() { - multilib-minimal_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -multilib_src_compile() { - if tc-is-cross-compiler; then - emake -C "${WORKDIR}/build/src" protoc - fi - - default -} - -multilib_src_test() { - emake check -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.2.ebuild deleted file mode 100644 index ab50d514273..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.2.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 2008-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" -fi - -LICENSE="BSD" -SLOT="0/28" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="emacs examples static-libs test zlib" -RESTRICT="!test? ( test )" - -BDEPEND="emacs? ( app-editors/emacs:* )" -DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" -RDEPEND="emacs? ( app-editors/emacs:* ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch" - "${FILESDIR}/${PN}-3.17.0-system_libraries.patch" - "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch" -) - -DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) - -src_prepare() { - default - - # https://github.com/protocolbuffers/protobuf/issues/7413 - sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die - - # https://github.com/protocolbuffers/protobuf/issues/8082 - sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8459 - sed \ - -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -i src/google/protobuf/arena_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8460 - sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/9392 - sed -e "s/^AC_PROG_OBJC$/AS_CASE([\$target_os], [darwin*], [AC_PROG_OBJC], [AM_CONDITIONAL([am__fastdepOBJC], [false])])/" -i configure.ac || die - - eautoreconf -} - -src_configure() { - append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI - - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local options=( - $(use_enable static-libs static) - $(use_with zlib) - ) - - if tc-is-cross-compiler; then - # Build system uses protoc when building, so protoc copy runnable on host is needed. - mkdir -p "${WORKDIR}/build" || die - pushd "${WORKDIR}/build" > /dev/null || die - ECONF_SOURCE="${S}" econf_build "${options[@]}" - options+=(--with-protoc="$(pwd)/src/protoc") - popd > /dev/null || die - fi - - ECONF_SOURCE="${S}" econf "${options[@]}" -} - -src_compile() { - multilib-minimal_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -multilib_src_compile() { - if tc-is-cross-compiler; then - emake -C "${WORKDIR}/build/src" protoc - fi - - default -} - -multilib_src_test() { - emake check -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.3.ebuild deleted file mode 100644 index c021f1f1885..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.3.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 2008-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" -fi - -LICENSE="BSD" -SLOT="0/28" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="emacs examples static-libs test zlib" -RESTRICT="!test? ( test )" - -BDEPEND="emacs? ( app-editors/emacs:* )" -DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" -RDEPEND="emacs? ( app-editors/emacs:* ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch" - "${FILESDIR}/${PN}-3.17.0-system_libraries.patch" - "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch" -) - -DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) - -src_prepare() { - default - - # https://github.com/protocolbuffers/protobuf/issues/7413 - sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die - - # https://github.com/protocolbuffers/protobuf/issues/8082 - sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8459 - sed \ - -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -i src/google/protobuf/arena_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8460 - sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/9392 - sed -e "s/^AC_PROG_OBJC$/AS_CASE([\$target_os], [darwin*], [AC_PROG_OBJC], [AM_CONDITIONAL([am__fastdepOBJC], [false])])/" -i configure.ac || die - - eautoreconf -} - -src_configure() { - append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI - - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local options=( - $(use_enable static-libs static) - $(use_with zlib) - ) - - if tc-is-cross-compiler; then - # Build system uses protoc when building, so protoc copy runnable on host is needed. - mkdir -p "${WORKDIR}/build" || die - pushd "${WORKDIR}/build" > /dev/null || die - ECONF_SOURCE="${S}" econf_build "${options[@]}" - options+=(--with-protoc="$(pwd)/src/protoc") - popd > /dev/null || die - fi - - ECONF_SOURCE="${S}" econf "${options[@]}" -} - -src_compile() { - multilib-minimal_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -multilib_src_compile() { - if tc-is-cross-compiler; then - emake -C "${WORKDIR}/build/src" protoc - fi - - default -} - -multilib_src_test() { - emake check -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.18.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.18.2.ebuild deleted file mode 100644 index 0aea6a331d0..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.18.2.ebuild +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright 2008-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" -fi - -LICENSE="BSD" -SLOT="0/29" -# -hppa for bug #831728 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 -hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="emacs examples static-libs test zlib" -RESTRICT="!test? ( test )" - -BDEPEND="emacs? ( app-editors/emacs:* )" -DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" -RDEPEND="emacs? ( app-editors/emacs:* ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}/${PN}-3.18.0-disable_no-warning-test.patch" - "${FILESDIR}/${PN}-3.18.0-system_libraries.patch" - "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch" -) - -DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) - -src_prepare() { - default - - # https://github.com/protocolbuffers/protobuf/issues/7413 - sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die - - # https://github.com/protocolbuffers/protobuf/issues/8082 - sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8459 - sed \ - -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -i src/google/protobuf/arena_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8460 - sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/9392 - sed -e "s/^AC_PROG_OBJC$/AS_CASE([\$target_os], [darwin*], [AC_PROG_OBJC], [AM_CONDITIONAL([am__fastdepOBJC], [false])])/" -i configure.ac || die - - # https://github.com/protocolbuffers/protobuf/issues/9433 - sed -e "/^[[:space:]]*static_assert(alignof(T) <= 8, \"\");$/d" -i src/google/protobuf/descriptor.cc || die - - eautoreconf -} - -src_configure() { - append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI - - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local options=( - $(use_enable static-libs static) - $(use_with zlib) - ) - - if tc-is-cross-compiler; then - # Build system uses protoc when building, so protoc copy runnable on host is needed. - mkdir -p "${WORKDIR}/build" || die - pushd "${WORKDIR}/build" > /dev/null || die - ECONF_SOURCE="${S}" econf_build "${options[@]}" - options+=(--with-protoc="$(pwd)/src/protoc") - popd > /dev/null || die - fi - - ECONF_SOURCE="${S}" econf "${options[@]}" -} - -src_compile() { - multilib-minimal_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -multilib_src_compile() { - if tc-is-cross-compiler; then - emake -C "${WORKDIR}/build/src" protoc - fi - - default -} - -multilib_src_test() { - emake check -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.19.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.19.1.ebuild deleted file mode 100644 index 8cdee695569..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.19.1.ebuild +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright 2008-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -else - SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" - -LICENSE="BSD" -SLOT="0/30" -# -hppa for bug #831728 -KEYWORDS="~alpha amd64 arm arm64 -hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="emacs examples static-libs test zlib" -RESTRICT="!test? ( test )" - -BDEPEND="emacs? ( app-editors/emacs:* )" -DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" -RDEPEND="emacs? ( app-editors/emacs:* ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}/${PN}-3.17.0-disable_no-warning-test.patch" - "${FILESDIR}/${PN}-3.17.0-system_libraries.patch" - "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch" -) - -DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) - -src_prepare() { - default - - # https://github.com/protocolbuffers/protobuf/issues/7413 - sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die - - # https://github.com/protocolbuffers/protobuf/issues/8082 - sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8459 - sed \ - -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \ - -i src/google/protobuf/arena_unittest.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/8460 - sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die - - # https://github.com/protocolbuffers/protobuf/issues/9392 - sed -e "s/^AC_PROG_OBJC$/AS_CASE([\$target_os], [darwin*], [AC_PROG_OBJC], [AM_CONDITIONAL([am__fastdepOBJC], [false])])/" -i configure.ac || die - - eautoreconf -} - -src_configure() { - append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI - - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local options=( - $(use_enable static-libs static) - $(use_with zlib) - ) - - if tc-is-cross-compiler; then - # Build system uses protoc when building, so protoc copy runnable on host is needed. - mkdir -p "${WORKDIR}/build" || die - pushd "${WORKDIR}/build" > /dev/null || die - ECONF_SOURCE="${S}" econf_build "${options[@]}" - options+=(--with-protoc="$(pwd)/src/protoc") - popd > /dev/null || die - fi - - ECONF_SOURCE="${S}" econf "${options[@]}" -} - -src_compile() { - multilib-minimal_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -multilib_src_compile() { - if tc-is-cross-compiler; then - emake -C "${WORKDIR}/build/src" protoc - fi - - default -} - -multilib_src_test() { - emake check -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild deleted file mode 100644 index fe2db6a4608..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 2008-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" -fi - -LICENSE="BSD" -SLOT="0/30" -KEYWORDS="" -IUSE="emacs examples static-libs test zlib" -RESTRICT="!test? ( test )" - -BDEPEND="emacs? ( app-editors/emacs:* )" -DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" -RDEPEND="emacs? ( app-editors/emacs:* ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}/${PN}-3.19.0-disable_no-warning-test.patch" - "${FILESDIR}/${PN}-3.19.0-system_libraries.patch" - "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch" -) - -DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) - -src_prepare() { - default - eautoreconf -} - -src_configure() { - append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI - multilib-minimal_src_configure -} - -multilib_src_configure() { - local options=( - $(use_enable static-libs static) - $(use_with zlib) - ) - - if tc-is-cross-compiler; then - # Build system uses protoc when building, so protoc copy runnable on host is needed. - mkdir -p "${WORKDIR}/build" || die - pushd "${WORKDIR}/build" > /dev/null || die - ECONF_SOURCE="${S}" econf_build "${options[@]}" - options+=(--with-protoc="$(pwd)/src/protoc") - popd > /dev/null || die - fi - - ECONF_SOURCE="${S}" econf "${options[@]}" -} - -src_compile() { - multilib-minimal_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -multilib_src_compile() { - if tc-is-cross-compiler; then - emake -C "${WORKDIR}/build/src" protoc - fi - - default -} - -multilib_src_test() { - emake check -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - 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 -} From 293725b2704d47c8b440252d72e4a3ee960263a5 Mon Sep 17 00:00:00 2001 From: Dongsu Park Date: Thu, 13 Jul 2023 10:27:01 +0200 Subject: [PATCH 2/3] changelog: add changelog for protobuf 21.9 --- changelog/security/2023-07-13-protobuf-21.9.md | 1 + changelog/updates/2023-07-13-protobuf-21.9.md | 1 + 2 files changed, 2 insertions(+) create mode 100644 changelog/security/2023-07-13-protobuf-21.9.md create mode 100644 changelog/updates/2023-07-13-protobuf-21.9.md diff --git a/changelog/security/2023-07-13-protobuf-21.9.md b/changelog/security/2023-07-13-protobuf-21.9.md new file mode 100644 index 00000000000..60078cb44e6 --- /dev/null +++ b/changelog/security/2023-07-13-protobuf-21.9.md @@ -0,0 +1 @@ +- protobuf ([CVE-2022-1941](https://nvd.nist.gov/vuln/detail/CVE-2022-1941)) diff --git a/changelog/updates/2023-07-13-protobuf-21.9.md b/changelog/updates/2023-07-13-protobuf-21.9.md new file mode 100644 index 00000000000..58a788a4489 --- /dev/null +++ b/changelog/updates/2023-07-13-protobuf-21.9.md @@ -0,0 +1 @@ +- protobuf ([21.9](https://github.com/protocolbuffers/protobuf/releases/tag/v21.9)) From a249d6e598d6b6d25fbc312456beff3523fcf5fd Mon Sep 17 00:00:00 2001 From: Dongsu Park Date: Thu, 13 Jul 2023 10:29:49 +0200 Subject: [PATCH 3/3] .github: add dev-libs/protobuf to portage-stable packages list Add dev-libs/protobuf to portage-stable-packages-list for weekly updates. --- .github/workflows/portage-stable-packages-list | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/portage-stable-packages-list b/.github/workflows/portage-stable-packages-list index b54c6fb0c6d..95672d6f1ee 100644 --- a/.github/workflows/portage-stable-packages-list +++ b/.github/workflows/portage-stable-packages-list @@ -163,6 +163,7 @@ dev-libs/libxslt dev-libs/nettle dev-libs/oniguruma dev-libs/popt +dev-libs/protobuf dev-libs/userspace-rcu dev-perl/File-Slurp