123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- %define releasedate 20150611
- %define major 4
- %define minor 3
- %define update 6
- %define dotver %{major}.%{minor}
- %define sourcebasename tbb%{major}%{minor}_%{releasedate}oss
- %define sourcefilename %{sourcebasename}_src.tgz
- Name: tbb
- Summary: The Threading Building Blocks library abstracts low-level threading details
- Summary(ja): スレッド処理を抽象化するスレッディング・ビルディング・ブロックライブラリ
- Version: %{dotver}%{?update:u%{update}}
- Release: 2%{?_dist_release}
- License: GPLv2 with exceptions
- Group: System Environment/Libraries
- URL: http://threadingbuildingblocks.org/
- Source0: http://threadingbuildingblocks.org/sites/default/files/software_releases/source/%{sourcebasename}_src.tgz
- # These two are downstream sources.
- Source6: tbb.pc
- Source7: tbbmalloc.pc
- Source8: tbbmalloc_proxy.pc
- # Propagate CXXFLAGS variable into flags used when compiling C++.
- # This so that RPM_OPT_FLAGS are respected.
- Patch1: tbb-3.0-cxxflags.patch
- # Replace mfence with xchg (for 32-bit builds only) so that TBB
- # compiles and works supported hardware. mfence was added with SSE2,
- # which we still don't assume.
- Patch2: tbb-4.0-mfence.patch
- # Don't snip -Wall from C++ flags. Add -fno-strict-aliasing, as that
- # uncovers some static-aliasing warnings.
- # Related: https://bugzilla.redhat.com/show_bug.cgi?id=1037347
- Patch3: tbb-4.3-dont-snip-Wall.patch
- BuildRoot: %{_tmppath}/%{name}-%{version}-root
- BuildRequires: libstdc++-devel
- %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 devel
- Summary: The Threading Building Blocks C++ headers and shared development libraries
- Summary(ja): スレッディング・ビルディング・ブロックの C++ ヘッダファイルと開発用共有ライブラリ
- Group: Development/Libraries
- Requires: %{name} = %{version}-%{release}
- %description devel
- Header files and shared object symlinks for the Threading Building
- Blocks (TBB) C++ libraries.
- %package doc
- Summary: The Threading Building Blocks documentation
- Summary(ja): スレッディング・ビルディング・ブロックのドキュメント
- Group: Documentation
- BuildArch: noarch
- %description doc
- PDF documentation for the user of the Threading Building Block (TBB)
- C++ library.
- %prep
- %setup -q -n %{sourcebasename}
- %patch1 -p1
- %patch2 -p1
- %patch3 -p1
- %build
- make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS" tbb_build_prefix=obj
- for file in %{SOURCE6} %{SOURCE7} %{SOURCE8}; do
- sed 's/_FEDORA_VERSION/%{major}.%{minor}.%{update}/' ${file} \
- > $(basename ${file})
- done
- %check
- %ifarch ppc64le
- make test
- %endif
- %install
- rm -rf $RPM_BUILD_ROOT
- mkdir -p $RPM_BUILD_ROOT%{_libdir}
- mkdir -p $RPM_BUILD_ROOT%{_includedir}
- pushd build/obj_release
- for file in libtbb{,malloc{,_proxy}}; do
- install -p -D -m 755 ${file}.so.2 $RPM_BUILD_ROOT%{_libdir}
- ln -s $file.so.2 $RPM_BUILD_ROOT%{_libdir}/$file.so
- done
- popd
- pushd include
- find tbb -type f ! -name \*.htm\* -exec \
- install -p -D -m 644 {} $RPM_BUILD_ROOT%{_includedir}/{} \
- \;
- popd
- for file in %{SOURCE6} %{SOURCE7} %{SOURCE8}; do
- install -p -D -m 644 $(basename ${file}) \
- $RPM_BUILD_ROOT%{_libdir}/pkgconfig/$(basename ${file})
- done
- %clean
- rm -rf $RPM_BUILD_ROOT
- %post -p /sbin/ldconfig
- %postun -p /sbin/ldconfig
- %files
- %doc COPYING doc/Release_Notes.txt
- %{_libdir}/*.so.2
- %files devel
- %doc CHANGES
- %{_includedir}/tbb
- %{_libdir}/*.so
- %{_libdir}/pkgconfig/*.pc
- %files doc
- %doc doc/Release_Notes.txt
- %doc doc/html
- %changelog
- * Sat Sep 03 2016 Toshiaki Ara <ara_t@384.jp> - 4.3u6-2
- - rebuild with gcc-5.4.0
- * Fri Jun 19 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> - 4.3u6-1
- - new upstream release
- * Wed Mar 4 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> - 4.3u3-2
- - Initial build for Vine Linux based on 4.3 update3
- * Mon Jan 19 2015 Petr Machata <pmachata@redhat.com> - 4.3-1.20141204
- - Rebase to 4.3u2
- - Drop ExclusiveArch
- * Thu Sep 25 2014 Karsten Hopp <karsten@redhat.com> 4.1-9.20130314
- - enable ppc64le and run 'make test' on that new arch
- * Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1-8.20130314
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
- * Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1-7.20130314
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
- * Sun Jan 12 2014 Peter Robinson <pbrobinson@fedoraproject.org> 4.1-6.20130314
- - Build on aarch64, minor spec cleanups
- * Tue Dec 3 2013 Petr Machata <pmachata@redhat.com> - 4.1-5.20130314
- - Fix building with -Werror=format-security (tbb-4.1-dont-snip-Wall.patch)
- * Thu Oct 3 2013 Petr Machata <pmachata@redhat.com> - 4.1-4.20130314
- - Fix %%install to also install include files that are not named *.h
- * Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1-3.20130314
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
- * Tue May 28 2013 Petr Machata <pmachata@redhat.com> - 4.1-3.20130314
- - Enable ARM arches
- * Wed May 22 2013 Petr Machata <pmachata@redhat.com> - 4.1-2.20130314
- - Fix mfence patch. Since the __TBB_full_memory_fence macro was
- function-call-like, it stole () intended for function invocation.
- * Wed May 22 2013 Petr Machata <pmachata@redhat.com> - 4.1-1.20130314
- - Rebase to 4.1 update 3
- * Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-7.20120408
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
- * Tue Aug 28 2012 Petr Machata <pmachata@redhat.com> - 4.0-6.20120408
- - Fix build on PowerPC
- * Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-5.20120408
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
- * Thu Jun 7 2012 Petr Machata <pmachata@redhat.com> - 4.0-4.20120408
- - Rebase to 4.0 update 4
- - Refresh Getting_Started.pdf, Reference.pdf, Tutorial.pdf
- - Provide pkg-config files
- - Resolves: #825402
- * Thu Apr 05 2012 Karsten Hopp <karsten@redhat.com> 4.0-3.20110809
- - tbb builds now on PPC(64)
- * Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-2.20110809
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
- * Tue Oct 18 2011 Petr Machata <pmachata@redhat.com> - 4.0-1.20110809
- - Rebase to 4.0
- - Port the mfence patch
- - Refresh the documentation bundle
- * Tue Jul 26 2011 Petr Machata <pmachata@redhat.com> - 3.0-1.20110419
- - Rebase to 3.0-r6
- - Port both patches
- - Package Design_Patterns.pdf
- - Thanks to Richard Shaw for initial rebase patch
- - Resolves: #723043
- * Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2-3.20090809
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
- * Thu Jun 10 2010 Petr Machata <pmachata@redhat.com> - 2.2-2.20090809
- - Replace mfence instruction with xchg to make it run on ia32-class
- machines without SSE2.
- - Resolves: #600654
- * Tue Nov 3 2009 Petr Machata <pmachata@redhat.com> - 2.2-1.20090809
- - New upstream 2.2
- - Resolves: #521571
- * Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1-3.20080605
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
- * Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1-2.20080605
- - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
- * Fri Jun 13 2008 Petr Machata <pmachata@redhat.com> - 2.1-1.20080605
- - New upstream 2.1
- - Drop soname patch, parallel make patch, and GCC 4.3 patch
- * Wed Feb 13 2008 Petr Machata <pmachata@redhat.com> - 2.0-4.20070927
- - Review fixes
- - Use updated URL
- - More timestamp preservation
- - Initial import into Fedora CVS
- * Mon Feb 11 2008 Petr Machata <pmachata@redhat.com> - 2.0-3.20070927
- - Review fixes
- - Preserve timestamp of installed files
- - Fix soname not to contain "debug"
- * Tue Feb 5 2008 Petr Machata <pmachata@redhat.com> - 2.0-2.20070927
- - Review fixes
- - GCC 4.3 patchset
- - Add BR util-linux net-tools
- - Add full URL to Source0
- - Build in debug mode to work around problems with GCC 4.3
- * Mon Dec 17 2007 Petr Machata <pmachata@redhat.com> - 2.0-1.20070927
- - Initial package.
- - Using SONAME patch from Debian.
|