codonell / rpms / tbb

Forked from rpms/tbb 6 years ago
Clone
720d0e7
%define releasedate 20070927
720d0e7
%define sourcebasename tbb20_%{releasedate}oss_src
720d0e7
%define sourcefilename %{sourcebasename}.tar.gz
720d0e7
720d0e7
Summary: The Threading Building Blocks library abstracts low-level threading details
720d0e7
Name: tbb
720d0e7
Version: 2.0
720d0e7
Release: 4.%{releasedate}%{?dist}
720d0e7
License: GPLv2 with exceptions
720d0e7
Group: Development/Tools
720d0e7
URL: http://threadingbuildingblocks.org/
720d0e7
Source: http://threadingbuildingblocks.org/uploads/77/84/2.0/%{sourcefilename}
720d0e7
Source2: http://cache-www.intel.com/cd/00/00/30/11/301111_301111.pdf
720d0e7
Source3: http://cache-www.intel.com/cd/00/00/30/11/301114_301114.pdf
720d0e7
Source4: http://cache-www.intel.com/cd/00/00/30/11/301132_301132.pdf
720d0e7
Source5: http://cache-www.intel.com/cd/00/00/31/26/312687_312687.pdf
720d0e7
Patch0: tbb-2.0-20070927-soname.patch
720d0e7
Patch1: tbb-2.0-20070927-cxxflags.patch
720d0e7
Patch2: tbb-2.0-20070927-parallel-make.patch
720d0e7
Patch3: tbb-2.0-20070927-gcc43.patch
720d0e7
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
720d0e7
BuildRequires: libstdc++-devel
720d0e7
# We need "arch" and "hostname" binaries:
720d0e7
BuildRequires: util-linux net-tools
720d0e7
ExclusiveArch: %{ix86} x86_64 ia64
720d0e7
720d0e7
%description
720d0e7
Threading Building Blocks (TBB) is a C++ runtime library that
720d0e7
abstracts the low-level threading details necessary for optimal
720d0e7
multi-core performance.  It uses common C++ templates and coding style
720d0e7
to eliminate tedious threading implementation work.
720d0e7
720d0e7
TBB requires fewer lines of code to achieve parallelism than other
720d0e7
threading models.  The applications you write are portable across
720d0e7
platforms.  Since the library is also inherently scalable, no code
720d0e7
maintenance is required as more processor cores become available.
720d0e7
720d0e7
720d0e7
%package devel
720d0e7
Summary: The Threading Building Blocks C++ headers and shared development libraries
720d0e7
Group: Development/Libraries
720d0e7
Requires: tbb = %{version}-%{release}
720d0e7
720d0e7
%description devel
720d0e7
Header files and shared object symlinks for the Threading Building
720d0e7
Blocks (TBB) C++ libraries.
720d0e7
720d0e7
720d0e7
%package doc
720d0e7
Summary: The Threading Building Blocks documentation
720d0e7
Group: Documentation
720d0e7
720d0e7
%description doc
720d0e7
PDF documentation for the user of the Threading Building Block (TBB)
720d0e7
C++ library.
720d0e7
720d0e7
720d0e7
%prep
720d0e7
%setup -q -n %{sourcebasename}
720d0e7
%patch0 -p1
720d0e7
%patch1 -p1
720d0e7
%patch2 -p1
720d0e7
%patch3 -p1
720d0e7
720d0e7
%build
720d0e7
make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS" tbb_build_prefix=obj release
720d0e7
720d0e7
cp -p %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} .
720d0e7
ln -s `basename %{SOURCE2}` getting_started_guide.pdf
720d0e7
ln -s `basename %{SOURCE3}` reference_manual.pdf
720d0e7
ln -s `basename %{SOURCE4}` tutorial.pdf
720d0e7
ln -s `basename %{SOURCE5}` release_notes.pdf
720d0e7
720d0e7
%install
720d0e7
rm -rf $RPM_BUILD_ROOT
720d0e7
720d0e7
pushd build/obj_release
720d0e7
    for file in libtbb{,malloc}; do
720d0e7
        install -p -D -m 755 ${file}.so $RPM_BUILD_ROOT/%{_libdir}/$file.so.2.0
720d0e7
        ln -s $file.so.2.0 $RPM_BUILD_ROOT/%{_libdir}/$file.so.2
720d0e7
        ln -s $file.so.2.0 $RPM_BUILD_ROOT/%{_libdir}/$file.so
720d0e7
    done
720d0e7
popd
720d0e7
720d0e7
pushd include
720d0e7
    find tbb -type f -name \*.h -exec \
720d0e7
        install -p -D -m 644 {} $RPM_BUILD_ROOT/%{_includedir}/{} \
720d0e7
    \;
720d0e7
popd
720d0e7
720d0e7
%post -p /sbin/ldconfig
720d0e7
720d0e7
%postun -p /sbin/ldconfig
720d0e7
720d0e7
%clean
720d0e7
rm -rf ${RPM_BUILD_ROOT}
720d0e7
720d0e7
%files
720d0e7
%defattr(-,root,root,-)
720d0e7
%doc COPYING
720d0e7
%{_libdir}/*.so.2.0
720d0e7
%{_libdir}/*.so.2
720d0e7
720d0e7
%files devel
720d0e7
%defattr(-,root,root,-)
720d0e7
%{_includedir}/tbb
720d0e7
%{_libdir}/*.so
720d0e7
720d0e7
%files doc
720d0e7
%defattr(-,root,root,-)
720d0e7
%doc 301111_301111.pdf getting_started_guide.pdf
720d0e7
%doc 301114_301114.pdf reference_manual.pdf
720d0e7
%doc 301132_301132.pdf tutorial.pdf
720d0e7
%doc 312687_312687.pdf release_notes.pdf
720d0e7
720d0e7
%changelog
720d0e7
* Wed Feb 13 2008 Petr Machata <pmachata@redhat.com> - 2.0-4.20070927
720d0e7
- Review fixes
720d0e7
  - Use updated URL
720d0e7
  - More timestamp preservation
720d0e7
- Initial import into Fedora CVS
720d0e7
720d0e7
* Mon Feb 11 2008 Petr Machata <pmachata@redhat.com> - 2.0-3.20070927
720d0e7
- Review fixes
720d0e7
  - Preserve timestamp of installed files
720d0e7
720d0e7
* Tue Feb  5 2008 Petr Machata <pmachata@redhat.com> - 2.0-2.20070927
720d0e7
- Review fixes
720d0e7
  - GCC 4.3 patchset
720d0e7
  - Add BR util-linux net-tools
720d0e7
  - Add full URL to Source0
720d0e7
720d0e7
* Mon Dec 17 2007 Petr Machata <pmachata@redhat.com> - 2.0-1.20070927
720d0e7
- Initial package.
720d0e7
- Using SONAME patch from Debian.