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 aa6d99043c..018b2ea1f9 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,3 +1,7 @@ -DIST protobuf-3.4.1.tar.gz 4490100 BLAKE2B e2bc1ef2ee1a0af44830b3c65a6c9e73883fe6ec0d07f6a6136f5564f0e85306005440ca6f8c4eb834c7c70f909792c9e2457a761f10f95431981263a9acd7a3 SHA512 471e52198fa878a79183dc8fbc39d9c65239be4d9dff799e12281ee9b1af61a427584534b1baae1773bc6e4c86467f89ca2e7911a21effd86bc5f40cc7d94c34 -DIST protobuf-3.5.1.1.tar.gz 4584489 BLAKE2B 995ee2f06a6358e9935b488269ee50f0dccede417c1757828b0108fbe8c67034301f3a9cb87517430acd9838ae71bb677f4edd8b59b2418f99c15d8ea3d33591 SHA512 f25ecf772facc8efd196b7c06012ce9ec24152b2c0cde38ed2e29ecded8f534221b008e649f4cbd991436ad3436130cd2e31d51e75019d08240d518111fb4496 -DIST protobuf-3.5.2.tar.gz 4584659 BLAKE2B f582212169d802a5844574eb900c9f8cbb343b7e73f2074e5ff0bfc544ebd13f4bc2b78271fb70f4465d78fdc39972ed68339f453c0d3ffe98d8564fbf520544 SHA512 09d10cf0c07a0ba249428bbf20f5dbed840965fa06b3c09682f286a4dee9d84bb96f3b5b50e993d48ef1f20440531255ce7d0e60a648bf3fe536a5f2b0b74181 +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 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.4.0-protoc_input_output_files.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch similarity index 52% rename from sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.4.0-protoc_input_output_files.patch rename to sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch index a7d338e992..7295e805a1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.4.0-protoc_input_output_files.patch +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch @@ -1,8 +1,8 @@ -https://github.com/google/protobuf/pull/235 +https://github.com/protocolbuffers/protobuf/pull/235 --- /src/google/protobuf/compiler/command_line_interface.cc +++ /src/google/protobuf/compiler/command_line_interface.cc -@@ -942,6 +942,28 @@ +@@ -1110,6 +1110,28 @@ } if (mode_ == MODE_ENCODE || mode_ == MODE_DECODE) { @@ -31,7 +31,7 @@ https://github.com/google/protobuf/pull/235 if (codec_type_.empty()) { // HACK: Define an EmptyMessage type to use for decoding. DescriptorPool pool; -@@ -950,13 +972,20 @@ +@@ -1118,13 +1140,20 @@ file.add_message_type()->set_name("EmptyMessage"); GOOGLE_CHECK(pool.BuildFile(file) != NULL); codec_type_ = "EmptyMessage"; @@ -58,7 +58,7 @@ https://github.com/google/protobuf/pull/235 } } -@@ -994,6 +1023,11 @@ +@@ -1163,6 +1192,11 @@ for (int i = 0; i < proto_path_.size(); i++) { source_tree->MapPath(proto_path_[i].first, proto_path_[i].second); } @@ -69,10 +69,10 @@ https://github.com/google/protobuf/pull/235 + } // Map input files to virtual paths if possible. - if (!MakeInputsBeProtoPathRelative(source_tree)) { -@@ -1561,6 +1595,12 @@ - - codec_type_ = value; + if (!MakeInputsBeProtoPathRelative(source_tree, fallback_database)) { +@@ -1885,6 +1919,12 @@ + } else if (name == "--deterministic_output") { + deterministic_output_ = true; + } else if (name == "--protobuf_in") { + protobuf_in_path_ = value; @@ -83,47 +83,53 @@ https://github.com/google/protobuf/pull/235 } else if (name == "--error_format") { if (value == "gcc") { error_format_ = ERROR_FORMAT_GCC; -@@ -1684,18 +1724,29 @@ - " --version Show version info and exit.\n" - " -h, --help Show this text and exit.\n" - " --encode=MESSAGE_TYPE Read a text-format message of the given type\n" --" from standard input and write it in binary\n" --" to standard output. The message type must\n" --" be defined in PROTO_FILES or their imports.\n" --" --decode=MESSAGE_TYPE Read a binary message of the given type from\n" --" standard input and write it in text format\n" --" to standard output. The message type must\n" -+" an write it in binary. The message type must\n" - " be defined in PROTO_FILES or their imports.\n" --" --decode_raw Read an arbitrary protocol message from\n" --" standard input and write the raw tag/value\n" --" pairs in text format to standard output. No\n" -+" The input/output protobuf files are specified\n" -+" using the --protobuf_in and --protobuf_out\n" -+" command line flags.\n" -+" --decode=MESSAGE_TYPE Read a binary message of the given type and\n" -+" write it in text format. The message type\n" -+" must be defined in PROTO_FILES or their\n" -+" imports. The input/output protobuf files are\n" -+" specified using the --protobuf_in and \n" -+" --protobuf_out command line flags.\n" -+" --decode_raw Read an arbitrary protocol message and write\n" -+" the raw tag/value pairs in text format. No\n" - " PROTO_FILES should be given when using this\n" --" flag.\n" -+" flag. The input/output protobuf files are\n" -+" specified using the --protobuf_in and \n" -+" --protobuf_out command line flags.\n" -+" --protobuf_in Absolute path to the protobuf file to read to\n" -+" encode/decode. If omitted, file will be read\n" -+" from STDIN.\n" -+" --protobuf_out Absolute path to the protobuf file to write to\n" -+" after encode/decode operation. If omitted,\n" -+" output is written to STDOUT.\n" - " --descriptor_set_in=FILES Specifies a delimited list of FILES\n" - " each containing a FileDescriptorSet (a\n" - " protocol buffer defined in descriptor.proto).\n" -@@ -1957,7 +2008,9 @@ +@@ -2018,22 +2058,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 +- from standard input and write it in binary +- to standard output. The message type must ++ from input protobuf file and write it in binary ++ to output protobuf file. The message type must + be defined in PROTO_FILES or their imports. ++ The input/output protobuf files are specified ++ using the --protobuf_in and --protobuf_out ++ command line flags. + --deterministic_output When using --encode, ensure map fields are + deterministically ordered. Note that this order + is not canonical, and changes across builds or + releases of protoc. + --decode=MESSAGE_TYPE Read a binary message of the given type from +- standard input and write it in text format +- to standard output. The message type must ++ input protobuf file and write it in text format ++ to output protobuf file. The message type must + be defined in PROTO_FILES or their imports. ++ The input/output protobuf files are specified ++ using the --protobuf_in and --protobuf_out ++ command line flags. + --decode_raw Read an arbitrary protocol message from +- standard input and write the raw tag/value +- pairs in text format to standard output. No ++ input protobuf file and write the raw tag/value ++ pairs in text format to output protobuf file. No + PROTO_FILES should be given when using this +- flag. ++ flag. The input/output protobuf files are ++ specified using the --protobuf_in and ++ --protobuf_out command line flags. ++ --protobuf_in=FILE Absolute path to the protobuf file from which ++ input of encoding/decoding operation will be ++ read. If omitted, input will be read from ++ standard input. ++ --protobuf_out=FILE Absolute path to the protobuf file to which ++ output of encoding/decoding operation will be ++ written. If omitted, output will be written to ++ standard output. + --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 @@ return true; } @@ -134,8 +140,8 @@ https://github.com/google/protobuf/pull/235 // Look up the type. const Descriptor* type = pool->FindMessageTypeByName(codec_type_); if (type == NULL) { -@@ -1969,15 +2022,15 @@ - google::protobuf::scoped_ptr message(dynamic_factory.GetPrototype(type)->New()); +@@ -2356,15 +2414,15 @@ + std::unique_ptr message(dynamic_factory.GetPrototype(type)->New()); if (mode_ == MODE_ENCODE) { - SetFdToTextMode(STDIN_FILENO); @@ -158,8 +164,8 @@ https://github.com/google/protobuf/pull/235 // Input is text. --- /src/google/protobuf/compiler/command_line_interface.h +++ /src/google/protobuf/compiler/command_line_interface.h -@@ -269,7 +269,9 @@ - GeneratorContext* generator_context, string* error); +@@ -292,7 +292,9 @@ + GeneratorContext* generator_context, std::string* error); // Implements --encode and --decode. - bool EncodeOrDecode(const DescriptorPool* pool); @@ -169,23 +175,23 @@ https://github.com/google/protobuf/pull/235 // Implements the --descriptor_set_out option. bool WriteDescriptorSet( -@@ -402,6 +404,13 @@ +@@ -427,6 +429,13 @@ // parsed FileDescriptorSets to be used for loading protos. Otherwise, empty. - std::vector descriptor_set_in_names_; + std::vector descriptor_set_in_names_; + // When using --encode / --decode / --decode_raw absolute path to the output + // file. (Empty string indicates write to STDOUT). -+ string protobuf_out_path_; ++ std::string protobuf_out_path_; + // When using --encode / --decode / --decode_raw, absolute path to the input + // file. (Empty string indicates read from STDIN). -+ string protobuf_in_path_; ++ std::string protobuf_in_path_; + // If --descriptor_set_out was given, this is the filename to which the // FileDescriptorSet should be written. Otherwise, empty. - string descriptor_set_out_name_; + std::string descriptor_set_out_name_; --- /src/google/protobuf/compiler/command_line_interface_unittest.cc +++ /src/google/protobuf/compiler/command_line_interface_unittest.cc -@@ -95,7 +95,7 @@ +@@ -99,7 +99,7 @@ virtual void SetUp(); virtual void TearDown(); @@ -193,9 +199,9 @@ https://github.com/google/protobuf/pull/235 + // Run the CommandLineInterface with the given command line. The // command is automatically split on spaces, and the string "$tmpdir" // is replaced with TestTempDir(). - void Run(const string& command); -@@ -2308,6 +2308,17 @@ - EXPECT_EQ(StripCR(expected_text), StripCR(captured_stderr_)); + void Run(const std::string& command); +@@ -2626,6 +2626,17 @@ + std::string::npos); } + void ExpectBinaryFilesMatch(const string &expected_file, @@ -212,22 +218,23 @@ https://github.com/google/protobuf/pull/235 private: void WriteUnittestProtoDescriptorSet() { unittest_proto_descriptor_set_filename_ = -@@ -2398,6 +2409,18 @@ - "google/protobuf/no_such_file.proto: No such file or directory\n"); +@@ -2749,6 +2760,19 @@ + "Can only use --deterministic_output with --encode.\n"); } +TEST_P(EncodeDecodeTest, RedirectInputOutput) { + string out_file = TestTempDir() + "/golden_message_out.pbf"; -+ string cmd = ""; -+ cmd += "google/protobuf/unittest.proto "; -+ cmd += "--encode=protobuf_unittest.TestAllTypes "; -+ cmd += "--protobuf_in=" + TestSourceDir() + -+ "/google/protobuf/testdata/text_format_unittest_data_oneof_implemented.txt "; -+ cmd += "--protobuf_out=" + out_file; -+ EXPECT_TRUE(Run(cmd)); -+ ExpectBinaryFilesMatch(out_file, TestSourceDir() + "/google/protobuf/testdata/golden_message_oneof_implemented"); ++ EXPECT_TRUE( ++ Run(TestUtil::MaybeTranslatePath("net/proto2/internal/unittest.proto") + ++ " --encode=protobuf_unittest.TestAllTypes" + ++ " --protobuf_in=" + TestUtil::GetTestDataPath( ++ "net/proto2/internal/" ++ "testdata/text_format_unittest_data_oneof_implemented.txt") + ++ " --protobuf_out=" + out_file)); ++ ExpectBinaryFilesMatch(out_file, TestUtil::GetTestDataPath( ++ "net/proto2/internal/testdata/golden_message_oneof_implemented")); +} + - INSTANTIATE_TEST_CASE_P(FileDescriptorSetSource, - EncodeDecodeTest, - testing::Values(PROTO_PATH, DESCRIPTOR_SET_IN)); + INSTANTIATE_TEST_SUITE_P(FileDescriptorSetSource, EncodeDecodeTest, + testing::Values(PROTO_PATH, DESCRIPTOR_SET_IN)); + } // anonymous namespace diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.4.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 similarity index 75% rename from sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.4.0-disable_no-warning-test.patch rename to sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch index 373dc7935a..eb1598c945 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.4.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 @@ -2,16 +2,16 @@ Disable no-warning-test which is compiled with -Werror option and whose only pur --- /src/Makefile.am +++ /src/Makefile.am -@@ -750,7 +750,7 @@ - +@@ -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 \ - ../gmock/gtest/lib/libgtest.la \ - ../gmock/lib/libgmock.la \ -@@ -931,4 +931,4 @@ + $(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) \ diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.4.0-system_libraries.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch similarity index 58% rename from sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.4.0-system_libraries.patch rename to sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch index 424ad5ff58..3d5069dd14 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.4.0-system_libraries.patch +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch @@ -1,12 +1,8 @@ --- /Makefile.am +++ /Makefile.am -@@ -8,31 +8,12 @@ - # the right time. - SUBDIRS = . src - --# Always include gmock in distributions. --DIST_SUBDIRS = $(subdirs) src conformance benchmarks -+DIST_SUBDIRS = src conformance benchmarks +@@ -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, @@ -15,8 +11,8 @@ -# the installed version of gmock if there is one. check-local: - @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock" -- @cd gmock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la -- @cd gmock/gtest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la +- @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 @@ -25,9 +21,9 @@ -# cd to the directory again and "make clean" it will fail. So, check that the -# Makefile exists before recursing. clean-local: -- @if test -e gmock/Makefile; then \ -- echo "Making clean in gmock"; \ -- cd gmock && $(MAKE) $(AM_MAKEFLAGS) clean; \ +- @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 \ @@ -36,81 +32,89 @@ fi; \ --- /configure.ac +++ /configure.ac -@@ -200,12 +200,5 @@ - - AX_CXX_COMPILE_STDCXX([11], [noext], [optional]) +@@ -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([gmock]) +-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 -@@ -752,11 +752,7 @@ +@@ -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 \ - no-warning-test $(GZCHECKPROGRAMS) + $(GZCHECKPROGRAMS) protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ -- ../gmock/gtest/lib/libgtest.la \ -- ../gmock/lib/libgmock.la \ -- ../gmock/lib/libgmock_main.la --protobuf_test_CPPFLAGS = -I$(srcdir)/../gmock/gtest/include \ -- -I$(srcdir)/../gmock/include +- $(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. -@@ -843,12 +839,8 @@ +@@ -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 \ -- ../gmock/gtest/lib/libgtest.la \ -- ../gmock/lib/libgmock.la \ -- ../gmock/lib/libgmock_main.la --protobuf_lazy_descriptor_test_CPPFLAGS = -I$(srcdir)/../gmock/include \ -- -I$(srcdir)/../gmock/gtest/include \ +- $(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 \ -@@ -868,11 +860,7 @@ +@@ -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 \ -- ../gmock/gtest/lib/libgtest.la \ -- ../gmock/lib/libgmock.la \ -- ../gmock/lib/libgmock_main.la --protobuf_lite_test_CPPFLAGS= -I$(srcdir)/../gmock/include \ -- -I$(srcdir)/../gmock/gtest/include + 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 \ -@@ -883,11 +871,7 @@ +@@ -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 \ -- ../gmock/gtest/lib/libgtest.la \ -- ../gmock/lib/libgmock.la \ -- ../gmock/lib/libgmock_main.la --protobuf_lite_arena_test_CPPFLAGS = -I$(srcdir)/../gmock/include \ -- -I$(srcdir)/../gmock/gtest/include +- $(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 \ -@@ -896,8 +880,7 @@ +@@ -867,8 +847,7 @@ # Test plugin binary. test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ -- ../gmock/gtest/lib/libgtest.la --test_plugin_CPPFLAGS = -I$(srcdir)/../gmock/gtest/include +- $(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 \ 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 new file mode 100644 index 0000000000..9abf5deca2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.18.0-disable_no-warning-test.patch @@ -0,0 +1,36 @@ +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 new file mode 100644 index 0000000000..0e417c51bd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.18.0-system_libraries.patch @@ -0,0 +1,146 @@ +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.19.0-disable_no-warning-test.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.19.0-disable_no-warning-test.patch new file mode 100644 index 0000000000..eb3dd0c1cb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.19.0-disable_no-warning-test.patch @@ -0,0 +1,36 @@ +From 12e381222a8cdce50845dfb7d8fdf863f6f8bb8a Mon Sep 17 00:00:00 2001 +From: Arfrever Frehtes Taifersar Arahesis +Date: Fri, 28 Jan 2022 15:08:40 +0800 +Subject: [PATCH] protobuf-3.19.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 3312e5d..7e86b62 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -722,7 +722,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 \ +@@ -911,4 +911,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.19.0-system_libraries.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.19.0-system_libraries.patch new file mode 100644 index 0000000000..56905c7847 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.19.0-system_libraries.patch @@ -0,0 +1,146 @@ +From c080d329298e841d7d4e1380ff7ec88de5cb3b02 Mon Sep 17 00:00:00 2001 +From: Arfrever Frehtes Taifersar Arahesis +Date: Fri, 28 Jan 2022 15:14:59 +0800 +Subject: [PATCH] protobuf-3.19.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 41d4061..b24f8f4 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 02085ca..449fb3d 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 7e86b62..47d759f 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -716,19 +716,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. +@@ -820,12 +812,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 \ +@@ -847,11 +835,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 \ +@@ -863,11 +847,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 \ +@@ -877,8 +857,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.5.0-atomic_operations.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.5.0-atomic_operations.patch deleted file mode 100644 index 7a88e83795..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.5.0-atomic_operations.patch +++ /dev/null @@ -1,21 +0,0 @@ -https://github.com/google/protobuf/issues/3937 -https://github.com/google/protobuf/pull/3955 -https://github.com/google/protobuf/commit/642e1ac635f2563b4a14c255374f02645ae85dac - ---- /src/google/protobuf/stubs/atomicops_internals_generic_gcc.h -+++ /src/google/protobuf/stubs/atomicops_internals_generic_gcc.h -@@ -146,6 +146,14 @@ - return __atomic_load_n(ptr, __ATOMIC_RELAXED); - } - -+inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, -+ Atomic64 old_value, -+ Atomic64 new_value) { -+ __atomic_compare_exchange_n(ptr, &old_value, new_value, false, -+ __ATOMIC_RELEASE, __ATOMIC_ACQUIRE); -+ return old_value; -+} -+ - #endif // defined(__LP64__) - - } // namespace internal diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml index 6aeca89803..4ac93ba8e5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/metadata.xml @@ -1,18 +1,19 @@ - + - + arfrever.fta@gmail.com Arfrever Frehtes Taifersar Arahesis - proxy-maint@gentoo.org - Proxy Maintainers + cjk@gentoo.org + Cjk Soname version number - google/protobuf + cpe:/a:google:protobuf + protocolbuffers/protobuf 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 new file mode 100644 index 0000000000..ab50d51427 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.0.ebuild @@ -0,0 +1,143 @@ +# 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 new file mode 100644 index 0000000000..ab50d51427 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.1.ebuild @@ -0,0 +1,143 @@ +# 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 new file mode 100644 index 0000000000..ab50d51427 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.2.ebuild @@ -0,0 +1,143 @@ +# 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 new file mode 100644 index 0000000000..c021f1f188 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.17.3.ebuild @@ -0,0 +1,143 @@ +# 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 new file mode 100644 index 0000000000..0aea6a331d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.18.2.ebuild @@ -0,0 +1,147 @@ +# 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 new file mode 100644 index 0000000000..8cdee69556 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.19.1.ebuild @@ -0,0 +1,141 @@ +# 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-3.19.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.19.3.ebuild new file mode 100644 index 0000000000..9171eaebed --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.19.3.ebuild @@ -0,0 +1,146 @@ +# 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="~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.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 + + # 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.4.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.4.1.ebuild deleted file mode 100644 index ab347e7227..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.4.1.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/google/protobuf" -SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD" -SLOT="0/14" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos" -IUSE="emacs examples static-libs test zlib" - -RDEPEND="emacs? ( virtual/emacs ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}/${PN}-3.4.0-disable_no-warning-test.patch" - "${FILESDIR}/${PN}-3.4.0-system_libraries.patch" - "${FILESDIR}/${PN}-3.4.0-protoc_input_output_files.patch" -) - -DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) - -src_prepare() { - append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI - default - eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - $(use_enable static-libs static) - $(use_with zlib) - ) - - if tc-is-cross-compiler; then - # The build system wants `protoc` when building, so we need a copy that - # runs on the host. This is more hermetic than relying on the version - # installed in the host being the exact same version. - mkdir -p "${WORKDIR}/build" || die - pushd "${WORKDIR}/build" > /dev/null || die - ECONF_SOURCE="${S}" econf_build "${myeconfargs[@]}" - myeconfargs+=(--with-protoc="${PWD}"/src/protoc) - popd > /dev/null || die - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -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() { - 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.5.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.5.1.1.ebuild deleted file mode 100644 index c0acbfe7b8..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.5.1.1.ebuild +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/google/protobuf" -SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD" -SLOT="0/15" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos" -IUSE="emacs examples static-libs test zlib" - -RDEPEND="emacs? ( virtual/emacs ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )" - -PATCHES=( - "${FILESDIR}/${PN}-3.4.0-disable_no-warning-test.patch" - "${FILESDIR}/${PN}-3.4.0-system_libraries.patch" - "${FILESDIR}/${PN}-3.4.0-protoc_input_output_files.patch" - "${FILESDIR}/${PN}-3.5.0-atomic_operations.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 myeconfargs=( - $(use_enable static-libs static) - $(use_with zlib) - ) - - if tc-is-cross-compiler; then - # The build system wants `protoc` when building, so we need a copy that - # runs on the host. This is more hermetic than relying on the version - # installed in the host being the exact same version. - mkdir -p "${WORKDIR}/build" || die - pushd "${WORKDIR}/build" > /dev/null || die - ECONF_SOURCE="${S}" econf_build "${myeconfargs[@]}" - myeconfargs+=(--with-protoc="${PWD}"/src/protoc) - popd > /dev/null || die - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -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() { - 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.5.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild similarity index 69% rename from sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.5.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild index 60e3d7bd86..fe2db6a460 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-3.5.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild @@ -1,29 +1,41 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 2008-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +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/google/protobuf" -SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +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/15" -KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos" +SLOT="0/30" +KEYWORDS="" IUSE="emacs examples static-libs test zlib" +RESTRICT="!test? ( test )" -RDEPEND="emacs? ( virtual/emacs ) +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}] )" -DEPEND="${RDEPEND} - test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )" PATCHES=( - "${FILESDIR}/${PN}-3.4.0-disable_no-warning-test.patch" - "${FILESDIR}/${PN}-3.4.0-system_libraries.patch" - "${FILESDIR}/${PN}-3.4.0-protoc_input_output_files.patch" - "${FILESDIR}/${PN}-3.5.0-atomic_operations.patch" + "${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) @@ -77,6 +89,8 @@ multilib_src_test() { } 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