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-concept_check-devel
61 Obsoletes: boost-conversion-devel
62 Obsoletes: boost-mpl-devel
63 Obsoletes: boost-preprocessor-devel
64 Obsoletes: boost-static_assert-devel
65 Obsoletes: boost-type_traits-devel
66 Obsoletes: boost-utility-devel
69 Header files for the Boost C++ libraries.
71 %description devel -l pl
72 Pliki nag³ówkowe bibliotek C++ Boost.
75 Summary: Static version of base Boost C++ libraries
76 Summary(pl): Statyczne wersje podstawowych bibliotek C++ Boost
77 Group: Development/Libraries
78 Requires: %{name}-devel = %{version}-%{release}
81 Static version of base Boost C++ libraries.
83 %description static -l pl
84 Statyczne wersje podstawowych bibliotek C++ Boost.
87 Summary: Boost.Python library
88 Summary(pl): biblioteka Boost.Python
93 Use the Boost Python Library to quickly and easily export a C++
94 library to Python such that the Python interface is very similar to
95 the C++ interface. It is designed to be minimally intrusive on your
96 C++ design. In most cases, you should not have to alter your C++
97 classes in any way in order to use them with Boost.Python. The system
98 should simply ``reflect'' your C++ classes and functions into Python.
100 %description python -l pl
101 Biblioteka Boost Python s³u¿y do szybkiego i prostego eksportu
102 biblioteki C++ do Pythona, tak ¿e interfejs Pythona jest bardzo
103 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, ¿eby
104 narzucaæ jak najmniej wymagañ dotycz±cych konstrukcjii C++. W
105 wiêkszo¶ci przypadków nie trzeba w ogóle zmieniaæ w³asnych klas C++,
106 ¿eby u¿ywaæ ich z Boost.Python. System powinien po prostu ,,odbiæ''
107 klasy C++ i funkcje do Pythona.
109 %package python-devel
110 Summary: Boost.Python development headers
111 Summary(pl): Pliki nag³ówkowe dla Boost.Python
112 Group: Development/Libraries
113 Requires: %{name}-compressed_pair-devel = %{version}-%{release}
114 Requires: %{name}-devel = %{version}-%{release}
115 Requires: %{name}-python = %{version}-%{release}
117 %description python-devel
118 Headers for the Boost.Python library.
120 %description python-devel -l pl
121 Pliki nag³ówkowe dla biblioteki Boost.Python.
123 %package python-static
124 Summary: Static version of Boost.Python library
125 Summary(pl): Statyczna wersja biblioteki Boost.Python
126 Group: Development/Libraries
127 Requires: %{name}-python-devel = %{version}-%{release}
129 %description python-static
130 Static version of Boost.Python library.
132 %description python-static -l pl
133 Statyczna wersja biblioteki Boost.Python.
136 Summary: Boost C++ regular expressions library
137 Summary(pl): Biblioteka wyra¿eñ regularnych Boost C++
141 Shared library for Boost C++ regular expressions.
143 %description regex -l pl
144 Biblioteka wyra¿eñ regularnych dla C++, biblioteki dzielone.
147 Summary: Boost C++ Regex library headers
148 Summary(pl): Pliki nag³ówkowe Boost C++ Regex
149 Group: Development/Libraries
150 Requires: %{name}-devel = %{version}-%{release}
151 Requires: %{name}-regex = %{version}-%{release}
153 %description regex-devel
154 Boost C++ Regex headers.
156 %description regex-devel -l pl
157 Pliki nag³ówkowe dla Boost C++ Regex.
159 %package regex-static
160 Summary: Boost C++ Regex static libraries
161 Summary(pl): Biblioteki statyczne Boost C++ Regex
162 Group: Development/Libraries
163 Requires: %{name}-regex-devel = %{version}-%{release}
165 %description regex-static
166 Boost C++ Regex static libraries.
168 %description regex-static -l pl
169 Biblioteki statyczne dla Boost C++ Regex.
172 Summary: Header for Boost C++ "Any" Library
173 Summary(pl): Plik nag³ówkowy dla biblioteki Boost C++ "Any"
174 Group: Development/Libraries
175 Requires: %{name}-devel = %{version}-%{release}
177 %description any-devel
178 The boost::any class, is a variant value type, which supports copying
179 of any value type and safe checked extraction of that value strictly
182 I.e. 5 is held strictly as an int and is not implicitly convertible
183 either to "5" or to 5.0.
185 %description any-devel -l pl
186 Klasa boost::any jest typem, który umo¿liwia kopiowanie ze zmiennej
187 dowolnego typu i bezpieczne, sprawdzone wydobycie jej warto¶ci
188 dok³adnie tego samego typu.
190 Np. 5 jest trzymane jako int i nie jest niejawnie konwertowalne ani do
194 Summary: STL compliant container wrapper for arrays of constant size
195 Summary(pl): Wrapper na STLowe kontenery dla tablic o sta³ym rozmiarze
196 Group: Development/Libraries
197 Requires: %{name}-devel = %{version}-%{release}
199 %description array-devel
200 As replacement for ordinary arrays, the STL provides class vector<>.
201 However, vector<> provides the semantics of dynamic arrays. Thus, it
202 manages data to be able to change the number of elements. This results
203 in some overhead in case only arrays with static size are needed. This
204 library provides support for such static size arrays.
206 %description array-devel -l pl
207 STL dostarcza klasê vector<> jako zamiennik zwyk³ej tablicy. Jednak
208 vector<> dostarcza semantykê dynamicznych tablic. Zatem zarz±dza
209 danymi tak, by by³a mo¿liwa zmiana ilo¶ci elementów. To skutkuje
210 pewnym nadmiarem w przypadku kiedy tylko tablice o sta³ym rozmiarze s±
211 potrzebne. Ta biblioteka dostarcza wsparcie dla takich w³a¶nie tablic
215 Summary: Generalized binders for function/object/pointers and member functions
216 Summary(pl): Uogólnione bindery dla funkcji/obiektów/wska¼ników oraz metod
217 Group: Development/Libraries
218 Requires: %{name}-ref-devel = %{version}-%{release}
219 Provides: boost-mem_fn-devel = %{version}-%{release}
220 Obsoletes: boost-mem_fn-devel
222 %description bind-devel
223 boost::bind is a generalization of the standard functions std::bind1st
224 and std::bind2nd. This package contains also boost::mem_fn which is a
225 generalization of the standard functions std::mem_fun and
228 %description bind-devel -l pl
229 boost::bind jest uogólnieniem standardowych funkcji std::bind1st i
230 std::bind2nd. Ten pakiet zawiera tak¿e boost::mem_fn, który jest
231 uogólnieniem standardowych funkcji std::mem_fun i std::mem_fun_ref.
233 %package call_traits-devel
234 Summary: Defines types for passing parameters
235 Summary(pl): Definiowanie typów dla przekazywania parametrów
236 Group: Development/Libraries
237 Requires: %{name}-devel = %{version}-%{release}
239 %description call_traits-devel
240 boost::call_traits<T> encapsulates the "best" method to pass a
241 parameter of some type T to or from a function. The purpose of
242 call_traits is to ensure that problems like "references to references"
243 never occur, and that parameters are passed in the most efficient
246 %description call_traits-devel -l pl
247 boost::call_traits<T> zawiera "najlepsz±" metodê przekazywania
248 parametrów jakiego¶ typu T do lub z funkcji. Celem call_traits jest
249 zapewnienie ¿e problemy takie jak "referencja referencji" nigdy nie
250 wyst±pi± i ¿e parametry s± przekazywane w mo¿liwie najbardziej
253 %package compatibility-devel
254 Summary: Help for non-conforming standard libraries
255 Summary(pl): Pomoc dla nie trzymaj±cych standardu bibliotek
256 Group: Development/Libraries
257 Requires: %{name}-devel = %{version}-%{release}
259 %description compatibility-devel
260 This library provides workarounds which allow the other Boost
261 libraries to be used on otherwise non-conforming platforms.
263 %description compatibility-devel -l pl
264 Biblioteka dostarcza obej¶cie problemu platform nie trzymaj±cych
265 standardu C++, pozwalaj±ce na u¿ywanie bibliotek Boost na tych
268 %package compose-devel
269 Summary: Functional composition adapters for the STL
270 Summary(pl): Funkcjonalne adaptery kompozycji dla STL
271 Group: Development/Libraries
272 Requires: %{name}-devel = %{version}-%{release}
274 %description compose-devel
275 The boost::compose provides compose function object adapter extensions
276 for use with the Standard Template Library (STL) portion of the C++
277 Standard Library. If you aren't currently using the STL, this library
278 won't be of any interest, but hard-core STL users will appreciate its
281 %description compose-devel -l pl
282 boost::compose dostarcza rozszerzenie adaptera obiektu funkcji compose
283 do u¿ytku z STL-ow± czê¶ci± Standardu C++. Je¿eli nie u¿ywasz STL,
284 biblioteka bêdzie poza twoim zainteresowaniem, lecz hardkorowi
285 u¿ytkownicy STL-a doceni± jej u¿yteczno¶æ.
287 %package compressed_pair-devel
288 Summary: Empty member optimization
289 Summary(pl): Optymalizacja pustego elementu
290 Group: Development/Libraries
291 Requires: %{name}-call_traits-devel = %{version}-%{release}
292 Requires: %{name}-devel = %{version}-%{release}
294 %description compressed_pair-devel
295 The class boost::compressed_pair is very similar to std::pair, but if
296 either of the template arguments are empty classes, then the "empty
297 base-class optimisation" is applied to compress the size of the pair.
299 %description compressed_pair-devel -l pl
300 Klasa boost::compressed_pair jest bardzo podobna do std::pair, ale
301 je¿eli który¶ z argumentów wzorca jest pust± klas±, wtedy stosowana
302 jest "optymalizacja pustej klasy bazowej" do kompresji pary.
305 Summary: CRC computing library
306 Summary(pl): Biblioteka obliczaj±ca CRC
307 Group: Development/Libraries
308 Requires: %{name}-devel = %{version}-%{release}
310 %description crc-devel
311 The boost::crc library provides two implementations of CRC computation
312 objects and functions. The implementations are template-based.
314 %description crc-devel -l pl
315 Bibliteka boost::crc dostarcza dwie implementacje obiektów i funkcji
316 obliczaj±cych CRC. Implementacje s± oparte na wzorcach.
319 Summary: Date-Time library
320 Summary(pl): Biblioteka daty-czasu
322 Obsoletes: boost < 1.33
324 %description date_time
325 A set of date-time libraries.
327 %description date_time -l pl
328 Zbiór bibliotek daty-czasu.
330 %package date_time-devel
331 Summary: Header files for boost::date_time library
332 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::date_time
333 Group: Development/Libraries
334 Requires: %{name}-date_time = %{version}-%{release}
335 Requires: %{name}-devel = %{version}-%{release}
336 #TODO: make decision if do separate packages include it to main devel package
337 #Requires: %{name}-integer-devel = %{version}-%{release}
338 #Requires: %{name}-operators-devel = %{version}-%{release}
339 #Requires: %{name}-tokenizer-devel = %{version}-%{release}
341 %description date_time-devel
342 Header files for boost::date_time library.
344 %description date_time-devel -l pl
345 Pliki nag³ówkowe dla biblioteki boost::date_time
347 %package date_time-static
348 Summary: Static boost::date_time library
349 Summary(pl): Statyczna biblioteka boost::date_time
350 Group: Development/Libraries
351 Requires: %{name}-date_time-devel = %{version}-%{release}
353 %description date_time-static
354 Static boost::date_time library.
356 %description date_time-devel -l pl
357 Statyczna biblioteka boost::date_time.
360 Summary: Portable paths, iteration over directories, and other useful filesystem operations
361 Summary(pl): Przeno¶ne ¶cie¿ki, iteracje katalogów i inne u¿yteczne operacje na systemie plików
363 Obsoletes: boost < 1.33
365 %description filesystem
366 The boost::filesystem library provides portable facilities to query
367 and manipulate paths, files, and directories.
369 %description filesystem -l pl
370 Przeno¶na biblioteka boost::filesystem dostarcza u³atwienia w
371 operacjach na ¶cie¿kach, plikach i katalogach.
373 %package filesystem-devel
374 Summary: Header files for boost::filesystem
375 Summary(pl): Pliki nag³ówkowe dla boost::filesystem
376 Group: Development/Libraries
377 Requires: %{name}-devel = %{version}-%{release}
378 Requires: %{name}-filesystem = %{version}-%{release}
380 #Requires: %{name}-smart_ptr = %{version}-%{release}
382 %description filesystem-devel
383 Header files for boost::filesystem library.
385 %description filesystem-devel -l pl
386 Pliki nag³ówkowe dla biblioteki boost::filesystem.
388 %package filesystem-static
389 Summary: Static boost::filesystem library
390 Summary(pl): Biblioteka statyczna boost::filesystem
391 Group: Development/Libraries
392 Requires: %{name}-filesystem-devel = %{version}-%{release}
393 Obsoletes: boost-static < 1.33
395 %description filesystem-static
396 Static boost::filesystem library.
398 %description filesystem-static -l pl
399 Biblioteka statyczna boost::filesystem.
401 %package program_options
402 Summary: Access to program options, via conventional methods such as command line and config file
403 Summary(pl): Dostêp do opcji programu za pomoc± typowych metod, jak linia poleceñ i plik konfiguracyjny
406 %description program_options
407 The program_options library allows program developers to obtain
408 program options, that is (name, value) pairs from the user, via
409 conventional methods such as command line and config file.
411 %description program_options -l pl
412 Biblioteka program_options umo¿liwia uzyskanie od u¿ytkownika opcji
413 programu, czyli par (nazwa, warto¶æ), za pomoc± typowych metod,
414 takich jak linia poleceñ, czy plik konfiguracyjny.
416 %package program_options-devel
417 Summary: Header files for boost::program_options
418 Summary(pl): Pliki nag³ówkowe dla boost::program_options
419 Group: Development/Libraries
420 Requires: %{name}-any-devel = %{version}-%{release}
421 Requires: %{name}-devel = %{version}-%{release}
422 Requires: %{name}-program_options = %{version}-%{release}
424 %description program_options-devel
425 Header files for boost::program_options library.
427 %description program_options-devel -l pl
428 Pliki nag³ówkowe dla biblioteki boost::program_options.
430 %package program_options-static
431 Summary: Static boost::program_options library
432 Summary(pl): Biblioteka statyczna boost::program_options
433 Group: Development/Libraries
434 Requires: %{name}-program_options-devel = %{version}-%{release}
435 Obsoletes: boost-static < 1.33
437 %description program_options-static
438 Static boost::program_options library.
440 %description program_options-static -l pl
441 Biblioteka statyczna boost::program_options.
444 Summary: Small library useful for passing references to function templates
445 Summary(pl): Ma³a biblioteka u¿yteczna przy przekazywaniu referencji do wzorców funkcji
446 Group: Development/Libraries
447 Requires: %{name}-devel = %{version}-%{release}
449 %description ref-devel
450 boost::ref library is a small library that is useful for passing
451 references to function templates (algorithms) that would usually take
452 copies of their arguments.
454 %description ref-devel -l pl
455 Biblioteka boost::ref jest ma³± bibliotek± która jest u¿yteczna w
456 przypadku przekazywania referencji do wzorców funkcji (algorytmów)
457 które zazwyczaj bior± kopiê swoich argumentów.
460 Summary: Signals & slots callback implementation
461 Summary(pl): Implementacja sygna³ów i slotów
463 Obsoletes: boost < 1.33
466 The boost::signals library is an implementation of a signals and slots
469 %description signals -l pl
470 Biblioteka boost::signals jest implementacj± systemu sygna³ów i
473 %package signals-devel
474 Summary: Header files for boost::signals library
475 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::signals
476 Group: Development/Libraries
477 Requires: %{name}-any-devel = %{version}-%{release}
478 Requires: %{name}-devel = %{version}-%{release}
479 Requires: %{name}-signals = %{version}-%{release}
480 #TODO: separate smart_ptr or include to the main devel package
481 Requires: %{name}-bind-devel = %{version}-%{release}
482 #Requires: %{name}-iterator_adaptors-devel = %{version}-%{release}
483 #Requires: %{name}-operators-devel = %{version}-%{release}
484 Requires: %{name}-ref-devel = %{version}-%{release}
485 #Requires: %{name}-smart_ptr-devel = %{version}-%{release}
487 %description signals-devel
488 Header files for boost::signals library.
490 %description signals-devel -l pl
491 Pliki nag³ówkowe dla biblioteki boost::signals.
493 %package signals-static
494 Summary: Static library for boost::signals
495 Summary(pl): Biblioteka statyczna dla boost::signals
496 Group: Development/Libraries
497 Requires: %{name}-signals-devel = %{version}-%{release}
499 %description signals-static
500 Static library for boost::signals.
502 %description signals-static -l pl
503 Biblioteka statyczna dla boost::signals.
505 %package spirit-devel
506 Summary: LL parser framework
507 Summary(pl): Szkielet parsera LL
508 Group: Development/Libraries
509 Requires: %{name}-compressed_pair-devel = %{version}-%{release}
510 Requires: %{name}-ref-devel = %{version}-%{release}
511 Requires: %{name}-regex-devel = %{version}-%{release}
512 Requires: %{name}-thread-devel = %{version}-%{release}
514 #?Requires: %{name}-iterators-devel = %{version}-%{release}
515 #?Requires: %{name}-smart_ptr-devel = %{version}-%{release}
517 %description spirit-devel
518 LL parser framework represents parsers directly as EBNF grammars in
521 %description spirit-devel -l pl
522 Szkielet parsera LL reprezentuj±cy parsery jako gramatyki EBNF
523 bezpo¶rednio w kodzie C++.
526 Summary: Support for program testing and execution monitoring
527 Summary(pl): Wsparcie dla testowania i monitorowania programu
529 Obsoletes: boost < 1.33
532 Support for simple program testing, full unit testing, and for program
533 execution monitoring.
535 %description test -l pl
536 Wsparcie dla prostego testowania programu, pe³nego testowania i
537 monitorowania wykonania programu.
540 Summary: Header files for boost::test
541 Summary(pl): Pliki nag³ówkowe dla boost::test
542 Group: Development/Libraries
543 Requires: %{name}-call_traits-devel = %{version}-%{release}
544 Requires: %{name}-devel = %{version}-%{release}
545 Requires: %{name}-test = %{version}-%{release}
547 #?Requires?: %{name}-function-devel = %{version}-%{release}
548 #Requires: %{name}-smart_ptr = %{version}-%{release}
550 %description test-devel
551 Header files for boost::test.
553 %description test-devel -l pl
554 Pliki nag³ówkowe dla boost::test.
557 Summary: Static boost::test libraries
558 Summary(pl): Biblioteki statyczne boost::test
559 Group: Development/Libraries
560 Requires: %{name}-test-devel = %{version}-%{release}
561 Obsoletes: boost-static < 1.33
563 %description test-static
564 Static boost::test libraries.
566 %description test-static -l pl
567 Biblioteki statyczne boost::test.
570 Summary: Portable C++ threads library
571 Summary(pl): Przeno¶na biblioteka w±tków C++
573 Obsoletes: boost < 1.33
576 Portable C++ threads library - shared library.
578 %description thread -l pl
579 Przeno¶na biblioteka w±tków dla C++ - biblioteka dzielona.
581 %package thread-devel
582 Summary: Header files for boost::thread library
583 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::thread
584 Group: Development/Libraries
585 Requires: %{name}-devel = %{version}-%{release}
586 Requires: %{name}-thread = %{version}-%{release}
587 #TODO:requires boost::function or boost::function to boost-devel
589 %description thread-devel
590 Header files for boost::thread library.
592 %description thread-devel -l pl
593 Pliki nag³ówkowe dla biblioteki boost::thread.
595 %package thread-static
596 Summary: Portable C++ threads library - static version
597 Summary(pl): Przeno¶na biblioteka w±tków C++ - wersja statyczna
599 Requires: %{name}-thread-devel = %{version}-%{release}
600 Obsoletes: boost < 1.33
602 %description thread-static
603 Portable C++ threads library - static library.
605 %description thread-static -l pl
606 Przeno¶na biblioteka w±tków dla C++ - biblioteka statyczna.
609 Summary: Basic linear algebra for dense, packed and sparse matrices
610 Summary(pl): Prosta liniowa algebra dla gêstych, upakowanych i rzadkich macierzy
611 Group: Development/Libraries
612 Requires: %{name}-devel = %{version}-%{release}
614 %description uBLAS-devel
615 uBLAS library provides templated C++ classes for dense, unit and
616 sparse vectors, dense, identity, triangular, banded, symmetric,
617 hermitian and sparse matrices.
619 %description uBLAS-devel -l pl
620 Biblioteka uBLAS dostarcza wzorce klas C++ dla gêstych, jednostkowych
621 i rzadkich wektorów oraz gêstych, jednostkowych, trójk±tnych,
622 diagonalnych, symetrycznych, hermitowskich i rzadkich macierzy.
625 Summary: Boost.Wave - a standard compliant C++ preprocessor library
626 Summary(pl): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
627 Group: Development/Libraries
628 Requires: %{name}-devel = %{version}-%{release}
630 %description wave-devel
631 Boost.Wave - a standard compliant C++ preprocessor library.
633 %description wave-devel -l pl
634 Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
637 Summary: Boost C++ Library documentation
638 Summary(pl): Dokumentacja dla biblioteki Boost C++
640 Requires: %{name}-devel = %{version}-%{release}
643 Documentation for the Boost C++ Library.
645 %description doc -l pl
646 Dokumentacja dla biblioteki Boost C++.
649 %setup -q -n %{name}_%{_fver}
653 # don't know how to pass it through (b)jam -s (no way?)
654 # due to oversophisticated build flags system
655 %{__perl} -pi -e 's/ -O3 / %{rpmcflags} /' tools/build/v1/gcc-tools.jam
658 # -pthread gcc parameter doesn't add _REENTRANT to cpp macros on alpha (only)
659 # don't know, is it gcc bug or intentional omission?
660 # anyway, boost check of -D_REENTRANT in its headers, so it's needed here
661 %{__perl} -pi -e 's/(CFLAGS.*-pthread)/$1 -D_REENTRANT/' tools/build/v1/gcc-tools.jam
666 PYTHON_VERSION=`python -V 2>&1 | sed 's,.* \([0-9]\.[0-9]\)\(\.[0-9]\)\?.*,\1,'`
667 PYTHON_ROOT=%{_prefix}
674 -sBUILD="release <threading>multi <shared-linkable>true" \
675 -sPYTHON_ROOT=$PYTHON_ROOT \
676 -sPYTHON_VERSION=$PYTHON_VERSION
679 rm -rf $RPM_BUILD_ROOT
680 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
682 cp -rf boost $RPM_BUILD_ROOT%{_includedir}
684 install bin/boost/libs/*/build/*.a/*/release/shared-linkable-true/*/lib*.a $RPM_BUILD_ROOT%{_libdir}
685 install bin/boost/libs/*/build/*.so/*/release/shared-linkable-true/*/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
686 # use cp -d, install follows symlinks instead of preserving them!
687 cp -df bin/boost/libs/*/build/*.so/*/release/shared-linkable-true/*/lib*.so $RPM_BUILD_ROOT%{_libdir}
689 # create symlinks without -gcc-mt-* things in names
690 for f in $RPM_BUILD_ROOT%{_libdir}/*.so.*; do
691 [ -f "$f" ] || continue
693 soname=$(basename "$f" | sed -e 's#-gcc-mt-.*#.so#g')
695 ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/${soname}"
697 for f in $RPM_BUILD_ROOT%{_libdir}/*.a; do
698 [ -f "$f" ] || continue
700 soname=$(basename "$f" | sed -e 's#-gcc-mt-.*#.a#g')
702 ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/${soname}"
706 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
707 install README $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
709 # as the documentation doesn't completely reside in a directory of its
710 # own, we need to find out ourselves... this looks for HTML files and
711 # then collects everything linked from those. this is certainly quite
712 # unoptimized wrt mkdir calls, but does it really matter?
713 for i in `find -type f -name '*.htm*'`; do
714 # bjam docu is included in the boost-jam RPM
715 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
716 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/`dirname $i`
717 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
721 # rewrite links from boost/* to %{_includedir}/boost/* and
722 # ignore external links as well as document-internal ones.
723 # HTML files are also ignored as they get installed anyway.
724 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
726 (my $file = $link) =~ s/\#.*//;
732 open OUT, ">@ARGV[1]";
736 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
737 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
739 $in_link = /href|src=\s*$/;
742 TARGET=`dirname $i`/$LINKED
743 # ignore non-existant linked files
744 if test -f $TARGET; then
745 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/`dirname $TARGET`
746 install -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
753 rm -rf $RPM_BUILD_ROOT
755 %post -p /sbin/ldconfig
756 %postun -p /sbin/ldconfig
758 %post date_time -p /sbin/ldconfig
759 %postun date_time -p /sbin/ldconfig
761 %post filesystem -p /sbin/ldconfig
762 %postun filesystem -p /sbin/ldconfig
764 %post python -p /sbin/ldconfig
765 %postun python -p /sbin/ldconfig
767 %post regex -p /sbin/ldconfig
768 %postun regex -p /sbin/ldconfig
770 %post signals -p /sbin/ldconfig
771 %postun signals -p /sbin/ldconfig
773 %post test -p /sbin/ldconfig
774 %postun test -p /sbin/ldconfig
776 %post thread -p /sbin/ldconfig
777 %postun thread -p /sbin/ldconfig
780 %defattr(644,root,root,755)
781 %attr(755,root,root) %{_libdir}/libboost_iostreams*.so.*.*.*
782 %attr(755,root,root) %{_libdir}/libboost_serialization*.so.*.*.*
783 %attr(755,root,root) %{_libdir}/libboost_wserialization*.so.*.*.*
786 %defattr(644,root,root,755)
787 %attr(755,root,root) %{_libdir}/libboost_iostreams*.so
788 %attr(755,root,root) %{_libdir}/libboost_serialization*.so
789 %attr(755,root,root) %{_libdir}/libboost_wserialization*.so
790 %dir %{_includedir}/boost
791 %{_includedir}/boost/algorithm
792 %{_includedir}/boost/archive
793 %{_includedir}/boost/assert.hpp
794 %{_includedir}/boost/assign
795 %{_includedir}/boost/assign.hpp
796 %{_includedir}/boost/blank_fwd.hpp
797 %{_includedir}/boost/cast.hpp
798 %{_includedir}/boost/checked_delete.hpp
799 %{_includedir}/boost/concept_archetype.hpp
800 %{_includedir}/boost/concept_check.hpp
801 %{_includedir}/boost/config
802 %{_includedir}/boost/config.hpp
803 %{_includedir}/boost/cstd*.hpp
804 %{_includedir}/boost/current_function.hpp
805 %dir %{_includedir}/boost/detail
806 %{_includedir}/boost/detail/algorithm.hpp
807 %{_includedir}/boost/detail/allocator_utilities.hpp
808 %{_includedir}/boost/detail/atomic_count*.hpp
809 %{_includedir}/boost/detail/bad_weak_ptr.hpp
810 %{_includedir}/boost/detail/binary_search.hpp
811 %{_includedir}/boost/detail/catch_exceptions.hpp
812 %{_includedir}/boost/detail/dynamic_bitset.hpp
813 %{_includedir}/boost/detail/endian.hpp
814 %{_includedir}/boost/detail/indirect_traits.hpp
815 %{_includedir}/boost/detail/interlocked.hpp
816 %{_includedir}/boost/detail/is_function_ref_tester.hpp
817 %{_includedir}/boost/detail/is_incrementable.hpp
818 %{_includedir}/boost/detail/is_xxx.hpp
819 %{_includedir}/boost/detail/iterator.hpp
820 %{_includedir}/boost/detail/lightweight_*.hpp
821 %{_includedir}/boost/detail/limits.hpp
822 %{_includedir}/boost/detail/lwm_*.hpp
823 %{_includedir}/boost/detail/named_template_params.hpp
824 %{_includedir}/boost/detail/no_exceptions_support.hpp
825 %{_includedir}/boost/detail/numeric_traits.hpp
826 %{_includedir}/boost/detail/quick_allocator.hpp
827 %{_includedir}/boost/detail/reference_content.hpp
828 %{_includedir}/boost/detail/select_type.hpp
829 %{_includedir}/boost/detail/shared_*.hpp
830 %{_includedir}/boost/detail/sp_counted_*.hpp
831 %{_includedir}/boost/detail/utf8_codecvt_facet.hpp
832 %{_includedir}/boost/detail/workaround.hpp
833 %{_includedir}/boost/dynamic_bitset
834 %{_includedir}/boost/dynamic_bitset.hpp
835 %{_includedir}/boost/dynamic_bitset_fwd.hpp
836 %{_includedir}/boost/dynamic_property_map.hpp
837 %{_includedir}/boost/enable_shared_from_this.hpp
838 %{_includedir}/boost/format
839 %{_includedir}/boost/format.hpp
840 %{_includedir}/boost/function
841 %{_includedir}/boost/function.hpp
842 %{_includedir}/boost/function_equal.hpp
843 %{_includedir}/boost/function_output_iterator.hpp
844 %{_includedir}/boost/functional
845 %{_includedir}/boost/functional.hpp
846 %{_includedir}/boost/generator_iterator.hpp
847 %{_includedir}/boost/graph
848 %{_includedir}/boost/implicit_cast.hpp
849 %{_includedir}/boost/indirect_reference.hpp
850 %{_includedir}/boost/integer
851 %{_includedir}/boost/integer*.hpp
852 %{_includedir}/boost/intrusive_ptr.hpp
853 %{_includedir}/boost/io
854 %{_includedir}/boost/iostreams
855 %{_includedir}/boost/io_fwd.hpp
856 %{_includedir}/boost/iterator*.hpp
857 %{_includedir}/boost/iterator
858 %{_includedir}/boost/lambda
859 %{_includedir}/boost/lexical_cast.hpp
860 %{_includedir}/boost/limits.hpp
861 %{_includedir}/boost/logic
862 %{_includedir}/boost/math
863 %{_includedir}/boost/math_fwd.hpp
864 %{_includedir}/boost/mpl
865 %{_includedir}/boost/multi_array
866 %{_includedir}/boost/multi_array.hpp
867 %{_includedir}/boost/multi_index
868 %{_includedir}/boost/multi_index_container.hpp
869 %{_includedir}/boost/multi_index_container_fwd.hpp
870 %{_includedir}/boost/next_prior.hpp
871 %{_includedir}/boost/noncopyable.hpp
872 %{_includedir}/boost/nondet_random.hpp
873 %{_includedir}/boost/none.hpp
874 %{_includedir}/boost/none_t.hpp
875 %{_includedir}/boost/non_type.hpp
876 %dir %{_includedir}/boost/numeric
877 %{_includedir}/boost/numeric/interval*
878 %{_includedir}/boost/numeric/conversion
879 %{_includedir}/boost/operators.hpp
880 %{_includedir}/boost/optional
881 %{_includedir}/boost/optional.hpp
882 %{_includedir}/boost/parameter
883 %{_includedir}/boost/parameter.hpp
884 %{_includedir}/boost/pending
885 %{_includedir}/boost/pfto.hpp
886 %{_includedir}/boost/pool
887 %{_includedir}/boost/pointee.hpp
888 %{_includedir}/boost/preprocessor
889 %{_includedir}/boost/preprocessor.hpp
890 %{_includedir}/boost/progress.hpp
891 %{_includedir}/boost/property_map*.hpp
892 %{_includedir}/boost/ptr_container
893 %{_includedir}/boost/random
894 %{_includedir}/boost/random.hpp
895 %{_includedir}/boost/range
896 %{_includedir}/boost/range.hpp
897 %{_includedir}/boost/rational.hpp
898 %{_includedir}/boost/scoped_*.hpp
899 %{_includedir}/boost/serialization
900 %{_includedir}/boost/shared_*.hpp
901 %{_includedir}/boost/smart_cast.hpp
902 %{_includedir}/boost/smart_ptr.hpp
903 %{_includedir}/boost/state_saver.hpp
904 %{_includedir}/boost/static_assert.hpp
905 %{_includedir}/boost/static_warning.hpp
906 %{_includedir}/boost/strong_typedef.hpp
907 %{_includedir}/boost/throw_exception.hpp
908 %{_includedir}/boost/timer.hpp
909 %{_includedir}/boost/token*.hpp
910 %{_includedir}/boost/tuple
911 %{_includedir}/boost/type.hpp
912 %{_includedir}/boost/type_traits.hpp
913 %{_includedir}/boost/type_traits
914 %{_includedir}/boost/utility*.hpp
915 %{_includedir}/boost/utility
916 %{_includedir}/boost/version.hpp
917 %{_includedir}/boost/vector_property_map.hpp
918 %{_includedir}/boost/weak_ptr.hpp
920 %{_includedir}/boost/variant.hpp
921 %{_includedir}/boost/variant
922 %{_includedir}/boost/blank.hpp
923 %{_includedir}/boost/detail/templated_streams.hpp
925 %{_includedir}/boost/aligned_storage.hpp
926 %{_includedir}/boost/detail/none_t.hpp
929 %defattr(644,root,root,755)
930 %{_libdir}/libboost_iostreams*.a
931 %{_libdir}/libboost_serialization*.a
932 %{_libdir}/libboost_wserialization*.a
936 %defattr(644,root,root,755)
937 %attr(755,root,root) %{_libdir}/libboost_python*.so.*.*.*
940 %defattr(644,root,root,755)
941 %attr(755,root,root) %{_libdir}/libboost_python*.so
942 %{_includedir}/boost/python
943 %{_includedir}/boost/python.hpp
946 %defattr(644,root,root,755)
947 %{_libdir}/libboost_python*.a
951 %defattr(644,root,root,755)
952 %attr(755,root,root) %{_libdir}/libboost_regex*.so.*.*.*
955 %defattr(644,root,root,755)
956 %attr(755,root,root) %{_libdir}/libboost_regex*.so
957 %{_includedir}/boost/cregex.hpp
958 %{_includedir}/boost/regex.h
959 %{_includedir}/boost/regex*.hpp
960 %{_includedir}/boost/regex
963 %defattr(644,root,root,755)
964 %{_libdir}/libboost_regex*.a
967 %defattr(644,root,root,755)
968 %{_includedir}/boost/any.hpp
971 %defattr(644,root,root,755)
972 %{_includedir}/boost/array.hpp
975 %defattr(644,root,root,755)
976 %{_includedir}/boost/bind
977 %{_includedir}/boost/bind.hpp
978 %{_includedir}/boost/get_pointer.hpp
979 %{_includedir}/boost/mem_fn.hpp
981 %files call_traits-devel
982 %defattr(644,root,root,755)
983 %{_includedir}/boost/call_traits.hpp
984 %{_includedir}/boost/detail/call_traits.hpp
985 %{_includedir}/boost/detail/ob_call_traits.hpp
987 %files compatibility-devel
988 %defattr(644,root,root,755)
989 %{_includedir}/boost/compatibility
992 %defattr(644,root,root,755)
993 #%{_includedir}/boost/compose.hpp
995 %files compressed_pair-devel
996 %defattr(644,root,root,755)
997 %{_includedir}/boost/compressed_pair.hpp
998 %{_includedir}/boost/detail/compressed_pair.hpp
999 %{_includedir}/boost/detail/ob_compressed_pair.hpp
1002 %defattr(644,root,root,755)
1003 %{_includedir}/boost/crc.hpp
1006 %defattr(644,root,root,755)
1007 %attr(755,root,root) %{_libdir}/libboost_date_time*.so.*.*.*
1009 %files date_time-devel
1010 %defattr(644,root,root,755)
1011 %attr(755,root,root) %{_libdir}/libboost_date_time*.so
1012 %{_includedir}/boost/date_time
1014 %files date_time-static
1015 %defattr(644,root,root,755)
1016 %{_libdir}/libboost_date_time*.a
1019 %defattr(644,root,root,755)
1020 %attr(755,root,root) %{_libdir}/libboost_filesystem*.so.*.*.*
1022 %files filesystem-devel
1023 %defattr(644,root,root,755)
1024 %attr(755,root,root) %{_libdir}/libboost_filesystem*.so
1025 %{_includedir}/boost/filesystem
1027 %files filesystem-static
1028 %defattr(644,root,root,755)
1029 %{_libdir}/libboost_filesystem*.a
1031 %files program_options
1032 %defattr(644,root,root,755)
1033 %attr(755,root,root) %{_libdir}/libboost_program_options*.so.*.*.*
1035 %files program_options-devel
1036 %defattr(644,root,root,755)
1037 %{_includedir}/boost/program_options
1038 %{_includedir}/boost/program_options.hpp
1040 %files program_options-static
1041 %defattr(644,root,root,755)
1042 %{_libdir}/libboost_program_options*.a
1045 %defattr(644,root,root,755)
1046 %{_includedir}/boost/ref.hpp
1049 %defattr(644,root,root,755)
1050 %attr(755,root,root) %{_libdir}/libboost_signals*.so.*.*.*
1052 %files signals-devel
1053 %defattr(644,root,root,755)
1054 %attr(755,root,root) %{_libdir}/libboost_signals*.so
1055 %{_includedir}/boost/signal*.hpp
1056 %{_includedir}/boost/signals
1057 %{_includedir}/boost/last_value.hpp
1058 %{_includedir}/boost/visit_each.hpp
1060 %files signals-static
1061 %defattr(644,root,root,755)
1062 %{_libdir}/libboost_signals*.a
1065 %defattr(644,root,root,755)
1066 %{_includedir}/boost/spirit.hpp
1067 %{_includedir}/boost/spirit
1070 %defattr(644,root,root,755)
1071 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor*.so.*.*.*
1072 %attr(755,root,root) %{_libdir}/libboost_test_exec_monitor*.so.*.*.*
1073 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework*.so.*.*.*
1076 %defattr(644,root,root,755)
1077 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor*.so
1078 %attr(755,root,root) %{_libdir}/libboost_test_exec_monitor*.so
1079 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework*.so
1080 %{_includedir}/boost/test
1083 %defattr(644,root,root,755)
1084 %{_libdir}/libboost_prg_exec_monitor*.a
1085 %{_libdir}/libboost_test_exec_monitor*.a
1086 %{_libdir}/libboost_unit_test_framework*.a
1089 %defattr(644,root,root,755)
1090 %attr(755,root,root) %{_libdir}/libboost_thread*.so.*.*.*
1093 %defattr(644,root,root,755)
1094 %attr(755,root,root) %{_libdir}/libboost_thread*.so
1095 %{_includedir}/boost/thread
1096 %{_includedir}/boost/thread.hpp
1098 %files thread-static
1099 %defattr(644,root,root,755)
1100 %attr(755,root,root) %{_libdir}/libboost_thread*.a
1103 %defattr(644,root,root,755)
1104 %{_includedir}/boost/numeric/ublas
1107 %defattr(644,root,root,755)
1108 %{_libdir}/libboost_wave*.a
1109 %{_includedir}/boost/wave
1110 %{_includedir}/boost/wave.hpp
1113 %defattr(644,root,root,755)
1114 %{_docdir}/%{name}-%{version}