3 %bcond_without python # without boost-python support
5 %define _fver %(echo %{version} | tr . _)
6 Summary: The Boost C++ Libraries
7 Summary(pl): Biblioteki C++ "Boost"
11 License: Boost Software License and others
13 Source0: http://dl.sourceforge.net/boost/%{name}_%{_fver}.tar.bz2
14 # Source0-md5: 2b999b2fb7798e1737d1fff8fac602ef
15 Patch0: %{name}-python.patch
16 Patch1: %{name}-archive_iterator_segv.patch
17 URL: http://www.boost.org/
18 BuildRequires: boost-jam >= 3.1.3
19 BuildRequires: bzip2-devel
20 BuildRequires: libstdc++-devel
21 BuildRequires: perl-base
22 %{?with_python:BuildRequires: python-devel >= 2.2}
23 BuildRequires: rpm-pythonprov
24 BuildRequires: zlib-devel
25 BuildConflicts: gcc = 5:3.3.1
26 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29 The Boost web site provides free peer-reviewed portable C++ source
30 libraries. The emphasis is on libraries which work well with the C++
31 Standard Library. One goal is to establish "existing practice" and
32 provide reference implementations so that the Boost libraries are
33 suitable for eventual standardization. Some of the libraries have
34 already been proposed for inclusion in the C++ Standards Committee's
35 upcoming C++ Standard Library Technical Report.
38 Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z
39 kodem ¼ród³owym. Nacisk po³o¿ono na biblioteki, które dobrze
40 wspó³pracuj± ze standardow± bibliotek± C++. Celem jest ustanowienie
41 "istniej±cej praktyki" i dostarczenie implementacji, tak ¿e biblioteki
42 "Boost" nadaj± siê do ewentualnej standaryzacji. Niektóre z bibliotek
43 ju¿ zosta³y zg³oszone do komitetu standaryzacyjnego C++ w nadchodz±cym
44 Raporcie Technicznym Biblioteki Standardowej C++
47 Summary: Boost C++ development headers
48 Summary(pl): Pliki nag³ówkowe bibliotek C++ Boost
49 Group: Development/Libraries
50 Requires: %{name} = %{version}-%{release}
51 Requires: libstdc++-devel
52 # temporary Provides (until CVS HEAD stops using it)?
53 Provides: boost-concept_check-devel = %{version}-%{release}
54 Provides: boost-conversion-devel = %{version}-%{release}
55 Provides: boost-mpl-devel = %{version}-%{release}
56 Provides: boost-preprocessor-devel = %{version}-%{release}
57 Provides: boost-static_assert-devel = %{version}-%{release}
58 Provides: boost-type_traits-devel = %{version}-%{release}
59 Provides: boost-utility-devel = %{version}-%{release}
60 Obsoletes: boost-compose-devel
61 Obsoletes: boost-concept_check-devel
62 Obsoletes: boost-conversion-devel
63 Obsoletes: boost-mpl-devel
64 Obsoletes: boost-preprocessor-devel
65 Obsoletes: boost-static_assert-devel
66 Obsoletes: boost-type_traits-devel
67 Obsoletes: boost-utility-devel
70 Header files for the Boost C++ libraries.
72 %description devel -l pl
73 Pliki nag³ówkowe bibliotek C++ Boost.
76 Summary: Static version of base Boost C++ libraries
77 Summary(pl): Statyczne wersje podstawowych bibliotek C++ Boost
78 Group: Development/Libraries
79 Requires: %{name}-devel = %{version}-%{release}
82 Static version of base Boost C++ libraries.
84 %description static -l pl
85 Statyczne wersje podstawowych bibliotek C++ Boost.
88 Summary: Boost.Python library
89 Summary(pl): biblioteka Boost.Python
94 Use the Boost Python Library to quickly and easily export a C++
95 library to Python such that the Python interface is very similar to
96 the C++ interface. It is designed to be minimally intrusive on your
97 C++ design. In most cases, you should not have to alter your C++
98 classes in any way in order to use them with Boost.Python. The system
99 should simply ``reflect'' your C++ classes and functions into Python.
101 %description python -l pl
102 Biblioteka Boost Python s³u¿y do szybkiego i prostego eksportu
103 biblioteki C++ do Pythona, tak ¿e interfejs Pythona jest bardzo
104 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, ¿eby
105 narzucaæ jak najmniej wymagañ dotycz±cych konstrukcjii C++. W
106 wiêkszo¶ci przypadków nie trzeba w ogóle zmieniaæ w³asnych klas C++,
107 ¿eby u¿ywaæ ich z Boost.Python. System powinien po prostu ,,odbiæ''
108 klasy C++ i funkcje do Pythona.
110 %package python-devel
111 Summary: Boost.Python development headers
112 Summary(pl): Pliki nag³ówkowe dla Boost.Python
113 Group: Development/Libraries
114 Requires: %{name}-compressed_pair-devel = %{version}-%{release}
115 Requires: %{name}-devel = %{version}-%{release}
116 Requires: %{name}-python = %{version}-%{release}
118 %description python-devel
119 Headers for the Boost.Python library.
121 %description python-devel -l pl
122 Pliki nag³ówkowe dla biblioteki Boost.Python.
124 %package python-static
125 Summary: Static version of Boost.Python library
126 Summary(pl): Statyczna wersja biblioteki Boost.Python
127 Group: Development/Libraries
128 Requires: %{name}-python-devel = %{version}-%{release}
130 %description python-static
131 Static version of Boost.Python library.
133 %description python-static -l pl
134 Statyczna wersja biblioteki Boost.Python.
137 Summary: Boost C++ regular expressions library
138 Summary(pl): Biblioteka wyra¿eñ regularnych Boost C++
142 Shared library for Boost C++ regular expressions.
144 %description regex -l pl
145 Biblioteka wyra¿eñ regularnych dla C++, biblioteki dzielone.
148 Summary: Boost C++ Regex library headers
149 Summary(pl): Pliki nag³ówkowe Boost C++ Regex
150 Group: Development/Libraries
151 Requires: %{name}-devel = %{version}-%{release}
152 Requires: %{name}-regex = %{version}-%{release}
154 %description regex-devel
155 Boost C++ Regex headers.
157 %description regex-devel -l pl
158 Pliki nag³ówkowe dla Boost C++ Regex.
160 %package regex-static
161 Summary: Boost C++ Regex static libraries
162 Summary(pl): Biblioteki statyczne Boost C++ Regex
163 Group: Development/Libraries
164 Requires: %{name}-regex-devel = %{version}-%{release}
166 %description regex-static
167 Boost C++ Regex static libraries.
169 %description regex-static -l pl
170 Biblioteki statyczne dla Boost C++ Regex.
173 Summary: Header for Boost C++ "Any" Library
174 Summary(pl): Plik nag³ówkowy dla biblioteki Boost C++ "Any"
175 Group: Development/Libraries
176 Requires: %{name}-devel = %{version}-%{release}
178 %description any-devel
179 The boost::any class, is a variant value type, which supports copying
180 of any value type and safe checked extraction of that value strictly
183 I.e. 5 is held strictly as an int and is not implicitly convertible
184 either to "5" or to 5.0.
186 %description any-devel -l pl
187 Klasa boost::any jest typem, który umo¿liwia kopiowanie ze zmiennej
188 dowolnego typu i bezpieczne, sprawdzone wydobycie jej warto¶ci
189 dok³adnie tego samego typu.
191 Np. 5 jest trzymane jako int i nie jest niejawnie konwertowalne ani do
195 Summary: STL compliant container wrapper for arrays of constant size
196 Summary(pl): Wrapper na STLowe kontenery dla tablic o sta³ym rozmiarze
197 Group: Development/Libraries
198 Requires: %{name}-devel = %{version}-%{release}
200 %description array-devel
201 As replacement for ordinary arrays, the STL provides class vector<>.
202 However, vector<> provides the semantics of dynamic arrays. Thus, it
203 manages data to be able to change the number of elements. This results
204 in some overhead in case only arrays with static size are needed. This
205 library provides support for such static size arrays.
207 %description array-devel -l pl
208 STL dostarcza klasê vector<> jako zamiennik zwyk³ej tablicy. Jednak
209 vector<> dostarcza semantykê dynamicznych tablic. Zatem zarz±dza
210 danymi tak, by by³a mo¿liwa zmiana ilo¶ci elementów. To skutkuje
211 pewnym nadmiarem w przypadku kiedy tylko tablice o sta³ym rozmiarze s±
212 potrzebne. Ta biblioteka dostarcza wsparcie dla takich w³a¶nie tablic
216 Summary: Generalized binders for function/object/pointers and member functions
217 Summary(pl): Uogólnione bindery dla funkcji/obiektów/wska¼ników oraz metod
218 Group: Development/Libraries
219 Requires: %{name}-ref-devel = %{version}-%{release}
220 Provides: boost-mem_fn-devel = %{version}-%{release}
221 Obsoletes: boost-compose-devel
222 Obsoletes: boost-mem_fn-devel
224 %description bind-devel
225 boost::bind is a generalization of the standard functions std::bind1st
226 and std::bind2nd. This package contains also boost::mem_fn which is a
227 generalization of the standard functions std::mem_fun and
230 %description bind-devel -l pl
231 boost::bind jest uogólnieniem standardowych funkcji std::bind1st i
232 std::bind2nd. Ten pakiet zawiera tak¿e boost::mem_fn, który jest
233 uogólnieniem standardowych funkcji std::mem_fun i std::mem_fun_ref.
235 %package call_traits-devel
236 Summary: Defines types for passing parameters
237 Summary(pl): Definiowanie typów dla przekazywania parametrów
238 Group: Development/Libraries
239 Requires: %{name}-devel = %{version}-%{release}
241 %description call_traits-devel
242 boost::call_traits<T> encapsulates the "best" method to pass a
243 parameter of some type T to or from a function. The purpose of
244 call_traits is to ensure that problems like "references to references"
245 never occur, and that parameters are passed in the most efficient
248 %description call_traits-devel -l pl
249 boost::call_traits<T> zawiera "najlepsz±" metodê przekazywania
250 parametrów jakiego¶ typu T do lub z funkcji. Celem call_traits jest
251 zapewnienie ¿e problemy takie jak "referencja referencji" nigdy nie
252 wyst±pi± i ¿e parametry s± przekazywane w mo¿liwie najbardziej
255 %package compatibility-devel
256 Summary: Help for non-conforming standard libraries
257 Summary(pl): Pomoc dla nie trzymaj±cych standardu bibliotek
258 Group: Development/Libraries
259 Requires: %{name}-devel = %{version}-%{release}
261 %description compatibility-devel
262 This library provides workarounds which allow the other Boost
263 libraries to be used on otherwise non-conforming platforms.
265 %description compatibility-devel -l pl
266 Biblioteka dostarcza obej¶cie problemu platform nie trzymaj±cych
267 standardu C++, pozwalaj±ce na u¿ywanie bibliotek Boost na tych
270 %package compose-devel
271 Summary: Functional composition adapters for the STL
272 Summary(pl): Funkcjonalne adaptery kompozycji dla STL
273 Group: Development/Libraries
274 Requires: %{name}-devel = %{version}-%{release}
276 %description compose-devel
277 The boost::compose provides compose function object adapter extensions
278 for use with the Standard Template Library (STL) portion of the C++
279 Standard Library. If you aren't currently using the STL, this library
280 won't be of any interest, but hard-core STL users will appreciate its
283 %description compose-devel -l pl
284 boost::compose dostarcza rozszerzenie adaptera obiektu funkcji compose
285 do u¿ytku z STL-ow± czê¶ci± Standardu C++. Je¿eli nie u¿ywasz STL,
286 biblioteka bêdzie poza twoim zainteresowaniem, lecz hardkorowi
287 u¿ytkownicy STL-a doceni± jej u¿yteczno¶æ.
289 %package compressed_pair-devel
290 Summary: Empty member optimization
291 Summary(pl): Optymalizacja pustego elementu
292 Group: Development/Libraries
293 Requires: %{name}-call_traits-devel = %{version}-%{release}
294 Requires: %{name}-devel = %{version}-%{release}
296 %description compressed_pair-devel
297 The class boost::compressed_pair is very similar to std::pair, but if
298 either of the template arguments are empty classes, then the "empty
299 base-class optimisation" is applied to compress the size of the pair.
301 %description compressed_pair-devel -l pl
302 Klasa boost::compressed_pair jest bardzo podobna do std::pair, ale
303 je¿eli który¶ z argumentów wzorca jest pust± klas±, wtedy stosowana
304 jest "optymalizacja pustej klasy bazowej" do kompresji pary.
307 Summary: CRC computing library
308 Summary(pl): Biblioteka obliczaj±ca CRC
309 Group: Development/Libraries
310 Requires: %{name}-devel = %{version}-%{release}
312 %description crc-devel
313 The boost::crc library provides two implementations of CRC computation
314 objects and functions. The implementations are template-based.
316 %description crc-devel -l pl
317 Bibliteka boost::crc dostarcza dwie implementacje obiektów i funkcji
318 obliczaj±cych CRC. Implementacje s± oparte na wzorcach.
321 Summary: Date-Time library
322 Summary(pl): Biblioteka daty-czasu
324 Obsoletes: boost < 1.33
326 %description date_time
327 A set of date-time libraries.
329 %description date_time -l pl
330 Zbiór bibliotek daty-czasu.
332 %package date_time-devel
333 Summary: Header files for boost::date_time library
334 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::date_time
335 Group: Development/Libraries
336 Requires: %{name}-date_time = %{version}-%{release}
337 Requires: %{name}-devel = %{version}-%{release}
338 #TODO: make decision if do separate packages include it to main devel package
339 #Requires: %{name}-integer-devel = %{version}-%{release}
340 #Requires: %{name}-operators-devel = %{version}-%{release}
341 #Requires: %{name}-tokenizer-devel = %{version}-%{release}
343 %description date_time-devel
344 Header files for boost::date_time library.
346 %description date_time-devel -l pl
347 Pliki nag³ówkowe dla biblioteki boost::date_time
349 %package date_time-static
350 Summary: Static boost::date_time library
351 Summary(pl): Statyczna biblioteka boost::date_time
352 Group: Development/Libraries
353 Requires: %{name}-date_time-devel = %{version}-%{release}
355 %description date_time-static
356 Static boost::date_time library.
358 %description date_time-devel -l pl
359 Statyczna biblioteka boost::date_time.
362 Summary: Portable paths, iteration over directories, and other useful filesystem operations
363 Summary(pl): Przeno¶ne ¶cie¿ki, iteracje katalogów i inne u¿yteczne operacje na systemie plików
365 Obsoletes: boost < 1.33
367 %description filesystem
368 The boost::filesystem library provides portable facilities to query
369 and manipulate paths, files, and directories.
371 %description filesystem -l pl
372 Przeno¶na biblioteka boost::filesystem dostarcza u³atwienia w
373 operacjach na ¶cie¿kach, plikach i katalogach.
375 %package filesystem-devel
376 Summary: Header files for boost::filesystem
377 Summary(pl): Pliki nag³ówkowe dla boost::filesystem
378 Group: Development/Libraries
379 Requires: %{name}-devel = %{version}-%{release}
380 Requires: %{name}-filesystem = %{version}-%{release}
382 #Requires: %{name}-smart_ptr = %{version}-%{release}
384 %description filesystem-devel
385 Header files for boost::filesystem library.
387 %description filesystem-devel -l pl
388 Pliki nag³ówkowe dla biblioteki boost::filesystem.
390 %package filesystem-static
391 Summary: Static boost::filesystem library
392 Summary(pl): Biblioteka statyczna boost::filesystem
393 Group: Development/Libraries
394 Requires: %{name}-filesystem-devel = %{version}-%{release}
395 Obsoletes: boost-static < 1.33
397 %description filesystem-static
398 Static boost::filesystem library.
400 %description filesystem-static -l pl
401 Biblioteka statyczna boost::filesystem.
403 %package program_options
404 Summary: Access to program options, via conventional methods such as command line and config file
405 Summary(pl): Dostêp do opcji programu za pomoc± typowych metod, jak linia poleceñ i plik konfiguracyjny
408 %description program_options
409 The program_options library allows program developers to obtain
410 program options, that is (name, value) pairs from the user, via
411 conventional methods such as command line and config file.
413 %description program_options -l pl
414 Biblioteka program_options umo¿liwia uzyskanie od u¿ytkownika opcji
415 programu, czyli par (nazwa, warto¶æ), za pomoc± typowych metod,
416 takich jak linia poleceñ, czy plik konfiguracyjny.
418 %package program_options-devel
419 Summary: Header files for boost::program_options
420 Summary(pl): Pliki nag³ówkowe dla boost::program_options
421 Group: Development/Libraries
422 Requires: %{name}-any-devel = %{version}-%{release}
423 Requires: %{name}-devel = %{version}-%{release}
424 Requires: %{name}-program_options = %{version}-%{release}
426 %description program_options-devel
427 Header files for boost::program_options library.
429 %description program_options-devel -l pl
430 Pliki nag³ówkowe dla biblioteki boost::program_options.
432 %package program_options-static
433 Summary: Static boost::program_options library
434 Summary(pl): Biblioteka statyczna boost::program_options
435 Group: Development/Libraries
436 Requires: %{name}-program_options-devel = %{version}-%{release}
437 Obsoletes: boost-static < 1.33
439 %description program_options-static
440 Static boost::program_options library.
442 %description program_options-static -l pl
443 Biblioteka statyczna boost::program_options.
446 Summary: Small library useful for passing references to function templates
447 Summary(pl): Ma³a biblioteka u¿yteczna przy przekazywaniu referencji do wzorców funkcji
448 Group: Development/Libraries
449 Requires: %{name}-devel = %{version}-%{release}
451 %description ref-devel
452 boost::ref library is a small library that is useful for passing
453 references to function templates (algorithms) that would usually take
454 copies of their arguments.
456 %description ref-devel -l pl
457 Biblioteka boost::ref jest ma³± bibliotek± która jest u¿yteczna w
458 przypadku przekazywania referencji do wzorców funkcji (algorytmów)
459 które zazwyczaj bior± kopiê swoich argumentów.
462 Summary: Signals & slots callback implementation
463 Summary(pl): Implementacja sygna³ów i slotów
465 Obsoletes: boost < 1.33
468 The boost::signals library is an implementation of a signals and slots
471 %description signals -l pl
472 Biblioteka boost::signals jest implementacj± systemu sygna³ów i
475 %package signals-devel
476 Summary: Header files for boost::signals library
477 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::signals
478 Group: Development/Libraries
479 Requires: %{name}-any-devel = %{version}-%{release}
480 Requires: %{name}-devel = %{version}-%{release}
481 Requires: %{name}-signals = %{version}-%{release}
482 #TODO: separate smart_ptr or include to the main devel package
483 Requires: %{name}-bind-devel = %{version}-%{release}
484 #Requires: %{name}-iterator_adaptors-devel = %{version}-%{release}
485 #Requires: %{name}-operators-devel = %{version}-%{release}
486 Requires: %{name}-ref-devel = %{version}-%{release}
487 #Requires: %{name}-smart_ptr-devel = %{version}-%{release}
489 %description signals-devel
490 Header files for boost::signals library.
492 %description signals-devel -l pl
493 Pliki nag³ówkowe dla biblioteki boost::signals.
495 %package signals-static
496 Summary: Static library for boost::signals
497 Summary(pl): Biblioteka statyczna dla boost::signals
498 Group: Development/Libraries
499 Requires: %{name}-signals-devel = %{version}-%{release}
501 %description signals-static
502 Static library for boost::signals.
504 %description signals-static -l pl
505 Biblioteka statyczna dla boost::signals.
507 %package spirit-devel
508 Summary: LL parser framework
509 Summary(pl): Szkielet parsera LL
510 Group: Development/Libraries
511 Requires: %{name}-compressed_pair-devel = %{version}-%{release}
512 Requires: %{name}-ref-devel = %{version}-%{release}
513 Requires: %{name}-regex-devel = %{version}-%{release}
514 Requires: %{name}-thread-devel = %{version}-%{release}
516 #?Requires: %{name}-iterators-devel = %{version}-%{release}
517 #?Requires: %{name}-smart_ptr-devel = %{version}-%{release}
519 %description spirit-devel
520 LL parser framework represents parsers directly as EBNF grammars in
523 %description spirit-devel -l pl
524 Szkielet parsera LL reprezentuj±cy parsery jako gramatyki EBNF
525 bezpo¶rednio w kodzie C++.
528 Summary: Support for program testing and execution monitoring
529 Summary(pl): Wsparcie dla testowania i monitorowania programu
531 Obsoletes: boost < 1.33
534 Support for simple program testing, full unit testing, and for program
535 execution monitoring.
537 %description test -l pl
538 Wsparcie dla prostego testowania programu, pe³nego testowania i
539 monitorowania wykonania programu.
542 Summary: Header files for boost::test
543 Summary(pl): Pliki nag³ówkowe dla boost::test
544 Group: Development/Libraries
545 Requires: %{name}-call_traits-devel = %{version}-%{release}
546 Requires: %{name}-devel = %{version}-%{release}
547 Requires: %{name}-test = %{version}-%{release}
549 #?Requires?: %{name}-function-devel = %{version}-%{release}
550 #Requires: %{name}-smart_ptr = %{version}-%{release}
552 %description test-devel
553 Header files for boost::test.
555 %description test-devel -l pl
556 Pliki nag³ówkowe dla boost::test.
559 Summary: Static boost::test libraries
560 Summary(pl): Biblioteki statyczne boost::test
561 Group: Development/Libraries
562 Requires: %{name}-test-devel = %{version}-%{release}
563 Obsoletes: boost-static < 1.33
565 %description test-static
566 Static boost::test libraries.
568 %description test-static -l pl
569 Biblioteki statyczne boost::test.
572 Summary: Portable C++ threads library
573 Summary(pl): Przeno¶na biblioteka w±tków C++
575 Obsoletes: boost < 1.33
578 Portable C++ threads library - shared library.
580 %description thread -l pl
581 Przeno¶na biblioteka w±tków dla C++ - biblioteka dzielona.
583 %package thread-devel
584 Summary: Header files for boost::thread library
585 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::thread
586 Group: Development/Libraries
587 Requires: %{name}-devel = %{version}-%{release}
588 Requires: %{name}-thread = %{version}-%{release}
589 #TODO:requires boost::function or boost::function to boost-devel
591 %description thread-devel
592 Header files for boost::thread library.
594 %description thread-devel -l pl
595 Pliki nag³ówkowe dla biblioteki boost::thread.
597 %package thread-static
598 Summary: Portable C++ threads library - static version
599 Summary(pl): Przeno¶na biblioteka w±tków C++ - wersja statyczna
601 Requires: %{name}-thread-devel = %{version}-%{release}
602 Obsoletes: boost < 1.33
604 %description thread-static
605 Portable C++ threads library - static library.
607 %description thread-static -l pl
608 Przeno¶na biblioteka w±tków dla C++ - biblioteka statyczna.
611 Summary: Basic linear algebra for dense, packed and sparse matrices
612 Summary(pl): Prosta liniowa algebra dla gêstych, upakowanych i rzadkich macierzy
613 Group: Development/Libraries
614 Requires: %{name}-devel = %{version}-%{release}
616 %description uBLAS-devel
617 uBLAS library provides templated C++ classes for dense, unit and
618 sparse vectors, dense, identity, triangular, banded, symmetric,
619 hermitian and sparse matrices.
621 %description uBLAS-devel -l pl
622 Biblioteka uBLAS dostarcza wzorce klas C++ dla gêstych, jednostkowych
623 i rzadkich wektorów oraz gêstych, jednostkowych, trójk±tnych,
624 diagonalnych, symetrycznych, hermitowskich i rzadkich macierzy.
627 Summary: Boost.Wave - a standard compliant C++ preprocessor library
628 Summary(pl): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
629 Group: Development/Libraries
630 Requires: %{name}-devel = %{version}-%{release}
632 %description wave-devel
633 Boost.Wave - a standard compliant C++ preprocessor library.
635 %description wave-devel -l pl
636 Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
639 Summary: Boost C++ Library documentation
640 Summary(pl): Dokumentacja dla biblioteki Boost C++
642 Requires: %{name}-devel = %{version}-%{release}
645 Documentation for the Boost C++ Library.
647 %description doc -l pl
648 Dokumentacja dla biblioteki Boost C++.
651 %setup -q -n %{name}_%{_fver}
655 # don't know how to pass it through (b)jam -s (no way?)
656 # due to oversophisticated build flags system
657 %{__perl} -pi -e 's/ -O3 / %{rpmcxxflags} /' tools/build/v1/gcc-tools.jam
660 # -pthread gcc parameter doesn't add _REENTRANT to cpp macros on alpha (only)
661 # don't know, is it gcc bug or intentional omission?
662 # anyway, boost check of -D_REENTRANT in its headers, so it's needed here
663 %{__perl} -pi -e 's/(CFLAGS.*-pthread)/$1 -D_REENTRANT/' tools/build/v1/gcc-tools.jam
668 PYTHON_VERSION=`python -V 2>&1 | sed 's,.* \([0-9]\.[0-9]\)\(\.[0-9]\)\?.*,\1,'`
669 PYTHON_ROOT=%{_prefix}
676 -sBUILD="release <threading>multi <shared-linkable>true <inlining>on" \
677 -sPYTHON_ROOT=$PYTHON_ROOT \
678 -sPYTHON_VERSION=$PYTHON_VERSION
681 rm -rf $RPM_BUILD_ROOT
682 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
684 cp -rf boost $RPM_BUILD_ROOT%{_includedir}
686 install bin/boost/libs/*/build/*.a/*/release/inlining-on/shared-linkable-true/*/lib*.a $RPM_BUILD_ROOT%{_libdir}
687 install bin/boost/libs/*/build/*.so/*/release/inlining-on/shared-linkable-true/*/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
688 # use cp -d, install follows symlinks instead of preserving them!
689 cp -df bin/boost/libs/*/build/*.so/*/release/inlining-on/shared-linkable-true/*/lib*.so $RPM_BUILD_ROOT%{_libdir}
691 # create symlinks without -gcc-mt-* things in names
692 for f in $RPM_BUILD_ROOT%{_libdir}/*.so.*; do
693 [ -f "$f" ] || continue
695 soname=$(basename "$f" | sed -e 's#-gcc-mt-.*#.so#g')
697 ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/${soname}"
699 for f in $RPM_BUILD_ROOT%{_libdir}/*.a; do
700 [ -f "$f" ] || continue
702 soname=$(basename "$f" | sed -e 's#-gcc-mt-.*#.a#g')
704 ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/${soname}"
708 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
709 install README $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
711 # as the documentation doesn't completely reside in a directory of its
712 # own, we need to find out ourselves... this looks for HTML files and
713 # then collects everything linked from those. this is certainly quite
714 # unoptimized wrt mkdir calls, but does it really matter?
715 for i in `find -type f -name '*.htm*'`; do
716 # bjam docu is included in the boost-jam RPM
717 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
718 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/`dirname $i`
719 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
723 # rewrite links from boost/* to %{_includedir}/boost/* and
724 # ignore external links as well as document-internal ones.
725 # HTML files are also ignored as they get installed anyway.
726 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
728 (my $file = $link) =~ s/\#.*//;
734 open OUT, ">@ARGV[1]";
738 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
739 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
741 $in_link = /href|src=\s*$/;
744 TARGET=`dirname $i`/$LINKED
745 # ignore non-existant linked files
746 if test -f $TARGET; then
747 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/`dirname $TARGET`
748 install -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
755 rm -rf $RPM_BUILD_ROOT
757 %post -p /sbin/ldconfig
758 %postun -p /sbin/ldconfig
760 %post date_time -p /sbin/ldconfig
761 %postun date_time -p /sbin/ldconfig
763 %post filesystem -p /sbin/ldconfig
764 %postun filesystem -p /sbin/ldconfig
766 %post python -p /sbin/ldconfig
767 %postun python -p /sbin/ldconfig
769 %post program_options -p /sbin/ldconfig
770 %postun program_options -p /sbin/ldconfig
772 %post regex -p /sbin/ldconfig
773 %postun regex -p /sbin/ldconfig
775 %post signals -p /sbin/ldconfig
776 %postun signals -p /sbin/ldconfig
778 %post test -p /sbin/ldconfig
779 %postun test -p /sbin/ldconfig
781 %post thread -p /sbin/ldconfig
782 %postun thread -p /sbin/ldconfig
785 %defattr(644,root,root,755)
786 %attr(755,root,root) %{_libdir}/libboost_iostreams*.so.*.*.*
787 %attr(755,root,root) %{_libdir}/libboost_serialization*.so.*.*.*
788 %attr(755,root,root) %{_libdir}/libboost_wserialization*.so.*.*.*
791 %defattr(644,root,root,755)
792 %attr(755,root,root) %{_libdir}/libboost_iostreams*.so
793 %attr(755,root,root) %{_libdir}/libboost_serialization*.so
794 %attr(755,root,root) %{_libdir}/libboost_wserialization*.so
795 %dir %{_includedir}/boost
796 %{_includedir}/boost/algorithm
797 %{_includedir}/boost/archive
798 %{_includedir}/boost/assert.hpp
799 %{_includedir}/boost/assign
800 %{_includedir}/boost/assign.hpp
801 %{_includedir}/boost/blank_fwd.hpp
802 %{_includedir}/boost/cast.hpp
803 %{_includedir}/boost/checked_delete.hpp
804 %{_includedir}/boost/concept_archetype.hpp
805 %{_includedir}/boost/concept_check.hpp
806 %{_includedir}/boost/config
807 %{_includedir}/boost/config.hpp
808 %{_includedir}/boost/cstd*.hpp
809 %{_includedir}/boost/current_function.hpp
810 %dir %{_includedir}/boost/detail
811 %{_includedir}/boost/detail/algorithm.hpp
812 %{_includedir}/boost/detail/allocator_utilities.hpp
813 %{_includedir}/boost/detail/atomic_count*.hpp
814 %{_includedir}/boost/detail/bad_weak_ptr.hpp
815 %{_includedir}/boost/detail/binary_search.hpp
816 %{_includedir}/boost/detail/catch_exceptions.hpp
817 %{_includedir}/boost/detail/dynamic_bitset.hpp
818 %{_includedir}/boost/detail/endian.hpp
819 %{_includedir}/boost/detail/indirect_traits.hpp
820 %{_includedir}/boost/detail/interlocked.hpp
821 %{_includedir}/boost/detail/is_function_ref_tester.hpp
822 %{_includedir}/boost/detail/is_incrementable.hpp
823 %{_includedir}/boost/detail/is_xxx.hpp
824 %{_includedir}/boost/detail/iterator.hpp
825 %{_includedir}/boost/detail/lightweight_*.hpp
826 %{_includedir}/boost/detail/limits.hpp
827 %{_includedir}/boost/detail/lwm_*.hpp
828 %{_includedir}/boost/detail/named_template_params.hpp
829 %{_includedir}/boost/detail/no_exceptions_support.hpp
830 %{_includedir}/boost/detail/numeric_traits.hpp
831 %{_includedir}/boost/detail/quick_allocator.hpp
832 %{_includedir}/boost/detail/reference_content.hpp
833 %{_includedir}/boost/detail/select_type.hpp
834 %{_includedir}/boost/detail/shared_*.hpp
835 %{_includedir}/boost/detail/sp_counted_*.hpp
836 %{_includedir}/boost/detail/utf8_codecvt_facet.hpp
837 %{_includedir}/boost/detail/workaround.hpp
838 %{_includedir}/boost/dynamic_bitset
839 %{_includedir}/boost/dynamic_bitset.hpp
840 %{_includedir}/boost/dynamic_bitset_fwd.hpp
841 %{_includedir}/boost/dynamic_property_map.hpp
842 %{_includedir}/boost/enable_shared_from_this.hpp
843 %{_includedir}/boost/format
844 %{_includedir}/boost/format.hpp
845 %{_includedir}/boost/function
846 %{_includedir}/boost/function.hpp
847 %{_includedir}/boost/function_equal.hpp
848 %{_includedir}/boost/function_output_iterator.hpp
849 %{_includedir}/boost/functional
850 %{_includedir}/boost/functional.hpp
851 %{_includedir}/boost/generator_iterator.hpp
852 %{_includedir}/boost/graph
853 %{_includedir}/boost/implicit_cast.hpp
854 %{_includedir}/boost/indirect_reference.hpp
855 %{_includedir}/boost/integer
856 %{_includedir}/boost/integer*.hpp
857 %{_includedir}/boost/intrusive_ptr.hpp
858 %{_includedir}/boost/io
859 %{_includedir}/boost/iostreams
860 %{_includedir}/boost/io_fwd.hpp
861 %{_includedir}/boost/iterator*.hpp
862 %{_includedir}/boost/iterator
863 %{_includedir}/boost/lambda
864 %{_includedir}/boost/lexical_cast.hpp
865 %{_includedir}/boost/limits.hpp
866 %{_includedir}/boost/logic
867 %{_includedir}/boost/math
868 %{_includedir}/boost/math_fwd.hpp
869 %{_includedir}/boost/mpl
870 %{_includedir}/boost/multi_array
871 %{_includedir}/boost/multi_array.hpp
872 %{_includedir}/boost/multi_index
873 %{_includedir}/boost/multi_index_container.hpp
874 %{_includedir}/boost/multi_index_container_fwd.hpp
875 %{_includedir}/boost/next_prior.hpp
876 %{_includedir}/boost/noncopyable.hpp
877 %{_includedir}/boost/nondet_random.hpp
878 %{_includedir}/boost/none.hpp
879 %{_includedir}/boost/none_t.hpp
880 %{_includedir}/boost/non_type.hpp
881 %dir %{_includedir}/boost/numeric
882 %{_includedir}/boost/numeric/interval*
883 %{_includedir}/boost/numeric/conversion
884 %{_includedir}/boost/operators.hpp
885 %{_includedir}/boost/optional
886 %{_includedir}/boost/optional.hpp
887 %{_includedir}/boost/parameter
888 %{_includedir}/boost/parameter.hpp
889 %{_includedir}/boost/pending
890 %{_includedir}/boost/pfto.hpp
891 %{_includedir}/boost/pool
892 %{_includedir}/boost/pointee.hpp
893 %{_includedir}/boost/preprocessor
894 %{_includedir}/boost/preprocessor.hpp
895 %{_includedir}/boost/progress.hpp
896 %{_includedir}/boost/property_map*.hpp
897 %{_includedir}/boost/ptr_container
898 %{_includedir}/boost/random
899 %{_includedir}/boost/random.hpp
900 %{_includedir}/boost/range
901 %{_includedir}/boost/range.hpp
902 %{_includedir}/boost/rational.hpp
903 %{_includedir}/boost/scoped_*.hpp
904 %{_includedir}/boost/serialization
905 %{_includedir}/boost/shared_*.hpp
906 %{_includedir}/boost/smart_cast.hpp
907 %{_includedir}/boost/smart_ptr.hpp
908 %{_includedir}/boost/state_saver.hpp
909 %{_includedir}/boost/static_assert.hpp
910 %{_includedir}/boost/static_warning.hpp
911 %{_includedir}/boost/strong_typedef.hpp
912 %{_includedir}/boost/throw_exception.hpp
913 %{_includedir}/boost/timer.hpp
914 %{_includedir}/boost/token*.hpp
915 %{_includedir}/boost/tuple
916 %{_includedir}/boost/type.hpp
917 %{_includedir}/boost/type_traits.hpp
918 %{_includedir}/boost/type_traits
919 %{_includedir}/boost/utility*.hpp
920 %{_includedir}/boost/utility
921 %{_includedir}/boost/version.hpp
922 %{_includedir}/boost/vector_property_map.hpp
923 %{_includedir}/boost/weak_ptr.hpp
925 %{_includedir}/boost/variant.hpp
926 %{_includedir}/boost/variant
927 %{_includedir}/boost/blank.hpp
928 %{_includedir}/boost/detail/templated_streams.hpp
930 %{_includedir}/boost/aligned_storage.hpp
931 %{_includedir}/boost/detail/none_t.hpp
934 %defattr(644,root,root,755)
935 %{_libdir}/libboost_iostreams*.a
936 %{_libdir}/libboost_serialization*.a
937 %{_libdir}/libboost_wserialization*.a
941 %defattr(644,root,root,755)
942 %attr(755,root,root) %{_libdir}/libboost_python*.so.*.*.*
945 %defattr(644,root,root,755)
946 %attr(755,root,root) %{_libdir}/libboost_python*.so
947 %{_includedir}/boost/python
948 %{_includedir}/boost/python.hpp
951 %defattr(644,root,root,755)
952 %{_libdir}/libboost_python*.a
956 %defattr(644,root,root,755)
957 %attr(755,root,root) %{_libdir}/libboost_regex*.so.*.*.*
960 %defattr(644,root,root,755)
961 %attr(755,root,root) %{_libdir}/libboost_regex*.so
962 %{_includedir}/boost/cregex.hpp
963 %{_includedir}/boost/regex.h
964 %{_includedir}/boost/regex*.hpp
965 %{_includedir}/boost/regex
968 %defattr(644,root,root,755)
969 %{_libdir}/libboost_regex*.a
972 %defattr(644,root,root,755)
973 %{_includedir}/boost/any.hpp
976 %defattr(644,root,root,755)
977 %{_includedir}/boost/array.hpp
980 %defattr(644,root,root,755)
981 %{_includedir}/boost/bind
982 %{_includedir}/boost/bind.hpp
983 %{_includedir}/boost/get_pointer.hpp
984 %{_includedir}/boost/mem_fn.hpp
986 %files call_traits-devel
987 %defattr(644,root,root,755)
988 %{_includedir}/boost/call_traits.hpp
989 %{_includedir}/boost/detail/call_traits.hpp
990 %{_includedir}/boost/detail/ob_call_traits.hpp
992 %files compatibility-devel
993 %defattr(644,root,root,755)
994 %{_includedir}/boost/compatibility
996 %files compressed_pair-devel
997 %defattr(644,root,root,755)
998 %{_includedir}/boost/compressed_pair.hpp
999 %{_includedir}/boost/detail/compressed_pair.hpp
1000 %{_includedir}/boost/detail/ob_compressed_pair.hpp
1003 %defattr(644,root,root,755)
1004 %{_includedir}/boost/crc.hpp
1007 %defattr(644,root,root,755)
1008 %attr(755,root,root) %{_libdir}/libboost_date_time*.so.*.*.*
1010 %files date_time-devel
1011 %defattr(644,root,root,755)
1012 %attr(755,root,root) %{_libdir}/libboost_date_time*.so
1013 %{_includedir}/boost/date_time
1015 %files date_time-static
1016 %defattr(644,root,root,755)
1017 %{_libdir}/libboost_date_time*.a
1020 %defattr(644,root,root,755)
1021 %attr(755,root,root) %{_libdir}/libboost_filesystem*.so.*.*.*
1023 %files filesystem-devel
1024 %defattr(644,root,root,755)
1025 %attr(755,root,root) %{_libdir}/libboost_filesystem*.so
1026 %{_includedir}/boost/filesystem
1028 %files filesystem-static
1029 %defattr(644,root,root,755)
1030 %{_libdir}/libboost_filesystem*.a
1032 %files program_options
1033 %defattr(644,root,root,755)
1034 %attr(755,root,root) %{_libdir}/libboost_program_options*.so.*.*.*
1036 %files program_options-devel
1037 %defattr(644,root,root,755)
1038 %attr(755,root,root) %{_libdir}/libboost_program_options*.so
1039 %{_includedir}/boost/program_options
1040 %{_includedir}/boost/program_options.hpp
1042 %files program_options-static
1043 %defattr(644,root,root,755)
1044 %{_libdir}/libboost_program_options*.a
1047 %defattr(644,root,root,755)
1048 %{_includedir}/boost/ref.hpp
1051 %defattr(644,root,root,755)
1052 %attr(755,root,root) %{_libdir}/libboost_signals*.so.*.*.*
1054 %files signals-devel
1055 %defattr(644,root,root,755)
1056 %attr(755,root,root) %{_libdir}/libboost_signals*.so
1057 %{_includedir}/boost/signal*.hpp
1058 %{_includedir}/boost/signals
1059 %{_includedir}/boost/last_value.hpp
1060 %{_includedir}/boost/visit_each.hpp
1062 %files signals-static
1063 %defattr(644,root,root,755)
1064 %{_libdir}/libboost_signals*.a
1067 %defattr(644,root,root,755)
1068 %{_includedir}/boost/spirit.hpp
1069 %{_includedir}/boost/spirit
1072 %defattr(644,root,root,755)
1073 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor*.so.*.*.*
1074 %attr(755,root,root) %{_libdir}/libboost_test_exec_monitor*.so.*.*.*
1075 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework*.so.*.*.*
1078 %defattr(644,root,root,755)
1079 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor*.so
1080 %attr(755,root,root) %{_libdir}/libboost_test_exec_monitor*.so
1081 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework*.so
1082 %{_includedir}/boost/test
1085 %defattr(644,root,root,755)
1086 %{_libdir}/libboost_prg_exec_monitor*.a
1087 %{_libdir}/libboost_test_exec_monitor*.a
1088 %{_libdir}/libboost_unit_test_framework*.a
1091 %defattr(644,root,root,755)
1092 %attr(755,root,root) %{_libdir}/libboost_thread*.so.*.*.*
1095 %defattr(644,root,root,755)
1096 %attr(755,root,root) %{_libdir}/libboost_thread*.so
1097 %{_includedir}/boost/thread
1098 %{_includedir}/boost/thread.hpp
1100 %files thread-static
1101 %defattr(644,root,root,755)
1102 %attr(755,root,root) %{_libdir}/libboost_thread*.a
1105 %defattr(644,root,root,755)
1106 %{_includedir}/boost/numeric/ublas
1109 %defattr(644,root,root,755)
1110 %{_libdir}/libboost_wave*.a
1111 %{_includedir}/boost/wave
1112 %{_includedir}/boost/wave.hpp
1115 %defattr(644,root,root,755)
1116 %{_docdir}/%{name}-%{version}