forked from onkelbeh/HomeAssistantRepository
update protobuf-3.20.1
This commit is contained in:
parent
ef67340b0d
commit
68c60a8638
|
@ -524,14 +524,14 @@ A daily compile test is run at Github with Python 3.9 to catch general faults. E
|
|||
|
||||
## Licenses
|
||||
This repository itself is released under GPL-3 (like most Gentoo repositories), all work on the depending components under the licenses they came from. Perhaps you came here because I filed an issue at your component about a bad or missing license. It is easy to [assign a license](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository). During cleanups and license investigations I have been asked often which license to choose. I am not a lawyer, but I can offer the following table, counted over this repository, perhaps this helps your decision. If a package has more than one license listed, all of them are counted.
|
||||
There are 1728 Ebuilds in total, 1721 of them have in total 1728 (35 different) licenses assigned.
|
||||
There are 1731 Ebuilds in total, 1724 of them have in total 1731 (35 different) licenses assigned.
|
||||
|
||||
|License| Ebuilds using it|
|
||||
|-------|-----|
|
||||
|MIT|1058|
|
||||
|Apache-2.0|308|
|
||||
|Apache-2.0|309|
|
||||
|GPL-3|106|
|
||||
|BSD|94|
|
||||
|BSD|96|
|
||||
|LGPL-3|28|
|
||||
|GPL-2|22|
|
||||
|LGPL-3+|16|
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
AUX 70protobuf-gentoo.el 170 BLAKE2B 6d9a92bd3310ca09d18dd762bc0bbd4b0b36184c17f95c80c02183c457fe4ff1142ca1e3207e5a77c078fe5f768cb3e85abc712abc1f4c85774ca1ebf178059b SHA512 ed73cd6b1bf6c0019e4da73c3a480b0f917e949dfad2696336e805263c81610b2a8a0514840e389db0f0e78252cf053d754c5e07731dc5e9c93c9e88f0b2923c
|
||||
AUX proto.vim 49 BLAKE2B 9b6d31105811a8f8cbcf76328172fda5b66b33351bb16573ed1ed08d4c553af2805962a6d6609fbdad4a2644bf9cecd1e771a557f138111ad2c0be959b497ee9 SHA512 65c1f49887c17973d1dfce07fa86d04c5079d2382826eaeb22e128570717f181c53d22ba50905252021f7e476a90ecd29f9d18799c1ccea64b01f4638323538e
|
||||
AUX protobuf-3.16.0-protoc_input_output_files.patch 10060 BLAKE2B e91d2e60ec9a901df0b0e11a8e51ff92b8765357e052231a915a2afa996c78096e18cf443708bf32e51b882c3fe2512e2ab9f7bb8ec1c6141f2c9bb7fb98af95 SHA512 03721151866f25564e203eb5af987649bf3c148ba7b9e1a2a837b336062b911d892714c4deaa5b19572a3ec47e3b309114ce67b0ec0adcff50d208b73283a7b5
|
||||
AUX protobuf-3.17.0-disable_no-warning-test.patch 965 BLAKE2B 584b43b43861280254f92ad48d8a068b6427e1af3822097f2ddd872983fae11f3bd7af1d73b9b58592987ac4aff7399fa31291e21db6656518bce10c5977a785 SHA512 a67fe3231064c1cf3f4ca94be4248fd65f455b1aaa1d1a09afae847a9b9bbae9673d1fec177e822abe0a83b2fe3342bd20dd9aff87adea0dddcc05309aaca682
|
||||
AUX protobuf-3.17.0-system_libraries.patch 6299 BLAKE2B a9252af294342e0a12137c618bc1e6fbe9aa021feaa458c2638aaf407dd6a43473587b7ac3e7278217874e5091ff7337234594715daa7567c9d3cf1bd3191973 SHA512 1d712f886e28907d5a5bef414c9fec56d1c056c316428f6e05fdfb87494e93506c17ff6dd5cff4ec716a6f20b56258393773701cdb6b04f87e44264a919a588e
|
||||
AUX protobuf-3.19.0-disable_no-warning-test.patch 1620 BLAKE2B e4f324ed59b2c31662cc625e9d3f1fdb20ee2a25769dbf86093e5000f73a01e11f05459989aaefeaf0414648cd52f1f1025b9d4f1423cdca4844e42e96f54836 SHA512 8c4bc72976a7eb3418b51e7a1c45b49d7ffaeb91a86f440008e6f162773b1db7afed4a6ae1d0b3510d49361c369b6552a9ba4976d104d804d825227aa7113d95
|
||||
AUX protobuf-3.19.0-system_libraries.patch 7514 BLAKE2B 1ff5c226232c325ed48cf16e2c47652615c4bd1503f1be8560e7f2e8658ffefeffeef72a6baf4368f758e30a4a81d582769b61dd0b3e383c8188cd03bf409c01 SHA512 b6a58e483dbb1f6151c2f7c735fbd55f34bcf98d6370eabb425dbd96e10cb87e8dfbf5024ad8f888cb80a095bc26598aceb55d576d37166550ee62db41c51a44
|
||||
DIST protobuf-3.20.1.tar.gz 5368262 BLAKE2B 1ce1aef2e4c4f3ea4863629cc75d89fe17d0c7ac0c342ac641c787456fd4a12756c2892a27ddadedc94a7201494ec84566638ce33a03cb0c867b04e9eee0edb3 SHA512 fde3eb9f13946887ddfd87df428c5615ad09aaf191e4478b24e98e5e13231feeff4e70b4ca6a2ff7d9b9b2e2c60bc1d5479526edeafa78f9a8ed3bef2e0bacb0
|
||||
EBUILD protobuf-3.20.1.ebuild 4138 BLAKE2B b37b99abbd41acfb2299e1a054d3c36547bdd63542ecc76d03d69344d7e89a03870eda97bba1ae6ae3284c33abdfca6930e74b6ab7109d93cd588c522d6d52f6 SHA512 2eadab6fd0f4b30338a294b69c866ff945e98f05549403484700b2e44314433736a682ab033bc4c2eb0a802934cba92567e6c9bad4d30d79a67d671f88e04591
|
||||
MISC metadata.xml 595 BLAKE2B ba1b916e26b1e53f68e660f03d2e53fea8d22db04e8241ebec3ec20fbb251c2b164cf25d5fb6118423ce7721a822ae2302aab137b0748730e9a6860bf8e65668 SHA512 785e2550621b79b6350e1a6b52ed9992610769885fb29a9e92ee45a35158cc08707a3590dfcbece9ee9a5e16e1abfb614e8186132da7b942f2761b5e6ecfa827
|
|
@ -0,0 +1,3 @@
|
|||
(add-to-list 'load-path "@SITELISP@")
|
||||
(add-to-list 'auto-mode-alist '("\\.proto\\'" . protobuf-mode))
|
||||
(autoload 'protobuf-mode "protobuf-mode" "Google protobuf mode." t)
|
|
@ -0,0 +1 @@
|
|||
au BufRead,BufNewFile *.proto set filetype=proto
|
|
@ -0,0 +1,240 @@
|
|||
https://github.com/protocolbuffers/protobuf/pull/235
|
||||
|
||||
--- /src/google/protobuf/compiler/command_line_interface.cc
|
||||
+++ /src/google/protobuf/compiler/command_line_interface.cc
|
||||
@@ -1110,6 +1110,28 @@
|
||||
}
|
||||
|
||||
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;
|
||||
@@ -1118,13 +1140,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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1163,6 +1192,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)) {
|
||||
@@ -1885,6 +1919,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;
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
-bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool) {
|
||||
+bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool,
|
||||
+ int in_fd,
|
||||
+ int out_fd) {
|
||||
// Look up the type.
|
||||
const Descriptor* type = pool->FindMessageTypeByName(codec_type_);
|
||||
if (type == NULL) {
|
||||
@@ -2356,15 +2414,15 @@
|
||||
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
|
||||
@@ -292,7 +292,9 @@
|
||||
GeneratorContext* generator_context, std::string* error);
|
||||
|
||||
// Implements --encode and --decode.
|
||||
- bool EncodeOrDecode(const DescriptorPool* pool);
|
||||
+ bool EncodeOrDecode(const DescriptorPool* pool,
|
||||
+ int in_fd,
|
||||
+ int out_fd);
|
||||
|
||||
// Implements the --descriptor_set_out option.
|
||||
bool WriteDescriptorSet(
|
||||
@@ -427,6 +429,13 @@
|
||||
// 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
|
||||
@@ -99,7 +99,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);
|
||||
@@ -2626,6 +2626,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_ =
|
||||
@@ -2749,6 +2760,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
|
|
@ -0,0 +1,19 @@
|
|||
Disable no-warning-test which is compiled with -Werror option and whose only purpose is checking if compilation results in any warnings.
|
||||
|
||||
--- /src/Makefile.am
|
||||
+++ /src/Makefile.am
|
||||
@@ -713,7 +713,7 @@
|
||||
GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock
|
||||
check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \
|
||||
protobuf-lite-test test_plugin protobuf-lite-arena-test \
|
||||
- no-warning-test $(GZCHECKPROGRAMS)
|
||||
+ $(GZCHECKPROGRAMS)
|
||||
protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
|
||||
$(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \
|
||||
$(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \
|
||||
@@ -900,4 +900,4 @@
|
||||
|
||||
TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \
|
||||
google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS) \
|
||||
- protobuf-lite-arena-test no-warning-test
|
||||
+ protobuf-lite-arena-test
|
|
@ -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 \
|
|
@ -0,0 +1,36 @@
|
|||
From 12e381222a8cdce50845dfb7d8fdf863f6f8bb8a Mon Sep 17 00:00:00 2001
|
||||
From: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
|
||||
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 <Arfrever@Apache.Org>
|
||||
Signed-off-by: Yixun Lan <dlan@gentoo.org>
|
||||
---
|
||||
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
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
From c080d329298e841d7d4e1380ff7ec88de5cb3b02 Mon Sep 17 00:00:00 2001
|
||||
From: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
|
||||
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 <Arfrever@Apache.Org>
|
||||
Signed-off-by: Yixun Lan <dlan@gentoo.org>
|
||||
---
|
||||
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
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>arfrever.fta@gmail.com</email>
|
||||
<name>Arfrever Frehtes Taifersar Arahesis</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>cjk@gentoo.org</email>
|
||||
<name>Cjk</name>
|
||||
</maintainer>
|
||||
<slots>
|
||||
<subslots>Soname version number</subslots>
|
||||
</slots>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:google:protobuf</remote-id>
|
||||
<remote-id type="github">protocolbuffers/protobuf</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
|
@ -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 ~loong ~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
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
DIST protobuf-3.20.1.tar.gz 5368262 BLAKE2B 1ce1aef2e4c4f3ea4863629cc75d89fe17d0c7ac0c342ac641c787456fd4a12756c2892a27ddadedc94a7201494ec84566638ce33a03cb0c867b04e9eee0edb3 SHA512 fde3eb9f13946887ddfd87df428c5615ad09aaf191e4478b24e98e5e13231feeff4e70b4ca6a2ff7d9b9b2e2c60bc1d5479526edeafa78f9a8ed3bef2e0bacb0
|
||||
EBUILD protobuf-python-3.20.1.ebuild 1360 BLAKE2B b565e3296a77169cef2d872de81588d20b282890d4929a78e67f5816243e41d6cd6c9ee7d638a9cca26b31f8a761702f5946ad39f1a617e982ed497c650e6359 SHA512 393a90e7f08315480a9dc3c4d86135f87ca2044f88a4339453e8e9ef66688f7edec7f58d3a6fb13f6f691f704eb0ca8f6746e7509a1622aadf5bb87010de0e36
|
||||
MISC metadata.xml 548 BLAKE2B 2468487e12d536d67daebf5b7a21cd63a9c4af321a8979132e63d9b8394bf577e347f891326c73bfa6907e82ca355ea0d4ec40a37bb297db0da1e55a62b6ef33 SHA512 c0c2556fbf8821f3a75ed344daa59b4fc355029f96efb8f9784f54c819916adeb46b2c5d8c2e8d405dc58395c2f18b30cda69c6d406948a066bd1d78a55df80b
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>arfrever.fta@gmail.com</email>
|
||||
<name>Arfrever Frehtes Taifersar Arahesis</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>cjk@gentoo.org</email>
|
||||
<name>Cjk</name>
|
||||
</maintainer>
|
||||
<slots>
|
||||
<subslots>Soname version number of Protobuf</subslots>
|
||||
</slots>
|
||||
<upstream>
|
||||
<remote-id type="github">protocolbuffers/protobuf</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
|
@ -0,0 +1,63 @@
|
|||
# Copyright 2008-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
inherit git-r3
|
||||
|
||||
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
|
||||
EGIT_SUBMODULES=()
|
||||
fi
|
||||
|
||||
DESCRIPTION="Google's Protocol Buffers - Python bindings"
|
||||
HOMEPAGE="
|
||||
https://developers.google.com/protocol-buffers/
|
||||
https://github.com/protocolbuffers/protobuf/
|
||||
https://pypi.org/project/protobuf/
|
||||
"
|
||||
if [[ "${PV}" != "9999" ]]; then
|
||||
SRC_URI="
|
||||
https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz
|
||||
-> protobuf-${PV}.tar.gz
|
||||
"
|
||||
fi
|
||||
S="${WORKDIR}/protobuf-${PV}/python"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/30"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
~dev-libs/protobuf-${PV}
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
"
|
||||
DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
~dev-libs/protobuf-${PV}
|
||||
"
|
||||
RDEPEND="
|
||||
${BDEPEND}
|
||||
!dev-python/namespace-google
|
||||
"
|
||||
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}"
|
||||
fi
|
||||
|
||||
distutils_enable_tests setup.py
|
||||
|
||||
src_configure() {
|
||||
DISTUTILS_ARGS=(--cpp_implementation)
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
distutils-r1_python_compile
|
||||
find "${BUILD_DIR}/install" -name "*.pth" -type f -delete || die
|
||||
}
|
Loading…
Reference in New Issue