From 2ecd7994be1409f2a65bfca700904d2a78fd7bbe Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 26 Oct 2022 03:54:55 +0100 Subject: gentoo auto-resync : 26:10:2022 - 03:54:55 --- dev-libs/Manifest.gz | Bin 95941 -> 95943 bytes dev-libs/expat/Manifest | 2 +- dev-libs/expat/expat-2.5.0.ebuild | 2 +- dev-libs/mmtf-cpp/Manifest | 2 + dev-libs/mmtf-cpp/mmtf-cpp-1.1.0.ebuild | 19 ++ dev-libs/protobuf/Manifest | 9 +- ...protobuf-3.20.2-protoc_input_output_files.patch | 240 +++++++++++++++++++++ dev-libs/protobuf/protobuf-21.8.ebuild | 148 +++++++++++++ dev-libs/protobuf/protobuf-3.19.6.ebuild | 151 +++++++++++++ dev-libs/protobuf/protobuf-3.20.3.ebuild | 148 +++++++++++++ dev-libs/protobuf/protobuf-9999.ebuild | 25 ++- 11 files changed, 733 insertions(+), 13 deletions(-) create mode 100644 dev-libs/mmtf-cpp/mmtf-cpp-1.1.0.ebuild create mode 100644 dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch create mode 100644 dev-libs/protobuf/protobuf-21.8.ebuild create mode 100644 dev-libs/protobuf/protobuf-3.19.6.ebuild create mode 100644 dev-libs/protobuf/protobuf-3.20.3.ebuild (limited to 'dev-libs') diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz index 4d3c9f66c100..be9ac9025bed 100644 Binary files a/dev-libs/Manifest.gz and b/dev-libs/Manifest.gz differ diff --git a/dev-libs/expat/Manifest b/dev-libs/expat/Manifest index 0c0c681c72d5..07f2341a7ca7 100644 --- a/dev-libs/expat/Manifest +++ b/dev-libs/expat/Manifest @@ -1,5 +1,5 @@ DIST expat-2.4.9.tar.xz 459284 BLAKE2B 105fef732e26b691f6c212341b7377b518d693aa67f106d0ff2f0fbccd798b7526473ed21e22b6d2b6f1ca8aa7d0eb0adc62ffdefc3c2cb81a6af5a379e64de9 SHA512 8508379b4915d84d50f3638678a90792179c98247d1cb5e6e6387d117af4dc148ac7031c1debea8b96e7b710ef436cf0dd5da91f3d22b8186a00cfafe1201169 DIST expat-2.5.0.tar.xz 460560 BLAKE2B 670298d076ff3b512a0212170d40cb04c601a11d6b152f215a5302ad3238c69c2386393d7a6c70bc284be35ce97bf27d87115c3391f4bc17406e509d739d3e31 SHA512 2da73b991b7c0c54440485c787e5edeb3567230204e31b3cac1c3a6713ec6f9f1554d3afffc0f8336168dfd5df02db4a69bcf21b4d959723d14162d13ab87516 EBUILD expat-2.4.9.ebuild 2284 BLAKE2B 2f75d5b3709f2891725858a1b4f0f3d357288453653c40e32fcc599caedc1e0d6e0755ce497d00a535f2ac6ebc925c7ad4b9703bb6e88c58ee6f6a45f49dbb52 SHA512 216cf850735cbd4d992b7163dd2fe921f368876af70fa9d84229bdfb81f54d61078937ad007645d6b4578f4262f6ad963a19d13546d0d28aa5ae87cfddf6ff00 -EBUILD expat-2.5.0.ebuild 2287 BLAKE2B 6aaf18e354de25bef3a6518f7d0fe6c70e1bb9d9a6250d5f9b37ae96bb6dba5d869a4cd909466456d6643afa0f004b3ff72d57e5bc8a8253d0c3de6dcc403bb1 SHA512 12576ae1a01300538e50815b2c4cb70095307da2fbc1f68dac0f647fa51199f693c02fd6c70e7c103c9864956bc206e8c1388e03920f51f9ab8c59813fed6d9a +EBUILD expat-2.5.0.ebuild 2286 BLAKE2B 45efa0ba0630d4c47c0ff04983a336a8b6cd8103d2b6825f548505de8ec257911335b7604454af14d62138bf18160f85d4f2858b261d608a7137b30b62cfac19 SHA512 c5528277997a98557fbd6136c20e385579181b83110dd03563ae3e886ba357c4028714a6d261c77305c304351d1139a4a22c1bbedf9e092fb64bcad9308b6fa8 MISC metadata.xml 571 BLAKE2B ebefe11eb4a54dda87048089930a051a629fd99a6983b3c804dfd033eee4017c3b1871cbdff56c8659cdf74b19651cd7f2134721a9bab3e8a752d4a1694c6266 SHA512 8d726b1dee71528e43c8693bd4b08cf33a94f43470126aa18a51ed248b032c5e8b9d801c5b2d5f58c2fd7896b32ee9e6eb3953395e5a6004cdf00569d114ad1d diff --git a/dev-libs/expat/expat-2.5.0.ebuild b/dev-libs/expat/expat-2.5.0.ebuild index b5ed6a6218ea..a28cd0e2ee08 100644 --- a/dev-libs/expat/expat-2.5.0.ebuild +++ b/dev-libs/expat/expat-2.5.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/ex LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" IUSE="examples static-libs unicode" BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" diff --git a/dev-libs/mmtf-cpp/Manifest b/dev-libs/mmtf-cpp/Manifest index f6c5f24656bf..c234d955c66e 100644 --- a/dev-libs/mmtf-cpp/Manifest +++ b/dev-libs/mmtf-cpp/Manifest @@ -1,3 +1,5 @@ DIST mmtf-cpp-1.0.0.tar.gz 59363 BLAKE2B afcb03ce1f83e10348b148bd6218e5e10ab3e425b0f8105d292f9e265800ea6ca4562dc11fa4453df05d8a698576fba9dfe982aa91a8dcc1983480c0c52dbcf7 SHA512 0e502ae76e31689d440bff2fbc90fdab7ff62d5369e26f7ab2836966a30bda72625d6d5da33bc0770cf471a1549a02f7478ea16a01dd6be2809568d8daecb073 +DIST mmtf-cpp-1.1.0.tar.gz 106527 BLAKE2B 46f7b44ca6d9096b1f6c7911121d54ab50889c884156724229912bb125492682435d05d93b55b0c8c8025f293eb23f537da4f01a42fe65f4f89270e49429fce7 SHA512 91f30ac1031d71a5358fd83bf864afdac1d1ea758d775811b94a2609be286fcbb7dcfece097c6959afb4f8f9d237b7372183424d4ef211364cc69c08f2cd6e52 EBUILD mmtf-cpp-1.0.0-r1.ebuild 476 BLAKE2B 41ab5557ca52751a77aab013709b3e9b0897e248b902b36c3f3acccfc38b1c49a2ad2f039969275208f40d7bf767c4b904adbdb401fe1cfb7fe939506e7bdae2 SHA512 a1099655707c9c1d6eb24b812bab09b379f86a7cf649510977daf33f9d8d17d31facea0ab7926b112a5f6c3236259a12bf8b2bfa2df3db3a2c66c18d1c1b2f9d +EBUILD mmtf-cpp-1.1.0.ebuild 476 BLAKE2B 41ab5557ca52751a77aab013709b3e9b0897e248b902b36c3f3acccfc38b1c49a2ad2f039969275208f40d7bf767c4b904adbdb401fe1cfb7fe939506e7bdae2 SHA512 a1099655707c9c1d6eb24b812bab09b379f86a7cf649510977daf33f9d8d17d31facea0ab7926b112a5f6c3236259a12bf8b2bfa2df3db3a2c66c18d1c1b2f9d MISC metadata.xml 441 BLAKE2B b55284cf0df7ee0750b0a2058b95ee0e83b556cacf506d41f8c58c5f4ae6e283f61b288bf2b5f00d86f4636e1ea2f9c1824524db83d3ddcc77c10e0fb0452ec7 SHA512 c7d481aa61f4a5fa627e72bc2307eec74e1bbfcc70efa6b1ff6132ced2df8d9b55d5710a78bac639c09375d2314a74dd9e46e20a9058aceb2b7e3b85cf8c3f35 diff --git a/dev-libs/mmtf-cpp/mmtf-cpp-1.1.0.ebuild b/dev-libs/mmtf-cpp/mmtf-cpp-1.1.0.ebuild new file mode 100644 index 000000000000..c31d0595eb2f --- /dev/null +++ b/dev-libs/mmtf-cpp/mmtf-cpp-1.1.0.ebuild @@ -0,0 +1,19 @@ +# Copyright 2019-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="The pure C++ implementation of the MMTF API, decoder and encoder" +HOMEPAGE="https://github.com/rcsb/mmtf-cpp" +SRC_URI="https://github.com/rcsb/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="" + +DEPEND="dev-libs/msgpack" +RDEPEND="${DEPEND}" +BDEPEND="" diff --git a/dev-libs/protobuf/Manifest b/dev-libs/protobuf/Manifest index 55ce29cda734..ca615f0231e1 100644 --- a/dev-libs/protobuf/Manifest +++ b/dev-libs/protobuf/Manifest @@ -4,9 +4,16 @@ AUX protobuf-3.16.0-protoc_input_output_files.patch 10060 BLAKE2B e91d2e60ec9a90 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 AUX protobuf-3.20.1-protoc_input_output_files.patch 10066 BLAKE2B 1a5c045cc1c30ddf520ce6f68495f373a2dc4265ae3629b2e2deb6abb37935aea4c17267977442b5fe4e5b81d1c9467fddf5ca5e9045b444a4212a28e31ffab1 SHA512 7ca9fa2d602d0a11eea35e8284cd11f12e4e3ad3e6b0bba99f8e2c47a804f3f196810f0507806fb8d559c44f73b87a771f8fa9e9ce2c0acf4405f44894f2d13a +AUX protobuf-3.20.2-protoc_input_output_files.patch 10080 BLAKE2B f52ea613b1104aa703e5e10eb5f968e33e46f05523e13fe84369a24ccbc16cecbcce3221b64b1acd624500864d224ccb59d1ce626157a0d0d77870f79ea64bd8 SHA512 dcf5dbd7be4a025d9ee96ed9be4566452ae4f946d0e1ae4c411a0dc3b7071fc156aca796497c0f2b67563a8ee884bded1a931d712cd7a3727301bbe37ec646f0 +DIST protobuf-21.8.tar.gz 5110670 BLAKE2B 3c1b0c857a86e9586481d63896341d0cb11290dbd710d87a6f7889d34f5f262abe2986a29ed19a730f8fa5df0b5c62d77a4db6aa415a72b239f7483ae8d6380c SHA512 cb17be759311e91172801add1f88fe7a0291b547170c40d2e3303f5c248570dddeade96bd48740edd628215f55269c97475e2f4c4a41c50f1018d525f52036cb DIST protobuf-3.19.3.tar.gz 5293258 BLAKE2B c05b70ffca97f7166ea6a511a36907eed125edf1ebf17f908718221d9b851be84dfb2b1b39973f2faf35f6ade630e6ba4f9e8b91b8fbc922c5db97079323ee6e SHA512 1c003e7cbc8eae6a038f46e688b401ee202ba47f502561e909df79770f6e8b7daf3dc1ccc727e31bfb5b52cd04cb4fef7d2d2a28d650c13f396872ad4aa076c6 +DIST protobuf-3.19.6.tar.gz 5299501 BLAKE2B 3121f76b95f83c5309ce49ce296b738eff7be9d3a5093c564fbe2339fb5f3729e406f1b44bfcc05feb0d31ab63838bb4f54685017977c73a33b91215a6776072 SHA512 8f92242f2be8e1bbfba41341c87709ad91ad83b8b3e3df88bb430411541d3399295f49291fd52b50e3487b0fce33181cb4d175685fd25aac72adfaee26a612d4 DIST protobuf-3.20.1.tar.gz 5368262 BLAKE2B 1ce1aef2e4c4f3ea4863629cc75d89fe17d0c7ac0c342ac641c787456fd4a12756c2892a27ddadedc94a7201494ec84566638ce33a03cb0c867b04e9eee0edb3 SHA512 fde3eb9f13946887ddfd87df428c5615ad09aaf191e4478b24e98e5e13231feeff4e70b4ca6a2ff7d9b9b2e2c60bc1d5479526edeafa78f9a8ed3bef2e0bacb0 +DIST protobuf-3.20.3.tar.gz 5374320 BLAKE2B fb51f2a0ecf5b83235f5252051f8192ae377bb7a5e030c3f3e9435ccde25919c059830cf476e840fa6c970928a32c0075e213c9d5d4d9e3d3b24732c39a9fbfa SHA512 01d6703bdbe769a1200ee6e4ebcdcb99688ec21f576988c60d82ec36e0822820fb245fcb4ca53293143d53e666d748b5a0c6937bc659fb3cdc4cd9b05ed12a1c +EBUILD protobuf-21.8.ebuild 4124 BLAKE2B ae66579a111e158ecb2d37f8190943c33e3f29eeb2a1806915423d88229b9f388b10a0d4baf055948344c89bfb16a7bc62f37d9acf96841d1372a18d2e95d994 SHA512 e70c0f5aecce8d0220d3a1d538c23ecbeef78539dc36f8f7f4e5a74e55b1e221a3366ed2ecad8cb300ed56a0bcf849c8eb9a5d85e386d6c1fc2e12a6db482c7f EBUILD protobuf-3.19.3.ebuild 4138 BLAKE2B b37b99abbd41acfb2299e1a054d3c36547bdd63542ecc76d03d69344d7e89a03870eda97bba1ae6ae3284c33abdfca6930e74b6ab7109d93cd588c522d6d52f6 SHA512 2eadab6fd0f4b30338a294b69c866ff945e98f05549403484700b2e44314433736a682ab033bc4c2eb0a802934cba92567e6c9bad4d30d79a67d671f88e04591 +EBUILD protobuf-3.19.6.ebuild 4331 BLAKE2B 0672fb5ecbd4080811f6c51f18accbaa1665d2e63ba5e9d6d422531638ac17ac475ff094cb59313c8c6ea0bf232b071b875091e15e033284e9f74f35fcaf194d SHA512 7ac1389f1895200c9c6d5067b03bbd95ee428ce6cbcee334eb23ec81102b9e0c24b548b755e5c26c5afbf72603e92600ab8118504f8e9127b288d33cc0b308fe EBUILD protobuf-3.20.1-r1.ebuild 3930 BLAKE2B 3ac2d80c6391f9147445a23fa39576ed5158bfde601f4a38f80784c9a29523c0749ec8572bd1910412bbae402237539f5ba3fa4fe5a16b188d9fbceb0babc3dc SHA512 3dfff6e4a92afb0707398ab58f00051269cbb8c70ac73ef1bfe532baa0ae59ea47fec2131f797f7fe4750929b966c2878676c235339762d8c447cdfd4bfa1c47 -EBUILD protobuf-9999.ebuild 3938 BLAKE2B 35b8a868ae096c0f74b5037051278e79ec8f0cf869b9effb038015ec11ff4775d04d13b6ffa8978066111e86d9387b23d2872ddc5991f3f9f71f11f2aebac064 SHA512 8edbd0f333611fdc9590369339cd68bff7e32a7f193c3cba72ccc3e923a970b205147accc430a4fe0df3e1edc0a0970f2857782728b82a6e78d4a631109e3849 +EBUILD protobuf-3.20.3.ebuild 4124 BLAKE2B 63f38b9330d49ae36131aa934e5b38cf87e10408370d92a59720b103ea499f00af61a4d22935ea361655349fcf6e584fdff45663b0d521bbc358d1039a1372b5 SHA512 511aad6e3a7af19a3f207657e9f9c6f20ef8c283e673d17f5ac1237f34bef615ae29b04a1461c0b743afbf9aa110007bf7fba847b2448c0eef3ba93c72fe970a +EBUILD protobuf-9999.ebuild 4124 BLAKE2B 80612d28804cb40f5dd36e014ffc996cae88c7a29f7da51654df768c938f5f91c736c7bba53a4dd4ed80dc7de460a48aeecba695312e63c9814e244053fa1b87 SHA512 57a1305fbe4500c43cda4bb6408a43e8b9e3e9cb9c0210a9f59ed3094f2f58bbbd21818c436f091918864e682ff8314b0aa8d30cddae03efccc58a5d06ccd2f7 MISC metadata.xml 595 BLAKE2B ba1b916e26b1e53f68e660f03d2e53fea8d22db04e8241ebec3ec20fbb251c2b164cf25d5fb6118423ce7721a822ae2302aab137b0748730e9a6860bf8e65668 SHA512 785e2550621b79b6350e1a6b52ed9992610769885fb29a9e92ee45a35158cc08707a3590dfcbece9ee9a5e16e1abfb614e8186132da7b942f2761b5e6ecfa827 diff --git a/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch b/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch new file mode 100644 index 000000000000..e4bf6858974a --- /dev/null +++ b/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch @@ -0,0 +1,240 @@ +https://github.com/protocolbuffers/protobuf/pull/235 + +--- a/src/google/protobuf/compiler/command_line_interface.cc ++++ b/src/google/protobuf/compiler/command_line_interface.cc +@@ -1112,6 +1112,28 @@ + } + + if (mode_ == MODE_ENCODE || mode_ == MODE_DECODE) { ++ bool success = false; ++ int in_fd = STDIN_FILENO; ++ 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; +@@ -1120,13 +1142,20 @@ + file.add_message_type()->set_name("EmptyMessage"); + GOOGLE_CHECK(pool.BuildFile(file) != nullptr); + 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; + } + } + +@@ -1165,6 +1194,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)) { +@@ -1888,6 +1922,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; +@@ -2021,22 +2061,38 @@ + --version Show version info and exit. + -h, --help Show this text and exit. + --encode=MESSAGE_TYPE Read a text-format message of the given type +- 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). +@@ -2347,7 +2403,9 @@ + return true; + } + +-bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool) { ++bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool, ++ int in_fd, ++ int out_fd) { + // Look up the type. + const Descriptor* type = pool->FindMessageTypeByName(codec_type_); + if (type == nullptr) { +@@ -2359,15 +2417,15 @@ + std::unique_ptr 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. +--- a/src/google/protobuf/compiler/command_line_interface.h ++++ b/src/google/protobuf/compiler/command_line_interface.h +@@ -294,7 +294,9 @@ + GeneratorContext* generator_context, std::string* error); + + // Implements --encode and --decode. +- bool EncodeOrDecode(const DescriptorPool* pool); ++ bool EncodeOrDecode(const DescriptorPool* pool, ++ int in_fd, ++ int out_fd); + + // Implements the --descriptor_set_out option. + bool WriteDescriptorSet( +@@ -429,6 +431,13 @@ + // parsed FileDescriptorSets to be used for loading protos. Otherwise, empty. + std::vector descriptor_set_in_names_; + ++ // When using --encode / --decode / --decode_raw absolute path to the output ++ // file. (Empty string indicates write to STDOUT). ++ std::string protobuf_out_path_; ++ // 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_; +--- a/src/google/protobuf/compiler/command_line_interface_unittest.cc ++++ b/src/google/protobuf/compiler/command_line_interface_unittest.cc +@@ -99,7 +99,7 @@ + void SetUp() override; + void TearDown() override; + +- // Runs the CommandLineInterface with the given command line. The ++ // Run the CommandLineInterface with the given command line. The + // command is automatically split on spaces, and the string "$tmpdir" + // is replaced with TestTempDir(). + void Run(const std::string& command); +@@ -2626,6 +2626,17 @@ + std::string::npos); + } + ++ void ExpectBinaryFilesMatch(const std::string &expected_file, ++ const std::string &actual_file) { ++ std::string expected_output, actual_output; ++ ASSERT_TRUE(File::ReadFileToString(expected_file, &expected_output)); ++ ASSERT_TRUE(File::ReadFileToString(actual_file, &actual_output)); ++ ++ // 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) { ++ std::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/protobuf-21.8.ebuild b/dev-libs/protobuf/protobuf-21.8.ebuild new file mode 100644 index 000000000000..523c763c265c --- /dev/null +++ b/dev-libs/protobuf/protobuf-21.8.ebuild @@ -0,0 +1,148 @@ +# Copyright 2008-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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.git" + EGIT_SUBMODULES=() +else + SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +fi + +DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" +HOMEPAGE=" + https://developers.google.com/protocol-buffers/ +" + +LICENSE="BSD" +SLOT="0/32" +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.20.2-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/9433 + sed -e "/^[[:space:]]*static_assert(alignof(U) <= 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 + + if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then + eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ + "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" + die "Please update SLOT variable" + fi + + insinto /usr/share/vim/vimfiles/syntax + doins editors/proto.vim + insinto /usr/share/vim/vimfiles/ftdetect + 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/dev-libs/protobuf/protobuf-3.19.6.ebuild b/dev-libs/protobuf/protobuf-3.19.6.ebuild new file mode 100644 index 000000000000..8784499c1fd7 --- /dev/null +++ b/dev-libs/protobuf/protobuf-3.19.6.ebuild @@ -0,0 +1,151 @@ +# Copyright 2008-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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.git" + EGIT_SUBMODULES=() +else + SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +fi + +DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" +HOMEPAGE=" + https://developers.google.com/protocol-buffers/ +" + +LICENSE="BSD" +SLOT="0/30" +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 + + if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then + eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ + "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" + die "Please update SLOT variable" + fi + + insinto /usr/share/vim/vimfiles/syntax + doins editors/proto.vim + insinto /usr/share/vim/vimfiles/ftdetect + 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/dev-libs/protobuf/protobuf-3.20.3.ebuild b/dev-libs/protobuf/protobuf-3.20.3.ebuild new file mode 100644 index 000000000000..cade7f688a49 --- /dev/null +++ b/dev-libs/protobuf/protobuf-3.20.3.ebuild @@ -0,0 +1,148 @@ +# Copyright 2008-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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.git" + EGIT_SUBMODULES=() +else + SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +fi + +DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" +HOMEPAGE=" + https://developers.google.com/protocol-buffers/ +" + +LICENSE="BSD" +SLOT="0/31" +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.20.2-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/9433 + sed -e "/^[[:space:]]*static_assert(alignof(U) <= 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 + + if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then + eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ + "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" + die "Please update SLOT variable" + fi + + insinto /usr/share/vim/vimfiles/syntax + doins editors/proto.vim + insinto /usr/share/vim/vimfiles/ftdetect + 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/dev-libs/protobuf/protobuf-9999.ebuild b/dev-libs/protobuf/protobuf-9999.ebuild index 0e620717ec44..9f84c789877f 100644 --- a/dev-libs/protobuf/protobuf-9999.ebuild +++ b/dev-libs/protobuf/protobuf-9999.ebuild @@ -5,24 +5,23 @@ EAPI=8 inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs -if [[ "${PV}" == "9999" ]]; then +if [[ "${PV}" == *9999 ]]; then inherit git-r3 - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" + EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" EGIT_SUBMODULES=() -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" + SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" fi +DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" +HOMEPAGE=" + https://developers.google.com/protocol-buffers/ +" + LICENSE="BSD" -SLOT="0/31" +SLOT="0/32" IUSE="emacs examples static-libs test zlib" RESTRICT="!test? ( test )" @@ -116,6 +115,12 @@ multilib_src_test() { multilib_src_install_all() { find "${ED}" -name "*.la" -delete || die + if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then + eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ + "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" + die "Please update SLOT variable" + fi + insinto /usr/share/vim/vimfiles/syntax doins editors/proto.vim insinto /usr/share/vim/vimfiles/ftdetect -- cgit v1.2.3