[9623] | 1 | %define releasedate 20150611 |
---|
[9410] | 2 | %define major 4 |
---|
| 3 | %define minor 3 |
---|
[9623] | 4 | %define update 6 |
---|
[9410] | 5 | %define dotver %{major}.%{minor} |
---|
| 6 | |
---|
| 7 | %define sourcebasename tbb%{major}%{minor}_%{releasedate}oss |
---|
| 8 | %define sourcefilename %{sourcebasename}_src.tgz |
---|
| 9 | |
---|
| 10 | Name: tbb |
---|
| 11 | Summary: The Threading Building Blocks library abstracts low-level threading details |
---|
| 12 | Summary(ja): スレッド処理を抽象化するスレッディング・ビルディング・ブロックライブラリ |
---|
| 13 | Version: %{dotver}%{?update:u%{update}} |
---|
[9623] | 14 | Release: 1%{?_dist_release} |
---|
[9410] | 15 | License: GPLv2 with exceptions |
---|
| 16 | Group: System Environment/Libraries |
---|
| 17 | URL: http://threadingbuildingblocks.org/ |
---|
| 18 | |
---|
| 19 | Source0: http://threadingbuildingblocks.org/sites/default/files/software_releases/source/%{sourcebasename}_src.tgz |
---|
| 20 | # These two are downstream sources. |
---|
| 21 | Source6: tbb.pc |
---|
| 22 | Source7: tbbmalloc.pc |
---|
| 23 | Source8: tbbmalloc_proxy.pc |
---|
| 24 | |
---|
| 25 | # Propagate CXXFLAGS variable into flags used when compiling C++. |
---|
| 26 | # This so that RPM_OPT_FLAGS are respected. |
---|
| 27 | Patch1: tbb-3.0-cxxflags.patch |
---|
| 28 | |
---|
| 29 | # Replace mfence with xchg (for 32-bit builds only) so that TBB |
---|
| 30 | # compiles and works supported hardware. mfence was added with SSE2, |
---|
| 31 | # which we still don't assume. |
---|
| 32 | Patch2: tbb-4.0-mfence.patch |
---|
| 33 | |
---|
| 34 | # Don't snip -Wall from C++ flags. Add -fno-strict-aliasing, as that |
---|
| 35 | # uncovers some static-aliasing warnings. |
---|
| 36 | # Related: https://bugzilla.redhat.com/show_bug.cgi?id=1037347 |
---|
| 37 | Patch3: tbb-4.3-dont-snip-Wall.patch |
---|
| 38 | |
---|
| 39 | BuildRoot: %{_tmppath}/%{name}-%{version}-root |
---|
| 40 | BuildRequires: libstdc++-devel |
---|
| 41 | |
---|
| 42 | %description |
---|
| 43 | Threading Building Blocks (TBB) is a C++ runtime library that |
---|
| 44 | abstracts the low-level threading details necessary for optimal |
---|
| 45 | multi-core performance. It uses common C++ templates and coding style |
---|
| 46 | to eliminate tedious threading implementation work. |
---|
| 47 | |
---|
| 48 | TBB requires fewer lines of code to achieve parallelism than other |
---|
| 49 | threading models. The applications you write are portable across |
---|
| 50 | platforms. Since the library is also inherently scalable, no code |
---|
| 51 | maintenance is required as more processor cores become available. |
---|
| 52 | |
---|
| 53 | |
---|
| 54 | %package devel |
---|
| 55 | Summary: The Threading Building Blocks C++ headers and shared development libraries |
---|
| 56 | Summary(ja): スレッディング・ビルディング・ブロックの C++ ヘッダファイルと開発用共有ライブラリ |
---|
| 57 | Group: Development/Libraries |
---|
| 58 | Requires: %{name} = %{version}-%{release} |
---|
| 59 | |
---|
| 60 | %description devel |
---|
| 61 | Header files and shared object symlinks for the Threading Building |
---|
| 62 | Blocks (TBB) C++ libraries. |
---|
| 63 | |
---|
| 64 | |
---|
| 65 | %package doc |
---|
| 66 | Summary: The Threading Building Blocks documentation |
---|
| 67 | Summary(ja): スレッディング・ビルディング・ブロックのドキュメント |
---|
| 68 | Group: Documentation |
---|
| 69 | BuildArch: noarch |
---|
| 70 | |
---|
| 71 | %description doc |
---|
| 72 | PDF documentation for the user of the Threading Building Block (TBB) |
---|
| 73 | C++ library. |
---|
| 74 | |
---|
| 75 | |
---|
| 76 | %prep |
---|
| 77 | %setup -q -n %{sourcebasename} |
---|
| 78 | %patch1 -p1 |
---|
| 79 | %patch2 -p1 |
---|
| 80 | %patch3 -p1 |
---|
| 81 | |
---|
| 82 | %build |
---|
| 83 | make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS" tbb_build_prefix=obj |
---|
| 84 | for file in %{SOURCE6} %{SOURCE7} %{SOURCE8}; do |
---|
| 85 | sed 's/_FEDORA_VERSION/%{major}.%{minor}.%{update}/' ${file} \ |
---|
| 86 | > $(basename ${file}) |
---|
| 87 | done |
---|
| 88 | |
---|
| 89 | %check |
---|
| 90 | %ifarch ppc64le |
---|
| 91 | make test |
---|
| 92 | %endif |
---|
| 93 | |
---|
| 94 | %install |
---|
| 95 | rm -rf $RPM_BUILD_ROOT |
---|
| 96 | mkdir -p $RPM_BUILD_ROOT%{_libdir} |
---|
| 97 | mkdir -p $RPM_BUILD_ROOT%{_includedir} |
---|
| 98 | |
---|
| 99 | pushd build/obj_release |
---|
| 100 | for file in libtbb{,malloc{,_proxy}}; do |
---|
| 101 | install -p -D -m 755 ${file}.so.2 $RPM_BUILD_ROOT%{_libdir} |
---|
| 102 | ln -s $file.so.2 $RPM_BUILD_ROOT%{_libdir}/$file.so |
---|
| 103 | done |
---|
| 104 | popd |
---|
| 105 | |
---|
| 106 | pushd include |
---|
| 107 | find tbb -type f ! -name \*.htm\* -exec \ |
---|
| 108 | install -p -D -m 644 {} $RPM_BUILD_ROOT%{_includedir}/{} \ |
---|
| 109 | \; |
---|
| 110 | popd |
---|
| 111 | |
---|
| 112 | for file in %{SOURCE6} %{SOURCE7} %{SOURCE8}; do |
---|
| 113 | install -p -D -m 644 $(basename ${file}) \ |
---|
| 114 | $RPM_BUILD_ROOT%{_libdir}/pkgconfig/$(basename ${file}) |
---|
| 115 | done |
---|
| 116 | |
---|
| 117 | %clean |
---|
| 118 | rm -rf $RPM_BUILD_ROOT |
---|
| 119 | |
---|
| 120 | %post -p /sbin/ldconfig |
---|
| 121 | |
---|
| 122 | %postun -p /sbin/ldconfig |
---|
| 123 | |
---|
| 124 | %files |
---|
| 125 | %doc COPYING doc/Release_Notes.txt |
---|
| 126 | %{_libdir}/*.so.2 |
---|
| 127 | |
---|
| 128 | %files devel |
---|
| 129 | %doc CHANGES |
---|
| 130 | %{_includedir}/tbb |
---|
| 131 | %{_libdir}/*.so |
---|
| 132 | %{_libdir}/pkgconfig/*.pc |
---|
| 133 | |
---|
| 134 | %files doc |
---|
| 135 | %doc doc/Release_Notes.txt |
---|
| 136 | %doc doc/html |
---|
| 137 | |
---|
| 138 | %changelog |
---|
[9623] | 139 | * Fri Jun 19 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> - 4.3u6-1 |
---|
| 140 | - new upstream release |
---|
| 141 | |
---|
[9410] | 142 | * Wed Mar 4 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> - 4.3u3-2 |
---|
| 143 | - Initial build for Vine Linux based on 4.3 update3 |
---|
| 144 | |
---|
| 145 | * Mon Jan 19 2015 Petr Machata <pmachata@redhat.com> - 4.3-1.20141204 |
---|
| 146 | - Rebase to 4.3u2 |
---|
| 147 | - Drop ExclusiveArch |
---|
| 148 | |
---|
| 149 | * Thu Sep 25 2014 Karsten Hopp <karsten@redhat.com> 4.1-9.20130314 |
---|
| 150 | - enable ppc64le and run 'make test' on that new arch |
---|
| 151 | |
---|
| 152 | * Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1-8.20130314 |
---|
| 153 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild |
---|
| 154 | |
---|
| 155 | * Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1-7.20130314 |
---|
| 156 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild |
---|
| 157 | |
---|
| 158 | * Sun Jan 12 2014 Peter Robinson <pbrobinson@fedoraproject.org> 4.1-6.20130314 |
---|
| 159 | - Build on aarch64, minor spec cleanups |
---|
| 160 | |
---|
| 161 | * Tue Dec 3 2013 Petr Machata <pmachata@redhat.com> - 4.1-5.20130314 |
---|
| 162 | - Fix building with -Werror=format-security (tbb-4.1-dont-snip-Wall.patch) |
---|
| 163 | |
---|
| 164 | * Thu Oct 3 2013 Petr Machata <pmachata@redhat.com> - 4.1-4.20130314 |
---|
| 165 | - Fix %%install to also install include files that are not named *.h |
---|
| 166 | |
---|
| 167 | * Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1-3.20130314 |
---|
| 168 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild |
---|
| 169 | |
---|
| 170 | * Tue May 28 2013 Petr Machata <pmachata@redhat.com> - 4.1-3.20130314 |
---|
| 171 | - Enable ARM arches |
---|
| 172 | |
---|
| 173 | * Wed May 22 2013 Petr Machata <pmachata@redhat.com> - 4.1-2.20130314 |
---|
| 174 | - Fix mfence patch. Since the __TBB_full_memory_fence macro was |
---|
| 175 | function-call-like, it stole () intended for function invocation. |
---|
| 176 | |
---|
| 177 | * Wed May 22 2013 Petr Machata <pmachata@redhat.com> - 4.1-1.20130314 |
---|
| 178 | - Rebase to 4.1 update 3 |
---|
| 179 | |
---|
| 180 | * Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-7.20120408 |
---|
| 181 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild |
---|
| 182 | |
---|
| 183 | * Tue Aug 28 2012 Petr Machata <pmachata@redhat.com> - 4.0-6.20120408 |
---|
| 184 | - Fix build on PowerPC |
---|
| 185 | |
---|
| 186 | * Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-5.20120408 |
---|
| 187 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild |
---|
| 188 | |
---|
| 189 | * Thu Jun 7 2012 Petr Machata <pmachata@redhat.com> - 4.0-4.20120408 |
---|
| 190 | - Rebase to 4.0 update 4 |
---|
| 191 | - Refresh Getting_Started.pdf, Reference.pdf, Tutorial.pdf |
---|
| 192 | - Provide pkg-config files |
---|
| 193 | - Resolves: #825402 |
---|
| 194 | |
---|
| 195 | * Thu Apr 05 2012 Karsten Hopp <karsten@redhat.com> 4.0-3.20110809 |
---|
| 196 | - tbb builds now on PPC(64) |
---|
| 197 | |
---|
| 198 | * Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-2.20110809 |
---|
| 199 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild |
---|
| 200 | |
---|
| 201 | * Tue Oct 18 2011 Petr Machata <pmachata@redhat.com> - 4.0-1.20110809 |
---|
| 202 | - Rebase to 4.0 |
---|
| 203 | - Port the mfence patch |
---|
| 204 | - Refresh the documentation bundle |
---|
| 205 | |
---|
| 206 | * Tue Jul 26 2011 Petr Machata <pmachata@redhat.com> - 3.0-1.20110419 |
---|
| 207 | - Rebase to 3.0-r6 |
---|
| 208 | - Port both patches |
---|
| 209 | - Package Design_Patterns.pdf |
---|
| 210 | - Thanks to Richard Shaw for initial rebase patch |
---|
| 211 | - Resolves: #723043 |
---|
| 212 | |
---|
| 213 | * Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2-3.20090809 |
---|
| 214 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild |
---|
| 215 | |
---|
| 216 | * Thu Jun 10 2010 Petr Machata <pmachata@redhat.com> - 2.2-2.20090809 |
---|
| 217 | - Replace mfence instruction with xchg to make it run on ia32-class |
---|
| 218 | machines without SSE2. |
---|
| 219 | - Resolves: #600654 |
---|
| 220 | |
---|
| 221 | * Tue Nov 3 2009 Petr Machata <pmachata@redhat.com> - 2.2-1.20090809 |
---|
| 222 | - New upstream 2.2 |
---|
| 223 | - Resolves: #521571 |
---|
| 224 | |
---|
| 225 | * Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1-3.20080605 |
---|
| 226 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild |
---|
| 227 | |
---|
| 228 | * Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1-2.20080605 |
---|
| 229 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild |
---|
| 230 | |
---|
| 231 | * Fri Jun 13 2008 Petr Machata <pmachata@redhat.com> - 2.1-1.20080605 |
---|
| 232 | - New upstream 2.1 |
---|
| 233 | - Drop soname patch, parallel make patch, and GCC 4.3 patch |
---|
| 234 | |
---|
| 235 | * Wed Feb 13 2008 Petr Machata <pmachata@redhat.com> - 2.0-4.20070927 |
---|
| 236 | - Review fixes |
---|
| 237 | - Use updated URL |
---|
| 238 | - More timestamp preservation |
---|
| 239 | - Initial import into Fedora CVS |
---|
| 240 | |
---|
| 241 | * Mon Feb 11 2008 Petr Machata <pmachata@redhat.com> - 2.0-3.20070927 |
---|
| 242 | - Review fixes |
---|
| 243 | - Preserve timestamp of installed files |
---|
| 244 | - Fix soname not to contain "debug" |
---|
| 245 | |
---|
| 246 | * Tue Feb 5 2008 Petr Machata <pmachata@redhat.com> - 2.0-2.20070927 |
---|
| 247 | - Review fixes |
---|
| 248 | - GCC 4.3 patchset |
---|
| 249 | - Add BR util-linux net-tools |
---|
| 250 | - Add full URL to Source0 |
---|
| 251 | - Build in debug mode to work around problems with GCC 4.3 |
---|
| 252 | |
---|
| 253 | * Mon Dec 17 2007 Petr Machata <pmachata@redhat.com> - 2.0-1.20070927 |
---|
| 254 | - Initial package. |
---|
| 255 | - Using SONAME patch from Debian. |
---|