diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-06-15 14:57:03 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-06-15 14:57:03 +0100 |
commit | d18bf1e01b65ee4bf0c804e2843b282d3d4e5d7c (patch) | |
tree | 4a95cbc6ffdf13bad6ecbc7f8d5af99631984123 /dev-libs/protobuf/files | |
parent | e748ba9741f6540f4675c23e3e37b73e822c13a4 (diff) |
gentoo resync : 15.06.2021
Diffstat (limited to 'dev-libs/protobuf/files')
-rw-r--r-- | dev-libs/protobuf/files/protobuf-3.14.0-protoc_input_output_files.patch | 268 | ||||
-rw-r--r-- | dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch (renamed from dev-libs/protobuf/files/protobuf-3.13.0-protoc_input_output_files.patch) | 142 | ||||
-rw-r--r-- | dev-libs/protobuf/files/protobuf-3.16.0-system_libraries.patch (renamed from dev-libs/protobuf/files/protobuf-3.13.0-system_libraries.patch) | 16 | ||||
-rw-r--r-- | dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch (renamed from dev-libs/protobuf/files/protobuf-3.13.0-disable_no-warning-test.patch) | 4 | ||||
-rw-r--r-- | dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch | 121 |
5 files changed, 191 insertions, 360 deletions
diff --git a/dev-libs/protobuf/files/protobuf-3.14.0-protoc_input_output_files.patch b/dev-libs/protobuf/files/protobuf-3.14.0-protoc_input_output_files.patch deleted file mode 100644 index a36bdcb734a5..000000000000 --- a/dev-libs/protobuf/files/protobuf-3.14.0-protoc_input_output_files.patch +++ /dev/null @@ -1,268 +0,0 @@ -https://github.com/protocolbuffers/protobuf/pull/235 - ---- /src/google/protobuf/compiler/command_line_interface.cc -+++ /src/google/protobuf/compiler/command_line_interface.cc -@@ -1109,6 +1109,28 @@ - } - - if (mode_ == MODE_ENCODE || mode_ == MODE_DECODE) { -+ bool success = false; -+ int in_fd = STDIN_FILENO; -+ int out_fd = STDOUT_FILENO; -+ -+ if (!protobuf_in_path_.empty()) { -+ in_fd = open(protobuf_in_path_.c_str(), O_RDONLY); -+ if (in_fd == -1) { -+ std::cerr << protobuf_in_path_ << ": error: failed to open file." << std::endl; -+ return 1; -+ } -+ } -+ if (!protobuf_out_path_.empty()) { -+ out_fd = open(protobuf_out_path_.c_str(), -+ O_WRONLY | O_CREAT | O_TRUNC, -+ 0644); -+ if (out_fd == -1) { -+ std::cerr << protobuf_out_path_ << ": error: failed to open file." << std::endl; -+ close(in_fd); -+ return 1; -+ } -+ } -+ - if (codec_type_.empty()) { - // HACK: Define an EmptyMessage type to use for decoding. - DescriptorPool pool; -@@ -1117,13 +1139,20 @@ - file.add_message_type()->set_name("EmptyMessage"); - GOOGLE_CHECK(pool.BuildFile(file) != NULL); - codec_type_ = "EmptyMessage"; -- if (!EncodeOrDecode(&pool)) { -- return 1; -- } -+ success = EncodeOrDecode(&pool, in_fd, out_fd); - } else { -- if (!EncodeOrDecode(descriptor_pool.get())) { -- return 1; -- } -+ success = EncodeOrDecode(descriptor_pool.get(), in_fd, out_fd); -+ } -+ -+ if (in_fd != STDIN_FILENO) { -+ close(in_fd); -+ } -+ if (out_fd != STDOUT_FILENO) { -+ close(out_fd); -+ } -+ -+ if (!success) { -+ return 1; - } - } - -@@ -1161,6 +1190,11 @@ - for (int i = 0; i < proto_path_.size(); i++) { - source_tree->MapPath(proto_path_[i].first, proto_path_[i].second); - } -+ if (mode_ == MODE_COMPILE && -+ (!protobuf_in_path_.empty() || !protobuf_out_path_.empty())) { -+ 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)) { -@@ -1904,6 +1938,12 @@ - } else if (name == "--deterministic_output") { - deterministic_output_ = true; - -+ } else if (name == "--protobuf_in") { -+ protobuf_in_path_ = value; -+ -+ } else if (name == "--protobuf_out") { -+ protobuf_out_path_ = value; -+ - } else if (name == "--error_format") { - if (value == "gcc") { - error_format_ = ERROR_FORMAT_GCC; -@@ -2040,12 +2080,15 @@ - " -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" -+ " and write it in binary. The message " -+ "type must\n" - " be defined in PROTO_FILES or their " - "imports.\n" -+ " The input/output protobuf files are " -+ "specified\n" -+ " using the --protobuf_in and " -+ "--protobuf_out\n" -+ " command line flags.\n" - " --deterministic_output When using --encode, ensure map fields " - "are\n" - " deterministically ordered. Note that" -@@ -2053,22 +2096,40 @@ - " canonical, and changes across builds" - "or releases of protoc.\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" -- " be defined in PROTO_FILES or their " -- "imports.\n" -+ "type and\n" -+ " write it in text format. The message " -+ "type\n" -+ " must be defined in PROTO_FILES or " -+ "their imports.\n" -+ " The input/output protobuf files are " -+ "specified\n" -+ " using the --protobuf_in and " -+ "--protobuf_out\n" -+ " command line flags.\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" -+ "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=FILE Absolute path to the protobuf file " -+ "from which\n" -+ " input of encoding/decoding operation " -+ "will be\n" -+ " read. If omitted, input will be read " -+ "from\n" -+ " standard input.\n" -+ " --protobuf_out=FILE Absolute path to the protobuf file " -+ "to which\n" -+ " output of encoding/decoding operation " -+ "will be\n" -+ " written. If omitted, output will be " -+ "written to\n" -+ " standard output.\n" - " --descriptor_set_in=FILES Specifies a delimited list of FILES\n" - " each containing a FileDescriptorSet " - "(a\n" -@@ -2416,7 +2477,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) { -@@ -2428,15 +2491,15 @@ - std::unique_ptr<Message> message(dynamic_factory.GetPrototype(type)->New()); - - if (mode_ == MODE_ENCODE) { -- SetFdToTextMode(STDIN_FILENO); -- SetFdToBinaryMode(STDOUT_FILENO); -+ SetFdToTextMode(in_fd); -+ SetFdToBinaryMode(out_fd); - } else { -- SetFdToBinaryMode(STDIN_FILENO); -- SetFdToTextMode(STDOUT_FILENO); -+ 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 -@@ -296,7 +296,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( -@@ -428,6 +430,13 @@ - // parsed FileDescriptorSets to be used for loading protos. Otherwise, empty. - std::vector<std::string> 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_; -+ // When using --encode / --decode / --decode_raw, absolute path to the input -+ // file. (Empty string indicates read from STDIN). -+ std::string protobuf_in_path_; -+ - // 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 -@@ -97,7 +97,7 @@ - virtual void SetUp(); - virtual void TearDown(); - -- // 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" - // is replaced with TestTempDir(). - void Run(const std::string& command); -@@ -2638,6 +2638,17 @@ - std::string::npos); - } - -+ void ExpectBinaryFilesMatch(const string &expected_file, -+ const string &actual_file) { -+ string expected_output, actual_output; -+ ASSERT_TRUE(File::ReadFileToString(expected_file, &expected_output)); -+ ASSERT_TRUE(File::ReadFileToString(actual_file, &actual_output)); -+ -+ // Don't use EXPECT_EQ because we don't want to print raw binary data to -+ // stdout on failure. -+ EXPECT_TRUE(expected_output == actual_output); -+ } -+ - private: - void WriteUnittestProtoDescriptorSet() { - unittest_proto_descriptor_set_filename_ = -@@ -2761,6 +2772,19 @@ - "Can only use --deterministic_output with --encode.\n"); - } - -+TEST_P(EncodeDecodeTest, RedirectInputOutput) { -+ string out_file = TestTempDir() + "/golden_message_out.pbf"; -+ 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_SUITE_P(FileDescriptorSetSource, EncodeDecodeTest, - testing::Values(PROTO_PATH, DESCRIPTOR_SET_IN)); - } // anonymous namespace diff --git a/dev-libs/protobuf/files/protobuf-3.13.0-protoc_input_output_files.patch b/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch index 0416aac68f67..7295e805a196 100644 --- a/dev-libs/protobuf/files/protobuf-3.13.0-protoc_input_output_files.patch +++ b/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch @@ -2,7 +2,7 @@ https://github.com/protocolbuffers/protobuf/pull/235 --- /src/google/protobuf/compiler/command_line_interface.cc +++ /src/google/protobuf/compiler/command_line_interface.cc -@@ -997,6 +997,28 @@ +@@ -1110,6 +1110,28 @@ } if (mode_ == MODE_ENCODE || mode_ == MODE_DECODE) { @@ -31,7 +31,7 @@ https://github.com/protocolbuffers/protobuf/pull/235 if (codec_type_.empty()) { // HACK: Define an EmptyMessage type to use for decoding. DescriptorPool pool; -@@ -1005,13 +1027,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/protocolbuffers/protobuf/pull/235 } } -@@ -1049,6 +1078,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); } @@ -70,9 +70,9 @@ https://github.com/protocolbuffers/protobuf/pull/235 // Map input files to virtual paths if possible. if (!MakeInputsBeProtoPathRelative(source_tree, fallback_database)) { -@@ -1754,6 +1788,12 @@ - - codec_type_ = value; +@@ -1885,6 +1919,12 @@ + } else if (name == "--deterministic_output") { + deterministic_output_ = true; + } else if (name == "--protobuf_in") { + protobuf_in_path_ = value; @@ -83,75 +83,53 @@ https://github.com/protocolbuffers/protobuf/pull/235 } else if (name == "--error_format") { if (value == "gcc") { error_format_ = ERROR_FORMAT_GCC; -@@ -1890,29 +1930,50 @@ - " -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" -+ " and write it in binary. The message " -+ "type must\n" - " be defined in PROTO_FILES or their " - "imports.\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 from\n" -- " standard input and write it in text " -- "format\n" -- " to standard output. The message type " -- "must\n" -- " be defined in PROTO_FILES or their " -- "imports.\n" -+ "type and\n" -+ " write it in text format. The message " -+ "type\n" -+ " must be defined in PROTO_FILES or " -+ "their imports.\n" -+ " The input/output protobuf files are " -+ "specified\n" -+ " using the --protobuf_in and " -+ "--protobuf_out\n" -+ " command line flags.\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" -+ "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=FILE Absolute path to the protobuf file " -+ "from which\n" -+ " input of encoding/decoding operation " -+ "will be\n" -+ " read. If omitted, input will be read " -+ "from\n" -+ " standard input.\n" -+ " --protobuf_out=FILE Absolute path to the protobuf file " -+ "to which\n" -+ " output of encoding/decoding operation " -+ "will be\n" -+ " written. If omitted, output will be " -+ "written to\n" -+ " standard output.\n" - " --descriptor_set_in=FILES Specifies a delimited list of FILES\n" - " each containing a FileDescriptorSet " - "(a\n" -@@ -2258,7 +2319,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; } @@ -162,7 +140,7 @@ https://github.com/protocolbuffers/protobuf/pull/235 // Look up the type. const Descriptor* type = pool->FindMessageTypeByName(codec_type_); if (type == NULL) { -@@ -2270,15 +2333,15 @@ +@@ -2356,15 +2414,15 @@ std::unique_ptr<Message> message(dynamic_factory.GetPrototype(type)->New()); if (mode_ == MODE_ENCODE) { @@ -186,7 +164,7 @@ https://github.com/protocolbuffers/protobuf/pull/235 // Input is text. --- /src/google/protobuf/compiler/command_line_interface.h +++ /src/google/protobuf/compiler/command_line_interface.h -@@ -296,7 +296,9 @@ +@@ -292,7 +292,9 @@ GeneratorContext* generator_context, std::string* error); // Implements --encode and --decode. @@ -197,7 +175,7 @@ https://github.com/protocolbuffers/protobuf/pull/235 // Implements the --descriptor_set_out option. bool WriteDescriptorSet( -@@ -428,6 +430,13 @@ +@@ -427,6 +429,13 @@ // parsed FileDescriptorSets to be used for loading protos. Otherwise, empty. std::vector<std::string> descriptor_set_in_names_; @@ -213,7 +191,7 @@ https://github.com/protocolbuffers/protobuf/pull/235 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(); @@ -222,7 +200,7 @@ https://github.com/protocolbuffers/protobuf/pull/235 // command is automatically split on spaces, and the string "$tmpdir" // is replaced with TestTempDir(). void Run(const std::string& command); -@@ -2627,6 +2627,17 @@ +@@ -2626,6 +2626,17 @@ std::string::npos); } @@ -240,8 +218,8 @@ https://github.com/protocolbuffers/protobuf/pull/235 private: void WriteUnittestProtoDescriptorSet() { unittest_proto_descriptor_set_filename_ = -@@ -2721,6 +2732,19 @@ - "net/proto2/internal/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) { diff --git a/dev-libs/protobuf/files/protobuf-3.13.0-system_libraries.patch b/dev-libs/protobuf/files/protobuf-3.16.0-system_libraries.patch index 990081ae1abf..5b6f4101e9ca 100644 --- a/dev-libs/protobuf/files/protobuf-3.13.0-system_libraries.patch +++ b/dev-libs/protobuf/files/protobuf-3.16.0-system_libraries.patch @@ -32,9 +32,9 @@ fi; \ --- /configure.ac +++ /configure.ac -@@ -223,12 +223,5 @@ - esac - AM_CONDITIONAL([OBJC_CONFORMANCE_TEST], [test $OBJC_CONFORMANCE_TEST = 1]) +@@ -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 @@ -47,7 +47,7 @@ AC_OUTPUT --- /src/Makefile.am +++ /src/Makefile.am -@@ -702,19 +702,11 @@ +@@ -703,19 +703,11 @@ google/protobuf/testing/file.cc \ google/protobuf/testing/file.h @@ -68,7 +68,7 @@ # 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. -@@ -806,12 +798,8 @@ +@@ -807,12 +799,8 @@ # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined. protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \ libprotoc.la \ @@ -83,7 +83,7 @@ protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) protobuf_lazy_descriptor_test_SOURCES = \ google/protobuf/compiler/cpp/cpp_unittest.cc \ -@@ -832,11 +820,7 @@ +@@ -833,11 +821,7 @@ # full runtime and we want to make sure this test builds without full # runtime. protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ @@ -96,7 +96,7 @@ protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) protobuf_lite_test_SOURCES = \ google/protobuf/lite_unittest.cc \ -@@ -848,11 +832,7 @@ +@@ -849,11 +833,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 \ @@ -109,7 +109,7 @@ protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) protobuf_lite_arena_test_SOURCES = \ google/protobuf/lite_arena_unittest.cc \ -@@ -862,8 +842,7 @@ +@@ -863,8 +843,7 @@ # Test plugin binary. test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ diff --git a/dev-libs/protobuf/files/protobuf-3.13.0-disable_no-warning-test.patch b/dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch index 1c583fec0fdc..eb1598c945fd 100644 --- a/dev-libs/protobuf/files/protobuf-3.13.0-disable_no-warning-test.patch +++ b/dev-libs/protobuf/files/protobuf-3.17.0-disable_no-warning-test.patch @@ -2,7 +2,7 @@ Disable no-warning-test which is compiled with -Werror option and whose only pur --- /src/Makefile.am +++ /src/Makefile.am -@@ -708,7 +708,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 \ @@ -11,7 +11,7 @@ Disable no-warning-test which is compiled with -Werror option and whose only pur protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -@@ -895,4 +895,4 @@ +@@ -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/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch b/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch new file mode 100644 index 000000000000..3d5069dd1478 --- /dev/null +++ b/dev-libs/protobuf/files/protobuf-3.17.0-system_libraries.patch @@ -0,0 +1,121 @@ +--- /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 \ |