]> git.pld-linux.org Git - packages/tbb.git/blob - tbb.spec
- release 2 (by relup.sh)
[packages/tbb.git] / tbb.spec
1 %define         major   4
2 %define         minor   2
3 %define         micro   20131003
4 %define         sourcebasename tbb%{major}%{minor}_%{micro}oss
5 Summary:        The Threading Building Blocks library abstracts low-level threading details
6 Summary(pl.UTF-8):      Threading Building Blocks - biblioteka abstrahująca niskopoziomowe szczegóły obsługi wątków
7 Name:           tbb
8 Version:        %{major}.%{minor}.%{micro}
9 Release:        2
10 License:        GPL v2 with runtime exception
11 Group:          Development/Tools
12 Source0:        http://threadingbuildingblocks.org/sites/default/files/software_releases/source/%{sourcebasename}_src.tgz
13 # Source0-md5:  66fb37430fdaea5125db1fda7bd05d5e
14 Source1:        http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Design_Patterns.pdf
15 # Source1-md5:  46062fef922d39abfd464bc06e02cdd8
16 Source2:        http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Getting_Started.pdf
17 # Source2-md5:  b8f94104c47f9667e537b98bd940494a
18 Source3:        http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Reference.pdf
19 # Source3-md5:  1481cbd378f4964691046d0ba570b374
20 Source4:        http://www.threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Tutorial.pdf
21 # Source4-md5:  5bbdd1050c5dac5c1b782a6a98db0c46
22 Source5:        %{name}.pc.in
23 Source6:        %{name}malloc.pc.in
24 Source7:        %{name}malloc_proxy.pc.in
25 Patch1:         %{name}-cxxflags.patch
26 Patch2:         mfence.patch
27 URL:            http://www.threadingbuildingblocks.org/
28 BuildRequires:  libstdc++-devel
29 BuildRequires:  pkgconfig
30 BuildRequires:  sed >= 4.0
31 # We need "arch" binary:
32 BuildRequires:  util-linux
33 ExclusiveArch:  %{ix86} %{x8664} %{arm} ia64 ppc ppc64
34 # __TBB_machine_cmpswp8 uses gcc's __sync_val_compare_and_swap8 or directly cmpxchg8b asm instruction
35 ExcludeArch:    i386 i486
36 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37
38 %description
39 Threading Building Blocks (TBB) is a C++ runtime library that
40 abstracts the low-level threading details necessary for optimal
41 multi-core performance. It uses common C++ templates and coding style
42 to eliminate tedious threading implementation work.
43
44 TBB requires fewer lines of code to achieve parallelism than other
45 threading models. The applications you write are portable across
46 supported platforms. Since the library is also inherently scalable, no
47 code maintenance is required as more processor cores become available.
48
49 %description -l pl.UTF-8
50 Threading Building Blocks (TBB) to biblioteka uruchomieniowa C++
51 abstrahująca niskopoziomowe szczegóły obsługi wątków potrzebne dla
52 optymalnej wydajności na procesorach wielordzeniowych. Wykorzystuje
53 szablony C++ w celu wyeliminowania nudnej pracy nad wielowątkowością.
54
55 TBB wymaga mniej linii kodu do osiągnięcia równoległości niż inne
56 modele wątkowania. Aplikacje są przenośne między obsługiwanymi
57 platformami. Biblioteka jest skalowalna, więc nie jest wymagane
58 modyfikowanie kodu wraz z dostępnością większej liczby rdzeni
59 procesor.
60
61 %package devel
62 Summary:        The Threading Building Blocks C++ headers
63 Summary(pl.UTF-8):      Pliki nagłówkowe C++ bibliotek Threading Building Blocks
64 Group:          Development/Libraries
65 Requires:       %{name} = %{version}-%{release}
66
67 %description devel
68 Header files and shared object symlinks for the Threading Building
69 Blocks (TBB) C++ libraries.
70
71 %description devel -l pl.UTF-8
72 Pliki nagłówkowe i dowiązania symboliczne dla bibliotek C++ Threading
73 Building Blocks.
74
75 %package doc
76 Summary:        The Threading Building Blocks documentation
77 Summary(pl.UTF-8):      Dokumentacja bibliotek Threading Building Blocks
78 Group:          Documentation
79
80 %description doc
81 PDF documentation for the user of the Threading Building Block (TBB)
82 C++ library.
83
84 %description doc -l pl.UTF-8
85 Dokumentacja w formacie PDF dla użytkowników biblioteki C++ Threading
86 Building Blocks (TBB).
87
88 %prep
89 %setup -q -n %{sourcebasename}
90 %patch1 -p1
91 %patch2 -p1
92
93 cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} .
94
95 cp -p %{SOURCE5} %{SOURCE6} %{SOURCE7} .
96
97 sed -i -e 's/-march=pentium4//' build/linux.gcc.inc
98
99 %build
100 %{__make} \
101         CPLUS="%{__cxx}" \
102         CXXFLAGS="%{rpmcxxflags}" \
103         tbb_build_prefix=obj
104
105 %install
106 rm -rf $RPM_BUILD_ROOT
107 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir},%{_pkgconfigdir}}
108
109 cd build/obj_release
110 for file in tbb tbbmalloc tbbmalloc_proxy; do
111         install lib${file}.so.2 $RPM_BUILD_ROOT%{_libdir}/lib${file}.so.2.%{version}
112         ln -s lib${file}.so.2.%{version} $RPM_BUILD_ROOT%{_libdir}/lib${file}.so
113         ln -s lib${file}.so.2.%{version} $RPM_BUILD_ROOT%{_libdir}/lib${file}.so.2
114 done
115 cd -
116
117 cd include
118 find tbb -type f -name '*.h' -exec \
119         install -p -D -m 644 {} $RPM_BUILD_ROOT%{_includedir}/{} ';'
120 cd -
121
122 for pc in tbb.pc tbbmalloc.pc tbbmalloc_proxy.pc; do
123         in=$pc.in
124         # fail if obsolete
125         [ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir}/$pc ] || exit 1
126         sed -e '
127                 s,@prefix@,%{_prefix},;
128                 s,@libdir@,%{_libdir},;
129                 s,@includedir@,%{_includedir}/tbb,;
130                 s,@version@,%{version},
131         ' $in > $RPM_BUILD_ROOT%{_pkgconfigdir}/$pc
132 done
133
134 %clean
135 rm -rf $RPM_BUILD_ROOT
136
137 %post   -p /sbin/ldconfig
138 %postun -p /sbin/ldconfig
139
140 %files
141 %defattr(644,root,root,755)
142 %doc CHANGES COPYING doc/Release_Notes.txt
143 %attr(755,root,root) %{_libdir}/libtbb.so.*.*.*
144 %attr(755,root,root) %ghost %{_libdir}/libtbb.so.2
145 %attr(755,root,root) %{_libdir}/libtbbmalloc.so.*.*.*
146 %attr(755,root,root) %ghost %{_libdir}/libtbbmalloc.so.2
147 %attr(755,root,root) %{_libdir}/libtbbmalloc_proxy.so.*.*.*
148 %attr(755,root,root) %ghost %{_libdir}/libtbbmalloc_proxy.so.2
149
150 %files devel
151 %defattr(644,root,root,755)
152 %attr(755,root,root) %{_libdir}/libtbb.so
153 %attr(755,root,root) %{_libdir}/libtbbmalloc.so
154 %attr(755,root,root) %{_libdir}/libtbbmalloc_proxy.so
155 %{_includedir}/tbb
156 %{_pkgconfigdir}/tbb.pc
157 %{_pkgconfigdir}/tbbmalloc.pc
158 %{_pkgconfigdir}/tbbmalloc_proxy.pc
159
160 %files doc
161 %defattr(644,root,root,755)
162 %doc *.pdf
This page took 0.063313 seconds and 4 git commands to generate.