[packages/tbb] up to 2021.4.0 (new soname)

atler atler at pld-linux.org
Wed Dec 15 21:30:57 CET 2021


commit 00f79ac27efed5f1ac435159c20d8da465d2af9c
Author: Jan Palus <atler at pld-linux.org>
Date:   Wed Dec 15 21:29:46 2021 +0100

    up to 2021.4.0 (new soname)
    
    - uses cmake now

 mfence.patch              | 21 -----------
 no-forced-arch-bits.patch | 19 ----------
 tbb-cxxflags.patch        | 15 --------
 tbb.pc.in                 | 10 -----
 tbb.spec                  | 94 ++++++++++++++++-------------------------------
 tbbmalloc.pc.in           | 10 -----
 tbbmalloc_proxy.pc.in     | 10 -----
 7 files changed, 31 insertions(+), 148 deletions(-)
---
diff --git a/tbb.spec b/tbb.spec
index c07da43..d190bf1 100644
--- a/tbb.spec
+++ b/tbb.spec
@@ -1,35 +1,30 @@
 # use: major=year, minor=Update version, [micro=date if present]
-%define		major	2020
-%define		minor	3
-%define		micro	%{nil}
+%define		major	2021
+%define		minor	4
+%define		micro	0
 Summary:	The Threading Building Blocks library abstracts low-level threading details
 Summary(pl.UTF-8):	Threading Building Blocks - biblioteka abstrahująca niskopoziomowe szczegóły obsługi wątków
 Name:		tbb
-#Version:	%{major}.%{minor}.%{micro}
-Version:	%{major}.%{minor}
+Version:	%{major}.%{minor}.%{micro}
 Release:	1
 License:	Apache v2.0
 Group:		Development/Tools
 # Source0Download: https://github.com/oneapi-src/oneTBB/releases
-Source0:	https://github.com/01org/tbb/archive/v%{major}.%{minor}/oneTBB-%{major}.%{minor}.tar.gz
-# Source0-md5:	ea8fa4332f4bad10a75a361cba025380
+Source0:	https://github.com/01org/tbb/archive/v%{version}/oneTBB-%{version}.tar.gz
+# Source0-md5:	fa317f16003e31e33a57ae7d888403e4
 Source1:	http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Design_Patterns.pdf
-# Source1-md5:	46062fef922d39abfd464bc06e02cdd8
+# Source1-md5:	3fd5805aa4439b2c46072c9673300a4a
 Source2:	http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Getting_Started.pdf
-# Source2-md5:	b8f94104c47f9667e537b98bd940494a
+# Source2-md5:	993aca18f0717f3ca3b36a7e4d0e0124
 Source3:	http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Reference.pdf
-# Source3-md5:	1481cbd378f4964691046d0ba570b374
+# Source3-md5:	c646c043d65a45b460eeb03b0a8ef0fb
 Source4:	http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Tutorial.pdf
-# Source4-md5:	5bbdd1050c5dac5c1b782a6a98db0c46
-Source5:	%{name}.pc.in
-Source6:	%{name}malloc.pc.in
-Source7:	%{name}malloc_proxy.pc.in
-Patch0:		no-forced-arch-bits.patch
-Patch1:		%{name}-cxxflags.patch
-Patch2:		mfence.patch
+# Source4-md5:	5c712f3a977525d5f23286decb3b1e16
 URL:		http://www.threadingbuildingblocks.org/
+BuildRequires:	cmake >= 3.1
 BuildRequires:	libstdc++-devel
 BuildRequires:	pkgconfig
+BuildRequires:	rpmbuild(macros) >= 1.605
 BuildRequires:	sed >= 4.0
 # We need "arch" binary:
 BuildRequires:	util-linux
@@ -89,52 +84,22 @@ Dokumentacja w formacie PDF dla użytkowników biblioteki C++ Threading
 Building Blocks (TBB).
 
 %prep
-%setup -q -n oneTBB-%{major}.%{minor}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
+%setup -q -n oneTBB-%{version}
 
 cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} .
 
-cp -p %{SOURCE5} %{SOURCE6} %{SOURCE7} .
-
 %build
-%ifarch x32
-setarch linux32 \
-%endif
-%{__make} \
-	CPLUS="%{__cxx}" \
-	CXXFLAGS="%{rpmcxxflags}" \
-	tbb_build_prefix=obj
+%cmake -B build \
+	-DTBB_STRICT:BOOL=OFF \
+	-DTBB_TEST:BOOL=OFF
+
+%{__make} -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir},%{_pkgconfigdir}}
-
-cd build/obj_release
-for file in tbb tbbmalloc tbbmalloc_proxy; do
-	install lib${file}.so.2 $RPM_BUILD_ROOT%{_libdir}/lib${file}.so.2.%{version}
-	ln -s lib${file}.so.2.%{version} $RPM_BUILD_ROOT%{_libdir}/lib${file}.so
-	ln -s lib${file}.so.2.%{version} $RPM_BUILD_ROOT%{_libdir}/lib${file}.so.2
-done
-cd -
-
-cd include
-find tbb -type f -name '*.h' -exec \
-	install -p -D -m 644 {} $RPM_BUILD_ROOT%{_includedir}/{} ';'
-cd -
-
-for pc in tbb.pc tbbmalloc.pc tbbmalloc_proxy.pc; do
-	in=$pc.in
-	# fail if obsolete
-	[ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir}/$pc ] || exit 1
-	sed -e '
-		s, at prefix@,%{_prefix},;
-		s, at libdir@,%{_libdir},;
-		s, at includedir@,%{_includedir}/tbb,;
-		s, at version@,%{version},
-	' $in > $RPM_BUILD_ROOT%{_pkgconfigdir}/$pc
-done
+
+%{__make} -C build install \
+	DESTDIR=$RPM_BUILD_ROOT
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -144,12 +109,12 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc CHANGES README.md third-party-programs.txt doc/Release_Notes.txt
-%attr(755,root,root) %{_libdir}/libtbb.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libtbb.so.2
-%attr(755,root,root) %{_libdir}/libtbbmalloc.so.*.*.*
+%doc README.md third-party-programs.txt
+%attr(755,root,root) %{_libdir}/libtbb.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libtbb.so.12
+%attr(755,root,root) %{_libdir}/libtbbmalloc.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libtbbmalloc.so.2
-%attr(755,root,root) %{_libdir}/libtbbmalloc_proxy.so.*.*.*
+%attr(755,root,root) %{_libdir}/libtbbmalloc_proxy.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libtbbmalloc_proxy.so.2
 
 %files devel
@@ -157,10 +122,13 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libtbb.so
 %attr(755,root,root) %{_libdir}/libtbbmalloc.so
 %attr(755,root,root) %{_libdir}/libtbbmalloc_proxy.so
+# likely to be owned by different package?
+%dir %{_includedir}/oneapi
+%{_includedir}/oneapi/tbb.h
+%{_includedir}/oneapi/tbb
 %{_includedir}/tbb
 %{_pkgconfigdir}/tbb.pc
-%{_pkgconfigdir}/tbbmalloc.pc
-%{_pkgconfigdir}/tbbmalloc_proxy.pc
+%{_libdir}/cmake/TBB
 
 %files doc
 %defattr(644,root,root,755)
diff --git a/mfence.patch b/mfence.patch
deleted file mode 100644
index a463bc9..0000000
--- a/mfence.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up tbb40_20110809oss/include/tbb/machine/linux_ia32.h\~ tbb40_20110809oss/include/tbb/machine/linux_ia32.h
---- tbb40_20110809oss/include/tbb/machine/linux_ia32.h~	2011-08-24 15:51:56.000000000 +0200
-+++ tbb40_20110809oss/include/tbb/machine/linux_ia32.h	2011-10-18 15:04:01.994271994 +0200
-@@ -42,7 +42,14 @@
- #define __TBB_control_consistency_helper() __TBB_compiler_fence()
- #define __TBB_acquire_consistency_helper() __TBB_compiler_fence()
- #define __TBB_release_consistency_helper() __TBB_compiler_fence()
--#define __TBB_full_memory_fence()          __asm__ __volatile__("mfence": : :"memory")
-+#define __TBB_full_memory_fence()          __TBB_full_memory_fence_imp()
-+inline void __TBB_full_memory_fence_imp() {
-+    int tmp;
-+    __asm__ __volatile__("xchg %0,%0"
-+			 : "=r"(tmp)
-+			 : "r"(tmp)
-+			 : "memory");
-+}
- 
- #if __TBB_ICC_ASM_VOLATILE_BROKEN
- #define __TBB_VOLATILE
-
-Diff finished.  Tue Oct 18 15:04:09 2011
diff --git a/no-forced-arch-bits.patch b/no-forced-arch-bits.patch
deleted file mode 100644
index 3e2e1e9..0000000
--- a/no-forced-arch-bits.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- tbb43_20150611oss/build/linux.gcc.inc~	2015-06-28 12:13:13.000000000 +0200
-+++ tbb43_20150611oss/build/linux.gcc.inc	2015-06-28 12:14:51.385001671 +0200
-@@ -74,14 +74,12 @@
- 
- ifeq (intel64,$(arch))
-     ITT_NOTIFY = -DDO_ITT_NOTIFY
--    CPLUS_FLAGS += -m64 $(RTM_KEY)
--    LIB_LINK_FLAGS += -m64
-+    CPLUS_FLAGS += $(RTM_KEY)
- endif
- 
- ifeq (ia32,$(arch))
-     ITT_NOTIFY = -DDO_ITT_NOTIFY
--    CPLUS_FLAGS += -m32 -march=pentium4 $(RTM_KEY)
--    LIB_LINK_FLAGS += -m32
-+    CPLUS_FLAGS += $(RTM_KEY)
- endif
- 
- ifeq (ppc64,$(arch))
diff --git a/tbb-cxxflags.patch b/tbb-cxxflags.patch
deleted file mode 100644
index a620c03..0000000
--- a/tbb-cxxflags.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- tbb-2019_U9/build/linux.gcc.inc.orig	2019-12-02 19:29:10.832630387 +0100
-+++ tbb-2019_U9/build/linux.gcc.inc	2019-12-02 19:31:27.408557158 +0100
-@@ -66,10 +66,10 @@
- 
- ifeq ($(cfg), release)
-         # -g is set intentionally in the release mode. It should not affect performance.
--        CPLUS_FLAGS = -O2 -g
-+        CPLUS_FLAGS = $(CXXFLAGS) -O2 -g
- endif
- ifeq ($(cfg), debug)
--        CPLUS_FLAGS = -DTBB_USE_DEBUG -O0 -g
-+        CPLUS_FLAGS = $(CXXFLAGS) -DTBB_USE_DEBUG -O0 -g
- endif
- 
- CPLUS_FLAGS += $(ITT_NOTIFY) -DUSE_PTHREAD -pthread
diff --git a/tbb.pc.in b/tbb.pc.in
deleted file mode 100644
index 9d9afc3..0000000
--- a/tbb.pc.in
+++ /dev/null
@@ -1,10 +0,0 @@
-exec_prefix=@prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: Threading Building Blocks
-Description: Intel's parallelism library for C++
-URL: http://www.threadingbuildingblocks.org/
-Version: @version@
-Libs: -L${libdir} -ltbb
-Cflags: -I${includedir}
diff --git a/tbbmalloc.pc.in b/tbbmalloc.pc.in
deleted file mode 100644
index edeb07d..0000000
--- a/tbbmalloc.pc.in
+++ /dev/null
@@ -1,10 +0,0 @@
-exec_prefix=@prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: Threading Building Blocks Scalable Allocator
-Description: Implementation of Scalable Memory Allocator of Threading Building Blocks
-URL: http://www.threadingbuildingblocks.org/
-Version: @version@
-Libs: -L${libdir} -ltbbmalloc
-Cflags: -I${includedir}
diff --git a/tbbmalloc_proxy.pc.in b/tbbmalloc_proxy.pc.in
deleted file mode 100644
index 57e26a0..0000000
--- a/tbbmalloc_proxy.pc.in
+++ /dev/null
@@ -1,10 +0,0 @@
-exec_prefix=@prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: Threading Building Blocks Scallable Malloc Proxy
-Description: Implementation of proxy that redirects memory allocation calls to TBB Scalable Memory Allocator
-URL: http://www.threadingbuildingblocks.org/
-Version: @version@
-Libs: -L${libdir} -ltbbmalloc_proxy -ltbbmalloc
-Cflags: -I${includedir}
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/tbb.git/commitdiff/00f79ac27efed5f1ac435159c20d8da465d2af9c



More information about the pld-cvs-commit mailing list