]>
Commit | Line | Data |
---|---|---|
c6874538 | 1 | # |
bde731a5 | 2 | # TODO: |
09e2803f PS |
3 | # - think about building MPI. |
4 | # - split shared libs from core package into -iostreams/-serialization. | |
bab7ef8c | 5 | # - fix building context and corouting on x32 (patch1) |
bde731a5 | 6 | # |
c6874538 | 7 | # Conditional build: |
65d4777a | 8 | %bcond_without python # without boost-python support |
6d61ae01 | 9 | |
8b623265 | 10 | %define fver %(echo %{version} | tr . _) |
c6874538 | 11 | Summary: The Boost C++ Libraries |
aa63c3d9 | 12 | Summary(pl.UTF-8): Biblioteki C++ "Boost" |
49f48a3b | 13 | Name: boost |
d20b153a | 14 | Version: 1.56.0 |
c054d21a | 15 | Release: 2 |
db639b8e | 16 | License: Boost Software License and others |
c6874538 | 17 | Group: Libraries |
8b623265 | 18 | Source0: http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2 |
d20b153a | 19 | # Source0-md5: a744cf167b05d72335f27c88115f211d |
8b623265 | 20 | Patch0: %{name}-link.patch |
bab7ef8c | 21 | Patch1: %{name}-x32-context.patch |
647f39b2 | 22 | # FC Patches: |
647f39b2 | 23 | # https://svn.boost.org/trac/boost/ticket/5637 |
6d61ae01 | 24 | Patch203: %{name}-1.54.0-mpl-print.patch |
647f39b2 | 25 | # https://svn.boost.org/trac/boost/ticket/8870 |
6d61ae01 ER |
26 | Patch211: %{name}-1.54.0-spirit-unused_typedef.patch |
27 | Patch212: %{name}-1.54.0-spirit-unused_typedef-2.patch | |
647f39b2 | 28 | # https://svn.boost.org/trac/boost/ticket/8871 |
6d61ae01 | 29 | Patch213: %{name}-1.54.0-numeric-unused_typedef.patch |
647f39b2 | 30 | # https://svn.boost.org/trac/boost/ticket/8878 |
6d61ae01 | 31 | Patch218: %{name}-1.54.0-locale-unused_typedef.patch |
647f39b2 | 32 | # https://svn.boost.org/trac/boost/ticket/8881 |
6d61ae01 | 33 | Patch221: %{name}-1.54.0-mpi-unused_typedef.patch |
647f39b2 | 34 | # https://svn.boost.org/trac/boost/ticket/8888 |
6d61ae01 | 35 | Patch222: %{name}-1.54.0-python-unused_typedef.patch |
647f39b2 | 36 | # https://svn.boost.org/trac/boost/ticket/9038 |
6d61ae01 | 37 | Patch224: %{name}-1.54.0-pool-test_linking.patch |
49f48a3b | 38 | URL: http://www.boost.org/ |
afbf1450 | 39 | BuildRequires: bzip2-devel |
09e2803f | 40 | BuildRequires: expat-devel |
7c12a8f9 | 41 | BuildRequires: libicu-devel |
49f48a3b | 42 | BuildRequires: libstdc++-devel |
30964b71 | 43 | BuildRequires: perl-base |
6725319f | 44 | %{?with_python:BuildRequires: python-devel >= 2.2} |
dbf04d57 | 45 | BuildRequires: rpm-pythonprov |
afbf1450 | 46 | BuildRequires: zlib-devel |
c6874538 | 47 | BuildConflicts: gcc = 5:3.3.1 |
49f48a3b | 48 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
c6874538 | 49 | |
647f39b2 AM |
50 | %define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1 |
51 | ||
c6874538 | 52 | %description |
53 | The Boost web site provides free peer-reviewed portable C++ source | |
54 | libraries. The emphasis is on libraries which work well with the C++ | |
55 | Standard Library. One goal is to establish "existing practice" and | |
56 | provide reference implementations so that the Boost libraries are | |
57 | suitable for eventual standardization. Some of the libraries have | |
58 | already been proposed for inclusion in the C++ Standards Committee's | |
59 | upcoming C++ Standard Library Technical Report. | |
60 | ||
4c35df9e | 61 | %description -l pl.UTF-8 |
49f48a3b | 62 | Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z |
4c35df9e JR |
63 | kodem źródłowym. Nacisk położono na biblioteki, które dobrze |
64 | współpracują ze standardową biblioteką C++. Celem jest ustanowienie | |
65 | "istniejącej praktyki" i dostarczenie implementacji, tak że biblioteki | |
66 | "Boost" nadają się do ewentualnej standaryzacji. Niektóre z bibliotek | |
67 | już zostały zgłoszone do komitetu standaryzacyjnego C++ w nadchodzącym | |
2b583775 | 68 | Raporcie Technicznym Biblioteki Standardowej C++. |
c6874538 | 69 | |
49f48a3b | 70 | %package devel |
000cd675 | 71 | Summary: Boost C++ development headers |
aa63c3d9 | 72 | Summary(pl.UTF-8): Pliki nagłówkowe bibliotek C++ Boost |
49f48a3b | 73 | Group: Development/Libraries |
000cd675 | 74 | Requires: %{name} = %{version}-%{release} |
e5cd13f8 JB |
75 | Requires: %{name}-chrono = %{version}-%{release} |
76 | Requires: %{name}-context = %{version}-%{release} | |
09e2803f PS |
77 | Requires: %{name}-date_time = %{version}-%{release} |
78 | Requires: %{name}-filesystem = %{version}-%{release} | |
79 | Requires: %{name}-graph = %{version}-%{release} | |
e5cd13f8 | 80 | Requires: %{name}-locale = %{version}-%{release} |
c054d21a | 81 | Requires: %{name}-log = %{version}-%{release} |
09e2803f PS |
82 | Requires: %{name}-program_options = %{version}-%{release} |
83 | Requires: %{name}-regex = %{version}-%{release} | |
84 | Requires: %{name}-signals = %{version}-%{release} | |
69912bfb | 85 | Requires: %{name}-system = %{version}-%{release} |
09e2803f PS |
86 | Requires: %{name}-test = %{version}-%{release} |
87 | Requires: %{name}-thread = %{version}-%{release} | |
e5cd13f8 | 88 | Requires: %{name}-timer = %{version}-%{release} |
09e2803f | 89 | Requires: %{name}-wave = %{version}-%{release} |
49f48a3b | 90 | Requires: libstdc++-devel |
09e2803f PS |
91 | Obsoletes: boost-any-devel |
92 | Obsoletes: boost-array-devel | |
875f51e3 | 93 | Obsoletes: boost-asio |
09e2803f | 94 | Obsoletes: boost-bind-devel |
05b0e240 | 95 | Obsoletes: boost-call_traits-devel |
09e2803f | 96 | Obsoletes: boost-compatibility-devel |
470f1aae | 97 | Obsoletes: boost-compose-devel |
09e2803f | 98 | Obsoletes: boost-compressed_pair-devel |
89fd45a2 JB |
99 | Obsoletes: boost-concept_check-devel |
100 | Obsoletes: boost-conversion-devel | |
09e2803f PS |
101 | Obsoletes: boost-crc-devel |
102 | Obsoletes: boost-date_time-devel | |
103 | Obsoletes: boost-filesystem-devel | |
104 | Obsoletes: boost-graph-devel | |
105 | Obsoletes: boost-mem_fn-devel | |
89fd45a2 JB |
106 | Obsoletes: boost-mpl-devel |
107 | Obsoletes: boost-preprocessor-devel | |
09e2803f | 108 | Obsoletes: boost-program_options-devel |
7c797e1a | 109 | Obsoletes: boost-ref-devel |
09e2803f PS |
110 | Obsoletes: boost-regex-devel |
111 | Obsoletes: boost-signals-devel | |
112 | Obsoletes: boost-spirit-devel | |
113 | Obsoletes: boost-statechart-devel | |
89fd45a2 | 114 | Obsoletes: boost-static_assert-devel |
09e2803f PS |
115 | Obsoletes: boost-test-devel |
116 | Obsoletes: boost-thread-devel | |
117 | Obsoletes: boost-tr1-devel | |
89fd45a2 | 118 | Obsoletes: boost-type_traits-devel |
09e2803f PS |
119 | Obsoletes: boost-typeof-devel |
120 | Obsoletes: boost-uBLAS-devel | |
89fd45a2 | 121 | Obsoletes: boost-utility-devel |
09e2803f PS |
122 | Obsoletes: boost-wave-devel |
123 | Obsoletes: boost-xpressive-devel | |
49f48a3b JB |
124 | |
125 | %description devel | |
000cd675 | 126 | Header files for the Boost C++ libraries. |
49f48a3b | 127 | |
4c35df9e JR |
128 | %description devel -l pl.UTF-8 |
129 | Pliki nagłówkowe bibliotek C++ Boost. | |
000cd675 JB |
130 | |
131 | %package static | |
132 | Summary: Static version of base Boost C++ libraries | |
aa63c3d9 | 133 | Summary(pl.UTF-8): Statyczne wersje podstawowych bibliotek C++ Boost |
000cd675 JB |
134 | Group: Development/Libraries |
135 | Requires: %{name}-devel = %{version}-%{release} | |
09e2803f | 136 | Obsoletes: boost-static < 1.33 |
000cd675 JB |
137 | |
138 | %description static | |
139 | Static version of base Boost C++ libraries. | |
140 | ||
4c35df9e | 141 | %description static -l pl.UTF-8 |
000cd675 | 142 | Statyczne wersje podstawowych bibliotek C++ Boost. |
49f48a3b | 143 | |
c6874538 | 144 | %package python |
145 | Summary: Boost.Python library | |
aa63c3d9 | 146 | Summary(pl.UTF-8): biblioteka Boost.Python |
c6874538 | 147 | Group: Libraries |
6d61ae01 | 148 | Requires: python |
c6874538 | 149 | |
150 | %description python | |
151 | Use the Boost Python Library to quickly and easily export a C++ | |
152 | library to Python such that the Python interface is very similar to | |
153 | the C++ interface. It is designed to be minimally intrusive on your | |
154 | C++ design. In most cases, you should not have to alter your C++ | |
155 | classes in any way in order to use them with Boost.Python. The system | |
156 | should simply ``reflect'' your C++ classes and functions into Python. | |
157 | ||
4c35df9e JR |
158 | %description python -l pl.UTF-8 |
159 | Biblioteka Boost Python służy do szybkiego i prostego eksportu | |
160 | biblioteki C++ do Pythona, tak że interfejs Pythona jest bardzo | |
161 | podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby | |
162 | narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W | |
163 | większości przypadków nie trzeba w ogóle zmieniać własnych klas C++, | |
164 | żeby używać ich z Boost.Python. System powinien po prostu ,,odbić'' | |
66ac0d93 | 165 | klasy C++ i funkcje do Pythona. |
c6874538 | 166 | |
167 | %package python-devel | |
168 | Summary: Boost.Python development headers | |
aa63c3d9 | 169 | Summary(pl.UTF-8): Pliki nagłówkowe dla Boost.Python |
49f48a3b JB |
170 | Group: Development/Libraries |
171 | Requires: %{name}-devel = %{version}-%{release} | |
6725319f | 172 | Requires: %{name}-python = %{version}-%{release} |
c6874538 | 173 | |
174 | %description python-devel | |
66ac0d93 | 175 | Headers for the Boost.Python library. |
c6874538 | 176 | |
4c35df9e JR |
177 | %description python-devel -l pl.UTF-8 |
178 | Pliki nagłówkowe dla biblioteki Boost.Python. | |
c6874538 | 179 | |
6725319f JB |
180 | %package python-static |
181 | Summary: Static version of Boost.Python library | |
aa63c3d9 | 182 | Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python |
6725319f JB |
183 | Group: Development/Libraries |
184 | Requires: %{name}-python-devel = %{version}-%{release} | |
185 | ||
186 | %description python-static | |
187 | Static version of Boost.Python library. | |
188 | ||
4c35df9e | 189 | %description python-static -l pl.UTF-8 |
6725319f JB |
190 | Statyczna wersja biblioteki Boost.Python. |
191 | ||
17e8d8c2 ŁK |
192 | %package chrono |
193 | Summary: Useful time utilities | |
d7f6b47a | 194 | Summary(pl.UTF-8): Przydatne funkcje związane z czasem |
17e8d8c2 ŁK |
195 | Group: Libraries |
196 | Obsoletes: boost < 1.33 | |
197 | ||
198 | %description chrono | |
199 | Useful time utilities. | |
200 | ||
d7f6b47a JB |
201 | %description chrono -l pl.UTF-8 |
202 | Przydatne funkcje związane z czasem. | |
203 | ||
e5cd13f8 JB |
204 | %package context |
205 | Summary: Boost.Context - context switching library | |
206 | Summary(pl.UTF-8): Boost.Context - biblioteka do zmiany kontekstu | |
207 | Group: Libraries | |
208 | ||
209 | %description context | |
210 | Boost.Context - context switching library, providing a sort of | |
211 | cooperative multitasking on a single thread. | |
212 | ||
213 | %description context -l pl.UTF-8 | |
214 | Boost.Context - biblioteka do zmiany kontekstu, zapewniająca pewną | |
215 | wielozadaniowość kooperatywnąw ramach pojedynczego wątku. | |
216 | ||
02c23151 | 217 | %package date_time |
d143171f | 218 | Summary: Date-Time library |
aa63c3d9 | 219 | Summary(pl.UTF-8): Biblioteka daty-czasu |
02c23151 | 220 | Group: Libraries |
000cd675 | 221 | Obsoletes: boost < 1.33 |
02c23151 | 222 | |
223 | %description date_time | |
224 | A set of date-time libraries. | |
225 | ||
4c35df9e JR |
226 | %description date_time -l pl.UTF-8 |
227 | Zbiór bibliotek daty-czasu. | |
02c23151 | 228 | |
31026e88 | 229 | %package filesystem |
230 | Summary: Portable paths, iteration over directories, and other useful filesystem operations | |
aa63c3d9 | 231 | Summary(pl.UTF-8): Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików |
31026e88 | 232 | Group: Libraries |
69912bfb | 233 | Requires: %{name}-system = %{version}-%{release} |
000cd675 | 234 | Obsoletes: boost < 1.33 |
31026e88 | 235 | |
236 | %description filesystem | |
04846599 JB |
237 | The boost::filesystem library provides portable facilities to query |
238 | and manipulate paths, files, and directories. | |
31026e88 | 239 | |
4c35df9e JR |
240 | %description filesystem -l pl.UTF-8 |
241 | Przenośna biblioteka boost::filesystem dostarcza ułatwienia w | |
242 | operacjach na ścieżkach, plikach i katalogach. | |
31026e88 | 243 | |
06ed6468 AM |
244 | %package graph |
245 | Summary: General purpose, generic C++ library for graph data structures and graph algorithms | |
246 | Summary(pl.UTF-8): Biblioteka ogólnego przeznaczenia w C++ dla struktur danych typu grafy oraz algorytmów związanych z grafami | |
247 | Group: Libraries | |
248 | ||
249 | %description graph | |
250 | The boost::graph library provides portable facilities to operate on | |
251 | graph data structures using graph algorithms. | |
252 | ||
253 | %description graph -l pl.UTF-8 | |
254 | Przenośna biblioteka boost::graph dostarcza ułatwienia w operacjach na | |
255 | strukturach danych typu graf za pomocą algorytmów związanych z | |
256 | grafami. | |
257 | ||
17e8d8c2 ŁK |
258 | %package locale |
259 | Summary: Provide localization and Unicode handling tools for C++ | |
d7f6b47a | 260 | Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++ |
17e8d8c2 ŁK |
261 | Group: Libraries |
262 | ||
263 | %description locale | |
264 | Provide localization and Unicode handling tools for C++. | |
265 | ||
d7f6b47a JB |
266 | %description locale -l pl.UTF-8 |
267 | Narzędzia do obsługi lokalizacji i Unikodu w C++. | |
268 | ||
2ced8724 JR |
269 | %package log |
270 | Summary: Provide logging tools for C++ | |
271 | Summary(pl.UTF-8): Narzędzia do logowania w C++ | |
272 | Group: Libraries | |
273 | ||
274 | %description log | |
275 | Provide logging tools for C++. | |
276 | ||
277 | %description log -l pl.UTF-8 | |
278 | Narzędzia do logowania w C++. | |
279 | ||
99f4684a | 280 | %package program_options |
281 | Summary: Access to program options, via conventional methods such as command line and config file | |
aa63c3d9 | 282 | Summary(pl.UTF-8): Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny |
99f4684a | 283 | Group: Libraries |
284 | ||
285 | %description program_options | |
286 | The program_options library allows program developers to obtain | |
287 | program options, that is (name, value) pairs from the user, via | |
288 | conventional methods such as command line and config file. | |
289 | ||
4c35df9e JR |
290 | %description program_options -l pl.UTF-8 |
291 | Biblioteka program_options umożliwia uzyskanie od użytkownika opcji | |
292 | programu, czyli par (nazwa, wartość), za pomocą typowych metod, takich | |
293 | jak linia poleceń, czy plik konfiguracyjny. | |
99f4684a | 294 | |
09e2803f PS |
295 | %package regex |
296 | Summary: Boost C++ regular expressions library | |
297 | Summary(pl.UTF-8): Biblioteka wyrażeń regularnych Boost C++ | |
298 | Group: Libraries | |
99f4684a | 299 | |
09e2803f PS |
300 | %description regex |
301 | Shared library for Boost C++ regular expressions. | |
99f4684a | 302 | |
09e2803f | 303 | %description regex -l pl.UTF-8 |
d7f6b47a | 304 | Biblioteka współdzielona do obsługi wyrażeń regularnych w C++. |
99f4684a | 305 | |
db639b8e | 306 | %package signals |
75f9f612 | 307 | Summary: Signals & slots callback implementation |
aa63c3d9 | 308 | Summary(pl.UTF-8): Implementacja sygnałów i slotów |
db639b8e | 309 | Group: Libraries |
000cd675 | 310 | Obsoletes: boost < 1.33 |
db639b8e | 311 | |
312 | %description signals | |
313 | The boost::signals library is an implementation of a signals and slots | |
314 | system. | |
315 | ||
4c35df9e JR |
316 | %description signals -l pl.UTF-8 |
317 | Biblioteka boost::signals jest implementacją systemu sygnałów i | |
318 | slotów. | |
db639b8e | 319 | |
09e2803f PS |
320 | %package system |
321 | Summary: Support for getting system specific error codes | |
322 | Summary(pl.UTF-8): Wsparcie dla pobierania specyficznych dla systemu kodów błędów | |
323 | Group: Libraries | |
06ed6468 | 324 | |
09e2803f PS |
325 | %description system |
326 | The Boost System library provides simple, light-weight error_code | |
327 | objects that encapsulate system-specific error code values, yet also | |
328 | provide access to more abstract and portable error conditions objects. | |
0651a785 | 329 | |
2b583775 JB |
330 | %description system -l pl.UTF-8 |
331 | Biblioteka Boost System udostępnia proste, lekkie obiekty error_code | |
332 | obudowujące wartości kodów błędów specyficznych dla systemu, dając | |
333 | jednocześnie dostęp do bardziej abstrakcyjnych i przenośnych obiektów | |
334 | błędów. | |
335 | ||
c0536c7f | 336 | %package test |
09e2803f | 337 | Summary: Support for program testing and execution monitoring |
aa63c3d9 | 338 | Summary(pl.UTF-8): Wsparcie dla testowania i monitorowania programu |
c0536c7f | 339 | Group: Libraries |
000cd675 | 340 | Obsoletes: boost < 1.33 |
c0536c7f | 341 | |
342 | %description test | |
343 | Support for simple program testing, full unit testing, and for program | |
344 | execution monitoring. | |
345 | ||
4c35df9e JR |
346 | %description test -l pl.UTF-8 |
347 | Wsparcie dla prostego testowania programu, pełnego testowania i | |
c0536c7f | 348 | monitorowania wykonania programu. |
349 | ||
02c23151 | 350 | %package thread |
d143171f | 351 | Summary: Portable C++ threads library |
aa63c3d9 | 352 | Summary(pl.UTF-8): Przenośna biblioteka wątków C++ |
02c23151 | 353 | Group: Libraries |
000cd675 | 354 | Obsoletes: boost < 1.33 |
02c23151 | 355 | |
356 | %description thread | |
e4ddb7d1 | 357 | Portable C++ threads library - shared library. |
02c23151 | 358 | |
4c35df9e JR |
359 | %description thread -l pl.UTF-8 |
360 | Przenośna biblioteka wątków dla C++ - biblioteka dzielona. | |
02c23151 | 361 | |
e5cd13f8 JB |
362 | %package timer |
363 | Summary: Event timer, progress timer, and progress display classes | |
364 | Summary(pl.UTF-8): Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu | |
365 | Group: Libraries | |
366 | Obsoletes: boost < 1.33 | |
367 | ||
368 | %description timer | |
369 | Event timer, progress timer, and progress display classes. | |
370 | ||
371 | %description timer -l pl.UTF-8 | |
372 | Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu. | |
373 | ||
06ed6468 AM |
374 | %package wave |
375 | Summary: Boost.Wave - a standard compliant C++ preprocessor library | |
376 | Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++ | |
377 | Group: Development/Libraries | |
06ed6468 AM |
378 | |
379 | %description wave | |
380 | Boost.Wave - a standard compliant C++ preprocessor library. | |
381 | ||
382 | %description wave -l pl.UTF-8 | |
383 | Boost.Wave - zgodna ze standardem biblioteka preprocesora C++. | |
384 | ||
c6874538 | 385 | %package doc |
386 | Summary: Boost C++ Library documentation | |
aa63c3d9 | 387 | Summary(pl.UTF-8): Dokumentacja dla biblioteki Boost C++ |
49f48a3b | 388 | Group: Documentation |
b0977fb8 | 389 | Requires: %{name}-devel = %{version}-%{release} |
c6874538 | 390 | |
391 | %description doc | |
66ac0d93 | 392 | Documentation for the Boost C++ Library. |
c6874538 | 393 | |
4c35df9e | 394 | %description doc -l pl.UTF-8 |
66ac0d93 | 395 | Dokumentacja dla biblioteki Boost C++. |
c6874538 | 396 | |
397 | %prep | |
8b623265 | 398 | %setup -q -n %{name}_%{fver} |
09e2803f | 399 | %patch0 -p1 |
bab7ef8c | 400 | #patch1 -p0 |
647f39b2 | 401 | |
647f39b2 | 402 | %patch203 -p0 |
647f39b2 AM |
403 | %patch211 -p1 |
404 | %patch212 -p1 | |
405 | %patch213 -p1 | |
647f39b2 | 406 | %patch218 -p1 |
647f39b2 AM |
407 | %patch221 -p1 |
408 | %patch222 -p1 | |
647f39b2 | 409 | %patch224 -p1 |
647f39b2 | 410 | |
9b1806d5 PS |
411 | # - don't know how to pass it through (b)jam -s (no way?) |
412 | # due to oversophisticated build flags system. | |
413 | # - pass -fPIC due to <shared-linkable> removal. | |
d20b153a | 414 | %{__sed} -i "s/<optimization>speed : -O3/<optimization>speed : ${CXXFLAGS:-%rpmcxxflags} -fPIC/" tools/build/src/tools/gcc.jam |
09e2803f PS |
415 | |
416 | # cleanup -g switch to avoid override debuginfocflags. | |
d20b153a | 417 | %{__sed} -i 's/<debug-symbols>on : -g/<debug-symbols>on :/' tools/build/src/tools/gcc.jam |
09e2803f | 418 | # link against shared expat library. |
d20b153a | 419 | #%{__sed} -i 's:find-static:find-shared:' libs/graph/build/Jamfile.v2 |
502f5d36 | 420 | |
d20b153a | 421 | cat << EOF > tools/build/src/user-config.jam |
6d61ae01 | 422 | using gcc : %{cxx_version} : %{__cxx} ; |
09e2803f PS |
423 | EOF |
424 | ||
6d61ae01 ER |
425 | # cleanup backups after patching |
426 | find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f | |
427 | ||
c6874538 | 428 | %build |
49f48a3b | 429 | %if %{with python} |
7c12a8f9 | 430 | PYTHON_VERSION=$(%{__python} -c 'import sys; print sys.version[0:3]') |
c6874538 | 431 | PYTHON_ROOT=%{_prefix} |
432 | %else | |
433 | PYTHON_ROOT= | |
434 | PYTHON_VERSION= | |
435 | %endif | |
09e2803f PS |
436 | EXPAT_INCLUDE=%{_includedir} \ |
437 | EXPAT_LIBPATH=%{_libdir} \ | |
438 | ICU_PATH=%{_prefix} \ | |
bab7ef8c JR |
439 | ./bootstrap.sh \ |
440 | --prefix=%{_prefix} | |
441 | ||
17e8d8c2 | 442 | ./b2 \ |
bab7ef8c JR |
443 | %ifarch x32 |
444 | --without-context \ | |
445 | --without-coroutine \ | |
446 | %endif | |
9b1806d5 | 447 | -d2 --toolset=gcc \ |
bab7ef8c JR |
448 | variant=release \ |
449 | debug-symbols=on \ | |
450 | inlining=on \ | |
451 | link=static,shared \ | |
452 | threading=multi | |
9b1806d5 | 453 | |
c6874538 | 454 | %install |
455 | rm -rf $RPM_BUILD_ROOT | |
30964b71 | 456 | install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}} |
c6874538 | 457 | |
30964b71 | 458 | cp -rf boost $RPM_BUILD_ROOT%{_includedir} |
c6874538 | 459 | |
8b623265 JB |
460 | install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir} |
461 | install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir} | |
462 | cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir} | |
fa767695 | 463 | |
c6874538 | 464 | # documentation |
465 | install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version} | |
c6874538 | 466 | |
467 | # as the documentation doesn't completely reside in a directory of its | |
468 | # own, we need to find out ourselves... this looks for HTML files and | |
469 | # then collects everything linked from those. this is certainly quite | |
470 | # unoptimized wrt mkdir calls, but does it really matter? | |
7c12a8f9 ER |
471 | installdocs() { |
472 | for i in $(find -type f -name '*.htm*'); do | |
c6874538 | 473 | # bjam docu is included in the boost-jam RPM |
474 | if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then | |
7c12a8f9 | 475 | install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/${i%/*} |
30964b71 | 476 | for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT' |
c6874538 | 477 | sub rewrite_link |
478 | { | |
479 | my $link = shift; | |
480 | # rewrite links from boost/* to %{_includedir}/boost/* and | |
481 | # ignore external links as well as document-internal ones. | |
482 | # HTML files are also ignored as they get installed anyway. | |
483 | if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),)) | |
484 | { | |
485 | (my $file = $link) =~ s/\#.*//; | |
486 | print "$file\n"; | |
487 | } | |
488 | $link; | |
489 | } | |
490 | open IN, @ARGV[0]; | |
491 | open OUT, ">@ARGV[1]"; | |
66ac0d93 | 492 | my $in_link; |
c6874538 | 493 | while (<IN>) |
494 | { | |
66ac0d93 | 495 | $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e; |
c6874538 | 496 | s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig; |
497 | print OUT; | |
d143171f | 498 | $in_link = /href|src=\s*$/; |
c6874538 | 499 | } |
500 | EOT`; do | |
7c12a8f9 | 501 | TARGET=${i%/*}/$LINKED |
c6874538 | 502 | # ignore non-existant linked files |
503 | if test -f $TARGET; then | |
7c12a8f9 | 504 | install -D -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET |
c6874538 | 505 | fi |
506 | done | |
507 | fi | |
508 | done | |
7c12a8f9 | 509 | }; installdocs |
c6874538 | 510 | |
511 | %clean | |
512 | rm -rf $RPM_BUILD_ROOT | |
513 | ||
000cd675 JB |
514 | %post -p /sbin/ldconfig |
515 | %postun -p /sbin/ldconfig | |
516 | ||
17e8d8c2 ŁK |
517 | %post chrono -p /sbin/ldconfig |
518 | %postun chrono -p /sbin/ldconfig | |
519 | ||
e5cd13f8 JB |
520 | %post context -p /sbin/ldconfig |
521 | %postun context -p /sbin/ldconfig | |
522 | ||
3d8dd501 JB |
523 | %post date_time -p /sbin/ldconfig |
524 | %postun date_time -p /sbin/ldconfig | |
525 | ||
04846599 JB |
526 | %post filesystem -p /sbin/ldconfig |
527 | %postun filesystem -p /sbin/ldconfig | |
528 | ||
06ed6468 AM |
529 | %post graph -p /sbin/ldconfig |
530 | %postun graph -p /sbin/ldconfig | |
531 | ||
17e8d8c2 ŁK |
532 | %post locale -p /sbin/ldconfig |
533 | %postun locale -p /sbin/ldconfig | |
534 | ||
09e2803f PS |
535 | %post python -p /sbin/ldconfig |
536 | %postun python -p /sbin/ldconfig | |
537 | ||
538 | %post program_options -p /sbin/ldconfig | |
539 | %postun program_options -p /sbin/ldconfig | |
c6874538 | 540 | |
09e2803f PS |
541 | %post regex -p /sbin/ldconfig |
542 | %postun regex -p /sbin/ldconfig | |
290ca6f4 | 543 | |
09e2803f PS |
544 | %post signals -p /sbin/ldconfig |
545 | %postun signals -p /sbin/ldconfig | |
c6874538 | 546 | |
09e2803f PS |
547 | %post system -p /sbin/ldconfig |
548 | %postun system -p /sbin/ldconfig | |
3d8dd501 | 549 | |
09e2803f PS |
550 | %post test -p /sbin/ldconfig |
551 | %postun test -p /sbin/ldconfig | |
c0536c7f | 552 | |
09e2803f PS |
553 | %post thread -p /sbin/ldconfig |
554 | %postun thread -p /sbin/ldconfig | |
3d8dd501 | 555 | |
e5cd13f8 JB |
556 | %post timer -p /sbin/ldconfig |
557 | %postun timer -p /sbin/ldconfig | |
558 | ||
d7f6b47a JB |
559 | %post wave -p /sbin/ldconfig |
560 | %postun wave -p /sbin/ldconfig | |
561 | ||
000cd675 JB |
562 | %files |
563 | %defattr(644,root,root,755) | |
7bf3427b | 564 | %attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.* |
d20b153a | 565 | %attr(755,root,root) %{_libdir}/libboost_container.so.*.*.* |
bab7ef8c | 566 | %ifnarch x32 |
f1235ec7 | 567 | %attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.* |
bab7ef8c | 568 | %endif |
8b623265 | 569 | %attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.* |
e019306a | 570 | %attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.* |
8b623265 JB |
571 | %attr(755,root,root) %{_libdir}/libboost_random.so.*.*.* |
572 | %attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.* | |
573 | %attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.* | |
000cd675 | 574 | |
30964b71 JB |
575 | %files devel |
576 | %defattr(644,root,root,755) | |
7bf3427b | 577 | %attr(755,root,root) %{_libdir}/libboost_atomic.so |
17e8d8c2 | 578 | %attr(755,root,root) %{_libdir}/libboost_chrono.so |
d20b153a | 579 | %attr(755,root,root) %{_libdir}/libboost_container.so |
bab7ef8c | 580 | %ifnarch x32 |
e5cd13f8 | 581 | %attr(755,root,root) %{_libdir}/libboost_context.so |
f1235ec7 | 582 | %attr(755,root,root) %{_libdir}/libboost_coroutine.so |
bab7ef8c | 583 | %endif |
8b623265 JB |
584 | %attr(755,root,root) %{_libdir}/libboost_date_time.so |
585 | %attr(755,root,root) %{_libdir}/libboost_filesystem.so | |
586 | %attr(755,root,root) %{_libdir}/libboost_graph.so | |
587 | %attr(755,root,root) %{_libdir}/libboost_iostreams.so | |
17e8d8c2 | 588 | %attr(755,root,root) %{_libdir}/libboost_locale.so |
2ced8724 JR |
589 | %attr(755,root,root) %{_libdir}/libboost_log.so |
590 | %attr(755,root,root) %{_libdir}/libboost_log_setup.so | |
e019306a | 591 | %attr(755,root,root) %{_libdir}/libboost_math_*.so |
8b623265 JB |
592 | %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so |
593 | %attr(755,root,root) %{_libdir}/libboost_program_options.so | |
594 | %attr(755,root,root) %{_libdir}/libboost_regex.so | |
595 | %attr(755,root,root) %{_libdir}/libboost_random.so | |
596 | %attr(755,root,root) %{_libdir}/libboost_serialization.so | |
597 | %attr(755,root,root) %{_libdir}/libboost_signals.so | |
598 | %attr(755,root,root) %{_libdir}/libboost_system.so | |
599 | %attr(755,root,root) %{_libdir}/libboost_thread.so | |
17e8d8c2 | 600 | %attr(755,root,root) %{_libdir}/libboost_timer.so |
8b623265 JB |
601 | %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so |
602 | %attr(755,root,root) %{_libdir}/libboost_wave.so | |
603 | %attr(755,root,root) %{_libdir}/libboost_wserialization.so | |
604 | %{_includedir}/boost | |
605 | %exclude %{_includedir}/boost/python | |
606 | %exclude %{_includedir}/boost/python.hpp | |
99f4684a | 607 | |
000cd675 JB |
608 | %files static |
609 | %defattr(644,root,root,755) | |
7bf3427b | 610 | %{_libdir}/libboost_atomic.a |
17e8d8c2 | 611 | %{_libdir}/libboost_chrono.a |
d20b153a | 612 | %{_libdir}/libboost_container.a |
bab7ef8c | 613 | %ifnarch x32 |
e5cd13f8 | 614 | %{_libdir}/libboost_context.a |
2ced8724 | 615 | %{_libdir}/libboost_coroutine.a |
bab7ef8c | 616 | %endif |
8b623265 | 617 | %{_libdir}/libboost_date_time.a |
17e8d8c2 | 618 | %{_libdir}/libboost_exception.a |
8b623265 JB |
619 | %{_libdir}/libboost_filesystem.a |
620 | %{_libdir}/libboost_graph.a | |
621 | %{_libdir}/libboost_iostreams.a | |
17e8d8c2 | 622 | %{_libdir}/libboost_locale.a |
2ced8724 JR |
623 | %{_libdir}/libboost_log.a |
624 | %{_libdir}/libboost_log_setup.a | |
e019306a | 625 | %{_libdir}/libboost_math_*.a |
8b623265 JB |
626 | %{_libdir}/libboost_prg_exec_monitor.a |
627 | %{_libdir}/libboost_program_options.a | |
628 | %{_libdir}/libboost_random.a | |
629 | %{_libdir}/libboost_regex.a | |
630 | %{_libdir}/libboost_serialization.a | |
631 | %{_libdir}/libboost_signals.a | |
632 | %{_libdir}/libboost_system.a | |
633 | %{_libdir}/libboost_test_exec_monitor.a | |
17e8d8c2 | 634 | %{_libdir}/libboost_timer.a |
8b623265 JB |
635 | %{_libdir}/libboost_thread.a |
636 | %{_libdir}/libboost_unit_test_framework.a | |
637 | %{_libdir}/libboost_wave.a | |
638 | %{_libdir}/libboost_wserialization.a | |
db639b8e | 639 | |
49f48a3b | 640 | %if %{with python} |
30964b71 | 641 | %files python |
49f48a3b | 642 | %defattr(644,root,root,755) |
8b623265 | 643 | %attr(755,root,root) %{_libdir}/libboost_python.so.*.*.* |
49f48a3b | 644 | |
30964b71 | 645 | %files python-devel |
c6874538 | 646 | %defattr(644,root,root,755) |
8b623265 | 647 | %attr(755,root,root) %{_libdir}/libboost_python.so |
30964b71 JB |
648 | %{_includedir}/boost/python |
649 | %{_includedir}/boost/python.hpp | |
650 | ||
6725319f JB |
651 | %files python-static |
652 | %defattr(644,root,root,755) | |
8b623265 | 653 | %{_libdir}/libboost_python.a |
c6874538 | 654 | %endif |
655 | ||
17e8d8c2 ŁK |
656 | %files chrono |
657 | %defattr(644,root,root,755) | |
658 | %attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.* | |
659 | ||
bab7ef8c | 660 | %ifnarch x32 |
e5cd13f8 JB |
661 | %files context |
662 | %defattr(644,root,root,755) | |
663 | %attr(755,root,root) %{_libdir}/libboost_context.so.*.*.* | |
bab7ef8c | 664 | %endif |
e5cd13f8 | 665 | |
02c23151 | 666 | %files date_time |
667 | %defattr(644,root,root,755) | |
8b623265 | 668 | %attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.* |
02c23151 | 669 | |
31026e88 | 670 | %files filesystem |
671 | %defattr(644,root,root,755) | |
8b623265 | 672 | %attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.* |
31026e88 | 673 | |
06ed6468 AM |
674 | %files graph |
675 | %defattr(644,root,root,755) | |
8b623265 | 676 | %attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.* |
06ed6468 | 677 | |
17e8d8c2 ŁK |
678 | %files locale |
679 | %defattr(644,root,root,755) | |
680 | %attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.* | |
681 | ||
2ced8724 JR |
682 | %files log |
683 | %defattr(644,root,root,755) | |
684 | %attr(755,root,root) %{_libdir}/libboost_log.so.*.*.* | |
685 | %attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.* | |
686 | ||
99f4684a | 687 | %files program_options |
688 | %defattr(644,root,root,755) | |
8b623265 | 689 | %attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.* |
99f4684a | 690 | |
09e2803f | 691 | %files regex |
99f4684a | 692 | %defattr(644,root,root,755) |
8b623265 | 693 | %attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.* |
99f4684a | 694 | |
db639b8e | 695 | %files signals |
696 | %defattr(644,root,root,755) | |
8b623265 | 697 | %attr(755,root,root) %{_libdir}/libboost_signals.so.*.*.* |
db639b8e | 698 | |
09e2803f | 699 | %files system |
db639b8e | 700 | %defattr(644,root,root,755) |
8b623265 | 701 | %attr(755,root,root) %{_libdir}/libboost_system.so.*.*.* |
06ed6468 | 702 | |
c0536c7f | 703 | %files test |
704 | %defattr(644,root,root,755) | |
8b623265 JB |
705 | %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.* |
706 | %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.* | |
c0536c7f | 707 | |
02c23151 | 708 | %files thread |
709 | %defattr(644,root,root,755) | |
8b623265 | 710 | %attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.* |
02c23151 | 711 | |
e5cd13f8 JB |
712 | %files timer |
713 | %defattr(644,root,root,755) | |
714 | %attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.* | |
715 | ||
06ed6468 AM |
716 | %files wave |
717 | %defattr(644,root,root,755) | |
8b623265 | 718 | %attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.* |
06ed6468 | 719 | |
30964b71 | 720 | %files doc |
fe815c68 | 721 | %defattr(644,root,root,755) |
75f9f612 | 722 | %{_docdir}/%{name}-%{version} |