summaryrefslogtreecommitdiff
path: root/dev-cpp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-11-19 07:00:00 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-11-19 07:00:00 +0000
commitc5572b13d51970d6603acd131f27991cc1b66a79 (patch)
tree459c832fa5c0913b9ce0f85eed5e29922cc0425f /dev-cpp
parent6e476156e1a0d2f4aa53968c37835c3441301367 (diff)
gentoo auto-resync : 19:11:2022 - 07:00:00
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/Manifest.gzbin12935 -> 12937 bytes
-rw-r--r--dev-cpp/atkmm/Manifest2
-rw-r--r--dev-cpp/atkmm/atkmm-2.36.2-r1.ebuild2
-rw-r--r--dev-cpp/elfio/Manifest3
-rw-r--r--dev-cpp/elfio/elfio-3.11.ebuild32
-rw-r--r--dev-cpp/elfio/files/elfio-3.11-system-gtest.patch33
-rw-r--r--dev-cpp/tbb/Manifest4
-rw-r--r--dev-cpp/tbb/files/tbb-2021.7.0-pthread-eagain.patch135
-rw-r--r--dev-cpp/tbb/tbb-2021.7.0-r1.ebuild41
-rw-r--r--dev-cpp/tbb/tbb-2021.7.0.ebuild2
10 files changed, 250 insertions, 4 deletions
diff --git a/dev-cpp/Manifest.gz b/dev-cpp/Manifest.gz
index 1540768e305e..2b8ce8c638d5 100644
--- a/dev-cpp/Manifest.gz
+++ b/dev-cpp/Manifest.gz
Binary files differ
diff --git a/dev-cpp/atkmm/Manifest b/dev-cpp/atkmm/Manifest
index 05e77d32361d..c87a84f3e539 100644
--- a/dev-cpp/atkmm/Manifest
+++ b/dev-cpp/atkmm/Manifest
@@ -3,5 +3,5 @@ DIST atkmm-2.28.3.tar.xz 691164 BLAKE2B 07468f4bdf2b790873517907c4564ccd513bb285
DIST atkmm-2.36.2.tar.xz 744596 BLAKE2B 2eee35605eee2e569eca1053f0c50449ce2a1cf44c5d29c17d00685da702f252e0eb9cd7d06ceceb0cb93dbe6848f4ea952aae621e5290aa69870a7ca2961766 SHA512 ad8ba4cb83a71c2998a600e015d1639d7d2ad39b450148ddb40ed750f3321e6932e81986cb1591ad3bcf914bcc50409c24300580b898f16408acc57a0ce2d914
EBUILD atkmm-2.28.2-r1.ebuild 892 BLAKE2B ec6b8ade343a33b1fadf0306a7b03808946208d25f4e5d182bf8a334352ebc8c6682feca19eab533b932ecb84585848c6f369e8682fcd7df913b81b9ce16a0de SHA512 b380c9678a83b1e70dbdfff3e10edb8005fb2f66deec5e7f74341cbf7ed94b93fbe1bb41fe57d74187a9a8cae5b8acc9e39fd2ea9ec27dafe3e6bbcc90477c62
EBUILD atkmm-2.28.3.ebuild 942 BLAKE2B 54ab64a62c8e368a485091da40089331dccbc287bd59f1466b1a0bd281667718b0c94d114742ac5fbd6a50d9f73e7df361db77aed48563c658b8a6ff35f2d55c SHA512 455f0313e0ef1b678e6b6c82780016567a804fc02b22ed8f87f952cece6ed19ab1734c2bbf6bc9061e42daf65f55d92362da0bd6aafcdfd5d1478bd52196e344
-EBUILD atkmm-2.36.2-r1.ebuild 883 BLAKE2B 006a514a5417896bdae065b0f3ae2a939b8994b5df7917da8b6966ffc5939f790caba9c8435bc37f95643517ade8031931e62c53ab46b91e053b4dcfb5a1cd8c SHA512 0f77baf7286dd1b6ab4be4d09db0fce54af271632c36e26cc3295cea22ae20c11a56f4bdda291e5b47f692de37132c338ef08bd9aa256ac8d3569e315c4ab915
+EBUILD atkmm-2.36.2-r1.ebuild 890 BLAKE2B 0caf9dbdf8d1243955ae8f00e83b7800bf50e538ef222fe43c4f59820d2f5251bcfe313d0be855ec3169755d685d134c52989708164f43fe3a0de29d91869121 SHA512 3d65e5bb50b48516efa1d588b722edac9ffc7b77dedd327cba713dbac863427c6da750f45e000c634e3e27aca978bf78cbc044ee17db4af929ade6f605720fc3
MISC metadata.xml 346 BLAKE2B 646d3c728888a3ee86d200f002a01e147bcbaae64fbc55f63e09bfeebfbc364b062160b2fcedae549f5e256fe2498b004e6cd42e501a58040cafde009efcc4bf SHA512 e755038a33f9933af455a04e88d1c468620461c6e959581fbe87ba278988e59f5adff6fbb099ff6d3fe2d672d57cb4d005e675842d97a78cb67b96a7bc98a6c1
diff --git a/dev-cpp/atkmm/atkmm-2.36.2-r1.ebuild b/dev-cpp/atkmm/atkmm-2.36.2-r1.ebuild
index 8c0b177ab510..9893b543d357 100644
--- a/dev-cpp/atkmm/atkmm-2.36.2-r1.ebuild
+++ b/dev-cpp/atkmm/atkmm-2.36.2-r1.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://www.gtkmm.org"
LICENSE="LGPL-2.1+"
SLOT="2.36"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
IUSE="gtk-doc"
DEPEND="
diff --git a/dev-cpp/elfio/Manifest b/dev-cpp/elfio/Manifest
index 510b04addf51..50398474c7db 100644
--- a/dev-cpp/elfio/Manifest
+++ b/dev-cpp/elfio/Manifest
@@ -1,3 +1,6 @@
+AUX elfio-3.11-system-gtest.patch 1024 BLAKE2B 96aa3b8c38cf5159c69e4ff74388faf27f2192466e609ae6ccd04209abf7811387b5648922daf9660bc948bfde5c8681b605ac187e7b9757b742729a91e3def5 SHA512 9d75db5c673c375e64a9335e03b0fd3e2f301050388419d4032e6985ac2af8db46dcd9e7e61490e48c3fe90b2a09035a88305027577f9f0f8b1bd99cd9977e22
DIST elfio-3.10.tar.gz 4243841 BLAKE2B a4cd5e7cb8b2f13cd7341adacb623b996e07e8ac761cd0f1e8eb20a87770fa936bf97ad79a0ff8d700ac41278bae7c5dd00d277f4c2d47e73340aaf607b7ee49 SHA512 f609fe5162d1609d1d65f441dbf01011ca5ae36195d8b3a74dec2b72891e9f8f90d3fdbc9bf893f7186494071606e898e5519fda18665fc88ae9781c504cd4a9
+DIST elfio-3.11.tar.gz 4150700 BLAKE2B 2e0270384f1fdbc8f8374c1a42b5bd0c6ba6faa8c8a7125063b682cd9808fbb3f330e2a0fa4646c8828f6d276ad8f92e36b69ab7916c3bd2b1b2ecad6708fcc1 SHA512 3a254aad62e707f2809e2997998aab6a9794d70791dc535a6de90bad3e9de3cbcc4f8e7787067ca7cd47ce2dc71cf52809747267bc36cfb08369b49a6b92cf5e
EBUILD elfio-3.10.ebuild 570 BLAKE2B 211ec77a13d0d94845564a2a9124300aaaf707c8e42d7d7cf3fb22c2d7147e4f9275acc53d54e24e32fc9bff35fe6aa026770ddb7ddd021b66d10bad7464e3d2 SHA512 05ac2316053f66abd5f2bafbd45ef74a4a2efab094c59b99636b94f2d2f9f4981ae2139c75231a2907e2dde70a4e23b7d83cf29d893c6f0fadbc4ab018af8ce4
+EBUILD elfio-3.11.ebuild 666 BLAKE2B d0869322ea72892a19556fdee149bd0fe22624242e51d3447b6771da1b34e295a81ba0e337bc8ee63b5a5254330829de928d54b1a8347f2a322bfc4ed20dfee9 SHA512 c492ef4e16e45b506cb7e0295c6fb74c49aebcea6a3714784986279d9e9c18debb3a6162967c024e5b636cc8a9400e609e1f2f13440902857d4037ed1594482c
MISC metadata.xml 317 BLAKE2B 4b62079a213f05ca0fce72e62582010a9c82e11e714347c6753a1919bb8586896cef8afa5c378ffb00a5427aea6219fe7d78cc3572e214c3b2e8b09507ca685d SHA512 d550d765b42e68da41164297145ed8534b6bfb8f7976e6df57f76fb0fc8558262f010d988b66ea368d45e7c4bbbc879f6b91abba21c3f14871605e39589e5047
diff --git a/dev-cpp/elfio/elfio-3.11.ebuild b/dev-cpp/elfio/elfio-3.11.ebuild
new file mode 100644
index 000000000000..0c82a247cdd9
--- /dev/null
+++ b/dev-cpp/elfio/elfio-3.11.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="ELF reader/producer header-only C++ library"
+HOMEPAGE="https://github.com/serge1/ELFIO"
+SRC_URI="https://github.com/serge1/${PN}/archive/Release_${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN^^}-Release_${PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-cpp/gtest )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.11-system-gtest.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DFETCHCONTENT_FULLY_DISCONNECTED=ON
+ -DELFIO_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/elfio/files/elfio-3.11-system-gtest.patch b/dev-cpp/elfio/files/elfio-3.11-system-gtest.patch
new file mode 100644
index 000000000000..2110086c69d6
--- /dev/null
+++ b/dev-cpp/elfio/files/elfio-3.11-system-gtest.patch
@@ -0,0 +1,33 @@
+https://github.com/serge1/ELFIO/pull/113
+
+From 4c47fd4c783f286a73605e43e362f1e14b0296a9 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 19 Nov 2022 02:56:22 +0000
+Subject: [PATCH] tests: allow using system gtest copy
+
+Distributions often do builds with no network access available
+for both security reasons and also to ensure reproducibility.
+
+This change tells CMake to query the system for a copy of gtest,
+but if it's not available, it'll fall back to downloading via
+FetchContent.
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -3,6 +3,7 @@ include(FetchContent)
+ FetchContent_Declare(
+ googletest
+ URL https://github.com/google/googletest/archive/9a32aee22d771387c494be2d8519fbdf46a713b2.zip
++ FIND_PACKAGE_ARGS NAMES GTest
+ )
+
+ # For Windows: Prevent overriding the parent project's compiler/linker settings
+@@ -44,7 +45,8 @@ target_link_libraries(
+ ELFIOTest
+ PRIVATE
+ elfio::elfio
+- gtest_main)
++ gtest_main
++ GTest::gtest_main)
+
+ add_test(
+ NAME
diff --git a/dev-cpp/tbb/Manifest b/dev-cpp/tbb/Manifest
index 6705fa504393..5c151bc6827b 100644
--- a/dev-cpp/tbb/Manifest
+++ b/dev-cpp/tbb/Manifest
@@ -6,10 +6,12 @@ AUX tbb-2021.5.0-musl-deepbind.patch 982 BLAKE2B a605db66a697ce4cf826448ea843529
AUX tbb-2021.5.0-musl-mallinfo.patch 931 BLAKE2B 7e77b6bed7d0a8422e45499317fd02ea080e94575e96c0610e1503633a296855095b675be1b679d4b97c8e50e72736d71582c30a91d7630c02b0c98996d2abb2 SHA512 21555821262a29b904ff3c0c8a023459c5c2ae0df11d17e0e2ec36d680016a0a2c4808ad257e1a3fabd78046e5ac795f5906aed129c35e40c257251957722723
AUX tbb-2021.5.0-musl-setcontext.patch 1409 BLAKE2B b7dbb2379cdf8c27fe704850e9ef9d9630719c3031d7f5591e973648c5e299f90b25684aab7af95a56038dde3e490e6711f5a443e016404129d92de549f9c55e SHA512 558c917326408818cd0c1d8169fd958533dab9470e2a04621ff396de61c8a371a68c9f4a2d9f1e91ed79bd57605be3208e4e473e80cb3f38db526a673ff3468d
AUX tbb-2021.5.0-x86-mwaitpkg.patch 1975 BLAKE2B d072f7dfa7f1fbe5986c409147419d782abd1c21e602a8555a696833c7c919f2e6996f8a2fd1e61fb6d3ccdf00f0ce5ee9b78ad53770a06f632cb6029bb74029 SHA512 de952018c2b82634f02f38754d0cb92d31229b9546a135ac54d43b53ad2d0a74ba3bd02946e856c29455438e539a0cf5bc3fb4eae35aa0774baa1faf723e8b61
+AUX tbb-2021.7.0-pthread-eagain.patch 4515 BLAKE2B d5a2d3d5dc0a4607227f03200901985fa823a6be2817c34e58e166e639f1f294a2ab65407140a8b4423e30d217fa3c04a4493dd3e4849d77877473002006870c SHA512 bfbac70acc603796f93c7712017700fa1de99cd1aa984f8015863f66ca6caaa03e5c4705dfc42c1af7592bc5b05b7ba9b48df7e5686d27f4ce67c53b954775cf
DIST tbb-2020.3.tar.gz 2639788 BLAKE2B 3e92bccdc8179fc049379ccbb8ad7f615623177abc61d813b1a601020c345137bfd7d4c4600cf5b0d587e5ebef677635c3c8124d06b05fdd3325128ed8c9f84a SHA512 04c4b5501418792827190691d03d20d4dc1fd3cbbcf459a4d40c5c2281d964e658f31f133ad3907b78e17ed04f4ff16728ed89487ed0ce2cb239f23feb34bd87
DIST tbb-2021.5.0.tar.gz 2463218 BLAKE2B 2d50d312b86318ba4923afe68753b3781f9646cbdb33861f3458301a3a19b7ca3aab6959dca085294dfc743d7f552635f80fb524ec5d780a46f58ffe02e3280d SHA512 0e7b71022e397a6d7abb0cea106847935ae79a1e12a6976f8d038668c6eca8775ed971202c5bd518f7e517092b67af805cc5feb04b5c3a40e9fbf972cc703a46
DIST tbb-2021.7.0.tar.gz 2571727 BLAKE2B 2977ef1a33d9bc7baa40e0e57c02e62798a09c6c66cdbe369f2702d87fd9877c3d97f8d83f71384028995ea0956f5c5630d4aaf4edbe68538e7c514d3b87085c SHA512 d314e3d88b85c96607a9eda15e3d808bf361eb562a534c59101929236e90c187883e7718e5435b5e7f01f4ee652c9765af95f5f173368b83997e4666b7403a49
EBUILD tbb-2020.3.ebuild 3328 BLAKE2B 49da765405909bdf94c7e315ae00b4503113db99ea1c13e411a5349bd52b816b36654e06a2cb7c8d10b66caced270f8a7bc2d9c569296ecf4f99a91accf2301e SHA512 19edba39e17bf21471309fb769a3ffb0af06b6cbf61f3523767b8980ea2655cca96edd6191ace397610d9e2460a2e684361077e57b82393500950255dd0a7c8a
EBUILD tbb-2021.5.0-r1.ebuild 1428 BLAKE2B 6d3c7826ea2b6341ff0638810d04049d86c8f6cadd17eaba451c797600061272b261a86e0f7c54800ef373e2864887b86f23586cdd3a6c337ad786ad170fff3e SHA512 70eacced105c3861c750241c62648ebde87f1c799b272fcb719dc0716a5084f03faf69face48e70635c87d4760b72c0caee28989ac8cdbd2a05dca9b7a4a6957
-EBUILD tbb-2021.7.0.ebuild 1031 BLAKE2B 1a4352ba38a49f9399e6feb815ba56b75349caf0aa5ba87af9363327c024a86293c2e69caedbce5b05394811977af50b29f8852fbbc06d90a2f30675be8b61df SHA512 f7cb13f2628dd877046ee4b2f1e33a6353ec85051415f393a19505c7885bdaddad4b1fc46dc0c92bc31e2b7505d3de99e7317cf49f06d7346e1913b26f1a16db
+EBUILD tbb-2021.7.0-r1.ebuild 1095 BLAKE2B 7f3a2a2381c3e7a1a685c16dda6572f351aac647e24cfba581d3e0f827f7cb5a72da11a6ebf1ab27c0220197f4d8ff6d848da353fdfd6556877c5c82e188f4f1 SHA512 5e1410016dbfccd181c237d8b88d12faea0b6099cfe9caf0454a80a40f68cf60d0782eae0ab14dac640feaa19fa757e59ed5604f4e49d6815468d1f92eaf73ed
+EBUILD tbb-2021.7.0.ebuild 1028 BLAKE2B 36b47ed0088cf2d6f30e3911ea934fa9019d802d2b2d0f2b833c7b33123a613d0aed8aae50283fdb01a1b479496cbecd18f0a0ac70160dfe72e7a3b13490c8d6 SHA512 d6e0a5118c70e3d77ba113fe2a1313270d2c70db6d14ebd1fed25855c63d38ca85944592c0a917ec2ec12c74fd1b73b0c003e4f5e8aba4caef6577b028c0be02
MISC metadata.xml 688 BLAKE2B 5bd4c0fa3ce3f055bd8265a2133ad2b4ea6de984ccf295544f3013851b02a1f1d577070c2ecc1e2748fa8356d3d25278e9a8649a2523763eba6bc7e6ba830f79 SHA512 93b90fc74511f35e02dd7f7c7b3aeb08d2e4c88e2af852fcce40bdb780a3828975955b751542b8a9d3aa0561155858b91842f3cf98c713dcb08c9ce2152f0fe3
diff --git a/dev-cpp/tbb/files/tbb-2021.7.0-pthread-eagain.patch b/dev-cpp/tbb/files/tbb-2021.7.0-pthread-eagain.patch
new file mode 100644
index 000000000000..6c0912ec96b7
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2021.7.0-pthread-eagain.patch
@@ -0,0 +1,135 @@
+https://bugs.gentoo.org/881161
+https://github.com/rui314/mold/issues/410
+https://github.com/oneapi-src/oneTBB/commit/ceacd2207edfb72a8fc235213265afe68ce74ad0
+https://github.com/oneapi-src/oneTBB/commit/137c1a88b690acf3525e0f279720ac489ce66481
+
+From ceacd2207edfb72a8fc235213265afe68ce74ad0 Mon Sep 17 00:00:00 2001
+From: Ilya Isaev <ilya.isaev@intel.com>
+Date: Wed, 26 Oct 2022 13:13:51 +0200
+Subject: [PATCH] Rework test_eh_thread to avoid sporadic failures (#946)
+
+Signed-off-by: Isaev, Ilya <ilya.isaev@intel.com>
+--- a/test/tbb/test_eh_thread.cpp
++++ b/test/tbb/test_eh_thread.cpp
+@@ -54,15 +54,16 @@ void limitThreads(size_t limit)
+ CHECK_MESSAGE(0 == ret, "setrlimit has returned an error");
+ }
+
+-static bool g_exception_caught = false;
+-static std::mutex m;
+-static std::condition_variable cv;
+-static std::atomic<bool> stop{ false };
++size_t getThreadLimit() {
++ rlimit rlim;
++
++ int ret = getrlimit(RLIMIT_NPROC, &rlim);
++ CHECK_MESSAGE(0 == ret, "getrlimit has returned an error");
++ return rlim.rlim_cur;
++}
+
+ static void* thread_routine(void*)
+ {
+- std::unique_lock<std::mutex> lock(m);
+- cv.wait(lock, [] { return stop == true; });
+ return nullptr;
+ }
+
+@@ -94,32 +95,17 @@ TEST_CASE("Too many threads") {
+ }
+
+ // Some systems set really big limit (e.g. >45К) for the number of processes/threads
+- limitThreads(1024);
+-
+- std::thread /* isolate test */ ([] {
+- std::vector<Thread> threads;
+- stop = false;
+- auto finalize = [&] {
+- stop = true;
+- cv.notify_all();
+- for (auto& t : threads) {
+- t.join();
+- }
+- };
+-
+- for (int i = 0;; ++i) {
++ limitThreads(1);
++ if (getThreadLimit() == 1) {
++ for (int attempt = 0; attempt < 5; ++attempt) {
+ Thread thread;
+- if (!thread.isValid()) {
+- break;
+- }
+- threads.push_back(thread);
+- if (i == 1024) {
+- WARN_MESSAGE(false, "setrlimit seems having no effect");
+- finalize();
++ if (thread.isValid()) {
++ WARN_MESSAGE(false, "We were able to create a thread. setrlimit seems having no effect");
++ thread.join();
+ return;
+ }
+ }
+- g_exception_caught = false;
++ bool g_exception_caught = false;
+ try {
+ // Initialize the library to create worker threads
+ tbb::parallel_for(0, 2, [](int) {});
+@@ -132,9 +118,10 @@ TEST_CASE("Too many threads") {
+ }
+ // Do not CHECK to avoid memory allocation (we can be out of memory)
+ if (!g_exception_caught) {
+- FAIL("No exception was caught");
++ FAIL("No exception was thrown on library initialization");
+ }
+- finalize();
+- }).join();
++ } else {
++ WARN_MESSAGE(false, "setrlimit seems having no effect");
++ }
+ }
+ #endif
+
+From 137c1a88b690acf3525e0f279720ac489ce66481 Mon Sep 17 00:00:00 2001
+From: Rui Ueyama <ruiu@cs.stanford.edu>
+Date: Wed, 26 Oct 2022 04:54:20 -0700
+Subject: [PATCH] Retry if pthread_create fails with EAGAIN (#824)
+
+Signed-off-by: Rui Ueyama <ruiu@cs.stanford.edu>
+--- a/src/tbb/rml_thread_monitor.h
++++ b/src/tbb/rml_thread_monitor.h
+@@ -31,6 +31,7 @@
+ #include <pthread.h>
+ #include <cstring>
+ #include <cstdlib>
++#include <time.h>
+ #else
+ #error Unsupported platform
+ #endif
+@@ -191,8 +192,25 @@ inline thread_monitor::handle_type thread_monitor::launch( void* (*thread_routin
+ check(pthread_attr_init( &s ), "pthread_attr_init has failed");
+ if( stack_size>0 )
+ check(pthread_attr_setstacksize( &s, stack_size ), "pthread_attr_setstack_size has failed" );
++
++ // pthread_create(2) can spuriously fail with EAGAIN. We retry
++ // max_num_tries times with progressively longer wait times.
+ pthread_t handle;
+- check( pthread_create( &handle, &s, thread_routine, arg ), "pthread_create has failed" );
++ const int max_num_tries = 20;
++ int error = EAGAIN;
++
++ for (int i = 0; i < max_num_tries && error == EAGAIN; i++) {
++ if (i != 0) {
++ // Wait i milliseconds
++ struct timespec ts = {0, i * 1000 * 1000};
++ nanosleep(&ts, NULL);
++ }
++ error = pthread_create(&handle, &s, thread_routine, arg);
++ }
++
++ if (error)
++ handle_perror(error, "pthread_create has failed");
++
+ check( pthread_attr_destroy( &s ), "pthread_attr_destroy has failed" );
+ return handle;
+ }
+
diff --git a/dev-cpp/tbb/tbb-2021.7.0-r1.ebuild b/dev-cpp/tbb/tbb-2021.7.0-r1.ebuild
new file mode 100644
index 000000000000..d88f920769a0
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2021.7.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="https://www.threadingbuildingblocks.org"
+SRC_URI="https://github.com/oneapi-src/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/oneTBB-${PV}"
+
+LICENSE="Apache-2.0"
+# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53
+# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME>
+SLOT="0/12.5-2.5-3.5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2021.7.0-pthread-eagain.patch
+)
+
+src_configure() {
+ # bug #872287
+ filter-flags -D_GLIBCXX_ASSERTIONS
+ append-cppflags -U_GLIBCXX_ASSERTIONS
+
+ local mycmakeargs=(
+ -DTBB_TEST=$(usex test)
+ -DTBB_ENABLE_IPO=OFF
+ -DTBB_STRICT=OFF
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-cpp/tbb/tbb-2021.7.0.ebuild b/dev-cpp/tbb/tbb-2021.7.0.ebuild
index 8c5606ac0e0d..439a0b99a71c 100644
--- a/dev-cpp/tbb/tbb-2021.7.0.ebuild
+++ b/dev-cpp/tbb/tbb-2021.7.0.ebuild
@@ -14,7 +14,7 @@ LICENSE="Apache-2.0"
# https://github.com/oneapi-src/oneTBB/blob/master/CMakeLists.txt#L53
# libtbb<SONAME>-libtbbmalloc<SONAME>-libtbbbind<SONAME>
SLOT="0/12.5-2.5-3.5"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="test"
RESTRICT="!test? ( test )"