source: projects/specs/trunk/t/tbb/tbb-vl.spec @ 10772

Revision 10772, 8.5 KB checked in by ara_t, 8 years ago (diff)

rebuild with gcc-5.4.0

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