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: libstdc++-devel
20 BuildRequires: perl-base
21 %{?with_python:BuildRequires: python-devel >= 2.2}
22 BuildRequires: rpm-pythonprov
23 BuildConflicts: gcc = 5:3.3.1
24 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 The Boost web site provides free peer-reviewed portable C++ source
28 libraries. The emphasis is on libraries which work well with the C++
29 Standard Library. One goal is to establish "existing practice" and
30 provide reference implementations so that the Boost libraries are
31 suitable for eventual standardization. Some of the libraries have
32 already been proposed for inclusion in the C++ Standards Committee's
33 upcoming C++ Standard Library Technical Report.
36 Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z
37 kodem ¼ród³owym. Nacisk po³o¿ono na biblioteki, które dobrze
38 wspó³pracuj± ze standardow± bibliotek± C++. Celem jest ustanowienie
39 "istniej±cej praktyki" i dostarczenie implementacji, tak ¿e biblioteki
40 "Boost" nadaj± siê do ewentualnej standaryzacji. Niektóre z bibliotek
41 ju¿ zosta³y zg³oszone do komitetu standaryzacyjnego C++ w nadchodz±cym
42 Raporcie Technicznym Biblioteki Standardowej C++
45 Summary: Boost C++ development headers
46 Summary(pl): Pliki nag³ówkowe bibliotek C++ Boost
47 Group: Development/Libraries
48 Requires: %{name} = %{version}-%{release}
49 Requires: libstdc++-devel
50 # temporary Provides (until CVS HEAD stops using it)?
51 Provides: boost-concept_check-devel = %{version}-%{release}
52 Provides: boost-conversion-devel = %{version}-%{release}
53 Provides: boost-mpl-devel = %{version}-%{release}
54 Provides: boost-preprocessor-devel = %{version}-%{release}
55 Provides: boost-static_assert-devel = %{version}-%{release}
56 Provides: boost-type_traits-devel = %{version}-%{release}
57 Provides: boost-utility-devel = %{version}-%{release}
58 Obsoletes: boost-concept_check-devel
59 Obsoletes: boost-conversion-devel
60 Obsoletes: boost-mpl-devel
61 Obsoletes: boost-preprocessor-devel
62 Obsoletes: boost-static_assert-devel
63 Obsoletes: boost-type_traits-devel
64 Obsoletes: boost-utility-devel
67 Header files for the Boost C++ libraries.
69 %description devel -l pl
70 Pliki nag³ówkowe bibliotek C++ Boost.
73 Summary: Static version of base Boost C++ libraries
74 Summary(pl): Statyczne wersje podstawowych bibliotek C++ Boost
75 Group: Development/Libraries
76 Requires: %{name}-devel = %{version}-%{release}
79 Static version of base Boost C++ libraries.
81 %description static -l pl
82 Statyczne wersje podstawowych bibliotek C++ Boost.
85 Summary: Boost.Python library
86 Summary(pl): biblioteka Boost.Python
91 Use the Boost Python Library to quickly and easily export a C++
92 library to Python such that the Python interface is very similar to
93 the C++ interface. It is designed to be minimally intrusive on your
94 C++ design. In most cases, you should not have to alter your C++
95 classes in any way in order to use them with Boost.Python. The system
96 should simply ``reflect'' your C++ classes and functions into Python.
98 %description python -l pl
99 Biblioteka Boost Python s³u¿y do szybkiego i prostego eksportu
100 biblioteki C++ do Pythona, tak ¿e interfejs Pythona jest bardzo
101 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, ¿eby
102 narzucaæ jak najmniej wymagañ dotycz±cych konstrukcjii C++. W
103 wiêkszo¶ci przypadków nie trzeba w ogóle zmieniaæ w³asnych klas C++,
104 ¿eby u¿ywaæ ich z Boost.Python. System powinien po prostu ,,odbiæ''
105 klasy C++ i funkcje do Pythona.
107 %package python-devel
108 Summary: Boost.Python development headers
109 Summary(pl): Pliki nag³ówkowe dla Boost.Python
110 Group: Development/Libraries
111 Requires: %{name}-compressed_pair-devel = %{version}-%{release}
112 Requires: %{name}-devel = %{version}-%{release}
113 Requires: %{name}-python = %{version}-%{release}
115 %description python-devel
116 Headers for the Boost.Python library.
118 %description python-devel -l pl
119 Pliki nag³ówkowe dla biblioteki Boost.Python.
121 %package python-static
122 Summary: Static version of Boost.Python library
123 Summary(pl): Statyczna wersja biblioteki Boost.Python
124 Group: Development/Libraries
125 Requires: %{name}-python-devel = %{version}-%{release}
127 %description python-static
128 Static version of Boost.Python library.
130 %description python-static -l pl
131 Statyczna wersja biblioteki Boost.Python.
134 Summary: Boost C++ regular expressions library
135 Summary(pl): Biblioteka wyra¿eñ regularnych Boost C++
139 Shared library for Boost C++ regular expressions.
141 %description regex -l pl
142 Biblioteka wyra¿eñ regularnych dla C++, biblioteki dzielone.
145 Summary: Boost C++ Regex library headers
146 Summary(pl): Pliki nag³ówkowe Boost C++ Regex
147 Group: Development/Libraries
148 Requires: %{name}-devel = %{version}-%{release}
149 Requires: %{name}-regex = %{version}-%{release}
151 %description regex-devel
152 Boost C++ Regex headers.
154 %description regex-devel -l pl
155 Pliki nag³ówkowe dla Boost C++ Regex.
157 %package regex-static
158 Summary: Boost C++ Regex static libraries
159 Summary(pl): Biblioteki statyczne Boost C++ Regex
160 Group: Development/Libraries
161 Requires: %{name}-regex-devel = %{version}-%{release}
163 %description regex-static
164 Boost C++ Regex static libraries.
166 %description regex-static -l pl
167 Biblioteki statyczne dla Boost C++ Regex.
170 Summary: Header for Boost C++ "Any" Library
171 Summary(pl): Plik nag³ówkowy dla biblioteki Boost C++ "Any"
172 Group: Development/Libraries
173 Requires: %{name}-devel = %{version}-%{release}
175 %description any-devel
176 The boost::any class, is a variant value type, which supports copying
177 of any value type and safe checked extraction of that value strictly
180 I.e. 5 is held strictly as an int and is not implicitly convertible
181 either to "5" or to 5.0.
183 %description any-devel -l pl
184 Klasa boost::any jest typem, który umo¿liwia kopiowanie ze zmiennej
185 dowolnego typu i bezpieczne, sprawdzone wydobycie jej warto¶ci
186 dok³adnie tego samego typu.
188 Np. 5 jest trzymane jako int i nie jest niejawnie konwertowalne ani do
192 Summary: STL compliant container wrapper for arrays of constant size
193 Summary(pl): Wrapper na STLowe kontenery dla tablic o sta³ym rozmiarze
194 Group: Development/Libraries
195 Requires: %{name}-devel = %{version}-%{release}
197 %description array-devel
198 As replacement for ordinary arrays, the STL provides class vector<>.
199 However, vector<> provides the semantics of dynamic arrays. Thus, it
200 manages data to be able to change the number of elements. This results
201 in some overhead in case only arrays with static size are needed. This
202 library provides support for such static size arrays.
204 %description array-devel -l pl
205 STL dostarcza klasê vector<> jako zamiennik zwyk³ej tablicy. Jednak
206 vector<> dostarcza semantykê dynamicznych tablic. Zatem zarz±dza
207 danymi tak, by by³a mo¿liwa zmiana ilo¶ci elementów. To skutkuje
208 pewnym nadmiarem w przypadku kiedy tylko tablice o sta³ym rozmiarze s±
209 potrzebne. Ta biblioteka dostarcza wsparcie dla takich w³a¶nie tablic
213 Summary: Generalized binders for function/object/pointers and member functions
214 Summary(pl): Uogólnione bindery dla funkcji/obiektów/wska¼ników oraz metod
215 Group: Development/Libraries
216 Requires: %{name}-ref-devel = %{version}-%{release}
217 Provides: boost-mem_fn-devel = %{version}-%{release}
218 Obsoletes: boost-mem_fn-devel
220 %description bind-devel
221 boost::bind is a generalization of the standard functions std::bind1st
222 and std::bind2nd. This package contains also boost::mem_fn which is a
223 generalization of the standard functions std::mem_fun and
226 %description bind-devel -l pl
227 boost::bind jest uogólnieniem standardowych funkcji std::bind1st i
228 std::bind2nd. Ten pakiet zawiera tak¿e boost::mem_fn, który jest
229 uogólnieniem standardowych funkcji std::mem_fun i std::mem_fun_ref.
231 %package call_traits-devel
232 Summary: Defines types for passing parameters
233 Summary(pl): Definiowanie typów dla przekazywania parametrów
234 Group: Development/Libraries
235 Requires: %{name}-devel = %{version}-%{release}
237 %description call_traits-devel
238 boost::call_traits<T> encapsulates the "best" method to pass a
239 parameter of some type T to or from a function. The purpose of
240 call_traits is to ensure that problems like "references to references"
241 never occur, and that parameters are passed in the most efficient
244 %description call_traits-devel -l pl
245 boost::call_traits<T> zawiera "najlepsz±" metodê przekazywania
246 parametrów jakiego¶ typu T do lub z funkcji. Celem call_traits jest
247 zapewnienie ¿e problemy takie jak "referencja referencji" nigdy nie
248 wyst±pi± i ¿e parametry s± przekazywane w mo¿liwie najbardziej
251 %package compatibility-devel
252 Summary: Help for non-conforming standard libraries
253 Summary(pl): Pomoc dla nie trzymaj±cych standardu bibliotek
254 Group: Development/Libraries
255 Requires: %{name}-devel = %{version}-%{release}
257 %description compatibility-devel
258 This library provides workarounds which allow the other Boost
259 libraries to be used on otherwise non-conforming platforms.
261 %description compatibility-devel -l pl
262 Biblioteka dostarcza obej¶cie problemu platform nie trzymaj±cych
263 standardu C++, pozwalaj±ce na u¿ywanie bibliotek Boost na tych
266 %package compose-devel
267 Summary: Functional composition adapters for the STL
268 Summary(pl): Funkcjonalne adaptery kompozycji dla STL
269 Group: Development/Libraries
270 Requires: %{name}-devel = %{version}-%{release}
272 %description compose-devel
273 The boost::compose provides compose function object adapter extensions
274 for use with the Standard Template Library (STL) portion of the C++
275 Standard Library. If you aren't currently using the STL, this library
276 won't be of any interest, but hard-core STL users will appreciate its
279 %description compose-devel -l pl
280 boost::compose dostarcza rozszerzenie adaptera obiektu funkcji compose
281 do u¿ytku z STL-ow± czê¶ci± Standardu C++. Je¿eli nie u¿ywasz STL,
282 biblioteka bêdzie poza twoim zainteresowaniem, lecz hardkorowi
283 u¿ytkownicy STL-a doceni± jej u¿yteczno¶æ.
285 %package compressed_pair-devel
286 Summary: Empty member optimization
287 Summary(pl): Optymalizacja pustego elementu
288 Group: Development/Libraries
289 Requires: %{name}-call_traits-devel = %{version}-%{release}
290 Requires: %{name}-devel = %{version}-%{release}
292 %description compressed_pair-devel
293 The class boost::compressed_pair is very similar to std::pair, but if
294 either of the template arguments are empty classes, then the "empty
295 base-class optimisation" is applied to compress the size of the pair.
297 %description compressed_pair-devel -l pl
298 Klasa boost::compressed_pair jest bardzo podobna do std::pair, ale
299 je¿eli który¶ z argumentów wzorca jest pust± klas±, wtedy stosowana
300 jest "optymalizacja pustej klasy bazowej" do kompresji pary.
303 Summary: CRC computing library
304 Summary(pl): Biblioteka obliczaj±ca CRC
305 Group: Development/Libraries
306 Requires: %{name}-devel = %{version}-%{release}
308 %description crc-devel
309 The boost::crc library provides two implementations of CRC computation
310 objects and functions. The implementations are template-based.
312 %description crc-devel -l pl
313 Bibliteka boost::crc dostarcza dwie implementacje obiektów i funkcji
314 obliczaj±cych CRC. Implementacje s± oparte na wzorcach.
317 Summary: Date-Time library
318 Summary(pl): Biblioteka daty-czasu
320 Obsoletes: boost < 1.33
322 %description date_time
323 A set of date-time libraries.
325 %description date_time -l pl
326 Zbiór bibliotek daty-czasu.
328 %package date_time-devel
329 Summary: Header files for boost::date_time library
330 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::date_time
331 Group: Development/Libraries
332 Requires: %{name}-date_time = %{version}-%{release}
333 Requires: %{name}-devel = %{version}-%{release}
334 #TODO: make decision if do separate packages include it to main devel package
335 #Requires: %{name}-integer-devel = %{version}-%{release}
336 #Requires: %{name}-operators-devel = %{version}-%{release}
337 #Requires: %{name}-tokenizer-devel = %{version}-%{release}
339 %description date_time-devel
340 Header files for boost::date_time library.
342 %description date_time-devel -l pl
343 Pliki nag³ówkowe dla biblioteki boost::date_time
345 %package date_time-static
346 Summary: Static boost::date_time library
347 Summary(pl): Statyczna biblioteka boost::date_time
348 Group: Development/Libraries
349 Requires: %{name}-date_time-devel = %{version}-%{release}
351 %description date_time-static
352 Static boost::date_time library.
354 %description date_time-devel -l pl
355 Statyczna biblioteka boost::date_time.
358 Summary: Portable paths, iteration over directories, and other useful filesystem operations
359 Summary(pl): Przeno¶ne ¶cie¿ki, iteracje katalogów i inne u¿yteczne operacje na systemie plików
361 Obsoletes: boost < 1.33
363 %description filesystem
364 The boost::filesystem library provides portable facilities to query
365 and manipulate paths, files, and directories.
367 %description filesystem -l pl
368 Przeno¶na biblioteka boost::filesystem dostarcza u³atwienia w
369 operacjach na ¶cie¿kach, plikach i katalogach.
371 %package filesystem-devel
372 Summary: Header files for boost::filesystem
373 Summary(pl): Pliki nag³ówkowe dla boost::filesystem
374 Group: Development/Libraries
375 Requires: %{name}-devel = %{version}-%{release}
376 Requires: %{name}-filesystem = %{version}-%{release}
378 #Requires: %{name}-smart_ptr = %{version}-%{release}
380 %description filesystem-devel
381 Header files for boost::filesystem library.
383 %description filesystem-devel -l pl
384 Pliki nag³ówkowe dla biblioteki boost::filesystem.
386 %package filesystem-static
387 Summary: Static boost::filesystem library
388 Summary(pl): Biblioteka statyczna boost::filesystem
389 Group: Development/Libraries
390 Requires: %{name}-filesystem-devel = %{version}-%{release}
391 Obsoletes: boost-static < 1.33
393 %description filesystem-static
394 Static boost::filesystem library.
396 %description filesystem-static -l pl
397 Biblioteka statyczna boost::filesystem.
399 %package program_options
400 Summary: Access to program options, via conventional methods such as command line and config file
401 Summary(pl): Dostêp do opcji programu za pomoc± typowych metod, jak linia poleceñ i plik konfiguracyjny
404 %description program_options
405 The program_options library allows program developers to obtain
406 program options, that is (name, value) pairs from the user, via
407 conventional methods such as command line and config file.
409 %description program_options -l pl
410 Biblioteka program_options umo¿liwia uzyskanie od u¿ytkownika opcji
411 programu, czyli par (nazwa, warto¶æ), za pomoc± typowych metod,
412 takich jak linia poleceñ, czy plik konfiguracyjny.
414 %package program_options-devel
415 Summary: Header files for boost::program_options
416 Summary(pl): Pliki nag³ówkowe dla boost::program_options
417 Group: Development/Libraries
418 Requires: %{name}-devel = %{version}-%{release}
419 Requires: %{name}-program_options = %{version}-%{release}
421 %description program_options-devel
422 Header files for boost::program_options library.
424 %description program_options-devel -l pl
425 Pliki nag³ówkowe dla biblioteki boost::program_options.
427 %package program_options-static
428 Summary: Static boost::program_options library
429 Summary(pl): Biblioteka statyczna boost::program_options
430 Group: Development/Libraries
431 Requires: %{name}-program_options-devel = %{version}-%{release}
432 Obsoletes: boost-static < 1.33
434 %description program_options-static
435 Static boost::program_options library.
437 %description program_options-static -l pl
438 Biblioteka statyczna boost::program_options.
441 Summary: Small library useful for passing references to function templates
442 Summary(pl): Ma³a biblioteka u¿yteczna przy przekazywaniu referencji do wzorców funkcji
443 Group: Development/Libraries
444 Requires: %{name}-devel = %{version}-%{release}
446 %description ref-devel
447 boost::ref library is a small library that is useful for passing
448 references to function templates (algorithms) that would usually take
449 copies of their arguments.
451 %description ref-devel -l pl
452 Biblioteka boost::ref jest ma³± bibliotek± która jest u¿yteczna w
453 przypadku przekazywania referencji do wzorców funkcji (algorytmów)
454 które zazwyczaj bior± kopiê swoich argumentów.
457 Summary: Signals & slots callback implementation
458 Summary(pl): Implementacja sygna³ów i slotów
460 Obsoletes: boost < 1.33
463 The boost::signals library is an implementation of a signals and slots
466 %description signals -l pl
467 Biblioteka boost::signals jest implementacj± systemu sygna³ów i
470 %package signals-devel
471 Summary: Header files for boost::signals library
472 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::signals
473 Group: Development/Libraries
474 Requires: %{name}-any-devel = %{version}-%{release}
475 Requires: %{name}-devel = %{version}-%{release}
476 Requires: %{name}-signals = %{version}-%{release}
477 #TODO: separate smart_ptr or include to the main devel package
478 Requires: %{name}-bind-devel = %{version}-%{release}
479 #Requires: %{name}-iterator_adaptors-devel = %{version}-%{release}
480 #Requires: %{name}-operators-devel = %{version}-%{release}
481 Requires: %{name}-ref-devel = %{version}-%{release}
482 #Requires: %{name}-smart_ptr-devel = %{version}-%{release}
484 %description signals-devel
485 Header files for boost::signals library.
487 %description signals-devel -l pl
488 Pliki nag³ówkowe dla biblioteki boost::signals.
490 %package signals-static
491 Summary: Static library for boost::signals
492 Summary(pl): Biblioteka statyczna dla boost::signals
493 Group: Development/Libraries
494 Requires: %{name}-signals-devel = %{version}-%{release}
496 %description signals-static
497 Static library for boost::signals.
499 %description signals-static -l pl
500 Biblioteka statyczna dla boost::signals.
502 %package spirit-devel
503 Summary: LL parser framework
504 Summary(pl): Szkielet parsera LL
505 Group: Development/Libraries
506 Requires: %{name}-compressed_pair-devel = %{version}-%{release}
507 Requires: %{name}-ref-devel = %{version}-%{release}
508 Requires: %{name}-regex-devel = %{version}-%{release}
509 Requires: %{name}-thread-devel = %{version}-%{release}
511 #?Requires: %{name}-iterators-devel = %{version}-%{release}
512 #?Requires: %{name}-smart_ptr-devel = %{version}-%{release}
514 %description spirit-devel
515 LL parser framework represents parsers directly as EBNF grammars in
518 %description spirit-devel -l pl
519 Szkielet parsera LL reprezentuj±cy parsery jako gramatyki EBNF
520 bezpo¶rednio w kodzie C++.
523 Summary: Support for program testing and execution monitoring
524 Summary(pl): Wsparcie dla testowania i monitorowania programu
526 Obsoletes: boost < 1.33
529 Support for simple program testing, full unit testing, and for program
530 execution monitoring.
532 %description test -l pl
533 Wsparcie dla prostego testowania programu, pe³nego testowania i
534 monitorowania wykonania programu.
537 Summary: Header files for boost::test
538 Summary(pl): Pliki nag³ówkowe dla boost::test
539 Group: Development/Libraries
540 Requires: %{name}-call_traits-devel = %{version}-%{release}
541 Requires: %{name}-devel = %{version}-%{release}
542 Requires: %{name}-test = %{version}-%{release}
544 #?Requires?: %{name}-function-devel = %{version}-%{release}
545 #Requires: %{name}-smart_ptr = %{version}-%{release}
547 %description test-devel
548 Header files for boost::test.
550 %description test-devel -l pl
551 Pliki nag³ówkowe dla boost::test.
554 Summary: Static boost::test libraries
555 Summary(pl): Biblioteki statyczne boost::test
556 Group: Development/Libraries
557 Requires: %{name}-test-devel = %{version}-%{release}
558 Obsoletes: boost-static < 1.33
560 %description test-static
561 Static boost::test libraries.
563 %description test-static -l pl
564 Biblioteki statyczne boost::test.
567 Summary: Portable C++ threads library
568 Summary(pl): Przeno¶na biblioteka w±tków C++
570 Obsoletes: boost < 1.33
573 Portable C++ threads library - shared library.
575 %description thread -l pl
576 Przeno¶na biblioteka w±tków dla C++ - biblioteka dzielona.
578 %package thread-devel
579 Summary: Header files for boost::thread library
580 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::thread
581 Group: Development/Libraries
582 Requires: %{name}-devel = %{version}-%{release}
583 Requires: %{name}-thread = %{version}-%{release}
584 #TODO:requires boost::function or boost::function to boost-devel
586 %description thread-devel
587 Header files for boost::thread library.
589 %description thread-devel -l pl
590 Pliki nag³ówkowe dla biblioteki boost::thread.
592 %package thread-static
593 Summary: Portable C++ threads library - static version
594 Summary(pl): Przeno¶na biblioteka w±tków C++ - wersja statyczna
596 Requires: %{name}-thread-devel = %{version}-%{release}
597 Obsoletes: boost < 1.33
599 %description thread-static
600 Portable C++ threads library - static library.
602 %description thread-static -l pl
603 Przeno¶na biblioteka w±tków dla C++ - biblioteka statyczna.
606 Summary: Basic linear algebra for dense, packed and sparse matrices
607 Summary(pl): Prosta liniowa algebra dla gêstych, upakowanych i rzadkich macierzy
608 Group: Development/Libraries
609 Requires: %{name}-devel = %{version}-%{release}
611 %description uBLAS-devel
612 uBLAS library provides templated C++ classes for dense, unit and
613 sparse vectors, dense, identity, triangular, banded, symmetric,
614 hermitian and sparse matrices.
616 %description uBLAS-devel -l pl
617 Biblioteka uBLAS dostarcza wzorce klas C++ dla gêstych, jednostkowych
618 i rzadkich wektorów oraz gêstych, jednostkowych, trójk±tnych,
619 diagonalnych, symetrycznych, hermitowskich i rzadkich macierzy.
622 Summary: Boost.Wave - a standard compliant C++ preprocessor library
623 Summary(pl): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
624 Group: Development/Libraries
625 Requires: %{name}-devel = %{version}-%{release}
627 %description wave-devel
628 Boost.Wave - a standard compliant C++ preprocessor library.
630 %description wave-devel -l pl
631 Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
634 Summary: Boost C++ Library documentation
635 Summary(pl): Dokumentacja dla biblioteki Boost C++
637 Requires: %{name}-devel = %{version}-%{release}
640 Documentation for the Boost C++ Library.
642 %description doc -l pl
643 Dokumentacja dla biblioteki Boost C++.
646 %setup -q -n %{name}_%{_fver}
650 # don't know how to pass it through (b)jam -s (no way?)
651 # due to oversophisticated build flags system
652 %{__perl} -pi -e 's/ -O3 / %{rpmcflags} /' tools/build/v1/gcc-tools.jam
655 # -pthread gcc parameter doesn't add _REENTRANT to cpp macros on alpha (only)
656 # don't know, is it gcc bug or intentional omission?
657 # anyway, boost check of -D_REENTRANT in its headers, so it's needed here
658 %{__perl} -pi -e 's/(CFLAGS.*-pthread)/$1 -D_REENTRANT/' tools/build/v1/gcc-tools.jam
663 PYTHON_VERSION=`python -V 2>&1 | sed 's,.* \([0-9]\.[0-9]\)\(\.[0-9]\)\?.*,\1,'`
664 PYTHON_ROOT=%{_prefix}
671 -sBUILD="release <threading>multi <shared-linkable>true" \
672 -sPYTHON_ROOT=$PYTHON_ROOT \
673 -sPYTHON_VERSION=$PYTHON_VERSION
676 rm -rf $RPM_BUILD_ROOT
677 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
679 cp -rf boost $RPM_BUILD_ROOT%{_includedir}
681 install bin/boost/libs/*/build/*.a/*/release/shared-linkable-true/*/lib*.a $RPM_BUILD_ROOT%{_libdir}
682 install bin/boost/libs/*/build/*.so/*/release/shared-linkable-true/*/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
683 # use cp -d, install follows symlinks instead of preserving them!
684 cp -df bin/boost/libs/*/build/*.so/*/release/shared-linkable-true/*/lib*.so $RPM_BUILD_ROOT%{_libdir}
686 # create symlinks without -gcc-mt-* things in names
687 for f in $RPM_BUILD_ROOT%{_libdir}/*.so.*; do
688 [ -f "$f" ] || continue
690 soname=$(basename "$f" | sed -e 's#-gcc-mt-.*#.so#g')
692 ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/${soname}"
694 for f in $RPM_BUILD_ROOT%{_libdir}/*.a; do
695 [ -f "$f" ] || continue
697 soname=$(basename "$f" | sed -e 's#-gcc-mt-.*#.a#g')
699 ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/${soname}"
703 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
704 install README $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
706 # as the documentation doesn't completely reside in a directory of its
707 # own, we need to find out ourselves... this looks for HTML files and
708 # then collects everything linked from those. this is certainly quite
709 # unoptimized wrt mkdir calls, but does it really matter?
710 for i in `find -type f -name '*.htm*'`; do
711 # bjam docu is included in the boost-jam RPM
712 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
713 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/`dirname $i`
714 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
718 # rewrite links from boost/* to %{_includedir}/boost/* and
719 # ignore external links as well as document-internal ones.
720 # HTML files are also ignored as they get installed anyway.
721 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
723 (my $file = $link) =~ s/\#.*//;
729 open OUT, ">@ARGV[1]";
733 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
734 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
736 $in_link = /href|src=\s*$/;
739 TARGET=`dirname $i`/$LINKED
740 # ignore non-existant linked files
741 if test -f $TARGET; then
742 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/`dirname $TARGET`
743 install -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
750 rm -rf $RPM_BUILD_ROOT
752 %post -p /sbin/ldconfig
753 %postun -p /sbin/ldconfig
755 %post date_time -p /sbin/ldconfig
756 %postun date_time -p /sbin/ldconfig
758 %post filesystem -p /sbin/ldconfig
759 %postun filesystem -p /sbin/ldconfig
761 %post python -p /sbin/ldconfig
762 %postun python -p /sbin/ldconfig
764 %post regex -p /sbin/ldconfig
765 %postun regex -p /sbin/ldconfig
767 %post signals -p /sbin/ldconfig
768 %postun signals -p /sbin/ldconfig
770 %post test -p /sbin/ldconfig
771 %postun test -p /sbin/ldconfig
773 %post thread -p /sbin/ldconfig
774 %postun thread -p /sbin/ldconfig
777 %defattr(644,root,root,755)
778 %attr(755,root,root) %{_libdir}/libboost_iostreams*.so.*.*.*
779 %attr(755,root,root) %{_libdir}/libboost_serialization*.so.*.*.*
780 %attr(755,root,root) %{_libdir}/libboost_wserialization*.so.*.*.*
783 %defattr(644,root,root,755)
784 %attr(755,root,root) %{_libdir}/libboost_iostreams*.so
785 %attr(755,root,root) %{_libdir}/libboost_serialization*.so
786 %attr(755,root,root) %{_libdir}/libboost_wserialization*.so
787 %dir %{_includedir}/boost
788 %{_includedir}/boost/algorithm
789 %{_includedir}/boost/archive
790 %{_includedir}/boost/assert.hpp
791 %{_includedir}/boost/assign
792 %{_includedir}/boost/assign.hpp
793 %{_includedir}/boost/blank_fwd.hpp
794 %{_includedir}/boost/cast.hpp
795 %{_includedir}/boost/checked_delete.hpp
796 %{_includedir}/boost/concept_archetype.hpp
797 %{_includedir}/boost/concept_check.hpp
798 %{_includedir}/boost/config
799 %{_includedir}/boost/config.hpp
800 %{_includedir}/boost/cstd*.hpp
801 %{_includedir}/boost/current_function.hpp
802 %dir %{_includedir}/boost/detail
803 %{_includedir}/boost/detail/algorithm.hpp
804 %{_includedir}/boost/detail/allocator_utilities.hpp
805 %{_includedir}/boost/detail/atomic_count*.hpp
806 %{_includedir}/boost/detail/bad_weak_ptr.hpp
807 %{_includedir}/boost/detail/binary_search.hpp
808 %{_includedir}/boost/detail/catch_exceptions.hpp
809 %{_includedir}/boost/detail/dynamic_bitset.hpp
810 %{_includedir}/boost/detail/endian.hpp
811 %{_includedir}/boost/detail/indirect_traits.hpp
812 %{_includedir}/boost/detail/interlocked.hpp
813 %{_includedir}/boost/detail/is_function_ref_tester.hpp
814 %{_includedir}/boost/detail/is_incrementable.hpp
815 %{_includedir}/boost/detail/is_xxx.hpp
816 %{_includedir}/boost/detail/iterator.hpp
817 %{_includedir}/boost/detail/lightweight_*.hpp
818 %{_includedir}/boost/detail/limits.hpp
819 %{_includedir}/boost/detail/lwm_*.hpp
820 %{_includedir}/boost/detail/named_template_params.hpp
821 %{_includedir}/boost/detail/no_exceptions_support.hpp
822 %{_includedir}/boost/detail/numeric_traits.hpp
823 %{_includedir}/boost/detail/quick_allocator.hpp
824 %{_includedir}/boost/detail/reference_content.hpp
825 %{_includedir}/boost/detail/select_type.hpp
826 %{_includedir}/boost/detail/shared_*.hpp
827 %{_includedir}/boost/detail/sp_counted_*.hpp
828 %{_includedir}/boost/detail/utf8_codecvt_facet.hpp
829 %{_includedir}/boost/detail/workaround.hpp
830 %{_includedir}/boost/dynamic_bitset
831 %{_includedir}/boost/dynamic_bitset.hpp
832 %{_includedir}/boost/dynamic_bitset_fwd.hpp
833 %{_includedir}/boost/dynamic_property_map.hpp
834 %{_includedir}/boost/enable_shared_from_this.hpp
835 %{_includedir}/boost/format
836 %{_includedir}/boost/format.hpp
837 %{_includedir}/boost/function
838 %{_includedir}/boost/function.hpp
839 %{_includedir}/boost/function_equal.hpp
840 %{_includedir}/boost/function_output_iterator.hpp
841 %{_includedir}/boost/functional
842 %{_includedir}/boost/functional.hpp
843 %{_includedir}/boost/generator_iterator.hpp
844 %{_includedir}/boost/graph
845 %{_includedir}/boost/implicit_cast.hpp
846 %{_includedir}/boost/indirect_reference.hpp
847 %{_includedir}/boost/integer
848 %{_includedir}/boost/integer*.hpp
849 %{_includedir}/boost/intrusive_ptr.hpp
850 %{_includedir}/boost/io
851 %{_includedir}/boost/iostreams
852 %{_includedir}/boost/io_fwd.hpp
853 %{_includedir}/boost/iterator*.hpp
854 %{_includedir}/boost/iterator
855 %{_includedir}/boost/lambda
856 %{_includedir}/boost/lexical_cast.hpp
857 %{_includedir}/boost/limits.hpp
858 %{_includedir}/boost/logic
859 %{_includedir}/boost/math
860 %{_includedir}/boost/math_fwd.hpp
861 %{_includedir}/boost/mpl
862 %{_includedir}/boost/multi_array
863 %{_includedir}/boost/multi_array.hpp
864 %{_includedir}/boost/multi_index
865 %{_includedir}/boost/multi_index_container.hpp
866 %{_includedir}/boost/multi_index_container_fwd.hpp
867 %{_includedir}/boost/next_prior.hpp
868 %{_includedir}/boost/noncopyable.hpp
869 %{_includedir}/boost/nondet_random.hpp
870 %{_includedir}/boost/none.hpp
871 %{_includedir}/boost/none_t.hpp
872 %{_includedir}/boost/non_type.hpp
873 %dir %{_includedir}/boost/numeric
874 %{_includedir}/boost/numeric/interval*
875 %{_includedir}/boost/numeric/conversion
876 %{_includedir}/boost/operators.hpp
877 %{_includedir}/boost/optional
878 %{_includedir}/boost/optional.hpp
879 %{_includedir}/boost/parameter
880 %{_includedir}/boost/parameter.hpp
881 %{_includedir}/boost/pending
882 %{_includedir}/boost/pfto.hpp
883 %{_includedir}/boost/pool
884 %{_includedir}/boost/pointee.hpp
885 %{_includedir}/boost/preprocessor
886 %{_includedir}/boost/preprocessor.hpp
887 %{_includedir}/boost/progress.hpp
888 %{_includedir}/boost/property_map*.hpp
889 %{_includedir}/boost/ptr_container
890 %{_includedir}/boost/random
891 %{_includedir}/boost/random.hpp
892 %{_includedir}/boost/range
893 %{_includedir}/boost/range.hpp
894 %{_includedir}/boost/rational.hpp
895 %{_includedir}/boost/scoped_*.hpp
896 %{_includedir}/boost/serialization
897 %{_includedir}/boost/shared_*.hpp
898 %{_includedir}/boost/smart_cast.hpp
899 %{_includedir}/boost/smart_ptr.hpp
900 %{_includedir}/boost/state_saver.hpp
901 %{_includedir}/boost/static_assert.hpp
902 %{_includedir}/boost/static_warning.hpp
903 %{_includedir}/boost/strong_typedef.hpp
904 %{_includedir}/boost/throw_exception.hpp
905 %{_includedir}/boost/timer.hpp
906 %{_includedir}/boost/token*.hpp
907 %{_includedir}/boost/tuple
908 %{_includedir}/boost/type.hpp
909 %{_includedir}/boost/type_traits.hpp
910 %{_includedir}/boost/type_traits
911 %{_includedir}/boost/utility*.hpp
912 %{_includedir}/boost/utility
913 %{_includedir}/boost/version.hpp
914 %{_includedir}/boost/vector_property_map.hpp
915 %{_includedir}/boost/weak_ptr.hpp
917 %{_includedir}/boost/variant.hpp
918 %{_includedir}/boost/variant
919 %{_includedir}/boost/blank.hpp
920 %{_includedir}/boost/detail/templated_streams.hpp
922 %{_includedir}/boost/aligned_storage.hpp
923 %{_includedir}/boost/detail/none_t.hpp
926 %defattr(644,root,root,755)
927 %{_libdir}/libboost_iostreams*.a
928 %{_libdir}/libboost_serialization*.a
929 %{_libdir}/libboost_wserialization*.a
933 %defattr(644,root,root,755)
934 %attr(755,root,root) %{_libdir}/libboost_python*.so.*.*.*
937 %defattr(644,root,root,755)
938 %attr(755,root,root) %{_libdir}/libboost_python*.so
939 %{_includedir}/boost/python
940 %{_includedir}/boost/python.hpp
943 %defattr(644,root,root,755)
944 %{_libdir}/libboost_python*.a
948 %defattr(644,root,root,755)
949 %attr(755,root,root) %{_libdir}/libboost_regex*.so.*.*.*
952 %defattr(644,root,root,755)
953 %attr(755,root,root) %{_libdir}/libboost_regex*.so
954 %{_includedir}/boost/cregex.hpp
955 %{_includedir}/boost/regex.h
956 %{_includedir}/boost/regex*.hpp
957 %{_includedir}/boost/regex
960 %defattr(644,root,root,755)
961 %{_libdir}/libboost_regex*.a
964 %defattr(644,root,root,755)
965 %{_includedir}/boost/any.hpp
968 %defattr(644,root,root,755)
969 %{_includedir}/boost/array.hpp
972 %defattr(644,root,root,755)
973 %{_includedir}/boost/bind
974 %{_includedir}/boost/bind.hpp
975 %{_includedir}/boost/get_pointer.hpp
976 %{_includedir}/boost/mem_fn.hpp
978 %files call_traits-devel
979 %defattr(644,root,root,755)
980 %{_includedir}/boost/call_traits.hpp
981 %{_includedir}/boost/detail/call_traits.hpp
982 %{_includedir}/boost/detail/ob_call_traits.hpp
984 %files compatibility-devel
985 %defattr(644,root,root,755)
986 %{_includedir}/boost/compatibility
989 %defattr(644,root,root,755)
990 #%{_includedir}/boost/compose.hpp
992 %files compressed_pair-devel
993 %defattr(644,root,root,755)
994 %{_includedir}/boost/compressed_pair.hpp
995 %{_includedir}/boost/detail/compressed_pair.hpp
996 %{_includedir}/boost/detail/ob_compressed_pair.hpp
999 %defattr(644,root,root,755)
1000 %{_includedir}/boost/crc.hpp
1003 %defattr(644,root,root,755)
1004 %attr(755,root,root) %{_libdir}/libboost_date_time*.so.*.*.*
1006 %files date_time-devel
1007 %defattr(644,root,root,755)
1008 %attr(755,root,root) %{_libdir}/libboost_date_time*.so
1009 %{_includedir}/boost/date_time
1011 %files date_time-static
1012 %defattr(644,root,root,755)
1013 %{_libdir}/libboost_date_time*.a
1016 %defattr(644,root,root,755)
1017 %attr(755,root,root) %{_libdir}/libboost_filesystem*.so.*.*.*
1019 %files filesystem-devel
1020 %defattr(644,root,root,755)
1021 %attr(755,root,root) %{_libdir}/libboost_filesystem*.so
1022 %{_includedir}/boost/filesystem
1024 %files filesystem-static
1025 %defattr(644,root,root,755)
1026 %{_libdir}/libboost_filesystem*.a
1028 %files program_options
1029 %defattr(644,root,root,755)
1030 %attr(755,root,root) %{_libdir}/libboost_program_options*.so.*.*.*
1032 %files program_options-devel
1033 %defattr(644,root,root,755)
1034 %{_includedir}/boost/program_options
1035 %{_includedir}/boost/program_options.hpp
1037 %files program_options-static
1038 %defattr(644,root,root,755)
1039 %{_libdir}/libboost_program_options*.a
1042 %defattr(644,root,root,755)
1043 %{_includedir}/boost/ref.hpp
1046 %defattr(644,root,root,755)
1047 %attr(755,root,root) %{_libdir}/libboost_signals*.so.*.*.*
1049 %files signals-devel
1050 %defattr(644,root,root,755)
1051 %attr(755,root,root) %{_libdir}/libboost_signals*.so
1052 %{_includedir}/boost/signal*.hpp
1053 %{_includedir}/boost/signals
1054 %{_includedir}/boost/last_value.hpp
1055 %{_includedir}/boost/visit_each.hpp
1057 %files signals-static
1058 %defattr(644,root,root,755)
1059 %{_libdir}/libboost_signals*.a
1062 %defattr(644,root,root,755)
1063 %{_includedir}/boost/spirit.hpp
1064 %{_includedir}/boost/spirit
1067 %defattr(644,root,root,755)
1068 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor*.so.*.*.*
1069 %attr(755,root,root) %{_libdir}/libboost_test_exec_monitor*.so.*.*.*
1070 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework*.so.*.*.*
1073 %defattr(644,root,root,755)
1074 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor*.so
1075 %attr(755,root,root) %{_libdir}/libboost_test_exec_monitor*.so
1076 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework*.so
1077 %{_includedir}/boost/test
1080 %defattr(644,root,root,755)
1081 %{_libdir}/libboost_prg_exec_monitor*.a
1082 %{_libdir}/libboost_test_exec_monitor*.a
1083 %{_libdir}/libboost_unit_test_framework*.a
1086 %defattr(644,root,root,755)
1087 %attr(755,root,root) %{_libdir}/libboost_thread*.so.*.*.*
1090 %defattr(644,root,root,755)
1091 %attr(755,root,root) %{_libdir}/libboost_thread*.so
1092 %{_includedir}/boost/thread
1093 %{_includedir}/boost/thread.hpp
1095 %files thread-static
1096 %defattr(644,root,root,755)
1097 %attr(755,root,root) %{_libdir}/libboost_thread*.a
1100 %defattr(644,root,root,755)
1101 %{_includedir}/boost/numeric/ublas
1104 %defattr(644,root,root,755)
1105 %{_libdir}/libboost_wave*.a
1106 %{_includedir}/boost/wave
1107 %{_includedir}/boost/wave.hpp
1110 %defattr(644,root,root,755)
1111 %{_docdir}/%{name}-%{version}