tbb/tbb.spec

136 lines
5.2 KiB
RPMSpec

%define pkg_version %(echo %version | tr -d .)
Name: tbb
Version: 2019_U9
Release: 1mamba
Summary: The Threading Building Blocks library abstracts low-level threading details
Group: Development/Tools
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://www.threadingbuildingblocks.org/
Source0: https://github.com/intel/tbb.git/%{version}/tbb-%{version}.tar.bz2
#Source0: https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb%{pkg_version}oss_src.tgz
Source1: http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Getting_Started.pdf
Source2: http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Reference.pdf
Source3: http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Tutorial.pdf
Patch0: tbb-2.2-20090809-cxxflags.patch
Patch1: tbb-2.2-mfence.patch
License: GPL with exceptions
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: ldconfig
BuildRequires: libgcc
BuildRequires: libstdc++6-devel
## AUTOBUILDREQ-END
BuildRequires: net-tools
BuildRequires: util-linux-ng
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
Threading Building Blocks (TBB) is a C++ runtime library that abstracts the low-level threading details necessary for optimal multi-core performance. It uses common C++ templates and coding style to eliminate tedious threading implementation work.
TBB requires fewer lines of code to achieve parallelism than other threading models. The applications you write are portable across platforms. Since the library is also inherently scalable, no code maintenance is required as more processor cores become available.
%package -n lib%{name}
Group: System/Libraries
Summary: The Threading Building Blocks C++ headers and shared development libraries
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Provides: %{name}
Obsoletes: %{name}
%description -n lib%{name}
Threading Building Blocks (TBB) is a C++ runtime library that abstracts the low-level threading details necessary for optimal multi-core performance. It uses common C++ templates and coding style to eliminate tedious threading implementation work.
TBB requires fewer lines of code to achieve parallelism than other threading models. The applications you write are portable across platforms. Since the library is also inherently scalable, no code maintenance is required as more processor cores become available.
This package contains header files and shared object symlinks for the Threading Building Blocks (TBB) C++ libraries.
%package -n lib%{name}-devel
Group: Development/Libraries
Summary: The Threading Building Blocks C++ headers and shared development libraries
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
Provides: %{name}-devel
Obsoletes: %{name}-devel
%description -n lib%{name}-devel
The Threading Building Blocks library abstracts low-level threading details.
This package contains header files and shared object symlinks for the Threading Building Blocks (TBB) C++ libraries.
%package doc
Group: Documentation
Summary: The Threading Building Blocks documentation
%description doc
The Threading Building Blocks library abstracts low-level threading details.
This package contains the Threading Building Blocks (TBB) documentation.
%prep
%setup -q
#%patch0 -p1
#%patch1 -p1
%build
%make CXXFLAGS="$RPM_OPT_FLAGS" tbb_build_prefix=obj
cp -p "%{SOURCE1}" "%{SOURCE2}" "%{SOURCE3}" .
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
mkdir -p %{buildroot}%{_libdir}
#,malloc_proxy
pushd build/obj_release
for file in libtbb{,malloc}; do
install -pm 755 ${file}.so.2 %{buildroot}%{_libdir}
ln -s $file.so.2 %{buildroot}%{_libdir}/$file.so
done
popd
mkdir -p %{buildroot}%{_includedir}/tbb/{compat,machine}
pushd include
install -pm 644 tbb/*.h %{buildroot}%{_includedir}/tbb/
install -pm 644 tbb/compat/*.h %{buildroot}%{_includedir}/tbb/compat/
install -pm 644 tbb/machine/*.h %{buildroot}%{_includedir}/tbb/machine/
popd
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post -n lib%{name} -p /sbin/ldconfig
%postun -n lib%{name} -p /sbin/ldconfig
%files -n lib%{name}
%defattr(-,root,root)
%{_libdir}/libtbb.so.*
%{_libdir}/libtbbmalloc.so.*
#%{_libdir}/libtbbmalloc_proxy.so.*
%doc LICENSE
%files -n lib%{name}-devel
%defattr(-,root,root)
%dir %{_includedir}/tbb
%{_includedir}/tbb/*.h
%dir %{_includedir}/tbb/compat
%{_includedir}/tbb/compat/*.h
%dir %{_includedir}/tbb/machine
%{_includedir}/tbb/machine/*.h
%{_libdir}/libtbb.so
%{_libdir}/libtbbmalloc.so
#%{_libdir}/libtbbmalloc_proxy.so
%doc doc/Release_Notes.txt
%doc CHANGES README
%files doc
%defattr(-,root,root)
%doc Getting_Started.pdf Reference.pdf Tutorial.pdf
%changelog
* Wed Dec 11 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 2019_U9-1mamba
- update to 2019_U9
* Sat Mar 01 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 4.2_20140122-1mamba
- update to 4.2_20140122
* Mon Nov 08 2010 gil <puntogil@libero.it> 2.2-1mamba
- package created by autospec