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

Revision 9623, 8.4 KB checked in by inagaki, 9 years ago (diff)

2015-06-23 Ryoichi INAGAKI <ryo1@…>

  • tbb: updated
  • tegaki-{pygtk,python,recognize}: rebuilt


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: 1%{?_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* Fri Jun 19 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> - 4.3u6-1
140- new upstream release
141
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.
Note: See TracBrowser for help on using the repository browser.