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