SHA256
8
0
forked from pool/tbb

7 Commits

Author SHA256 Message Date
5381658263 Add cf-prot.patch 2025-07-17 10:17:06 +02:00
Alessandro de Oliveira Faria (A.K.A.CABELO)
8999ae2f48 Version 2022.2.0 2025-07-05 20:26:39 -03:00
30971e4e50 Update to 2022.1.0
Also, build with ninja, format the .spec file and
use the common URL format for source URLs
2025-05-06 15:20:16 +02:00
Steve Kowalik
c9e26c7430 Support older and current versions of setuptools
Older versions of setuptools do not normalize the metadata directory,
whereas the newer does, so we need to support both cases.
2025-04-03 16:24:52 +11:00
f7a57bc661 Modernize building of the Python subpackage, don't generate *.egg. 2025-01-08 18:41:37 +01:00
dd92ead7d3 Do away with em dashes in summaries 2024-12-31 16:13:23 +01:00
0485d81d0d Update to 2022.0.0, remove patch and use _service to download tarball 2024-12-31 15:00:11 +01:00
7 changed files with 124 additions and 40 deletions

3
_service Normal file
View File

@@ -0,0 +1,3 @@
<services>
<service name="download_files" mode="manual" />
</services>

23
cf-prot.patch Normal file
View File

@@ -0,0 +1,23 @@
From: Jan Engelhardt <ej@inai.de>
Date: 2025-07-17 10:15:40.088500829 +0200
References: https://github.com/uxlfoundation/oneTBB/issues/1783
-fcf-prot: not supported on this target
[at least i586, armv7hl, ppc64le, s390x, probably also riscv64]
---
cmake/compilers/GNU.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: oneTBB-2022.2.0/cmake/compilers/GNU.cmake
===================================================================
--- oneTBB-2022.2.0.orig/cmake/compilers/GNU.cmake
+++ oneTBB-2022.2.0/cmake/compilers/GNU.cmake
@@ -107,7 +107,7 @@ endif ()
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 (NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" AND NOT EMSCRIPTEN)
+if (FALSE)
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>)

BIN
tbb-2021.12.0.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
tbb-2022.2.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,3 +1,66 @@
-------------------------------------------------------------------
Thu Jul 17 08:16:41 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Drop excessive gcc flags: add cf-prot.patch.
-------------------------------------------------------------------
Mon Jun 30 19:18:22 UTC 2025 - Alessandro de Oliveira Faria <cabelo@opensuse.org>
- Update to version 2022.2.0:
* Improved Hybrid CPU and NUMA Platforms API Support: Enhanced
API availability for better compatibility with Hybrid CPU and
NUMA platforms.
* Refined Environment Setup: Replaced CPATH with C_INCLUDE_PATH
and CPLUS_INCLUDE_PATH in environment setup to avoid
unintended compiler warnings caused by globally applied
include paths.
-------------------------------------------------------------------
Tue May 6 13:19:31 UTC 2025 - Eyad Issa <eyadlorenzo@gmail.com>
- Update to version 2022.1.0:
* Introduced the ONETBB_SPEC_VERSION macro to specify the version
of oneAPI specification implemented by the current version of
the library.
* blocked_nd_range is now a fully supported feature.
- Migrated URLs to the new UXL Foundation organization
- Use common URL format for Source URL
- Format .spec file
- Build with ninja
-------------------------------------------------------------------
Thu Apr 3 05:23:16 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Support older and current versions of setuptools WRT to the case of
the metadata directory.
-------------------------------------------------------------------
Wed Jan 8 17:41:12 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
- Modernize building of the Python subpackage, don't generate *.egg.
-------------------------------------------------------------------
Tue Dec 31 13:57:21 UTC 2024 - Eyad Issa <eyadlorenzo@gmail.com>
- Remove use-FORTIFY_SOURCE-from-distribution.patch, as it is now
upstreamed
- Use _service to download the source tarball
- Update to version 2022.0.0:
* Extended the Flow Graph receiving nodes with a new
try_put_and_wait API that submits a message to the graph and
waits for its completion.
* Fixed the missed signal for thread request for enqueue
operation
* Significantly improved scalability of task_group, flow_graph,
and parallel_for_each
* Removed usage of std::aligned_storage deprecated in C++23
* Fixed the issue where oneapi::tbb::info interfaces might
interfere with the process affinity mask on the Windows* OS
systems with multiple processor groups.
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Apr 19 03:16:09 UTC 2024 - Alessandro de Oliveira Faria <cabelo@opensuse.org> Fri Apr 19 03:16:09 UTC 2024 - Alessandro de Oliveira Faria <cabelo@opensuse.org>
@@ -9,7 +72,7 @@ Fri Apr 19 03:16:09 UTC 2024 - Alessandro de Oliveira Faria <cabelo@opensuse.org
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Jan 25 16:31:59 UTC 2024 - Ana Guerrero <ana.guerrero@suse.com> Thu Jan 25 16:31:59 UTC 2024 - Ana Guerrero <ana.guerrero@suse.com>
- Fix build to handle changes in (open)SUSE specific cmake macros, - Fix build to handle changes in (open)SUSE specific cmake macros,
no user visible changes no user visible changes
------------------------------------------------------------------- -------------------------------------------------------------------
@@ -103,7 +166,7 @@ Sat Sep 24 12:16:41 UTC 2022 - Dirk Müller <dmueller@suse.com>
* Deadlock in a concurrent_vector resize() that could happen when the new * Deadlock in a concurrent_vector resize() that could happen when the new
size is less than the previous size size is less than the previous size
- drop tbb-pr609-32bit-mwaitpkg.patch (upstream) - drop tbb-pr609-32bit-mwaitpkg.patch (upstream)
- add 5cb212d44732947396abdd39eae1229c7cd51644.patch, 917.patch: - add 5cb212d44732947396abdd39eae1229c7cd51644.patch, 917.patch:
build on riscv64, hppa, s390x build on riscv64, hppa, s390x
------------------------------------------------------------------- -------------------------------------------------------------------
@@ -123,7 +186,7 @@ Sat May 7 12:51:47 UTC 2022 - Dirk Müller <dmueller@suse.com>
* Extended task_group interface with a new run_and_wait overload to accept * Extended task_group interface with a new run_and_wait overload to accept
task_handle. task_handle.
* Fixed possible correctness issue in queuing_rw_mutex on non-Intel platforms. * Fixed possible correctness issue in queuing_rw_mutex on non-Intel platforms.
* Fixed sporadic memory corruption. * Fixed sporadic memory corruption.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Apr 5 14:34:05 UTC 2022 - Atri Bhattacharya <badshah400@gmail.com> Tue Apr 5 14:34:05 UTC 2022 - Atri Bhattacharya <badshah400@gmail.com>
@@ -186,7 +249,7 @@ Mon Mar 30 15:50:42 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
- Update to version 2020.2 - Update to version 2020.2
* Cross-allocator copying constructor and copy assignment operator * Cross-allocator copying constructor and copy assignment operator
for concurrent_vector are deprecated. for concurrent_vector are deprecated.
* Added input_node to the flow graph API. It acts like a source_node * Added input_node to the flow graph API. It acts like a source_node
except for being inactive by default; source_node is deprecated. except for being inactive by default; source_node is deprecated.
* Allocator template parameter for flow graph nodes is deprecated. Set * Allocator template parameter for flow graph nodes is deprecated. Set
TBB_DEPRECATED_FLOW_NODE_ALLOCATOR to 1 to avoid compilation errors. TBB_DEPRECATED_FLOW_NODE_ALLOCATOR to 1 to avoid compilation errors.
@@ -207,7 +270,7 @@ Tue Jan 21 15:25:51 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Dec 18 16:28:51 UTC 2019 - Ismail Dönmez <idonmez@suse.com> Wed Dec 18 16:28:51 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
- Update to version 2020.0 - Update to version 2020.0
* Extended task_arena interface to simplify development of * Extended task_arena interface to simplify development of
NUMA-aware applications. NUMA-aware applications.
* Added warning notifications when the deprecated functionality is * Added warning notifications when the deprecated functionality is
@@ -222,13 +285,13 @@ Thu Oct 10 12:45:32 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
* Added C++17 deduction guides for flow graph nodes. * Added C++17 deduction guides for flow graph nodes.
Preview Features Preview Features
* Added isolated_task_group class that allows multiple threads to add * Added isolated_task_group class that allows multiple threads to add
and execute tasks sharing the same isolation. and execute tasks sharing the same isolation.
* Extended the flow graph API to simplify connecting nodes. * Extended the flow graph API to simplify connecting nodes.
* Added erase() by heterogeneous keys for concurrent ordered containers. * Added erase() by heterogeneous keys for concurrent ordered containers.
* Added a possibility to suspend task execution at a specific point * Added a possibility to suspend task execution at a specific point
and resume it later. and resume it later.
Bugs fixed Bugs fixed
* Fixed the emplace() method of concurrent unordered containers to * Fixed the emplace() method of concurrent unordered containers to
destroy a temporary element that was not inserted. destroy a temporary element that was not inserted.
@@ -438,7 +501,7 @@ Sat Sep 17 13:02:18 UTC 2016 - idonmez@suse.com
Wed Jun 8 10:50:50 UTC 2016 - idonmez@suse.com Wed Jun 8 10:50:50 UTC 2016 - idonmez@suse.com
- Update to version 44_20160526 - Update to version 44_20160526
* Added a Python module which is able to replace Python's thread pool * Added a Python module which is able to replace Python's thread pool
class with the implementation based on Intel TBB task scheduler. class with the implementation based on Intel TBB task scheduler.
* Fixed the implementation of 64-bit tbb::atomic for IA-32 architecture * Fixed the implementation of 64-bit tbb::atomic for IA-32 architecture
to work correctly with GCC 5.2 in C++11/14 mode. to work correctly with GCC 5.2 in C++11/14 mode.
@@ -478,7 +541,7 @@ Sun Jan 29 01:33:25 UTC 2012 - jengelh@medozas.de
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Aug 14 23:35:15 UTC 2011 - crrodriguez@opensuse.org Sun Aug 14 23:35:15 UTC 2011 - crrodriguez@opensuse.org
- Update to version tbb30_20110704 - Update to version tbb30_20110704
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Sep 16 11:09:37 CEST 2009 - meissner@suse.de Wed Sep 16 11:09:37 CEST 2009 - meissner@suse.de

View File

@@ -1,7 +1,7 @@
# #
# spec file for package tbb # spec file for package tbb
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC
# Copyright (c) 2023 Alessandro de Oliveira Faria (A.K.A. CABELO) # Copyright (c) 2023 Alessandro de Oliveira Faria (A.K.A. CABELO)
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
@@ -34,32 +34,34 @@
%bcond_with test %bcond_with test
%if 0%{suse_version} >= 1500 %if 0%{suse_version} >= 1500
%{?!python_module:%define python_module() python3-%{**}}
%bcond_without python3 %bcond_without python3
%define skip_python2 1 %define skip_python2 1
%else %else
%bcond_with python3 %bcond_with python3
%endif %endif
Name: tbb Name: tbb
Version: 2021.12.0 Version: 2022.2.0
Release: 0 Release: 0
Summary: oneAPI Threading Building Blocks (oneTBB) Summary: oneAPI Threading Building Blocks (oneTBB)
License: Apache-2.0 License: Apache-2.0
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
URL: https://oneapi-src.github.io/oneTBB/ URL: https://uxlfoundation.github.io/oneTBB/
Source0: https://github.com/oneapi-src/oneTBB/archive/v%{version}.tar.gz#/tbb-%{version}.tar.gz Source0: https://github.com/uxlfoundation/oneTBB/archive/v%{version}/%{name}-%{version}.tar.gz
Source99: tbb-rpmlintrc Source99: tbb-rpmlintrc
# PATCH-FIX-OPENSUSE cmake-remove-include-path.patch -- openCV include error # PATCH-FIX-OPENSUSE cmake-remove-include-path.patch -- openCV include error
Patch2: cmake-remove-include-path.patch Patch2: cmake-remove-include-path.patch
Patch4: add-cmake-check-for-libatomic-requirement-when-build.patch Patch4: add-cmake-check-for-libatomic-requirement-when-build.patch
Patch5: use-FORTIFY_SOURCE-from-distribution.patch Patch5: cf-prot.patch
BuildRequires: cmake BuildRequires: cmake
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: hwloc-devel BuildRequires: hwloc-devel
BuildRequires: ninja
%if %{with python3} %if %{with python3}
BuildRequires: %{python_module devel >= 3.5} BuildRequires: %{python_module devel >= 3.5}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools} BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: python-rpm-macros BuildRequires: python-rpm-macros
BuildRequires: swig >= 3.0.6 BuildRequires: swig >= 3.0.6
%endif %endif
@@ -82,9 +84,10 @@ oneTBB provides you with functions, interfaces, and classes to parallelize and
scale the code. scale the code.
%package -n libtbb%{so_ver} %package -n libtbb%{so_ver}
Summary: Threading Building Blocks (TBB) Summary: Core library for oneAPI Threading Building Blocks
Group: System/Libraries Group: System/Libraries
Provides: %{name} = %{version} Provides: %{name} = %{version}
Provides: onetbb = %{version}
Obsoletes: %{name} < %{version} Obsoletes: %{name} < %{version}
%description -n libtbb%{so_ver} %description -n libtbb%{so_ver}
@@ -97,7 +100,7 @@ scale the code.
This package provides the core shared library corresponding to oneTBB. This package provides the core shared library corresponding to oneTBB.
%package -n libtbbmalloc%{so_ver_malloc} %package -n libtbbmalloc%{so_ver_malloc}
Summary: Threading Building Blocks (TBB) Summary: Memory allocator library for oneAPI Threading Building Blocks
Group: System/Libraries Group: System/Libraries
Provides: %{name} = %{version} Provides: %{name} = %{version}
Obsoletes: %{name} < %{version} Obsoletes: %{name} < %{version}
@@ -112,7 +115,7 @@ scale the code.
This package provides the oneTBB memory allocator shared library. This package provides the oneTBB memory allocator shared library.
%package -n libirml%{so_ver_irml} %package -n libirml%{so_ver_irml}
Summary: Threading Building Blocks (TBB) - IPC Library Summary: IPC library for oneAPI Threading Building Blocks
Group: System/Libraries Group: System/Libraries
%description -n libirml%{so_ver_irml} %description -n libirml%{so_ver_irml}
@@ -126,7 +129,7 @@ This subpackage provides the library required in order to enable inter-process
(IPC) coordination between oneTBB schedulers for the oneTBB python module. (IPC) coordination between oneTBB schedulers for the oneTBB python module.
%package -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind} %package -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind}
Summary: NUMA support library for oneAPI Threading Building Blocks (oneTBB) Summary: NUMA support library for oneAPI Threading Building Blocks
Group: System/Libraries Group: System/Libraries
%description -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind} %description -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind}
@@ -140,7 +143,7 @@ The NUMA support library for oneTBB.
%if 0%{?python_subpackage_only} %if 0%{?python_subpackage_only}
%package -n python-%{name} %package -n python-%{name}
Summary: Python %{python_version} support for oneAPI Threading Building Blocks (oneTBB) Summary: Python bindings for oneAPI Threading Building Blocks
Group: Development/Languages/Python Group: Development/Languages/Python
Requires: libirml%{so_ver_irml} Requires: libirml%{so_ver_irml}
@@ -156,7 +159,7 @@ This package contains python %{python_version} bindings for oneTBB.
%else %else
%package -n python3-%{name} %package -n python3-%{name}
Summary: Python 3 support for oneAPI Threading Building Blocks (oneTBB) Summary: Python 3 bindings for oneAPI Threading Building Blocks
Group: Development/Languages/Python Group: Development/Languages/Python
Requires: libirml%{so_ver_irml} Requires: libirml%{so_ver_irml}
@@ -198,6 +201,8 @@ sed -i 's/version\s*="0.2"/version = "%{version}"/' python/setup.py
sed -i '1{/^#!.*env python/ d}' python/TBB.py python/tbb/*.py sed -i '1{/^#!.*env python/ d}' python/TBB.py python/tbb/*.py
%build %build
# Use ninja to build
%define __builder ninja
# HWLOC: no automatic find on SLE-12 (older cmake) # HWLOC: no automatic find on SLE-12 (older cmake)
# TBB_TEST: don't compile by default # TBB_TEST: don't compile by default
# TBB4PY: use cmake build system to build libirml in the python tree # TBB4PY: use cmake build system to build libirml in the python tree
@@ -225,7 +230,7 @@ cd ..
# rebuild for every python flavor # rebuild for every python flavor
%if %{with python3} %if %{with python3}
pushd python pushd python
%python_build %pyproject_wheel
popd popd
%endif %endif
@@ -238,8 +243,10 @@ source build/*/vars.sh
%if %{with python3} %if %{with python3}
pushd python pushd python
%python_install %pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitearch} %{python_expand %fdupes %{buildroot}%{$python_sitearch}
rm -rfv %{buildroot}%{$python_sitearch}/TBB-%{version}*.egg
}
popd popd
%endif %endif
@@ -305,8 +312,7 @@ popd
%files %{python_files %{name}} %files %{python_files %{name}}
%{python_sitearch}/tbb %{python_sitearch}/tbb
%{python_sitearch}/TBB.py %{python_sitearch}/TBB.py
%{python_sitearch}/TBB-*py3* %{python_sitearch}/[Tt][Bb][Bb]-%{version}.dist-info
%{python_sitearch}/TBB-%{version}*-info
%pycache_only %{python_sitearch}/__pycache__/TBB* %pycache_only %{python_sitearch}/__pycache__/TBB*
%endif %endif

View File

@@ -1,11 +0,0 @@
diff -uNr oneTBB-2021.12.0.orig/cmake/compilers/GNU.cmake oneTBB-2021.12.0/cmake/compilers/GNU.cmake
--- oneTBB-2021.12.0.orig/cmake/compilers/GNU.cmake 2024-02-13 08:49:20.000000000 -0300
+++ oneTBB-2021.12.0/cmake/compilers/GNU.cmake 2024-04-19 03:55:56.178055557 -0300
@@ -75,7 +75,6 @@
if (NOT APPLE AND NOT MINGW)
set(TBB_LIB_LINK_FLAGS ${TBB_LIB_LINK_FLAGS} -Wl,-z,relro,-z,now,-z,noexecstack)
endif()
-set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} $<$<NOT:$<CONFIG:Debug>>:-D_FORTIFY_SOURCE=2> )
# TBB malloc settings