summaryrefslogtreecommitdiff
path: root/dev-cpp/tbb
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-09-16 03:04:44 -0500
committerroot <root@alpha.trunkmasters.com>2026-09-16 03:04:44 -0500
commit687a263b5212436c1ced6387f36d785b0a34599f (patch)
tree0196c232ff96b66c09be11acb466add8ce44899e /dev-cpp/tbb
parentafe8b68a6636c2d8e95d0710f831470d59ab2790 (diff)
downloadbaldeagleos-repo-687a263b5212436c1ced6387f36d785b0a34599f.tar.gz
baldeagleos-repo-687a263b5212436c1ced6387f36d785b0a34599f.tar.xz
baldeagleos-repo-687a263b5212436c1ced6387f36d785b0a34599f.zip
Adding metadata
Diffstat (limited to 'dev-cpp/tbb')
-rw-r--r--dev-cpp/tbb/Manifest6
-rw-r--r--dev-cpp/tbb/files/tbb-2021.13.0-test-atomics.patch3
-rw-r--r--dev-cpp/tbb/files/tbb-2021.7.0-abort.patch11
-rw-r--r--dev-cpp/tbb/files/tbb-2021.7.0-dynamicLink.patch10
-rw-r--r--dev-cpp/tbb/files/tbb-2021.7.0-pthread-eagain.patch135
-rw-r--r--dev-cpp/tbb/files/tbb-2021.8.0-gcc-13.patch26
-rw-r--r--dev-cpp/tbb/files/tbb-2021.9.0-dynamicLink.patch10
-rw-r--r--dev-cpp/tbb/files/tbb-2023.1.0-no-clobber-toolchain.patch79
-rw-r--r--dev-cpp/tbb/tbb-2021.12.0.ebuild58
-rw-r--r--dev-cpp/tbb/tbb-2021.13.0.ebuild59
-rw-r--r--dev-cpp/tbb/tbb-2021.7.0-r1.ebuild50
-rw-r--r--dev-cpp/tbb/tbb-2021.9.0.ebuild59
-rw-r--r--dev-cpp/tbb/tbb-2022.0.0-r1.ebuild60
-rw-r--r--dev-cpp/tbb/tbb-2022.3.0.ebuild62
-rw-r--r--dev-cpp/tbb/tbb-2023.1.0.ebuild71
15 files changed, 154 insertions, 545 deletions
diff --git a/dev-cpp/tbb/Manifest b/dev-cpp/tbb/Manifest
index 0114a8393263..0b58685b590a 100644
--- a/dev-cpp/tbb/Manifest
+++ b/dev-cpp/tbb/Manifest
@@ -1,8 +1,4 @@
DIST tbb-2020.3.tar.gz 2639788 BLAKE2B 3e92bccdc8179fc049379ccbb8ad7f615623177abc61d813b1a601020c345137bfd7d4c4600cf5b0d587e5ebef677635c3c8124d06b05fdd3325128ed8c9f84a SHA512 04c4b5501418792827190691d03d20d4dc1fd3cbbcf459a4d40c5c2281d964e658f31f133ad3907b78e17ed04f4ff16728ed89487ed0ce2cb239f23feb34bd87
-DIST tbb-2021.12.0.tar.gz 2617255 BLAKE2B 3e1db8b1972a7225c5355def66ae40006e6e0f0f97e2efff45dd361f724e348a2f0476bc14b59f89f5361cac6fa36a4973602467bc7fbb2b8b139a4ff4dd58de SHA512 64022bcb61cf7b2030a1bcc11168445ef9f0d69b70290233a7febb71cc7a12cc2282dddc045f84e30893efe276342f02fd78d176706268eeaefe9aac7446d4e9
-DIST tbb-2021.13.0.tar.gz 2613916 BLAKE2B 0edd2d8a966dba673e50827629491924140a302430f4380e7cd9914f3592eaf6515204c7267649237970a5482cc030f0c29cbddd1476f16caf46989f70041058 SHA512 1f536b98c4eb331c3ba21e4b36362c932d7852b974ea7237b5f7bffb0e996d76f688c7ac534cb56f5866cfdffd5d3f015521b4c2ca21e584503070782ca82a2f
-DIST tbb-2021.7.0.tar.gz 2571727 BLAKE2B 2977ef1a33d9bc7baa40e0e57c02e62798a09c6c66cdbe369f2702d87fd9877c3d97f8d83f71384028995ea0956f5c5630d4aaf4edbe68538e7c514d3b87085c SHA512 d314e3d88b85c96607a9eda15e3d808bf361eb562a534c59101929236e90c187883e7718e5435b5e7f01f4ee652c9765af95f5f173368b83997e4666b7403a49
-DIST tbb-2021.9.0.tar.gz 2579150 BLAKE2B f6f701df1605913770222689063ff422416f86f132fb3fbc80f383b7c52762d3804e75200ca4826906b16c66f674918bcfd78b16a1dafb499ca53a9d2b6652ec SHA512 2ece7f678ad7c8968c0ad5cda9f987e4b318c6d9735169e1039beb0ff8dfca18815835875211acc6c7068913d9b0bdd4c9ded22962b0bb48f4a0ce0f7b78f31c
-DIST tbb-2022.0.0.tar.gz 2654343 BLAKE2B eac1a8065e401f1329527ccb1db0a8d30eb54ca2d9180560cd3be2263a779d250a0bda4fc3fb11fede3c63e964490420f09d664a7e39071d9b6a6cf743349f8f SHA512 c87b84964b2c323f61895a532968dfa6413a774c177cffbf6e798a07e74e8da5d449144875771df0a1b02657eeb2a7ae4d41c6c432dbf7ea50e3d5a9ea9f8cd3
DIST tbb-2022.1.0.tar.gz 3434602 BLAKE2B a6441be4830ac79d648eee37a534bb74e2298612237059e2d22778c3aebda7e9a73c58948c8f9e89603cb05270d63d412b28bdc13a7cc6b3f6683ed21f1c221a SHA512 7582748f7d0e0ab46ea6ee7771dfaf7fc08ca7ab7f274fb3373eae0e3411aaafbac192ece15008d9a3d9e8566f8737f96f3f4b5ccf11449ac089d5cd9ebb9eab
DIST tbb-2022.3.0.tar.gz 6836514 BLAKE2B 466e599dca7a64608eaa4df2fe16e62261230446a961bfadc65b9cded9489ed0b5a1e2d9d2a9dd3d202b62ac32e10c2cfa9b1a3cf1e292347985ec7b0400a72f SHA512 fdc50589785b1949ca1dd4429bbcedb180be4b8966da5243ddd1f8e9f97310dd603681e0bb83c1d6c2d3e27932f577ef6739e4e82f3c54af147f4d6d906b39f1
+DIST tbb-2023.1.0.tar.gz 7722887 BLAKE2B 78d91cc0eb6bd6d1d06cde1902a1d6c335a30f0ddc0a4976bc4878a31d037c645238774f68ee40be86b55b6d2f17621cd79786e0e0acc58c0ac78c451a44b211 SHA512 c8e9b9100873d6f8514da18ca700165466a9c042d24a6ce9e8901c8996c348f2e58f0251b1eca47d33cc5f382783bfc7693bc6c451716540d4caa57339b3b535
diff --git a/dev-cpp/tbb/files/tbb-2021.13.0-test-atomics.patch b/dev-cpp/tbb/files/tbb-2021.13.0-test-atomics.patch
index 7cc8216153d0..088b2681184a 100644
--- a/dev-cpp/tbb/files/tbb-2021.13.0-test-atomics.patch
+++ b/dev-cpp/tbb/files/tbb-2021.13.0-test-atomics.patch
@@ -1,3 +1,6 @@
+https://github.com/uxlfoundation/oneTBB/issues/980
+https://github.com/uxlfoundation/oneTBB/pull/987
+
From c828ae47b8f4bea7736d2f9d05460e2b529c9d7d Mon Sep 17 00:00:00 2001
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Date: Fri, 9 Dec 2022 12:36:11 +0100
diff --git a/dev-cpp/tbb/files/tbb-2021.7.0-abort.patch b/dev-cpp/tbb/files/tbb-2021.7.0-abort.patch
deleted file mode 100644
index 0a7deec96a5d..000000000000
--- a/dev-cpp/tbb/files/tbb-2021.7.0-abort.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/test/common/utils_assert.h 2026-03-27 11:39:14.886058730 +0100
-+++ b/test/common/utils_assert.h 2026-03-27 11:40:24.429306039 +0100
-@@ -20,6 +20,8 @@
- #include "config.h"
- #include "utils_report.h"
-
-+#include <cstdlib>
-+
- #define REPORT_FATAL_ERROR REPORT
-
- namespace utils {
diff --git a/dev-cpp/tbb/files/tbb-2021.7.0-dynamicLink.patch b/dev-cpp/tbb/files/tbb-2021.7.0-dynamicLink.patch
deleted file mode 100644
index ca44d7985a30..000000000000
--- a/dev-cpp/tbb/files/tbb-2021.7.0-dynamicLink.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/test/CMakeLists.txt 2026-03-27 13:13:21.627057086 +0100
-+++ b/test/CMakeLists.txt 2026-03-27 13:17:16.113296894 +0100
-@@ -367,6 +367,7 @@
- tbb_add_test(SUBDIR tbb NAME test_allocators DEPENDENCIES TBB::tbb)
- tbb_add_test(SUBDIR tbb NAME test_arena_priorities DEPENDENCIES TBB::tbb)
- tbb_add_test(SUBDIR tbb NAME test_dynamic_link DEPENDENCIES TBB::tbb)
-+ set_target_properties(test_dynamic_link PROPERTIES ENABLE_EXPORTS TRUE)
- if (WIN32)
- tbb_add_test(SUBDIR tbb NAME test_numa_dist DEPENDENCIES TBB::tbb)
- endif()
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
deleted file mode 100644
index 6c0912ec96b7..000000000000
--- a/dev-cpp/tbb/files/tbb-2021.7.0-pthread-eagain.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-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/files/tbb-2021.8.0-gcc-13.patch b/dev-cpp/tbb/files/tbb-2021.8.0-gcc-13.patch
deleted file mode 100644
index 84a0ba3dc7a1..000000000000
--- a/dev-cpp/tbb/files/tbb-2021.8.0-gcc-13.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://github.com/oneapi-src/oneTBB/pull/1031
-
-From 363bf59bef2649b4d427788522da27c12f984a9a Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Tue, 21 Feb 2023 09:36:33 +0000
-Subject: [PATCH] test: common: include <cstdlib> for abort() (fix build with
- GCC 13)
-
-GCC 13 (as usual for new compiler releases) shuffles around some
-internal includes and so <cstdint> etc is no longer transitively included.
-
-See https://www.gnu.org/software/gcc/gcc-13/porting_to.html.
-
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/test/common/utils_assert.h
-+++ b/test/common/utils_assert.h
-@@ -20,6 +20,8 @@
- #include "config.h"
- #include "utils_report.h"
-
-+#include <cstdlib>
-+
- #define REPORT_FATAL_ERROR REPORT
-
- namespace utils {
-
diff --git a/dev-cpp/tbb/files/tbb-2021.9.0-dynamicLink.patch b/dev-cpp/tbb/files/tbb-2021.9.0-dynamicLink.patch
deleted file mode 100644
index 77c9ca68ba0b..000000000000
--- a/dev-cpp/tbb/files/tbb-2021.9.0-dynamicLink.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/test/CMakeLists.txt 2026-03-27 14:52:17.592128499 +0100
-+++ b/test/CMakeLists.txt 2026-03-27 14:53:30.563265543 +0100
-@@ -375,6 +375,7 @@
- tbb_add_test(SUBDIR tbb NAME test_allocators DEPENDENCIES TBB::tbb)
- tbb_add_test(SUBDIR tbb NAME test_arena_priorities DEPENDENCIES TBB::tbb)
- tbb_add_test(SUBDIR tbb NAME test_dynamic_link DEPENDENCIES TBB::tbb)
-+ set_target_properties(test_dynamic_link PROPERTIES ENABLE_EXPORTS TRUE)
- if (LINKER_HAS_NO_AS_NEEDED)
- # The linker may not detect a dependency on pthread in static variable constructors.
- target_link_libraries(test_dynamic_link PRIVATE "-Wl,--no-as-needed")
diff --git a/dev-cpp/tbb/files/tbb-2023.1.0-no-clobber-toolchain.patch b/dev-cpp/tbb/files/tbb-2023.1.0-no-clobber-toolchain.patch
new file mode 100644
index 000000000000..a19b7e365f39
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-2023.1.0-no-clobber-toolchain.patch
@@ -0,0 +1,79 @@
+Strip flags that are set by the Gentoo toolchain.
+
+For -fcf-protection
+https://bugs.gentoo.org/965340
+
+For -D_FORTIFY_SOURCE
+https://bugs.gentoo.org/922605
+
+--- a/cmake/compilers/Clang.cmake
++++ b/cmake/compilers/Clang.cmake
+@@ -74,40 +74,15 @@ endif()
+ set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS}
+ -Wformat -Wformat-security -Werror=format-security
+ $<$<PLATFORM_ID:Windows>:-D_CRT_SECURE_NO_WARNINGS>
+- $<$<NOT:$<PLATFORM_ID:Windows>>:-fPIC>
+- $<$<NOT:$<PLATFORM_ID:Emscripten>>:-fstack-protector-strong>)
+-
+-if (NOT APPLE AND NOT ANDROID_PLATFORM AND CMAKE_SYSTEM_PROCESSOR MATCHES "(AMD64|amd64|i.86|x86)" AND NOT WIN32)
+- set(TBB_LIB_COMPILE_FLAGS ${TBB_LIB_COMPILE_FLAGS} -fstack-clash-protection)
+- if (NOT EMSCRIPTEN)
+- # Some versions of Clang implicitly set -march=i686 when compiling for x86 and some don't.
+- # -fcf-protection requires i686, so check -fcf-protection explicitly.
+- include(CheckCXXSourceCompiles)
+- set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
+- set(CMAKE_REQUIRED_FLAGS "-fcf-protection=full")
+- check_cxx_source_compiles("int main(int, char*[]) { return 0; }" CF_PROTECTION_FULL_SUPPORTED)
+- unset(CMAKE_TRY_COMPILE_TARGET_TYPE)
+- unset(CMAKE_REQUIRED_FLAGS)
+-
+- if (CF_PROTECTION_FULL_SUPPORTED)
+- set(TBB_LIB_COMPILE_FLAGS ${TBB_LIB_COMPILE_FLAGS} -fcf-protection=full)
+- else()
+- message(WARNING "Compiler does not support -fcf-protection=full.")
+- endif()
+- endif()
+-endif()
++ $<$<NOT:$<PLATFORM_ID:Windows>>:-fPIC>)
+
+ # -z switch is not supported on MacOS and Windows
+ if (NOT APPLE AND NOT WIN32)
+- set(TBB_LIB_LINK_FLAGS ${TBB_LIB_LINK_FLAGS} -Wl,-z,relro,-z,now,-z,noexecstack)
++ set(TBB_LIB_LINK_FLAGS ${TBB_LIB_LINK_FLAGS} -Wl,-z,noexecstack)
+ endif()
+
+ set(TBB_COMMON_LINK_LIBS ${CMAKE_DL_LIBS})
+
+-if (NOT CMAKE_CXX_FLAGS MATCHES "_FORTIFY_SOURCE")
+- set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} $<$<NOT:$<CONFIG:Debug>>:-D_FORTIFY_SOURCE=2>)
+-endif ()
+-
+ if (MINGW)
+ list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__)
+ endif()
+--- a/cmake/compilers/GNU.cmake
++++ b/cmake/compilers/GNU.cmake
+@@ -106,20 +106,12 @@ endif ()
+
+ # Gnu flags to prevent compiler from optimizing out security checks
+ set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -fno-strict-overflow -fno-delete-null-pointer-checks -fwrapv)
+-set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -Wformat -Wformat-security -Werror=format-security
+- -fstack-protector-strong )
+-if (CMAKE_SYSTEM_PROCESSOR MATCHES "(AMD64|amd64|i.86|x86)" AND NOT EMSCRIPTEN)
+- set(TBB_LIB_COMPILE_FLAGS ${TBB_LIB_COMPILE_FLAGS} $<$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},8.0>>:-fcf-protection=full>)
+-endif ()
+-set(TBB_LIB_COMPILE_FLAGS ${TBB_LIB_COMPILE_FLAGS} $<$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},8.0>>:-fstack-clash-protection>)
++set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -Wformat -Wformat-security -Werror=format-security)
+
+ # -z switch is not supported on MacOS and MinGW
+ if (NOT APPLE AND NOT MINGW)
+- set(TBB_LIB_LINK_FLAGS ${TBB_LIB_LINK_FLAGS} -Wl,-z,relro,-z,now,-z,noexecstack)
++ set(TBB_LIB_LINK_FLAGS ${TBB_LIB_LINK_FLAGS} -Wl,-z,noexecstack)
+ endif()
+-if (NOT CMAKE_CXX_FLAGS MATCHES "_FORTIFY_SOURCE")
+- set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} $<$<NOT:$<CONFIG:Debug>>:-D_FORTIFY_SOURCE=2> )
+-endif ()
+
+ if (TBB_FILE_TRIM AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8 AND NOT CMAKE_CXX_COMPILER_ID MATCHES "Intel")
+ set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -ffile-prefix-map=${NATIVE_TBB_PROJECT_ROOT_DIR}/= -ffile-prefix-map=${NATIVE_TBB_RELATIVE_BIN_PATH}/=)
+
diff --git a/dev-cpp/tbb/tbb-2021.12.0.ebuild b/dev-cpp/tbb/tbb-2021.12.0.ebuild
deleted file mode 100644
index 1bd9cb9fa412..000000000000
--- a/dev-cpp/tbb/tbb-2021.12.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2026 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://github.com/oneapi-src/oneTBB"
-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 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch
- "${FILESDIR}"/${PN}-2021.9.0-ppc.patch
- "${FILESDIR}"/${PN}-2021.13.0-test-atomics.patch
-)
-
-src_prepare() {
- # Has an #error to force compilation as C but links with C++ library, dies
- # with GLIBCXX_ASSERTIONS as a result.
- sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' test/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Workaround for bug #912210
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- local mycmakeargs=(
- -DTBB_TEST=$(usex test)
- -DTBB_ENABLE_IPO=OFF
- -DTBB_STRICT=OFF
- )
-
- cmake-multilib_src_configure
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=()
- if use elibc_musl; then
- CMAKE_SKIP_TESTS=( conformance_resumable_tasks ) # Bug #864175
- fi
- cmake-multilib_src_test
-}
diff --git a/dev-cpp/tbb/tbb-2021.13.0.ebuild b/dev-cpp/tbb/tbb-2021.13.0.ebuild
deleted file mode 100644
index 4cc18d3ee0cd..000000000000
--- a/dev-cpp/tbb/tbb-2021.13.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2026 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://github.com/oneapi-src/oneTBB"
-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 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch
- "${FILESDIR}"/${PN}-2021.9.0-ppc.patch
- "${FILESDIR}"/${PN}-2021.13.0-test-atomics.patch
- "${FILESDIR}"/${PN}-2022.0.0_do-not-fortify-source.patch
-)
-
-src_prepare() {
- # Has an #error to force compilation as C but links with C++ library, dies
- # with GLIBCXX_ASSERTIONS as a result.
- sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' test/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Workaround for bug #912210
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- local mycmakeargs=(
- -DTBB_TEST=$(usex test)
- -DTBB_ENABLE_IPO=OFF
- -DTBB_STRICT=OFF
- )
-
- cmake-multilib_src_configure
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=()
- if use elibc_musl; then
- CMAKE_SKIP_TESTS=( conformance_resumable_tasks ) # Bug #864175
- fi
- cmake-multilib_src_test
-}
diff --git a/dev-cpp/tbb/tbb-2021.7.0-r1.ebuild b/dev-cpp/tbb/tbb-2021.7.0-r1.ebuild
deleted file mode 100644
index 14697638a200..000000000000
--- a/dev-cpp/tbb/tbb-2021.7.0-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2026 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://github.com/oneapi-src/oneTBB"
-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 ~loong ppc ppc64 ~riscv ~sparc x86 ~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
- "${FILESDIR}"/${PN}-2021.7.0-abort.patch
- "${FILESDIR}"/${P}-dynamicLink.patch
-)
-
-src_configure() {
- # Workaround for bug #912210
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- local mycmakeargs=(
- -DTBB_TEST=$(usex test)
- -DTBB_ENABLE_IPO=OFF
- -DTBB_STRICT=OFF
- )
-
- cmake-multilib_src_configure
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=()
- if use elibc_musl; then
- CMAKE_SKIP_TESTS=( conformance_resumable_tasks ) # Bug #864175
- fi
- cmake-multilib_src_test
-}
diff --git a/dev-cpp/tbb/tbb-2021.9.0.ebuild b/dev-cpp/tbb/tbb-2021.9.0.ebuild
deleted file mode 100644
index 210049d0641c..000000000000
--- a/dev-cpp/tbb/tbb-2021.9.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2026 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://github.com/oneapi-src/oneTBB"
-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 ~loong ppc ppc64 ~riscv ~sparc x86 ~arm64-macos ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2021.8.0-gcc-13.patch
- "${FILESDIR}"/${PN}-2021.9.0-ppc.patch
- "${FILESDIR}"/${PN}-2021.13.0-test-atomics.patch
- "${FILESDIR}"/${P}-dynamicLink.patch
-)
-
-src_prepare() {
- # Has an #error to force compilation as C but links with C++ library, dies
- # with GLIBCXX_ASSERTIONS as a result.
- sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' test/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Workaround for bug #912210
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- local mycmakeargs=(
- -DTBB_TEST=$(usex test)
- -DTBB_ENABLE_IPO=OFF
- -DTBB_STRICT=OFF
- )
-
- cmake-multilib_src_configure
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=()
- if use elibc_musl; then
- CMAKE_SKIP_TESTS=( conformance_resumable_tasks ) # Bug #864175
- fi
- cmake-multilib_src_test
-}
diff --git a/dev-cpp/tbb/tbb-2022.0.0-r1.ebuild b/dev-cpp/tbb/tbb-2022.0.0-r1.ebuild
deleted file mode 100644
index 158dc20d4dc7..000000000000
--- a/dev-cpp/tbb/tbb-2022.0.0-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2026 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://github.com/uxlfoundation/oneTBB"
-SRC_URI="https://github.com/uxlfoundation/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.14-2.14-3.14"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2021.9.0-ppc.patch
- "${FILESDIR}"/${PN}-2021.13.0-test-atomics.patch
- "${FILESDIR}"/${PN}-2022.0.0_do-not-fortify-source.patch
-)
-
-src_prepare() {
- # Has an #error to force compilation as C but links with C++ library, dies
- # with GLIBCXX_ASSERTIONS as a result.
- sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' \
- test/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Workaround for bug #912210
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- local mycmakeargs=(
- -DTBB_TEST=$(usex test)
- -DTBB_EXAMPLES=OFF # TODO: add this
- -DTBB_ENABLE_IPO=OFF
- -DTBB_STRICT=OFF
- )
-
- cmake-multilib_src_configure
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=()
- if use elibc_musl; then
- CMAKE_SKIP_TESTS=( conformance_resumable_tasks ) # Bug #864175
- fi
- cmake-multilib_src_test
-}
diff --git a/dev-cpp/tbb/tbb-2022.3.0.ebuild b/dev-cpp/tbb/tbb-2022.3.0.ebuild
deleted file mode 100644
index 3e70e56bd082..000000000000
--- a/dev-cpp/tbb/tbb-2022.3.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2026 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://github.com/uxlfoundation/oneTBB"
-SRC_URI="https://github.com/uxlfoundation/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.15-2.15-3.15"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2021.9.0-ppc.patch
- "${FILESDIR}"/${PN}-2021.13.0-test-atomics.patch
- "${FILESDIR}"/${PN}-2022.0.0_do-not-fortify-source.patch
- "${FILESDIR}"/${PN}-2022.3.0-no-clobber-hardened.patch
- "${FILESDIR}"/${PN}-2022.3.0-cmake.patch
-)
-
-src_prepare() {
- # Has an #error to force compilation as C but links with C++ library, dies
- # with GLIBCXX_ASSERTIONS as a result.
- sed -i -e '/tbb_add_c_test(SUBDIR tbbmalloc NAME test_malloc_pure_c DEPENDENCIES TBB::tbbmalloc)/d' \
- test/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Workaround for bug #912210
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- local mycmakeargs=(
- -DTBB_TEST=$(usex test)
- -DTBB_EXAMPLES=OFF # TODO: add this
- -DTBB_ENABLE_IPO=OFF
- -DTBB_STRICT=OFF
- )
-
- cmake-multilib_src_configure
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=()
- if use elibc_musl; then
- CMAKE_SKIP_TESTS=( conformance_resumable_tasks ) # Bug #864175
- fi
- cmake-multilib_src_test
-}
diff --git a/dev-cpp/tbb/tbb-2023.1.0.ebuild b/dev-cpp/tbb/tbb-2023.1.0.ebuild
new file mode 100644
index 000000000000..45016d9536a6
--- /dev/null
+++ b/dev-cpp/tbb/tbb-2023.1.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2026 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://github.com/uxlfoundation/oneTBB"
+SRC_URI="https://github.com/uxlfoundation/oneTBB/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/oneTBB-${PV}"
+
+LICENSE="Apache-2.0"
+# See VERSIONING.md
+# __TBB_BINARY_VERSION in include/oneapi/tbb/version.h -> libtbb.so.<SONAME>
+# TBBMALLOC_BINARY_VERSION in CMakeLists.txt -> libtbbmalloc.so.<SONAME>
+# TBBBIND_BINARY_VERSION in CMakeListst.txt -> libtbbbind.so.<SONAME>
+SLOT="0/12.2.3" # TBB_BINARY_VERSION.TBBMALLOC_VERSION.TBBBIND_VERSION
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!kernel_Darwin? ( sys-apps/hwloc:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2021.9.0-ppc.patch
+ "${FILESDIR}"/${PN}-2021.13.0-test-atomics.patch
+ "${FILESDIR}"/${PN}-2023.1.0-no-clobber-toolchain.patch
+)
+
+src_prepare() {
+ # sanity check subslot
+ local detected_abi tbb_version tbbmalloc_version tbbbind_version
+ tbb_version="$(sed -n -e 's/^#define __TBB_BINARY_VERSION \(.*\)$/\1/p' include/oneapi/tbb/version.h)"
+ tbbmalloc_version="$(sed -n -e 's/^set(TBBMALLOC_BINARY_VERSION \(.*\))$/\1/p' CMakeLists.txt)"
+ tbbbind_version="$(sed -n -e 's/^set(TBBBIND_BINARY_VERSION \(.*\))$/\1/p' CMakeLists.txt)"
+ detected_abi="${tbb_version}.${tbbmalloc_version}.${tbbbind_version}"
+ if [[ "${SLOT}" != "0/${detected_abi}" ]]; then
+ die "SLOT ${SLOT} doesn't match upstream specified ABI ${detected_abi}."
+ fi
+
+ # Silence cmake warnings
+ rm -r examples || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Workaround for bug #912210
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local mycmakeargs=(
+ -DTBB_TEST=$(usex test)
+ -DTBB_EXAMPLES=OFF # TODO: add this
+
+ -DTBB_ENABLE_IPO=OFF # Use user cflags instead
+ -DTBB_STRICT=OFF # Don't turn warnings into errors
+ )
+
+ cmake-multilib_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=()
+ if use elibc_musl; then
+ CMAKE_SKIP_TESTS+=( conformance_resumable_tasks ) # Bug #864175
+ fi
+ cmake-multilib_src_test
+}