diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest index 8356674366..02133b74f7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/Manifest @@ -1,20 +1,7 @@ DIST protobuf-21.12.tar.gz 5141166 BLAKE2B 33500612d103afb817062486a741e8e5503f82c42c70054d47d1899e6bb79f3fdde2666cad5b8eff6e1bc539c3b0cdf9f2b125ce7e5d3a459a69e84d67ab535e SHA512 2dc8f552388438268d8b9f7a9e84c6abf1736be3d5031438c789c317410c9f4b5cedd25bf7da6d67b3ba32ca890869f9ddaab2284d6ac0e734a5b135ffbb1346 -DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1 -DIST protobuf-22.5.tar.gz 4924661 BLAKE2B d69c73f4ebfddf45fd94b4f5f898faf00256fe674f2cbc0443c60a88d7a0f47fb96f2f6262879927c6da88095b4ea3ee7fd4c471c100bf42a2bae9edf48c07f1 SHA512 058ab2fec5b11007972e6043071056d1944c3b6fe1d31246cddba8eb57686e3b5280f6ad3d58e78940ca63005e74a8de3c72237f9f7c5066548c5a2513ddc584 -DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b -DIST protobuf-23.4.tar.gz 5043507 BLAKE2B bf6a50771eb977ef92b779a32fd909693faae6394254c73e3c9b2729bce643f8cbfb5a1bd18b30abf3003b9fbfd24c074cea4085a6ccf14fdb6a3aeac9efcb89 SHA512 b93a4e0339ecbe085796de5b6c61feae35229d40db9019c043090bcaa483a1cce78a99487c5638482c68832fcede5579a0e5ec731221a88359b80db9bb6dc566 -DIST protobuf-24.4.tar.gz 5180235 BLAKE2B 1c7e9035d9f3810886baaea7d679414c882463c79828c99dd8895a9549638c1ca17f9ab3b38d461019f3e1412d9cb9584b995b1da99866eb6fdbb8bdeb063e6f SHA512 52b6ab5587d03cbd1f35cf3cdc388e1710fa50f3031559ac53cf754965407ded7602cdead56080444ab695588112cc3391a1d7fdd5e565d90d0af7ad08706315 -DIST protobuf-25.3.tar.gz 5878962 BLAKE2B 9268f9bd993a1cfd6d3937a2ad56ba4cfe3d84923756513841cbf13039d4a07acb260468745cb1294f30334cb34b45c6fde272f5c40d9de63ac6a4ce5c263077 SHA512 1f73e237c919082e5423ae9e2ea8813dccf672c059051d1531fe89ffaa45872d3cf3052b8c3af26f674296ec17d7dc861c67b8f0834ed80261ce4a6a14ed7115 -DIST protobuf-25.4.tar.gz 5878444 BLAKE2B 9b40985bda31a84dd3ab7a1d18f746d5f88660d9e036a20234cbc85e79322005d2ffd4e60d72c55a8b5f624d7cc50522771f0804f203f2eabca7b0b8ace0545e SHA512 1b3ba1a1575bcc9d52ddce93d466912863d600dfbb40f64845b8e66c8000047d05508b8f1baba8d5eef42a7ff90eb778f7c8a553c9ec2778fd3a9a18122c67ab -DIST protobuf-25.5.tar.gz 5877036 BLAKE2B a8174c7cbda47afa3f31d64c7a7aa7f233efd5df5a783abedd229613c8c27a2380684fb5851dad67f76f063688dd8060a0a373f2c95441c2ad91630eb187af22 SHA512 9fe130f5c04919accc99113e13096df93db4c2254a9c2428faf9459416907c77fbf4adefbae3fe644e1f26d9c1fc597165e2c5b6219156c97500d6ef3fdc0793 DIST protobuf-25.6.tar.gz 5878040 BLAKE2B b82848406890460d9321e6736e413290e1b4a73dc5f2d3db17dd4419e7ddbb788b6cdb52c884c3e7f0c49c5a69ce31468dcc311d73efca06f94ec51577472fcc SHA512 f1920414bbaed0a882b73349e1cd9cdf87c0d9c99790d70ab8ef589161a8dcad92361daec67bf9bf8350f4181fa8514b50362f1495f082ba5805c4a2e70b6308 -DIST protobuf-26.1.tar.gz 5957903 BLAKE2B 1a7faab2f56aa0995801a80f73a812c7fc38a00af0bf25bdd5eecf7aec27a86a575ea2fb8484787d19c9ac6e46007c9864e79464f529c446f31af732981feed1 SHA512 0363ac09f92d8e040491425d444c8dca0b9b430e02d2dff6e2b28a0c2b2bea0d33a47f50bc9e2e2d4e8e22b65a02009a20c0066fb89c75df93a7b703dda42ed4 -DIST protobuf-27.2.tar.gz 6282174 BLAKE2B 86d12e9f87e8e1c2961ad517115c8689a8dd984722513816d8d626e59a76f5e7a698a90cbf6007daacf66c6053c9ff28108ff113579a442ce61cd221178bda44 SHA512 664c66b62cf1ed0c65d9b910d8e67d4d5d471113697f1b8edf1573cd5c0fc8e850ac53ce984e48e6c6b9cbbefa12f8530058384e7388e65a59c1e46d03772397 -DIST protobuf-27.4.tar.gz 9156456 BLAKE2B 004427f4923e523bf77298600bf91a8fe4ca8be4bd6da5b7efcfe9186a032155e525426f83f683e1bed1e799ed1e62d250053386c1463cbd0c062bd05da786d0 SHA512 d076ce7e075096d0dba7ee2314b12e3223c4239c019e25670636a0ef812ddf0ce3f1fd9b9fe8517319db87b14bbdb2653cc4e06023f90032dfedb014457b2863 -DIST protobuf-27.5.tar.gz 9153935 BLAKE2B 08b1b5927188e68ef2ae8ce8cdc6f21c34ee8453f4dfaeb362a7f5a5f0ee5ddc24772e5583ab10fbf193aa43e7fdd316e8fbbe4d066df704aef5469dae01fc8d SHA512 bb266483b11268c207aa0e8ce76442351a331f30151586714d57ed7c9bae05f09aabf5042b90eac85658f708671ba0b33c64d1c58a91a24c00bbf4f4ffdce1bb DIST protobuf-28.0.tar.gz 9259114 BLAKE2B 328e09ebffb296d838557ea72a4fc4da8e0ad5f1edfccebcc8ee7c9e0e74d06e5e6dbad741fd89f6a4502c1cb246a973fd60c035ccdbf89700b7baff49e2a65e SHA512 8745f625ac781f3bbefe9494cbf570143d38aecc1521edef7a52ffb403b8be24df2c71f4f2410b5a5b78a0f3e8a38a7d19be2cf916b1b9125349d2da18262cd1 -DIST protobuf-28.3.tar.gz 9256608 BLAKE2B 05162124676abe18300481e9f985fd2cfb09b052d06670a993e79ef02f3daf0d5380b521977ebc2362d4094486151ea285fe1c98a1d2f3799b18a1fa422fdc13 SHA512 a91e175fed7eb01c4240842a5af73a7d3cefccbb10885434bceeb7bc89ab6c56a74912cee290bf46e81d4026f3c9c2b10faad5545816064e215c4bae7908263d -DIST protobuf-29.2.tar.gz 9348408 BLAKE2B 847798474bc6a76b9badfdbf605e118dece5e321e81242d7fa1bf5f5d17ee05a3d365ec112dc6d861cade97efff8be1d5d04006a5144f613bdb3ff5eacc63b99 SHA512 aeb21773edc3dd92a6c1ba6ccd721cc8a20d61230a5309c75ee3ef19baa554c228a6d1095f191ccc18f10183b646f3140dfe6526f5812bcaa64b7d5260572643 -DIST protobuf-29.4.tar.gz 9350942 BLAKE2B fd3b81905e26db2ec3b54eaf30cf250db2894f91d5da73130106f6778f4e2f13b690961eecb8f5b8c23ac72428753611cd9bf719da986083e09ab32160e25314 SHA512 c888cb9961d58b7fb11a3363ff4d2684605cdd79756712f407ffe5f275569bf69b4370f1d2a0e20775646745cddd41a9b510f1c1981be4e969c9acf0dc2ba734 +DIST protobuf-29.5.tar.gz 9338935 BLAKE2B cfffcab9e240047c1759f8304b0c2f553bf73c7dc2cfcf101eb1fad3a0f90991e9aa998ca34c7c9534cd4209edf50691e17b75208ae726565505cdb2ab229a7f SHA512 3f3bc241c8babe5988678386d83ef2a75e202bb109f47d62b2ee7915c9b1c080590c2812f6635ba61c41e9570a0aeaa4789cdcba80c917c33ff52ba1817811bb DIST protobuf-30.2.tar.gz 9506934 BLAKE2B 3a7d6bfa38500b16b1ce52b244fd9448fe7be2933a77224a1423a67e3ae3155846c0974ee1b6c579f6050f60b7784ace21b149b3cbdff2ef1e6bf954acbb1b51 SHA512 555d1b18d175eeaf17f3879f124d33080f490367840d35b34bfc4e4a5b383bf6a1d09f1570acb6af9c53ac4940a14572d46423b6e3dd0c712e7802c986fb6be6 DIST protobuf-31.1.tar.gz 9583956 BLAKE2B cd15fc6d25bee71681602cf97c19dc04de9900594b0c0648decf418bdcc0cf787315b2238c18cb0b1eaf7b163ddbbfb7853cc5cff635b4841fcb8b20d94825fd SHA512 5bf730e37183defcb29cf4831128f536ad8bcdce2b2b46b297d95f3de4a037b9ff3b6c57df66a039256dcefd828ba9d43c32b01a7a82aa5c881a9ae12cadb643 +DIST protobuf-32.1.tar.gz 9676391 BLAKE2B f6c1faa260ecb57c0a1a5d4be7d56e431cac9e325a02b86d9eecd0318a0964618063db218a4720fcb1121614016f112ba00880a5b743a5c34f19f79ea4420735 SHA512 e7f8fe01912ba30cc7ce101beac1cfbd089bcb57b159a57d4d90cabd1b29d978ad322f0607e1b955617f035a6b68d4e7bc940fa4afa67d255a21f513a2c62172 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-21.9-disable-32-bit-tests.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-21.9-disable-32-bit-tests.patch deleted file mode 100644 index cd6b5aa2db..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-21.9-disable-32-bit-tests.patch +++ /dev/null @@ -1,118 +0,0 @@ -https://bugs.gentoo.org/875584 -https://github.com/protocolbuffers/protobuf/pull/10589 - -From 5f4a52d9bff7595ec47fb6727662a1cada3cd404 Mon Sep 17 00:00:00 2001 -From: Mike Kruskal -Date: Thu, 15 Sep 2022 10:23:23 -0700 -Subject: [PATCH 3/7] Patching static assert test failure - ---- a/src/google/protobuf/extension_set_unittest.cc -+++ b/src/google/protobuf/extension_set_unittest.cc -@@ -855,8 +855,10 @@ TEST(ExtensionSetTest, SpaceUsedExcludingSelf) { - const size_t old_capacity = \ - message->GetRepeatedExtension(unittest::repeated_##type##_extension) \ - .Capacity(); \ -- EXPECT_GE(old_capacity, \ -- (RepeatedFieldLowerClampLimit())); \ -+ EXPECT_GE( \ -+ old_capacity, \ -+ (RepeatedFieldLowerClampLimit())); \ - for (int i = 0; i < 16; ++i) { \ - message->AddExtension(unittest::repeated_##type##_extension, value); \ - } \ - -From c94b66706bec17d918495f4715183a5eaf0f8044 Mon Sep 17 00:00:00 2001 -From: Mike Kruskal -Date: Thu, 15 Sep 2022 11:31:31 -0700 -Subject: [PATCH 4/7] Test fixes for 32-bit architectures - ---- a/src/google/protobuf/compiler/cpp/message_size_unittest.cc -+++ b/src/google/protobuf/compiler/cpp/message_size_unittest.cc -@@ -139,9 +139,9 @@ TEST(GeneratedMessageTest, OneStringSize) { - - TEST(GeneratedMessageTest, MoreStringSize) { - struct MockGenerated : public MockMessageBase { // 16 bytes -- int has_bits[1]; // 4 bytes - int cached_size; // 4 bytes - MockRepeatedPtrField data; // 24 bytes -+ // + 4 bytes padding - }; - GOOGLE_CHECK_MESSAGE_SIZE(MockGenerated, 48); - EXPECT_EQ(sizeof(protobuf_unittest::MoreString), sizeof(MockGenerated)); ---- a/src/google/protobuf/io/zero_copy_stream_unittest.cc -+++ b/src/google/protobuf/io/zero_copy_stream_unittest.cc -@@ -720,6 +720,9 @@ TEST_F(IoTest, StringIo) { - - // Verifies that outputs up to kint32max can be created. - TEST_F(IoTest, LargeOutput) { -+ // Filter out this test on 32-bit architectures. -+ if(sizeof(void*) < 8) return; -+ - std::string str; - StringOutputStream output(&str); - void* unused_data; ---- a/src/google/protobuf/repeated_field_unittest.cc -+++ b/src/google/protobuf/repeated_field_unittest.cc -@@ -429,14 +429,14 @@ TEST(RepeatedField, ReserveNothing) { - - TEST(RepeatedField, ReserveLowerClamp) { - int clamped_value = internal::CalculateReserveSize(0, 1); -- EXPECT_GE(clamped_value, 8 / sizeof(bool)); -+ EXPECT_GE(clamped_value, sizeof(void*) / sizeof(bool)); - EXPECT_EQ((internal::RepeatedFieldLowerClampLimit()), - clamped_value); - // EXPECT_EQ(clamped_value, (internal::CalculateReserveSize( clamped_value, 2))); - - clamped_value = internal::CalculateReserveSize(0, 1); -- EXPECT_GE(clamped_value, 8 / sizeof(int)); -+ EXPECT_GE(clamped_value, sizeof(void*) / sizeof(int)); - EXPECT_EQ((internal::RepeatedFieldLowerClampLimit()), - clamped_value); - // EXPECT_EQ(clamped_value, (internal::CalculateReserveSize= sizeof(uint64_t)) { -+ Timestamp begin, end; -+ EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin)); -+ EXPECT_EQ(TimeUtil::kTimestampMinSeconds, begin.seconds()); -+ EXPECT_EQ(0, begin.nanos()); -+ EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end)); -+ EXPECT_EQ(TimeUtil::kTimestampMaxSeconds, end.seconds()); -+ EXPECT_EQ(999999999, end.nanos()); -+ EXPECT_EQ("0001-01-01T00:00:00Z", TimeUtil::ToString(begin)); -+ EXPECT_EQ("9999-12-31T23:59:59.999999999Z", TimeUtil::ToString(end)); -+ } - - // Test negative timestamps. - Timestamp time = TimeUtil::NanosecondsToTimestamp(-1); -@@ -94,9 +97,12 @@ TEST(TimeUtilTest, DurationStringFormat) { - EXPECT_TRUE(TimeUtil::FromString("0001-01-01T00:00:00Z", &begin)); - EXPECT_TRUE(TimeUtil::FromString("9999-12-31T23:59:59.999999999Z", &end)); - -- EXPECT_EQ("315537897599.999999999s", TimeUtil::ToString(end - begin)); -+ // These these are out of bounds for 32-bit architectures. -+ if(sizeof(time_t) >= sizeof(uint64_t)) { -+ EXPECT_EQ("315537897599.999999999s", TimeUtil::ToString(end - begin)); -+ EXPECT_EQ("-315537897599.999999999s", TimeUtil::ToString(begin - end)); -+ } - EXPECT_EQ(999999999, (end - begin).nanos()); -- EXPECT_EQ("-315537897599.999999999s", TimeUtil::ToString(begin - end)); - EXPECT_EQ(-999999999, (begin - end).nanos()); - - // Generated output should contain 3, 6, or 9 fractional digits. diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-22.5-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-22.5-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch deleted file mode 100644 index 4bbed7ecba..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-22.5-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 4329fde9cf3fab7d1b3a9abe0fbeee1ad8a8b111 Mon Sep 17 00:00:00 2001 -From: "Romain Geissler @ Amadeus" -Date: Tue, 6 Jun 2023 10:49:55 -0700 -Subject: [PATCH] Use the same ABI for static and shared libraries on - non-Windows platforms (#12983) - -Hi, - -It seems that until last year, the logic behind `PROTOBUF_USE_DLLS` was for Windows (MSCV) only. It was changed to all platforms here in https://github.com/protocolbuffers/protobuf/commit/5a0887fc6529596eff5c0f72febc602a9d494cc2 - -Last month, the generated pkg config files were updated to reflect the protobuf build-time value of `PROTOBUF_USE_DLLS` as it was indeed noted that it changes the ABI. This was done in https://github.com/protocolbuffers/protobuf/pull/12700 In the commit message it is mentionned that most likely we shall rather have a stable ABI. - -Finally in https://github.com/protocolbuffers/protobuf/issues/12746 which at some point mentions https://issuetracker.google.com/issues/283987730#comment7 where a Google employee hits the linker issue: -``` -undefined reference to `google::protobuf::internal::ThreadSafeArena::thread_cache_' -``` -which denotes a mix of some .o or libs built `PROTOBUF_USE_DLLS` defined and some others build with `PROTOBUF_USE_DLLS` undefined, resulting in ABI incompatibilities. - -I also hit this issue while trying to include protobuf in a corporate environment using it's own proprietary build system in which it is expected that .a and .so use a compatible ABI. - -From my own understanding, ideally we should always use `thread_local` variables, but experience has shown that: - - old iOS (iOS < 9) didn't seem to accept `thread_local`, leading to the `GOOGLE_PROTOBUF_NO_THREADLOCAL` macro later renamed `PROTOBUF_NO_THREADLOCAL` which allowed to disable this, but it is not set anywhere in the protobuf code base. Also I doubt you still want to support such old iOS now, so maybe you should consider removing all `PROTOBUF_NO_THREADLOCAL` related code paths (this pull request doesn't do this). - - MSVC's DLL interface doesn't seem to accept exporting thread local variables (at least from what I understood, I know absolutely nothing about the Windows ecosystem), yet we can "hide" a thread local variable in a static function using a thread local variable. However in that case the access to TLS variable is not inlined, leading to worse performances, this hack shall be done only for Windows (actually when using MSVC) *AND* we build a shared library. - - In all other cases, a classical `thread_local` shall be used, no matter if we build a static or a shared library. In particular on Linux which I guess is the target Google cares the more about for its own production. This pull request achieves this. - -Am I right in my conclusion ? - -Closes #12983 - -COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/12983 from Romain-Geissler-1A:stable-abi-use-dll-non-windows dc23ff50f67cf0c8e45900a78700d1fc3e8bec39 -PiperOrigin-RevId: 538230923 ---- - src/google/protobuf/arena.cc | 2 +- - src/google/protobuf/reflection_mode.cc | 2 +- - src/google/protobuf/reflection_mode.h | 10 ++++++---- - src/google/protobuf/thread_safe_arena.h | 6 +++--- - 4 files changed, 11 insertions(+), 9 deletions(-) - -diff --git a/src/google/protobuf/arena.cc b/src/google/protobuf/arena.cc -index 51afdbdaf..6577a3669 100644 ---- a/src/google/protobuf/arena.cc -+++ b/src/google/protobuf/arena.cc -@@ -519,7 +519,7 @@ ThreadSafeArena::ThreadCache& ThreadSafeArena::thread_cache() { - new internal::ThreadLocalStorage(); - return *thread_cache_->Get(); - } --#elif defined(PROTOBUF_USE_DLLS) -+#elif defined(PROTOBUF_USE_DLLS) && defined(_MSC_VER) - ThreadSafeArena::ThreadCache& ThreadSafeArena::thread_cache() { - static PROTOBUF_THREAD_LOCAL ThreadCache thread_cache; - return thread_cache; -diff --git a/src/google/protobuf/thread_safe_arena.h b/src/google/protobuf/thread_safe_arena.h -index e6e3b7fae..f53993a85 100644 ---- a/src/google/protobuf/thread_safe_arena.h -+++ b/src/google/protobuf/thread_safe_arena.h -@@ -260,9 +260,9 @@ class PROTOBUF_EXPORT ThreadSafeArena { - // iOS does not support __thread keyword so we use a custom thread local - // storage class we implemented. - static ThreadCache& thread_cache(); --#elif defined(PROTOBUF_USE_DLLS) -- // Thread local variables cannot be exposed through DLL interface but we can -- // wrap them in static functions. -+#elif defined(PROTOBUF_USE_DLLS) && defined(_MSC_VER) -+ // Thread local variables cannot be exposed through MSVC DLL interface but we -+ // can wrap them in static functions. - static ThreadCache& thread_cache(); - #else - PROTOBUF_CONSTINIT static PROTOBUF_THREAD_LOCAL ThreadCache thread_cache_; --- -2.43.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-22.5-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-22.5-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch deleted file mode 100644 index fcf39e1e3e..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-22.5-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch +++ /dev/null @@ -1,32 +0,0 @@ -From fc1c5512e524e0c00a276aa9a38b2cdb8fdf45c7 Mon Sep 17 00:00:00 2001 -From: Protobuf Team Bot -Date: Thu, 1 Jun 2023 09:14:48 -0700 -Subject: [PATCH] fix: missing `PROTOBUF_EXPORT` for public symbols - -PiperOrigin-RevId: 537042088 ---- - src/google/protobuf/io/strtod.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/google/protobuf/io/strtod.h b/src/google/protobuf/io/strtod.h -index 851c8e621..b368e4d87 100644 ---- a/src/google/protobuf/io/strtod.h -+++ b/src/google/protobuf/io/strtod.h -@@ -60,12 +60,12 @@ PROTOBUF_EXPORT std::string SimpleFtoa(float value); - - // A locale-independent version of the standard strtod(), which always - // uses a dot as the decimal separator. --double NoLocaleStrtod(const char* str, char** endptr); -+PROTOBUF_EXPORT double NoLocaleStrtod(const char* str, char** endptr); - - // Casts a double value to a float value. If the value is outside of the - // representable range of float, it will be converted to positive or negative - // infinity. --float SafeDoubleToFloat(double value); -+PROTOBUF_EXPORT float SafeDoubleToFloat(double value); - - } // namespace io - } // namespace protobuf --- -2.43.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-23.3-messages_lite-template-instances.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-23.3-messages_lite-template-instances.patch deleted file mode 100644 index 3869ad9599..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-23.3-messages_lite-template-instances.patch +++ /dev/null @@ -1,66 +0,0 @@ -https://bugs.gentoo.org/917046 -https://github.com/protocolbuffers/protobuf/commit/e6f8b9d1026996f6463d4f014d7760256b757227 - -From e6f8b9d1026996f6463d4f014d7760256b757227 Mon Sep 17 00:00:00 2001 -From: Protobuf Team Bot -Date: Wed, 8 Nov 2023 09:20:10 -0800 -Subject: [PATCH] message_lite.h: Use PROTOBUF_EXPORT_TEMPLATE_DECLARE with - extern template - -Export extern templates in message_lite.h to avoid missing symbols when -linking protobuf-lite.so. - -PiperOrigin-RevId: 580556084 ---- a/src/google/protobuf/message_lite.h -+++ b/src/google/protobuf/message_lite.h -@@ -616,22 +616,22 @@ namespace internal { - template - bool MergeFromImpl(absl::string_view input, MessageLite* msg, - MessageLite::ParseFlags parse_flags); --extern template bool MergeFromImpl(absl::string_view input, -- MessageLite* msg, -- MessageLite::ParseFlags parse_flags); --extern template bool MergeFromImpl(absl::string_view input, -- MessageLite* msg, -- MessageLite::ParseFlags parse_flags); -+extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( -+ absl::string_view input, MessageLite* msg, -+ MessageLite::ParseFlags parse_flags); -+extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( -+ absl::string_view input, MessageLite* msg, -+ MessageLite::ParseFlags parse_flags); - - template - bool MergeFromImpl(io::ZeroCopyInputStream* input, MessageLite* msg, - MessageLite::ParseFlags parse_flags); --extern template bool MergeFromImpl(io::ZeroCopyInputStream* input, -- MessageLite* msg, -- MessageLite::ParseFlags parse_flags); --extern template bool MergeFromImpl(io::ZeroCopyInputStream* input, -- MessageLite* msg, -- MessageLite::ParseFlags parse_flags); -+extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( -+ io::ZeroCopyInputStream* input, MessageLite* msg, -+ MessageLite::ParseFlags parse_flags); -+extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( -+ io::ZeroCopyInputStream* input, MessageLite* msg, -+ MessageLite::ParseFlags parse_flags); - - struct BoundedZCIS { - io::ZeroCopyInputStream* zcis; -@@ -641,10 +641,10 @@ struct BoundedZCIS { - template - bool MergeFromImpl(BoundedZCIS input, MessageLite* msg, - MessageLite::ParseFlags parse_flags); --extern template bool MergeFromImpl(BoundedZCIS input, MessageLite* msg, -- MessageLite::ParseFlags parse_flags); --extern template bool MergeFromImpl(BoundedZCIS input, MessageLite* msg, -- MessageLite::ParseFlags parse_flags); -+extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( -+ BoundedZCIS input, MessageLite* msg, MessageLite::ParseFlags parse_flags); -+extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl( -+ BoundedZCIS input, MessageLite* msg, MessageLite::ParseFlags parse_flags); - - template - struct SourceWrapper; - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.19.0-disable_no-warning-test.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.19.0-disable_no-warning-test.patch deleted file mode 100644 index eb3dd0c1cb..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.19.0-disable_no-warning-test.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 12e381222a8cdce50845dfb7d8fdf863f6f8bb8a Mon Sep 17 00:00:00 2001 -From: Arfrever Frehtes Taifersar Arahesis -Date: Fri, 28 Jan 2022 15:08:40 +0800 -Subject: [PATCH] protobuf-3.19.0: disable no-warning test - -Disable no-warning-test which is compiled with -Werror option -and whose only purpose is checking if compilation results in any warnings. - -Signed-off-by: Arfrever Frehtes Taifersar Arahesis -Signed-off-by: Yixun Lan ---- - src/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 3312e5d..7e86b62 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -722,7 +722,7 @@ GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest - GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock - check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ - protobuf-lite-test test_plugin protobuf-lite-arena-test \ -- no-warning-test $(GZCHECKPROGRAMS) -+ $(GZCHECKPROGRAMS) - protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ - $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ - $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -@@ -911,4 +911,4 @@ nodist_no_warning_test_SOURCES = no_warning_test.cc $(protoc_outputs) - - TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \ - google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS) \ -- protobuf-lite-arena-test no-warning-test -+ protobuf-lite-arena-test --- -2.34.1 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.19.0-system_libraries.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.19.0-system_libraries.patch deleted file mode 100644 index 56905c7847..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.19.0-system_libraries.patch +++ /dev/null @@ -1,146 +0,0 @@ -From c080d329298e841d7d4e1380ff7ec88de5cb3b02 Mon Sep 17 00:00:00 2001 -From: Arfrever Frehtes Taifersar Arahesis -Date: Fri, 28 Jan 2022 15:14:59 +0800 -Subject: [PATCH] protobuf-3.19.0: system_libraries - -Use system version of GoogleTest, -which will unbundle gtest, gmock libraries - -Signed-off-by: Arfrever Frehtes Taifersar Arahesis -Signed-off-by: Yixun Lan ---- - Makefile.am | 20 +------------------- - configure.ac | 7 ------- - src/Makefile.am | 33 ++++++--------------------------- - 3 files changed, 7 insertions(+), 53 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 41d4061..b24f8f4 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -11,28 +11,10 @@ SUBDIRS = . src - # Always include third_party directories in distributions. - DIST_SUBDIRS = src conformance benchmarks third_party/googletest - --# Build gmock before we build protobuf tests. We don't add gmock to SUBDIRS --# because then "make check" would also build and run all of gmock's own tests, --# which takes a lot of time and is generally not useful to us. Also, we don't --# want "make install" to recurse into gmock since we don't want to overwrite --# the installed version of gmock if there is one. - check-local: -- @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock" -- @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la -- @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la - --# We would like to clean gmock when "make clean" is invoked. But we have to --# be careful because clean-local is also invoked during "make distclean", but --# "make distclean" already recurses into gmock because it's listed among the --# DIST_SUBDIRS. distclean will delete gmock/Makefile, so if we then try to --# cd to the directory again and "make clean" it will fail. So, check that the --# Makefile exists before recursing. - clean-local: -- @if test -e third_party/googletest/Makefile; then \ -- echo "Making clean in googletest"; \ -- cd third_party/googletest && $(MAKE) $(AM_MAKEFLAGS) clean; \ -- fi; \ -- if test -e conformance/Makefile; then \ -+ @if test -e conformance/Makefile; then \ - echo "Making clean in conformance"; \ - cd conformance && $(MAKE) $(AM_MAKEFLAGS) clean; \ - fi; \ -diff --git a/configure.ac b/configure.ac -index 02085ca..449fb3d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -236,12 +236,5 @@ if test "x$ANDROID_TEST" = xyes; then - fi - AC_SUBST([LIBLOG_LIBS]) - --# HACK: Make gmock's configure script pick up our copy of CFLAGS and CXXFLAGS, --# since the flags added by ACX_CHECK_SUNCC must be used when compiling gmock --# too. --export CFLAGS --export CXXFLAGS --AC_CONFIG_SUBDIRS([third_party/googletest]) -- - AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc]) - AC_OUTPUT -diff --git a/src/Makefile.am b/src/Makefile.am -index 7e86b62..47d759f 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -716,19 +716,11 @@ COMMON_TEST_SOURCES = \ - google/protobuf/testing/googletest.cc \ - google/protobuf/testing/googletest.h - --GOOGLETEST_BUILD_DIR=../third_party/googletest/googletest --GOOGLEMOCK_BUILD_DIR=../third_party/googletest/googlemock --GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest --GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock - check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ - protobuf-lite-test test_plugin protobuf-lite-arena-test \ - $(GZCHECKPROGRAMS) - protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \ -- -I$(GOOGLEMOCK_SRC_DIR)/include -+ -lgtest -lgmock -lgmock_main - # Disable optimization for tests unless the user explicitly asked for it, - # since test_util.cc takes forever to compile with optimization (with GCC). - # See configure.ac for more info. -@@ -820,12 +812,8 @@ $(am_protobuf_test_OBJECTS): unittest_proto_middleman - # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined. - protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \ - libprotoc.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ -- -I$(GOOGLETEST_SRC_DIR)/include \ -- -DPROTOBUF_TEST_NO_DESCRIPTORS -+ -lgtest -lgmock -lgmock_main -+protobuf_lazy_descriptor_test_CPPFLAGS = -DPROTOBUF_TEST_NO_DESCRIPTORS - protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) - protobuf_lazy_descriptor_test_SOURCES = \ - google/protobuf/compiler/cpp/cpp_unittest.cc \ -@@ -847,11 +835,7 @@ COMMON_LITE_TEST_SOURCES = \ - # full runtime and we want to make sure this test builds without full - # runtime. - protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_lite_test_CPPFLAGS= -I$(GOOGLEMOCK_SRC_DIR)/include \ -- -I$(GOOGLETEST_SRC_DIR)/include -+ -lgtest -lgmock -lgmock_main - protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) - protobuf_lite_test_SOURCES = \ - google/protobuf/lite_unittest.cc \ -@@ -863,11 +847,7 @@ $(am_protobuf_lite_test_OBJECTS): unittest_proto_middleman - # gtest when building the test internally our memory sanitizer doesn't detect - # memory leaks (don't know why). - protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ -- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la --protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ -- -I$(GOOGLETEST_SRC_DIR)/include -+ -lgtest -lgmock -lgmock_main - protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) - protobuf_lite_arena_test_SOURCES = \ - google/protobuf/lite_arena_unittest.cc \ -@@ -877,8 +857,7 @@ $(am_protobuf_lite_arena_test_OBJECTS): unittest_proto_middleman - - # Test plugin binary. - test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ -- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la --test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include -+ -lgtest - test_plugin_SOURCES = \ - google/protobuf/compiler/mock_code_generator.cc \ - google/protobuf/compiler/test_plugin.cc \ --- -2.34.1 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch deleted file mode 100644 index e4bf685897..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/files/protobuf-3.20.2-protoc_input_output_files.patch +++ /dev/null @@ -1,240 +0,0 @@ -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/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-21.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-21.9.ebuild deleted file mode 100644 index ede7e07687..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-21.9.ebuild +++ /dev/null @@ -1,149 +0,0 @@ -# Copyright 2008-2025 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 ~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" - "${FILESDIR}/${PN}-21.9-disable-32-bit-tests.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/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r1.ebuild deleted file mode 100644 index ca830b5f58..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r1.ebuild +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright 2008-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common flag-o-matic 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 ~loong ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -SLOT="0/$(ver_cut 1-2).0" -IUSE="emacs examples test zlib" -RESTRICT="!test? ( test )" - -BDEPEND="emacs? ( app-editors/emacs:* )" -DEPEND=" - =dev-cpp/abseil-cpp-20230125:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) - test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - =dev-cpp/abseil-cpp-20230125:=[${MULTILIB_USEDEP}] - emacs? ( app-editors/emacs:* ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -PATCHES=( - "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${P}-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch" - "${FILESDIR}/${P}-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -src_prepare() { - eapply_user - append-cxxflags -std=c++17 - cmake_src_prepare -} - -src_configure() { - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - cmake-multilib_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -DCMAKE_CXX_STANDARD=17 - -Dprotobuf_DISABLE_RTTI=ON - -Dprotobuf_BUILD_EXAMPLES=$(usex examples) - -Dprotobuf_WITH_ZLIB=$(usex zlib) - -Dprotobuf_BUILD_TESTS=$(usex test) - -Dprotobuf_ABSL_PROVIDER=package - ) - use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}"/src - cmake-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 - doins "${FILESDIR}/proto.vim" - - if use emacs; then - elisp-install ${PN} editors/protobuf-mode.el* - elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el" - fi - - if use examples; then - DOCS+=(examples) - docompress -x /usr/share/doc/${PF}/examples - fi - - einstalldocs -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r2.ebuild deleted file mode 100644 index b8dbe90536..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-22.5-r2.ebuild +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 2008-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common flag-o-matic toolchain-funcs - -ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" - -if [[ "${PV}" == *9999 ]]; then - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" - EGIT_SUBMODULES=( '-*' ) - - inherit git-r3 -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -SLOT="0/$(ver_cut 1-2).0" -IUSE="emacs examples test zlib" -RESTRICT="!test? ( test )" - -BDEPEND=" - emacs? ( app-editors/emacs:* ) -" - -COMMON_DEPEND=" - dev-libs/jsoncpp - >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -DEPEND=" - ${COMMON_DEPEND} - test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${COMMON_DEPEND} - ${BDEPEND} -" - -PATCHES=( - "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${P}-fix-missing-PROTOBUF_EXPORT-for-public-symbols.patch" - "${FILESDIR}/${P}-Use-the-same-ABI-for-static-and-shared-libraries-on-.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -src_prepare() { - eapply_user - append-cxxflags -std=c++17 - cmake_src_prepare -} - -src_configure() { - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - cmake-multilib_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_DISABLE_RTTI="yes" # TODO why? - -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" - -Dprotobuf_WITH_ZLIB="$(usex zlib)" - -Dprotobuf_BUILD_TESTS="$(usex test)" - -Dprotobuf_ABSL_PROVIDER="package" - ) - use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}"/src - cmake-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 - doins "${FILESDIR}/proto.vim" - - if use emacs; then - elisp-install "${PN}" editors/protobuf-mode.el* - elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el" - fi - - if use examples; then - DOCS+=(examples) - docompress -x "/usr/share/doc/${PF}/examples" - fi - - einstalldocs -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.3-r4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.3-r4.ebuild deleted file mode 100644 index 6a47828975..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.3-r4.ebuild +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright 2008-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common 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 ~loong ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -SLOT="0/$(ver_cut 1-2).0" -IUSE="emacs examples test zlib" -RESTRICT="!test? ( test )" - -BDEPEND="emacs? ( app-editors/emacs:* )" -DEPEND=" - =dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) - test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - =dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}] - emacs? ( app-editors/emacs:* ) - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -PATCHES=( - "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${PN}-23.3-messages_lite-template-instances.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -src_configure() { - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - cmake-multilib_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_DISABLE_RTTI=ON - -Dprotobuf_BUILD_EXAMPLES=$(usex examples) - -Dprotobuf_WITH_ZLIB=$(usex zlib) - -Dprotobuf_BUILD_TESTS=$(usex test) - -Dprotobuf_ABSL_PROVIDER=package - ) - use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}"/src - cmake-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 - doins "${FILESDIR}/proto.vim" - - if use emacs; then - elisp-install ${PN} editors/protobuf-mode.el* - elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el" - fi - - if use examples; then - DOCS+=(examples) - docompress -x /usr/share/doc/${PF}/examples - fi - - einstalldocs -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.4.ebuild deleted file mode 100644 index 87f127940a..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-23.4.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2008-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common toolchain-funcs - -ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" - -if [[ "${PV}" == *9999 ]]; then - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" - EGIT_SUBMODULES=( '-*' ) - - inherit git-r3 -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -SLOT="0/$(ver_cut 1-2).0" -IUSE="emacs examples test zlib" -RESTRICT="!test? ( test )" - -BDEPEND=" - emacs? ( app-editors/emacs:* ) -" - -COMMON_DEPEND=" - dev-libs/jsoncpp - >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -DEPEND=" - ${COMMON_DEPEND} - test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${COMMON_DEPEND} - ${BDEPEND} -" - -PATCHES=( - "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${PN}-23.3-messages_lite-template-instances.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -src_configure() { - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - cmake-multilib_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_DISABLE_RTTI="yes" # TODO why? - -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" - -Dprotobuf_WITH_ZLIB="$(usex zlib)" - -Dprotobuf_BUILD_TESTS="$(usex test)" - -Dprotobuf_ABSL_PROVIDER="package" - ) - use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}"/src - cmake-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 - doins "${FILESDIR}/proto.vim" - - if use emacs; then - elisp-install "${PN}" editors/protobuf-mode.el* - elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el" - fi - - if use examples; then - DOCS+=(examples) - docompress -x "/usr/share/doc/${PF}/examples" - fi - - einstalldocs -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-24.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-24.4.ebuild deleted file mode 100644 index c3681d98ce..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-24.4.ebuild +++ /dev/null @@ -1,125 +0,0 @@ -# Copyright 2008-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common toolchain-funcs - -ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" - -if [[ "${PV}" == *9999 ]]; then - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" - EGIT_SUBMODULES=( '-*' ) - - inherit git-r3 -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -SLOT="0/$(ver_cut 1-2).0" -IUSE="emacs examples test zlib" -RESTRICT="!test? ( test )" - -BDEPEND=" - emacs? ( app-editors/emacs:* ) -" - -COMMON_DEPEND=" - dev-libs/jsoncpp - >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -DEPEND=" - ${COMMON_DEPEND} - test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${COMMON_DEPEND} - ${BDEPEND} -" - -PATCHES=( - "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -src_configure() { - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - cmake-multilib_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_DISABLE_RTTI="yes" # TODO why? - -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" - -Dprotobuf_WITH_ZLIB="$(usex zlib)" - -Dprotobuf_BUILD_TESTS="$(usex test)" - -Dprotobuf_ABSL_PROVIDER="package" - ) - use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}"/src - cmake-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 - doins "${FILESDIR}/proto.vim" - - if use emacs; then - elisp-install "${PN}" editors/protobuf-mode.el* - elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el" - fi - - if use examples; then - DOCS+=(examples) - docompress -x "/usr/share/doc/${PF}/examples" - fi - - einstalldocs -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.3.ebuild deleted file mode 100644 index cf1d9198d9..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.3.ebuild +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright 2008-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common - -ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" - -if [[ "${PV}" == *9999 ]]; then - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" - EGIT_SUBMODULES=( '-*' ) - - inherit git-r3 -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -SLOT="0/$(ver_cut 1-2).0" -IUSE="emacs examples test zlib" -RESTRICT="!test? ( test )" - -BDEPEND=" - emacs? ( app-editors/emacs:* ) -" - -COMMON_DEPEND=" - dev-libs/jsoncpp - >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -DEPEND=" - ${COMMON_DEPEND} - test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${COMMON_DEPEND} - ${BDEPEND} -" - -PATCHES=( - "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_DISABLE_RTTI="yes" # TODO why? - -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" - -Dprotobuf_WITH_ZLIB="$(usex zlib)" - -Dprotobuf_BUILD_TESTS="$(usex test)" - -Dprotobuf_ABSL_PROVIDER="package" - ) - use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}"/src - cmake-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 - doins "${FILESDIR}/proto.vim" - - if use emacs; then - elisp-install "${PN}" editors/protobuf-mode.el* - elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el" - fi - - if use examples; then - DOCS+=(examples) - docompress -x "/usr/share/doc/${PF}/examples" - fi - - einstalldocs -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.4.ebuild deleted file mode 100644 index 158b36af63..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.4.ebuild +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright 2008-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common multilib - -# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules -ABSEIL_BRANCH="lts_2023_08_02" - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" - -if [[ "${PV}" == *9999 ]]; then - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" - EGIT_SUBMODULES=( '-*' ) - MY_SLOT="28.0" - - inherit git-r3 -else - SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" - MY_SLOT=$(ver_cut 1-2) -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -SLOT="0/${MY_SLOT}.0" -IUSE="conformance debug emacs examples +libprotoc libupb +protobuf +protoc test zlib" - -REQUIRED_USE=" - || ( - libprotoc - libupb - protobuf - protoc - ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - emacs? ( app-editors/emacs:* ) - !protobuf? ( - >=dev-libs/protobuf-${PV} - ) -" - -COMMON_DEPEND=" - dev-libs/jsoncpp[${MULTILIB_USEDEP}] - >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -DEPEND=" - ${COMMON_DEPEND} - test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${COMMON_DEPEND} - ${BDEPEND} -" - -PATCHES=( - "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${PN}-27.4-findJsonCpp.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -src_prepare() { - cmake_src_prepare - - cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die -} - -multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_ABSL_PROVIDER="package" - -Dprotobuf_JSONCPP_PROVIDER="package" - - -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")" - -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" - -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)" - -Dprotobuf_BUILD_LIBUPB="$(usex libupb)" - -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)" - -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)" - -Dprotobuf_BUILD_SHARED_LIBS="yes" - -Dprotobuf_BUILD_TESTS="$(usex test)" - - -Dprotobuf_DISABLE_RTTI="no" - - -Dprotobuf_INSTALL="yes" - -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)" - -Dprotobuf_TEST_XML_OUTDIR="$(usex test)" - - -Dprotobuf_WITH_ZLIB="$(usex zlib)" - -Dprotobuf_VERBOSE="$(usex debug)" - -DCMAKE_MODULE_PATH="${S}/cmake" - ) - use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" ) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}/src" - - local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" - mkdir -m 777 "${TEST_TMPDIR}" || die - - setup_test_env() { - ln -sr "${S}/src" "${BUILD_DIR}/include" || die - } - - multilib_foreach_abi setup_test_env - - cmake-multilib_src_test -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then - eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ - "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${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/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.5.ebuild deleted file mode 100644 index e947731a59..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-25.5.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 2008-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common multilib - -# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules -ABSEIL_BRANCH="lts_2023_08_02" - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" - -if [[ "${PV}" == *9999 ]]; then - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" - EGIT_SUBMODULES=( '-*' ) - SLOT="0/9999" - - inherit git-r3 -else - SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" - SLOT="0/$(ver_cut 1-2).0" -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -IUSE="conformance debug emacs examples +libprotoc +protobuf +protoc test zlib" - -# Require protobuf for the time being -REQUIRED_USE=" - protobuf - protobuf? ( protoc ) - examples? ( protobuf ) - libprotoc? ( protobuf ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - emacs? ( app-editors/emacs:* ) -" - -COMMON_DEPEND=" - >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -DEPEND=" - ${COMMON_DEPEND} - conformance? ( dev-libs/jsoncpp[${MULTILIB_USEDEP}] ) - test? ( >=dev-cpp/gtest-1.11[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${COMMON_DEPEND} - ${BDEPEND} -" - -PATCHES=( - "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${PN}-27.4-findJsonCpp.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -src_prepare() { - cmake_src_prepare - - cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die -} - -multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_ABSL_PROVIDER="package" - -Dprotobuf_JSONCPP_PROVIDER="package" - - -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")" - -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)" - -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)" - -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)" - -Dprotobuf_BUILD_SHARED_LIBS="yes" - -Dprotobuf_BUILD_TESTS="$(usex test)" - - -Dprotobuf_DISABLE_RTTI="no" - - -Dprotobuf_INSTALL="yes" - -Dprotobuf_TEST_XML_OUTDIR="$(usex test)" - - -Dprotobuf_WITH_ZLIB="$(usex zlib)" - -Dprotobuf_VERBOSE="$(usex debug)" - -DCMAKE_MODULE_PATH="${S}/cmake" - ) - if use protobuf ; then - if use examples ; then - mycmakeargs+=( - -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" - -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)" - ) - fi - fi - - use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" ) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}/src" - - local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" - mkdir -m 777 "${TEST_TMPDIR}" || die - - setup_test_env() { - ln -sr "${S}/src" "${BUILD_DIR}/include" || die - } - - multilib_foreach_abi setup_test_env - - cmake-multilib_src_test -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then - eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ - "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${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/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-26.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-26.1-r2.ebuild deleted file mode 100644 index 422310009a..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-26.1-r2.ebuild +++ /dev/null @@ -1,125 +0,0 @@ -# Copyright 2008-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common toolchain-funcs - -ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" - -if [[ "${PV}" == *9999 ]]; then - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" - EGIT_SUBMODULES=( '-*' ) - - inherit git-r3 -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -SLOT="0/$(ver_cut 1-2).0" -IUSE="emacs examples test zlib" -RESTRICT="!test? ( test )" - -BDEPEND=" - emacs? ( app-editors/emacs:* ) -" - -COMMON_DEPEND=" - dev-libs/jsoncpp - >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -DEPEND=" - ${COMMON_DEPEND} - test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${COMMON_DEPEND} - ${BDEPEND} -" - -PATCHES=( - "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -src_configure() { - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - cmake-multilib_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_DISABLE_RTTI="yes" # TODO why? - -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" - -Dprotobuf_WITH_ZLIB="$(usex zlib)" - -Dprotobuf_BUILD_TESTS="$(usex test)" - -Dprotobuf_ABSL_PROVIDER="package" - ) - use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}"/src - cmake-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 - doins "${FILESDIR}/proto.vim" - - if use emacs; then - elisp-install "${PN}" editors/protobuf-mode.el* - elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el" - fi - - if use examples; then - DOCS+=(examples) - docompress -x "/usr/share/doc/${PF}/examples" - fi - - einstalldocs -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.2.ebuild deleted file mode 100644 index 5fab101605..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.2.ebuild +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 2008-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common toolchain-funcs multilib - -ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" - -if [[ "${PV}" == *9999 ]]; then - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" - EGIT_SUBMODULES=( '-*' ) - MY_SLOT="27.2" - - inherit git-r3 -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" - MY_SLOT=$(ver_cut 1-2) -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -SLOT="0/${MY_SLOT}.0" -IUSE="conformance emacs examples +libprotoc libupb +protobuf +protoc test zlib" - -REQUIRED_USE=" - || ( - libprotoc - libupb - protobuf - protoc - ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - emacs? ( app-editors/emacs:* ) - !protobuf? ( - >=dev-libs/protobuf-${PV} - ) -" - -COMMON_DEPEND=" - dev-libs/jsoncpp - >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -DEPEND=" - ${COMMON_DEPEND} - test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${COMMON_DEPEND} - ${BDEPEND} -" - -PATCHES=( - "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -# src_prepare() { -# rm "${S}/third_party/utf8_range/" -rf || die -# cmake_src_prepare -# } - -src_configure() { - if tc-ld-is-gold; then - # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 - tc-ld-disable-gold - fi - - cmake-multilib_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_ABSL_PROVIDER="package" - -Dprotobuf_JSONCPP_PROVIDER="package" - - -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")" - -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" - -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)" - -Dprotobuf_BUILD_LIBUPB="$(usex libupb)" - -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)" - -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)" - -Dprotobuf_BUILD_SHARED_LIBS="yes" - -Dprotobuf_BUILD_TESTS="$(usex test)" - - -Dprotobuf_DISABLE_RTTI="no" - - -Dprotobuf_INSTALL="yes" - -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)" - -Dprotobuf_TEST_XML_OUTDIR="$(usex test)" - - -Dprotobuf_WITH_ZLIB="$(usex zlib)" - -Dprotobuf_VERBOSE="yes" - ) - use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" ) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}"/src - cmake-multilib_src_test -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then - eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ - "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${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/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.4.ebuild deleted file mode 100644 index 30ab416efd..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.4.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 2008-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common multilib - -# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules -ABSEIL_BRANCH="lts_2023_08_02" - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" - -if [[ "${PV}" == *9999 ]]; then - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" - EGIT_SUBMODULES=( '-*' ) - MY_SLOT="28.0" - - inherit git-r3 -else - SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" - MY_SLOT=$(ver_cut 1-2) -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -SLOT="0/${MY_SLOT}.0" -IUSE="conformance debug emacs examples +libprotoc libupb +protobuf +protoc test zlib" - -REQUIRED_USE=" - || ( - libprotoc - libupb - protobuf - protoc - ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - emacs? ( app-editors/emacs:* ) - !protobuf? ( - >=dev-libs/protobuf-${PV} - ) -" - -COMMON_DEPEND=" - dev-libs/jsoncpp[${MULTILIB_USEDEP}] - >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -DEPEND=" - ${COMMON_DEPEND} - test? ( >=dev-cpp/gtest-1.11[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${COMMON_DEPEND} - ${BDEPEND} -" - -PATCHES=( - "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${PN}-27.4-findJsonCpp.patch" - "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -src_prepare() { - cmake_src_prepare - - cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die -} - -multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_ABSL_PROVIDER="package" - -Dprotobuf_JSONCPP_PROVIDER="package" - - -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")" - -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" - -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)" - -Dprotobuf_BUILD_LIBUPB="$(usex libupb)" - -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)" - -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)" - -Dprotobuf_BUILD_SHARED_LIBS="yes" - -Dprotobuf_BUILD_TESTS="$(usex test)" - - -Dprotobuf_DISABLE_RTTI="no" - - -Dprotobuf_INSTALL="yes" - -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)" - -Dprotobuf_TEST_XML_OUTDIR="$(usex test)" - - -Dprotobuf_WITH_ZLIB="$(usex zlib)" - -Dprotobuf_VERBOSE="$(usex debug)" - -DCMAKE_MODULE_PATH="${S}/cmake" - ) - use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" ) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}/src" - - local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" - mkdir -m 777 "${TEST_TMPDIR}" || die - - setup_test_env() { - ln -sr "${S}/src" "${BUILD_DIR}/include" || die - } - - multilib_foreach_abi setup_test_env - - cmake-multilib_src_test -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then - eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ - "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${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/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.5.ebuild deleted file mode 100644 index 16f078b651..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-27.5.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 2008-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib dot-a elisp-common multilib - -# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules -ABSEIL_BRANCH="lts_2023_08_02" - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" - -if [[ "${PV}" == *9999 ]]; then - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" - EGIT_SUBMODULES=( '-*' ) - MY_SLOT="28.0" - - inherit git-r3 -else - SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" - MY_SLOT=$(ver_cut 1-2) -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -SLOT="0/${MY_SLOT}.0" -IUSE="conformance debug emacs examples +libprotoc libupb +protobuf +protoc test zlib" - -# Require protobuf for the time being -REQUIRED_USE=" - protobuf - examples? ( protobuf protoc ) - libprotoc? ( protobuf ) - libupb? ( protobuf ) - protoc? ( protobuf ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - emacs? ( app-editors/emacs:* ) -" - -COMMON_DEPEND=" - >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -DEPEND=" - ${COMMON_DEPEND} - conformance? ( dev-libs/jsoncpp[${MULTILIB_USEDEP}] ) - test? ( >=dev-cpp/gtest-1.11[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${COMMON_DEPEND} - ${BDEPEND} -" - -PATCHES=( - "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch" - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${PN}-27.4-findJsonCpp.patch" - "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -src_prepare() { - cmake_src_prepare - - cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die -} - -multilib_src_configure() { - # Currently, the only static library is libupb (and there is no - # USE=static-libs), so optimize away the fat-lto build time penalty. - use libupb && lto-guarantee-fat - - local mycmakeargs=( - -Dprotobuf_ABSL_PROVIDER="package" - -Dprotobuf_JSONCPP_PROVIDER="package" - - -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")" - -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)" - -Dprotobuf_BUILD_LIBUPB="$(usex libupb)" - -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)" - -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)" - -Dprotobuf_BUILD_SHARED_LIBS="yes" - -Dprotobuf_BUILD_TESTS="$(usex test)" - - -Dprotobuf_DISABLE_RTTI="no" - - -Dprotobuf_INSTALL="yes" - -Dprotobuf_TEST_XML_OUTDIR="$(usex test)" - - -Dprotobuf_WITH_ZLIB="$(usex zlib)" - -Dprotobuf_VERBOSE="$(usex debug)" - -DCMAKE_MODULE_PATH="${S}/cmake" - ) - if use protobuf ; then - if use examples ; then - mycmakeargs+=( - -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" - -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)" - ) - fi - fi - - use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" ) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}/src" - - local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" - mkdir -m 777 "${TEST_TMPDIR}" || die - - setup_test_env() { - ln -sr "${S}/src" "${BUILD_DIR}/include" || die - } - - multilib_foreach_abi setup_test_env - - cmake-multilib_src_test -} - -multilib_src_install_all() { - use libupb && strip-lto-bytecode - find "${ED}" -name "*.la" -delete || die - - if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then - eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ - "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${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/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.2.ebuild deleted file mode 100644 index d1c1fc5e95..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.2.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 2008-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib elisp-common multilib - -# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules -ABSEIL_BRANCH="lts_2023_08_02" - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" - -if [[ "${PV}" == *9999 ]]; then - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" - EGIT_SUBMODULES=( '-*' ) - SLOT="0/9999" - - inherit git-r3 -else - SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" - SLOT="0/$(ver_cut 1-2).0" -fi - -DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" -HOMEPAGE="https://protobuf.dev/" - -LICENSE="BSD" -IUSE="conformance debug emacs examples +libprotoc libupb +protobuf +protoc test zlib" - -# Require protobuf for the time being -REQUIRED_USE=" - protobuf - protobuf? ( protoc ) - examples? ( protobuf ) - libprotoc? ( protobuf ) - libupb? ( protobuf ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - emacs? ( app-editors/emacs:* ) -" - -COMMON_DEPEND=" - >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}] - zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] ) -" - -DEPEND=" - ${COMMON_DEPEND} - conformance? ( dev-libs/jsoncpp[${MULTILIB_USEDEP}] ) - test? ( >=dev-cpp/gtest-1.11[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${COMMON_DEPEND} - ${BDEPEND} -" - -PATCHES=( - "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${PN}-27.4-findJsonCpp.patch" - "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch" -) - -DOCS=( CONTRIBUTORS.txt README.md ) - -src_prepare() { - cmake_src_prepare - - cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die -} - -multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_ABSL_PROVIDER="package" - -Dprotobuf_JSONCPP_PROVIDER="package" - - -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")" - -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)" - -Dprotobuf_BUILD_LIBUPB="$(usex libupb)" - -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)" - -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)" - -Dprotobuf_BUILD_SHARED_LIBS="yes" - -Dprotobuf_BUILD_TESTS="$(usex test)" - - -Dprotobuf_DISABLE_RTTI="no" - - -Dprotobuf_INSTALL="yes" - -Dprotobuf_TEST_XML_OUTDIR="$(usex test)" - - -Dprotobuf_WITH_ZLIB="$(usex zlib)" - -Dprotobuf_VERBOSE="$(usex debug)" - -DCMAKE_MODULE_PATH="${S}/cmake" - ) - if use protobuf ; then - if use examples ; then - mycmakeargs+=( - -Dprotobuf_BUILD_EXAMPLES="$(usex examples)" - -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)" - ) - fi - fi - - use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" ) - - cmake_src_configure -} - -src_compile() { - cmake-multilib_src_compile - - if use emacs; then - elisp-compile editors/protobuf-mode.el - fi -} - -src_test() { - local -x srcdir="${S}/src" - - local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" - mkdir -m 777 "${TEST_TMPDIR}" || die - - setup_test_env() { - ln -sr "${S}/src" "${BUILD_DIR}/include" || die - } - - multilib_foreach_abi setup_test_env - - # Do headstands for LTO # 942985 - local -x GTEST_FILTER - GTEST_FILTER="-FileDescriptorSetSource/EncodeDecodeTest*" - - cmake-multilib_src_test - - GTEST_FILTER="${GTEST_FILTER//-/}" - - cmake-multilib_src_test -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then - eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ - "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${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/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.5.ebuild similarity index 84% rename from sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.5.ebuild index ea46bda564..dbfa1f7872 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-29.5.ebuild @@ -5,11 +5,8 @@ EAPI=8 inherit cmake-multilib dot-a elisp-common multilib -# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules -ABSEIL_BRANCH="lts_2023_08_02" - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" +# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/cmake/dependencies.cmake +ABSEIL_MIN_VER="20250127.0" if [[ "${PV}" == *9999 ]]; then EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" @@ -67,8 +64,8 @@ RDEPEND=" PATCHES=( "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${PN}-27.4-findJsonCpp.patch" "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch" + "${FILESDIR}/${PN}-30.0-findJsonCpp.patch" ) DOCS=( CONTRIBUTORS.txt README.md ) @@ -85,9 +82,6 @@ multilib_src_configure() { use libupb && lto-guarantee-fat local mycmakeargs=( - -Dprotobuf_ABSL_PROVIDER="package" - -Dprotobuf_JSONCPP_PROVIDER="package" - -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")" -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)" -Dprotobuf_BUILD_LIBUPB="$(usex libupb)" @@ -104,6 +98,9 @@ multilib_src_configure() { -Dprotobuf_WITH_ZLIB="$(usex zlib)" -Dprotobuf_VERBOSE="$(usex debug)" -DCMAKE_MODULE_PATH="${S}/cmake" + + -Dprotobuf_LOCAL_DEPENDENCIES_ONLY="yes" + # -Dprotobuf_FORCE_FETCH_DEPENDENCIES="no" ) if use protobuf ; then if use examples ; then @@ -114,8 +111,6 @@ multilib_src_configure() { fi fi - use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" ) - cmake_src_configure } @@ -130,18 +125,19 @@ src_compile() { src_test() { local -x srcdir="${S}/src" - local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" - mkdir -m 777 "${TEST_TMPDIR}" || die + # we override here to inject env vars + multilib_src_test() { + local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" + mkdir -p -m 770 "${TEST_TMPDIR}" || die - setup_test_env() { - ln -sr "${S}/src" "${BUILD_DIR}/include" || die + ln -srf "${S}/src" "${BUILD_DIR}/include" || die + + cmake_src_test "${_cmake_args[@]}" } - multilib_foreach_abi setup_test_env - # Do headstands for LTO # 942985 local -x GTEST_FILTER - GTEST_FILTER="-FileDescriptorSetSource/EncodeDecodeTest*" + GTEST_FILTER="-FileDescriptorSetSource/EncodeDecodeTest*:LazilyBuildDependenciesTest.GeneratedFile:PythonGeneratorTest/PythonGeneratorTest.PythonWithCppFeatures/*" cmake-multilib_src_test @@ -154,9 +150,9 @@ multilib_src_install_all() { use libupb && strip-lto-bytecode find "${ED}" -name "*.la" -delete || die - if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then + if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname "${SLOT#*/}")" ]]; then eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ - "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" + "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname "${SLOT#*/}")" die "Please update SLOT variable" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.3-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-32.1.ebuild similarity index 61% rename from sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.3-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-32.1.ebuild index 659a39c826..8c53aec067 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-28.3-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-32.1.ebuild @@ -3,13 +3,10 @@ EAPI=8 -inherit cmake-multilib elisp-common multilib +inherit cmake-multilib dot-a elisp-common flag-o-matic multilib toolchain-funcs -# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules -ABSEIL_BRANCH="lts_2023_08_02" - -ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}" -ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}" +# NOTE from https://github.com/protocolbuffers/protobuf/blob/main/cmake/dependencies.cmake +ABSEIL_MIN_VER="20250127.0" if [[ "${PV}" == *9999 ]]; then EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git" @@ -19,7 +16,7 @@ if [[ "${PV}" == *9999 ]]; then inherit git-r3 else SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" SLOT="0/$(ver_cut 1-2).0" fi @@ -27,7 +24,7 @@ DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing st HOMEPAGE="https://protobuf.dev/" LICENSE="BSD" -IUSE="conformance debug emacs examples +libprotoc libupb +protobuf +protoc test zlib" +IUSE="conformance debug emacs examples +libprotoc +libupb +protobuf +protoc test zlib" # Require protobuf for the time being REQUIRED_USE=" @@ -36,6 +33,7 @@ REQUIRED_USE=" examples? ( protobuf ) libprotoc? ( protobuf ) libupb? ( protobuf ) + protoc? ( libupb ) " RESTRICT="!test? ( test )" @@ -66,10 +64,9 @@ RDEPEND=" " PATCHES=( - "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch" "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${PN}-27.4-findJsonCpp.patch" - "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch" + # "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch" # applied manually + "${FILESDIR}/${PN}-30.0-findJsonCpp.patch" ) DOCS=( CONTRIBUTORS.txt README.md ) @@ -77,14 +74,23 @@ DOCS=( CONTRIBUTORS.txt README.md ) src_prepare() { cmake_src_prepare +# if tc-is-lto; then +# eapply "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch" +# fi + cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die } multilib_src_configure() { - local mycmakeargs=( - -Dprotobuf_ABSL_PROVIDER="package" - -Dprotobuf_JSONCPP_PROVIDER="package" + use libupb && filter-lto + # Currently, the only static library is libupb (and there is no + # USE=static-libs), so optimize away the fat-lto build time penalty. + use libupb && lto-guarantee-fat + + use libupb && filter-lto + + local mycmakeargs=( -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")" -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)" -Dprotobuf_BUILD_LIBUPB="$(usex libupb)" @@ -101,6 +107,9 @@ multilib_src_configure() { -Dprotobuf_WITH_ZLIB="$(usex zlib)" -Dprotobuf_VERBOSE="$(usex debug)" -DCMAKE_MODULE_PATH="${S}/cmake" + + -Dprotobuf_LOCAL_DEPENDENCIES_ONLY="yes" + # -Dprotobuf_FORCE_FETCH_DEPENDENCIES="no" ) if use protobuf ; then if use examples ; then @@ -111,8 +120,6 @@ multilib_src_configure() { fi fi - use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" ) - cmake_src_configure } @@ -124,35 +131,61 @@ src_compile() { fi } +# we override here to inject env vars +multilib_src_test() { + local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" + mkdir -p -m 770 "${TEST_TMPDIR}" || die + + ln -srf "${S}/src" "${BUILD_DIR}/include" || die + + cmake_src_test "${_cmake_args[@]}" +} + src_test() { local -x srcdir="${S}/src" - local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" - mkdir -m 777 "${TEST_TMPDIR}" || die +# local CMAKE_SKIP_TESTS=( +# "^full-test$" +# ) - setup_test_env() { - ln -sr "${S}/src" "${BUILD_DIR}/include" || die - } + local GTEST_SKIP_TESTS=( + "PackedTest/12.DecodeEmptyPackedField" + ) - multilib_foreach_abi setup_test_env + if tc-is-lto; then + # Do headstands for LTO # 942985 + GTEST_SKIP_TESTS+=( + "FileDescriptorSetSource/EncodeDecodeTest*" + "LazilyBuildDependenciesTest.GeneratedFile" + "PythonGeneratorTest/PythonGeneratorTest.PythonWithCppFeatures/*" + ) + fi - # Do headstands for LTO # 942985 - local -x GTEST_FILTER - GTEST_FILTER="-FileDescriptorSetSource/EncodeDecodeTest*" + if [[ ! -v GTEST_FILTER ]]; then + local -x GTEST_FILTER + fi + + [[ -n ${GTEST_RUN_TESTS[*]} ]] && GTEST_FILTER+="$(IFS=':' ; echo "${GTEST_SKIP_TESTS[*]}")" + [[ -n ${GTEST_SKIP_TESTS[*]} ]] && GTEST_FILTER+="${GTEST_FILTER+:}-$(IFS=':' ; echo "${GTEST_SKIP_TESTS[*]}")" cmake-multilib_src_test - GTEST_FILTER="${GTEST_FILTER//-/}" - - cmake-multilib_src_test +# if tc-is-lto; then +# # GTEST_FILTER="${GTEST_FILTER//-/}" +# GTEST_FILTER="$(IFS=':' ; echo "${GTEST_SKIP_TESTS[*]}")" +# +# cmake-multilib_src_test +# fi } multilib_src_install_all() { + use libupb && strip-lto-bytecode + find "${ED}" -name "*.la" -delete || die - if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" ]]; then + if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf$(get_libname "${SLOT#*/}")" ]]; then eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \ - "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname ${SLOT#*/})" + "Expected value: ${ED}/usr/$(get_libdir)/libprotobuf$(get_libname "${SLOT#*/}")" die "Please update SLOT variable" fi diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild index d9d8b3bf74..1df6a650e0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/protobuf/protobuf-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit cmake-multilib dot-a elisp-common flag-o-matic multilib +inherit cmake-multilib dot-a elisp-common flag-o-matic multilib toolchain-funcs # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/cmake/dependencies.cmake ABSEIL_MIN_VER="20250127.0" @@ -24,7 +24,7 @@ DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing st HOMEPAGE="https://protobuf.dev/" LICENSE="BSD" -IUSE="conformance debug emacs examples +libprotoc libupb +protobuf +protoc test zlib" +IUSE="conformance debug emacs examples +libprotoc +libupb +protobuf +protoc test zlib" # Require protobuf for the time being REQUIRED_USE=" @@ -33,6 +33,7 @@ REQUIRED_USE=" examples? ( protobuf ) libprotoc? ( protobuf ) libupb? ( protobuf ) + protoc? ( libupb ) " RESTRICT="!test? ( test )" @@ -64,7 +65,7 @@ RDEPEND=" PATCHES=( "${FILESDIR}/${PN}-23.3-static_assert-failure.patch" - "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch" + # "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch" # applied manually "${FILESDIR}/${PN}-30.0-findJsonCpp.patch" ) @@ -73,13 +74,17 @@ DOCS=( CONTRIBUTORS.txt README.md ) src_prepare() { cmake_src_prepare +# if tc-is-lto; then +# eapply "${FILESDIR}/${PN}-28.0-disable-test_upb-lto.patch" +# fi + cp "${FILESDIR}/FindJsonCpp.cmake" "${S}/cmake" || die } multilib_src_configure() { # bug #963340 (seems to only happen when upgrading from older pb, # possibly w/o tests too). - filter-lto + use libupb && filter-lto # Currently, the only static library is libupb (and there is no # USE=static-libs), so optimize away the fat-lto build time penalty. @@ -126,28 +131,45 @@ src_compile() { fi } +# we override here to inject env vars +multilib_src_test() { + local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" + mkdir -p -m 770 "${TEST_TMPDIR}" || die + + ln -srf "${S}/src" "${BUILD_DIR}/include" || die + + cmake_src_test "${_cmake_args[@]}" +} + src_test() { local -x srcdir="${S}/src" - # we override here to inject env vars - multilib_src_test() { - local -x TEST_TMPDIR="${T%/}/TEST_TMPDIR_${ABI}" - mkdir -p -m 770 "${TEST_TMPDIR}" || die + local GTEST_SKIP_TESTS=( + "PackedTest/12.DecodeEmptyPackedField" + ) - ln -srf "${S}/src" "${BUILD_DIR}/include" || die + if tc-is-lto; then + # Do headstands for LTO # 942985 + GTEST_SKIP_TESTS+=( + "FileDescriptorSetSource/EncodeDecodeTest*" + "LazilyBuildDependenciesTest.GeneratedFile" + "PythonGeneratorTest/PythonGeneratorTest.PythonWithCppFeatures/*" + ) + fi - cmake_src_test "${_cmake_args[@]}" - } - - # Do headstands for LTO # 942985 - local -x GTEST_FILTER - GTEST_FILTER="-FileDescriptorSetSource/EncodeDecodeTest*:LazilyBuildDependenciesTest.GeneratedFile:PythonGeneratorTest/PythonGeneratorTest.PythonWithCppFeatures/*" + if [[ ! -v GTEST_FILTER ]]; then + local -x GTEST_FILTER + fi + [[ -n ${GTEST_RUN_TESTS[*]} ]] && GTEST_FILTER+="$(IFS=':' ; echo "${GTEST_SKIP_TESTS[*]}")" + [[ -n ${GTEST_SKIP_TESTS[*]} ]] && GTEST_FILTER+="${GTEST_FILTER+:}-$(IFS=':' ; echo "${GTEST_SKIP_TESTS[*]}")" cmake-multilib_src_test - GTEST_FILTER="${GTEST_FILTER//-/}" - - cmake-multilib_src_test +# if tc-is-lto; then +# GTEST_FILTER="${GTEST_FILTER//-/}" +# +# cmake-multilib_src_test +# fi } multilib_src_install_all() {