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