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: %{name}-ref-devel = %{version}-%{release}
52 Requires: libstdc++-devel
53 # temporary Provides (until CVS HEAD stops using it)?
54 Provides: boost-concept_check-devel = %{version}-%{release}
55 Provides: boost-conversion-devel = %{version}-%{release}
56 Provides: boost-mpl-devel = %{version}-%{release}
57 Provides: boost-preprocessor-devel = %{version}-%{release}
58 Provides: boost-static_assert-devel = %{version}-%{release}
59 Provides: boost-type_traits-devel = %{version}-%{release}
60 Provides: boost-utility-devel = %{version}-%{release}
61 Obsoletes: boost-compose-devel
62 Obsoletes: boost-concept_check-devel
63 Obsoletes: boost-conversion-devel
64 Obsoletes: boost-mpl-devel
65 Obsoletes: boost-preprocessor-devel
66 Obsoletes: boost-static_assert-devel
67 Obsoletes: boost-type_traits-devel
68 Obsoletes: boost-utility-devel
71 Header files for the Boost C++ libraries.
73 %description devel -l pl
74 Pliki nag³ówkowe bibliotek C++ Boost.
77 Summary: Static version of base Boost C++ libraries
78 Summary(pl): Statyczne wersje podstawowych bibliotek C++ Boost
79 Group: Development/Libraries
80 Requires: %{name}-devel = %{version}-%{release}
83 Static version of base Boost C++ libraries.
85 %description static -l pl
86 Statyczne wersje podstawowych bibliotek C++ Boost.
89 Summary: Boost.Python library
90 Summary(pl): biblioteka Boost.Python
95 Use the Boost Python Library to quickly and easily export a C++
96 library to Python such that the Python interface is very similar to
97 the C++ interface. It is designed to be minimally intrusive on your
98 C++ design. In most cases, you should not have to alter your C++
99 classes in any way in order to use them with Boost.Python. The system
100 should simply ``reflect'' your C++ classes and functions into Python.
102 %description python -l pl
103 Biblioteka Boost Python s³u¿y do szybkiego i prostego eksportu
104 biblioteki C++ do Pythona, tak ¿e interfejs Pythona jest bardzo
105 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, ¿eby
106 narzucaæ jak najmniej wymagañ dotycz±cych konstrukcjii C++. W
107 wiêkszo¶ci przypadków nie trzeba w ogóle zmieniaæ w³asnych klas C++,
108 ¿eby u¿ywaæ ich z Boost.Python. System powinien po prostu ,,odbiæ''
109 klasy C++ i funkcje do Pythona.
111 %package python-devel
112 Summary: Boost.Python development headers
113 Summary(pl): Pliki nag³ówkowe dla Boost.Python
114 Group: Development/Libraries
115 Requires: %{name}-compressed_pair-devel = %{version}-%{release}
116 Requires: %{name}-devel = %{version}-%{release}
117 Requires: %{name}-python = %{version}-%{release}
119 %description python-devel
120 Headers for the Boost.Python library.
122 %description python-devel -l pl
123 Pliki nag³ówkowe dla biblioteki Boost.Python.
125 %package python-static
126 Summary: Static version of Boost.Python library
127 Summary(pl): Statyczna wersja biblioteki Boost.Python
128 Group: Development/Libraries
129 Requires: %{name}-python-devel = %{version}-%{release}
131 %description python-static
132 Static version of Boost.Python library.
134 %description python-static -l pl
135 Statyczna wersja biblioteki Boost.Python.
138 Summary: Boost C++ regular expressions library
139 Summary(pl): Biblioteka wyra¿eñ regularnych Boost C++
143 Shared library for Boost C++ regular expressions.
145 %description regex -l pl
146 Biblioteka wyra¿eñ regularnych dla C++, biblioteki dzielone.
149 Summary: Boost C++ Regex library headers
150 Summary(pl): Pliki nag³ówkowe Boost C++ Regex
151 Group: Development/Libraries
152 Requires: %{name}-devel = %{version}-%{release}
153 Requires: %{name}-regex = %{version}-%{release}
155 %description regex-devel
156 Boost C++ Regex headers.
158 %description regex-devel -l pl
159 Pliki nag³ówkowe dla Boost C++ Regex.
161 %package regex-static
162 Summary: Boost C++ Regex static libraries
163 Summary(pl): Biblioteki statyczne Boost C++ Regex
164 Group: Development/Libraries
165 Requires: %{name}-regex-devel = %{version}-%{release}
167 %description regex-static
168 Boost C++ Regex static libraries.
170 %description regex-static -l pl
171 Biblioteki statyczne dla Boost C++ Regex.
174 Summary: Header for Boost C++ "Any" Library
175 Summary(pl): Plik nag³ówkowy dla biblioteki Boost C++ "Any"
176 Group: Development/Libraries
177 Requires: %{name}-devel = %{version}-%{release}
179 %description any-devel
180 The boost::any class, is a variant value type, which supports copying
181 of any value type and safe checked extraction of that value strictly
184 I.e. 5 is held strictly as an int and is not implicitly convertible
185 either to "5" or to 5.0.
187 %description any-devel -l pl
188 Klasa boost::any jest typem, który umo¿liwia kopiowanie ze zmiennej
189 dowolnego typu i bezpieczne, sprawdzone wydobycie jej warto¶ci
190 dok³adnie tego samego typu.
192 Np. 5 jest trzymane jako int i nie jest niejawnie konwertowalne ani do
196 Summary: STL compliant container wrapper for arrays of constant size
197 Summary(pl): Wrapper na STLowe kontenery dla tablic o sta³ym rozmiarze
198 Group: Development/Libraries
199 Requires: %{name}-devel = %{version}-%{release}
201 %description array-devel
202 As replacement for ordinary arrays, the STL provides class vector<>.
203 However, vector<> provides the semantics of dynamic arrays. Thus, it
204 manages data to be able to change the number of elements. This results
205 in some overhead in case only arrays with static size are needed. This
206 library provides support for such static size arrays.
208 %description array-devel -l pl
209 STL dostarcza klasê vector<> jako zamiennik zwyk³ej tablicy. Jednak
210 vector<> dostarcza semantykê dynamicznych tablic. Zatem zarz±dza
211 danymi tak, by by³a mo¿liwa zmiana ilo¶ci elementów. To skutkuje
212 pewnym nadmiarem w przypadku kiedy tylko tablice o sta³ym rozmiarze s±
213 potrzebne. Ta biblioteka dostarcza wsparcie dla takich w³a¶nie tablic
217 Summary: Generalized binders for function/object/pointers and member functions
218 Summary(pl): Uogólnione bindery dla funkcji/obiektów/wska¼ników oraz metod
219 Group: Development/Libraries
220 Requires: %{name}-ref-devel = %{version}-%{release}
221 Provides: boost-mem_fn-devel = %{version}-%{release}
222 Obsoletes: boost-compose-devel
223 Obsoletes: boost-mem_fn-devel
225 %description bind-devel
226 boost::bind is a generalization of the standard functions std::bind1st
227 and std::bind2nd. This package contains also boost::mem_fn which is a
228 generalization of the standard functions std::mem_fun and
231 %description bind-devel -l pl
232 boost::bind jest uogólnieniem standardowych funkcji std::bind1st i
233 std::bind2nd. Ten pakiet zawiera tak¿e boost::mem_fn, który jest
234 uogólnieniem standardowych funkcji std::mem_fun i std::mem_fun_ref.
236 %package call_traits-devel
237 Summary: Defines types for passing parameters
238 Summary(pl): Definiowanie typów dla przekazywania parametrów
239 Group: Development/Libraries
240 Requires: %{name}-devel = %{version}-%{release}
242 %description call_traits-devel
243 boost::call_traits<T> encapsulates the "best" method to pass a
244 parameter of some type T to or from a function. The purpose of
245 call_traits is to ensure that problems like "references to references"
246 never occur, and that parameters are passed in the most efficient
249 %description call_traits-devel -l pl
250 boost::call_traits<T> zawiera "najlepsz±" metodê przekazywania
251 parametrów jakiego¶ typu T do lub z funkcji. Celem call_traits jest
252 zapewnienie ¿e problemy takie jak "referencja referencji" nigdy nie
253 wyst±pi± i ¿e parametry s± przekazywane w mo¿liwie najbardziej
256 %package compatibility-devel
257 Summary: Help for non-conforming standard libraries
258 Summary(pl): Pomoc dla nie trzymaj±cych standardu bibliotek
259 Group: Development/Libraries
260 Requires: %{name}-devel = %{version}-%{release}
262 %description compatibility-devel
263 This library provides workarounds which allow the other Boost
264 libraries to be used on otherwise non-conforming platforms.
266 %description compatibility-devel -l pl
267 Biblioteka dostarcza obej¶cie problemu platform nie trzymaj±cych
268 standardu C++, pozwalaj±ce na u¿ywanie bibliotek Boost na tych
271 %package compose-devel
272 Summary: Functional composition adapters for the STL
273 Summary(pl): Funkcjonalne adaptery kompozycji dla STL
274 Group: Development/Libraries
275 Requires: %{name}-devel = %{version}-%{release}
277 %description compose-devel
278 The boost::compose provides compose function object adapter extensions
279 for use with the Standard Template Library (STL) portion of the C++
280 Standard Library. If you aren't currently using the STL, this library
281 won't be of any interest, but hard-core STL users will appreciate its
284 %description compose-devel -l pl
285 boost::compose dostarcza rozszerzenie adaptera obiektu funkcji compose
286 do u¿ytku z STL-ow± czê¶ci± Standardu C++. Je¿eli nie u¿ywasz STL,
287 biblioteka bêdzie poza twoim zainteresowaniem, lecz hardkorowi
288 u¿ytkownicy STL-a doceni± jej u¿yteczno¶æ.
290 %package compressed_pair-devel
291 Summary: Empty member optimization
292 Summary(pl): Optymalizacja pustego elementu
293 Group: Development/Libraries
294 Requires: %{name}-call_traits-devel = %{version}-%{release}
295 Requires: %{name}-devel = %{version}-%{release}
297 %description compressed_pair-devel
298 The class boost::compressed_pair is very similar to std::pair, but if
299 either of the template arguments are empty classes, then the "empty
300 base-class optimisation" is applied to compress the size of the pair.
302 %description compressed_pair-devel -l pl
303 Klasa boost::compressed_pair jest bardzo podobna do std::pair, ale
304 je¿eli który¶ z argumentów wzorca jest pust± klas±, wtedy stosowana
305 jest "optymalizacja pustej klasy bazowej" do kompresji pary.
308 Summary: CRC computing library
309 Summary(pl): Biblioteka obliczaj±ca CRC
310 Group: Development/Libraries
311 Requires: %{name}-devel = %{version}-%{release}
313 %description crc-devel
314 The boost::crc library provides two implementations of CRC computation
315 objects and functions. The implementations are template-based.
317 %description crc-devel -l pl
318 Bibliteka boost::crc dostarcza dwie implementacje obiektów i funkcji
319 obliczaj±cych CRC. Implementacje s± oparte na wzorcach.
322 Summary: Date-Time library
323 Summary(pl): Biblioteka daty-czasu
325 Obsoletes: boost < 1.33
327 %description date_time
328 A set of date-time libraries.
330 %description date_time -l pl
331 Zbiór bibliotek daty-czasu.
333 %package date_time-devel
334 Summary: Header files for boost::date_time library
335 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::date_time
336 Group: Development/Libraries
337 Requires: %{name}-date_time = %{version}-%{release}
338 Requires: %{name}-devel = %{version}-%{release}
339 #TODO: make decision if do separate packages include it to main devel package
340 #Requires: %{name}-integer-devel = %{version}-%{release}
341 #Requires: %{name}-operators-devel = %{version}-%{release}
342 #Requires: %{name}-tokenizer-devel = %{version}-%{release}
344 %description date_time-devel
345 Header files for boost::date_time library.
347 %description date_time-devel -l pl
348 Pliki nag³ówkowe dla biblioteki boost::date_time
350 %package date_time-static
351 Summary: Static boost::date_time library
352 Summary(pl): Statyczna biblioteka boost::date_time
353 Group: Development/Libraries
354 Requires: %{name}-date_time-devel = %{version}-%{release}
356 %description date_time-static
357 Static boost::date_time library.
359 %description date_time-devel -l pl
360 Statyczna biblioteka boost::date_time.
363 Summary: Portable paths, iteration over directories, and other useful filesystem operations
364 Summary(pl): Przeno¶ne ¶cie¿ki, iteracje katalogów i inne u¿yteczne operacje na systemie plików
366 Obsoletes: boost < 1.33
368 %description filesystem
369 The boost::filesystem library provides portable facilities to query
370 and manipulate paths, files, and directories.
372 %description filesystem -l pl
373 Przeno¶na biblioteka boost::filesystem dostarcza u³atwienia w
374 operacjach na ¶cie¿kach, plikach i katalogach.
376 %package filesystem-devel
377 Summary: Header files for boost::filesystem
378 Summary(pl): Pliki nag³ówkowe dla boost::filesystem
379 Group: Development/Libraries
380 Requires: %{name}-devel = %{version}-%{release}
381 Requires: %{name}-filesystem = %{version}-%{release}
383 #Requires: %{name}-smart_ptr = %{version}-%{release}
385 %description filesystem-devel
386 Header files for boost::filesystem library.
388 %description filesystem-devel -l pl
389 Pliki nag³ówkowe dla biblioteki boost::filesystem.
391 %package filesystem-static
392 Summary: Static boost::filesystem library
393 Summary(pl): Biblioteka statyczna boost::filesystem
394 Group: Development/Libraries
395 Requires: %{name}-filesystem-devel = %{version}-%{release}
396 Obsoletes: boost-static < 1.33
398 %description filesystem-static
399 Static boost::filesystem library.
401 %description filesystem-static -l pl
402 Biblioteka statyczna boost::filesystem.
404 %package program_options
405 Summary: Access to program options, via conventional methods such as command line and config file
406 Summary(pl): Dostêp do opcji programu za pomoc± typowych metod, jak linia poleceñ i plik konfiguracyjny
409 %description program_options
410 The program_options library allows program developers to obtain
411 program options, that is (name, value) pairs from the user, via
412 conventional methods such as command line and config file.
414 %description program_options -l pl
415 Biblioteka program_options umo¿liwia uzyskanie od u¿ytkownika opcji
416 programu, czyli par (nazwa, warto¶æ), za pomoc± typowych metod,
417 takich jak linia poleceñ, czy plik konfiguracyjny.
419 %package program_options-devel
420 Summary: Header files for boost::program_options
421 Summary(pl): Pliki nag³ówkowe dla boost::program_options
422 Group: Development/Libraries
423 Requires: %{name}-any-devel = %{version}-%{release}
424 Requires: %{name}-devel = %{version}-%{release}
425 Requires: %{name}-program_options = %{version}-%{release}
427 %description program_options-devel
428 Header files for boost::program_options library.
430 %description program_options-devel -l pl
431 Pliki nag³ówkowe dla biblioteki boost::program_options.
433 %package program_options-static
434 Summary: Static boost::program_options library
435 Summary(pl): Biblioteka statyczna boost::program_options
436 Group: Development/Libraries
437 Requires: %{name}-program_options-devel = %{version}-%{release}
438 Obsoletes: boost-static < 1.33
440 %description program_options-static
441 Static boost::program_options library.
443 %description program_options-static -l pl
444 Biblioteka statyczna boost::program_options.
447 Summary: Small library useful for passing references to function templates
448 Summary(pl): Ma³a biblioteka u¿yteczna przy przekazywaniu referencji do wzorców funkcji
449 Group: Development/Libraries
450 Requires: %{name}-devel = %{version}-%{release}
452 %description ref-devel
453 boost::ref library is a small library that is useful for passing
454 references to function templates (algorithms) that would usually take
455 copies of their arguments.
457 %description ref-devel -l pl
458 Biblioteka boost::ref jest ma³± bibliotek± która jest u¿yteczna w
459 przypadku przekazywania referencji do wzorców funkcji (algorytmów)
460 które zazwyczaj bior± kopiê swoich argumentów.
463 Summary: Signals & slots callback implementation
464 Summary(pl): Implementacja sygna³ów i slotów
466 Obsoletes: boost < 1.33
469 The boost::signals library is an implementation of a signals and slots
472 %description signals -l pl
473 Biblioteka boost::signals jest implementacj± systemu sygna³ów i
476 %package signals-devel
477 Summary: Header files for boost::signals library
478 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::signals
479 Group: Development/Libraries
480 Requires: %{name}-any-devel = %{version}-%{release}
481 Requires: %{name}-devel = %{version}-%{release}
482 Requires: %{name}-signals = %{version}-%{release}
483 #TODO: separate smart_ptr or include to the main devel package
484 Requires: %{name}-bind-devel = %{version}-%{release}
485 #Requires: %{name}-iterator_adaptors-devel = %{version}-%{release}
486 #Requires: %{name}-operators-devel = %{version}-%{release}
487 Requires: %{name}-ref-devel = %{version}-%{release}
488 #Requires: %{name}-smart_ptr-devel = %{version}-%{release}
490 %description signals-devel
491 Header files for boost::signals library.
493 %description signals-devel -l pl
494 Pliki nag³ówkowe dla biblioteki boost::signals.
496 %package signals-static
497 Summary: Static library for boost::signals
498 Summary(pl): Biblioteka statyczna dla boost::signals
499 Group: Development/Libraries
500 Requires: %{name}-signals-devel = %{version}-%{release}
502 %description signals-static
503 Static library for boost::signals.
505 %description signals-static -l pl
506 Biblioteka statyczna dla boost::signals.
508 %package spirit-devel
509 Summary: LL parser framework
510 Summary(pl): Szkielet parsera LL
511 Group: Development/Libraries
512 Requires: %{name}-compressed_pair-devel = %{version}-%{release}
513 Requires: %{name}-ref-devel = %{version}-%{release}
514 Requires: %{name}-regex-devel = %{version}-%{release}
515 Requires: %{name}-thread-devel = %{version}-%{release}
517 #?Requires: %{name}-iterators-devel = %{version}-%{release}
518 #?Requires: %{name}-smart_ptr-devel = %{version}-%{release}
520 %description spirit-devel
521 LL parser framework represents parsers directly as EBNF grammars in
524 %description spirit-devel -l pl
525 Szkielet parsera LL reprezentuj±cy parsery jako gramatyki EBNF
526 bezpo¶rednio w kodzie C++.
529 Summary: Support for program testing and execution monitoring
530 Summary(pl): Wsparcie dla testowania i monitorowania programu
532 Obsoletes: boost < 1.33
535 Support for simple program testing, full unit testing, and for program
536 execution monitoring.
538 %description test -l pl
539 Wsparcie dla prostego testowania programu, pe³nego testowania i
540 monitorowania wykonania programu.
543 Summary: Header files for boost::test
544 Summary(pl): Pliki nag³ówkowe dla boost::test
545 Group: Development/Libraries
546 Requires: %{name}-call_traits-devel = %{version}-%{release}
547 Requires: %{name}-devel = %{version}-%{release}
548 Requires: %{name}-test = %{version}-%{release}
550 #?Requires?: %{name}-function-devel = %{version}-%{release}
551 #Requires: %{name}-smart_ptr = %{version}-%{release}
553 %description test-devel
554 Header files for boost::test.
556 %description test-devel -l pl
557 Pliki nag³ówkowe dla boost::test.
560 Summary: Static boost::test libraries
561 Summary(pl): Biblioteki statyczne boost::test
562 Group: Development/Libraries
563 Requires: %{name}-test-devel = %{version}-%{release}
564 Obsoletes: boost-static < 1.33
566 %description test-static
567 Static boost::test libraries.
569 %description test-static -l pl
570 Biblioteki statyczne boost::test.
573 Summary: Portable C++ threads library
574 Summary(pl): Przeno¶na biblioteka w±tków C++
576 Obsoletes: boost < 1.33
579 Portable C++ threads library - shared library.
581 %description thread -l pl
582 Przeno¶na biblioteka w±tków dla C++ - biblioteka dzielona.
584 %package thread-devel
585 Summary: Header files for boost::thread library
586 Summary(pl): Pliki nag³ówkowe dla biblioteki boost::thread
587 Group: Development/Libraries
588 Requires: %{name}-devel = %{version}-%{release}
589 Requires: %{name}-thread = %{version}-%{release}
590 #TODO:requires boost::function or boost::function to boost-devel
592 %description thread-devel
593 Header files for boost::thread library.
595 %description thread-devel -l pl
596 Pliki nag³ówkowe dla biblioteki boost::thread.
598 %package thread-static
599 Summary: Portable C++ threads library - static version
600 Summary(pl): Przeno¶na biblioteka w±tków C++ - wersja statyczna
602 Requires: %{name}-thread-devel = %{version}-%{release}
603 Obsoletes: boost < 1.33
605 %description thread-static
606 Portable C++ threads library - static library.
608 %description thread-static -l pl
609 Przeno¶na biblioteka w±tków dla C++ - biblioteka statyczna.
612 Summary: Basic linear algebra for dense, packed and sparse matrices
613 Summary(pl): Prosta liniowa algebra dla gêstych, upakowanych i rzadkich macierzy
614 Group: Development/Libraries
615 Requires: %{name}-devel = %{version}-%{release}
617 %description uBLAS-devel
618 uBLAS library provides templated C++ classes for dense, unit and
619 sparse vectors, dense, identity, triangular, banded, symmetric,
620 hermitian and sparse matrices.
622 %description uBLAS-devel -l pl
623 Biblioteka uBLAS dostarcza wzorce klas C++ dla gêstych, jednostkowych
624 i rzadkich wektorów oraz gêstych, jednostkowych, trójk±tnych,
625 diagonalnych, symetrycznych, hermitowskich i rzadkich macierzy.
628 Summary: Boost.Wave - a standard compliant C++ preprocessor library
629 Summary(pl): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
630 Group: Development/Libraries
631 Requires: %{name}-devel = %{version}-%{release}
633 %description wave-devel
634 Boost.Wave - a standard compliant C++ preprocessor library.
636 %description wave-devel -l pl
637 Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
640 Summary: Boost C++ Library documentation
641 Summary(pl): Dokumentacja dla biblioteki Boost C++
643 Requires: %{name}-devel = %{version}-%{release}
646 Documentation for the Boost C++ Library.
648 %description doc -l pl
649 Dokumentacja dla biblioteki Boost C++.
652 %setup -q -n %{name}_%{_fver}
656 # don't know how to pass it through (b)jam -s (no way?)
657 # due to oversophisticated build flags system
658 %{__perl} -pi -e 's/ -O3 / %{rpmcxxflags} /' tools/build/v1/gcc-tools.jam
661 # -pthread gcc parameter doesn't add _REENTRANT to cpp macros on alpha (only)
662 # don't know, is it gcc bug or intentional omission?
663 # anyway, boost check of -D_REENTRANT in its headers, so it's needed here
664 %{__perl} -pi -e 's/(CFLAGS.*-pthread)/$1 -D_REENTRANT/' tools/build/v1/gcc-tools.jam
669 PYTHON_VERSION=`python -V 2>&1 | sed 's,.* \([0-9]\.[0-9]\)\(\.[0-9]\)\?.*,\1,'`
670 PYTHON_ROOT=%{_prefix}
677 -sBUILD="release <threading>multi <shared-linkable>true <inlining>on" \
678 -sPYTHON_ROOT=$PYTHON_ROOT \
679 -sPYTHON_VERSION=$PYTHON_VERSION
682 rm -rf $RPM_BUILD_ROOT
683 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
685 cp -rf boost $RPM_BUILD_ROOT%{_includedir}
687 install bin/boost/libs/*/build/*.a/*/release/inlining-on/shared-linkable-true/*/lib*.a $RPM_BUILD_ROOT%{_libdir}
688 install bin/boost/libs/*/build/*.so/*/release/inlining-on/shared-linkable-true/*/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
689 # use cp -d, install follows symlinks instead of preserving them!
690 cp -df bin/boost/libs/*/build/*.so/*/release/inlining-on/shared-linkable-true/*/lib*.so $RPM_BUILD_ROOT%{_libdir}
692 # create symlinks without -gcc-mt-* things in names
693 for f in $RPM_BUILD_ROOT%{_libdir}/*.so.*; do
694 [ -f "$f" ] || continue
696 soname=$(basename "$f" | sed -e 's#-gcc-mt-.*#.so#g')
698 ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/${soname}"
700 for f in $RPM_BUILD_ROOT%{_libdir}/*.a; do
701 [ -f "$f" ] || continue
703 soname=$(basename "$f" | sed -e 's#-gcc-mt-.*#.a#g')
705 ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/${soname}"
709 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
710 install README $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
712 # as the documentation doesn't completely reside in a directory of its
713 # own, we need to find out ourselves... this looks for HTML files and
714 # then collects everything linked from those. this is certainly quite
715 # unoptimized wrt mkdir calls, but does it really matter?
716 for i in `find -type f -name '*.htm*'`; do
717 # bjam docu is included in the boost-jam RPM
718 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
719 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/`dirname $i`
720 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
724 # rewrite links from boost/* to %{_includedir}/boost/* and
725 # ignore external links as well as document-internal ones.
726 # HTML files are also ignored as they get installed anyway.
727 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
729 (my $file = $link) =~ s/\#.*//;
735 open OUT, ">@ARGV[1]";
739 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
740 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
742 $in_link = /href|src=\s*$/;
745 TARGET=`dirname $i`/$LINKED
746 # ignore non-existant linked files
747 if test -f $TARGET; then
748 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/`dirname $TARGET`
749 install -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
756 rm -rf $RPM_BUILD_ROOT
758 %post -p /sbin/ldconfig
759 %postun -p /sbin/ldconfig
761 %post date_time -p /sbin/ldconfig
762 %postun date_time -p /sbin/ldconfig
764 %post filesystem -p /sbin/ldconfig
765 %postun filesystem -p /sbin/ldconfig
767 %post python -p /sbin/ldconfig
768 %postun python -p /sbin/ldconfig
770 %post program_options -p /sbin/ldconfig
771 %postun program_options -p /sbin/ldconfig
773 %post regex -p /sbin/ldconfig
774 %postun regex -p /sbin/ldconfig
776 %post signals -p /sbin/ldconfig
777 %postun signals -p /sbin/ldconfig
779 %post test -p /sbin/ldconfig
780 %postun test -p /sbin/ldconfig
782 %post thread -p /sbin/ldconfig
783 %postun thread -p /sbin/ldconfig
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.*.*.*
792 %defattr(644,root,root,755)
793 %attr(755,root,root) %{_libdir}/libboost_iostreams*.so
794 %attr(755,root,root) %{_libdir}/libboost_serialization*.so
795 %attr(755,root,root) %{_libdir}/libboost_wserialization*.so
796 %dir %{_includedir}/boost
797 %{_includedir}/boost/algorithm
798 %{_includedir}/boost/archive
799 %{_includedir}/boost/assert.hpp
800 %{_includedir}/boost/assign
801 %{_includedir}/boost/assign.hpp
802 %{_includedir}/boost/blank_fwd.hpp
803 %{_includedir}/boost/cast.hpp
804 %{_includedir}/boost/checked_delete.hpp
805 %{_includedir}/boost/concept_archetype.hpp
806 %{_includedir}/boost/concept_check.hpp
807 %{_includedir}/boost/config
808 %{_includedir}/boost/config.hpp
809 %{_includedir}/boost/cstd*.hpp
810 %{_includedir}/boost/current_function.hpp
811 %dir %{_includedir}/boost/detail
812 %{_includedir}/boost/detail/algorithm.hpp
813 %{_includedir}/boost/detail/allocator_utilities.hpp
814 %{_includedir}/boost/detail/atomic_count*.hpp
815 %{_includedir}/boost/detail/bad_weak_ptr.hpp
816 %{_includedir}/boost/detail/binary_search.hpp
817 %{_includedir}/boost/detail/catch_exceptions.hpp
818 %{_includedir}/boost/detail/dynamic_bitset.hpp
819 %{_includedir}/boost/detail/endian.hpp
820 %{_includedir}/boost/detail/indirect_traits.hpp
821 %{_includedir}/boost/detail/interlocked.hpp
822 %{_includedir}/boost/detail/is_function_ref_tester.hpp
823 %{_includedir}/boost/detail/is_incrementable.hpp
824 %{_includedir}/boost/detail/is_xxx.hpp
825 %{_includedir}/boost/detail/iterator.hpp
826 %{_includedir}/boost/detail/lightweight_*.hpp
827 %{_includedir}/boost/detail/limits.hpp
828 %{_includedir}/boost/detail/lwm_*.hpp
829 %{_includedir}/boost/detail/named_template_params.hpp
830 %{_includedir}/boost/detail/no_exceptions_support.hpp
831 %{_includedir}/boost/detail/numeric_traits.hpp
832 %{_includedir}/boost/detail/quick_allocator.hpp
833 %{_includedir}/boost/detail/reference_content.hpp
834 %{_includedir}/boost/detail/select_type.hpp
835 %{_includedir}/boost/detail/shared_*.hpp
836 %{_includedir}/boost/detail/sp_counted_*.hpp
837 %{_includedir}/boost/detail/utf8_codecvt_facet.hpp
838 %{_includedir}/boost/detail/workaround.hpp
839 %{_includedir}/boost/dynamic_bitset
840 %{_includedir}/boost/dynamic_bitset.hpp
841 %{_includedir}/boost/dynamic_bitset_fwd.hpp
842 %{_includedir}/boost/dynamic_property_map.hpp
843 %{_includedir}/boost/enable_shared_from_this.hpp
844 %{_includedir}/boost/format
845 %{_includedir}/boost/format.hpp
846 %{_includedir}/boost/function
847 %{_includedir}/boost/function.hpp
848 %{_includedir}/boost/function_equal.hpp
849 %{_includedir}/boost/function_output_iterator.hpp
850 %{_includedir}/boost/functional
851 %{_includedir}/boost/functional.hpp
852 %{_includedir}/boost/generator_iterator.hpp
853 %{_includedir}/boost/graph
854 %{_includedir}/boost/implicit_cast.hpp
855 %{_includedir}/boost/indirect_reference.hpp
856 %{_includedir}/boost/integer
857 %{_includedir}/boost/integer*.hpp
858 %{_includedir}/boost/intrusive_ptr.hpp
859 %{_includedir}/boost/io
860 %{_includedir}/boost/iostreams
861 %{_includedir}/boost/io_fwd.hpp
862 %{_includedir}/boost/iterator*.hpp
863 %{_includedir}/boost/iterator
864 %{_includedir}/boost/lambda
865 %{_includedir}/boost/lexical_cast.hpp
866 %{_includedir}/boost/limits.hpp
867 %{_includedir}/boost/logic
868 %{_includedir}/boost/math
869 %{_includedir}/boost/math_fwd.hpp
870 %{_includedir}/boost/mpl
871 %{_includedir}/boost/multi_array
872 %{_includedir}/boost/multi_array.hpp
873 %{_includedir}/boost/multi_index
874 %{_includedir}/boost/multi_index_container.hpp
875 %{_includedir}/boost/multi_index_container_fwd.hpp
876 %{_includedir}/boost/next_prior.hpp
877 %{_includedir}/boost/noncopyable.hpp
878 %{_includedir}/boost/nondet_random.hpp
879 %{_includedir}/boost/none.hpp
880 %{_includedir}/boost/none_t.hpp
881 %{_includedir}/boost/non_type.hpp
882 %dir %{_includedir}/boost/numeric
883 %{_includedir}/boost/numeric/interval*
884 %{_includedir}/boost/numeric/conversion
885 %{_includedir}/boost/operators.hpp
886 %{_includedir}/boost/optional
887 %{_includedir}/boost/optional.hpp
888 %{_includedir}/boost/parameter
889 %{_includedir}/boost/parameter.hpp
890 %{_includedir}/boost/pending
891 %{_includedir}/boost/pfto.hpp
892 %{_includedir}/boost/pool
893 %{_includedir}/boost/pointee.hpp
894 %{_includedir}/boost/preprocessor
895 %{_includedir}/boost/preprocessor.hpp
896 %{_includedir}/boost/progress.hpp
897 %{_includedir}/boost/property_map*.hpp
898 %{_includedir}/boost/ptr_container
899 %{_includedir}/boost/random
900 %{_includedir}/boost/random.hpp
901 %{_includedir}/boost/range
902 %{_includedir}/boost/range.hpp
903 %{_includedir}/boost/rational.hpp
904 %{_includedir}/boost/scoped_*.hpp
905 %{_includedir}/boost/serialization
906 %{_includedir}/boost/shared_*.hpp
907 %{_includedir}/boost/smart_cast.hpp
908 %{_includedir}/boost/smart_ptr.hpp
909 %{_includedir}/boost/state_saver.hpp
910 %{_includedir}/boost/static_assert.hpp
911 %{_includedir}/boost/static_warning.hpp
912 %{_includedir}/boost/strong_typedef.hpp
913 %{_includedir}/boost/throw_exception.hpp
914 %{_includedir}/boost/timer.hpp
915 %{_includedir}/boost/token*.hpp
916 %{_includedir}/boost/tuple
917 %{_includedir}/boost/type.hpp
918 %{_includedir}/boost/type_traits.hpp
919 %{_includedir}/boost/type_traits
920 %{_includedir}/boost/utility*.hpp
921 %{_includedir}/boost/utility
922 %{_includedir}/boost/version.hpp
923 %{_includedir}/boost/vector_property_map.hpp
924 %{_includedir}/boost/weak_ptr.hpp
926 %{_includedir}/boost/variant.hpp
927 %{_includedir}/boost/variant
928 %{_includedir}/boost/blank.hpp
929 %{_includedir}/boost/detail/templated_streams.hpp
931 %{_includedir}/boost/aligned_storage.hpp
932 %{_includedir}/boost/detail/none_t.hpp
935 %defattr(644,root,root,755)
936 %{_libdir}/libboost_iostreams*.a
937 %{_libdir}/libboost_serialization*.a
938 %{_libdir}/libboost_wserialization*.a
942 %defattr(644,root,root,755)
943 %attr(755,root,root) %{_libdir}/libboost_python*.so.*.*.*
946 %defattr(644,root,root,755)
947 %attr(755,root,root) %{_libdir}/libboost_python*.so
948 %{_includedir}/boost/python
949 %{_includedir}/boost/python.hpp
952 %defattr(644,root,root,755)
953 %{_libdir}/libboost_python*.a
957 %defattr(644,root,root,755)
958 %attr(755,root,root) %{_libdir}/libboost_regex*.so.*.*.*
961 %defattr(644,root,root,755)
962 %attr(755,root,root) %{_libdir}/libboost_regex*.so
963 %{_includedir}/boost/cregex.hpp
964 %{_includedir}/boost/regex.h
965 %{_includedir}/boost/regex*.hpp
966 %{_includedir}/boost/regex
969 %defattr(644,root,root,755)
970 %{_libdir}/libboost_regex*.a
973 %defattr(644,root,root,755)
974 %{_includedir}/boost/any.hpp
977 %defattr(644,root,root,755)
978 %{_includedir}/boost/array.hpp
981 %defattr(644,root,root,755)
982 %{_includedir}/boost/bind
983 %{_includedir}/boost/bind.hpp
984 %{_includedir}/boost/get_pointer.hpp
985 %{_includedir}/boost/mem_fn.hpp
987 %files call_traits-devel
988 %defattr(644,root,root,755)
989 %{_includedir}/boost/call_traits.hpp
990 %{_includedir}/boost/detail/call_traits.hpp
991 %{_includedir}/boost/detail/ob_call_traits.hpp
993 %files compatibility-devel
994 %defattr(644,root,root,755)
995 %{_includedir}/boost/compatibility
997 %files compressed_pair-devel
998 %defattr(644,root,root,755)
999 %{_includedir}/boost/compressed_pair.hpp
1000 %{_includedir}/boost/detail/compressed_pair.hpp
1001 %{_includedir}/boost/detail/ob_compressed_pair.hpp
1004 %defattr(644,root,root,755)
1005 %{_includedir}/boost/crc.hpp
1008 %defattr(644,root,root,755)
1009 %attr(755,root,root) %{_libdir}/libboost_date_time*.so.*.*.*
1011 %files date_time-devel
1012 %defattr(644,root,root,755)
1013 %attr(755,root,root) %{_libdir}/libboost_date_time*.so
1014 %{_includedir}/boost/date_time
1016 %files date_time-static
1017 %defattr(644,root,root,755)
1018 %{_libdir}/libboost_date_time*.a
1021 %defattr(644,root,root,755)
1022 %attr(755,root,root) %{_libdir}/libboost_filesystem*.so.*.*.*
1024 %files filesystem-devel
1025 %defattr(644,root,root,755)
1026 %attr(755,root,root) %{_libdir}/libboost_filesystem*.so
1027 %{_includedir}/boost/filesystem
1029 %files filesystem-static
1030 %defattr(644,root,root,755)
1031 %{_libdir}/libboost_filesystem*.a
1033 %files program_options
1034 %defattr(644,root,root,755)
1035 %attr(755,root,root) %{_libdir}/libboost_program_options*.so.*.*.*
1037 %files program_options-devel
1038 %defattr(644,root,root,755)
1039 %attr(755,root,root) %{_libdir}/libboost_program_options*.so
1040 %{_includedir}/boost/program_options
1041 %{_includedir}/boost/program_options.hpp
1043 %files program_options-static
1044 %defattr(644,root,root,755)
1045 %{_libdir}/libboost_program_options*.a
1048 %defattr(644,root,root,755)
1049 %{_includedir}/boost/ref.hpp
1052 %defattr(644,root,root,755)
1053 %attr(755,root,root) %{_libdir}/libboost_signals*.so.*.*.*
1055 %files signals-devel
1056 %defattr(644,root,root,755)
1057 %attr(755,root,root) %{_libdir}/libboost_signals*.so
1058 %{_includedir}/boost/signal*.hpp
1059 %{_includedir}/boost/signals
1060 %{_includedir}/boost/last_value.hpp
1061 %{_includedir}/boost/visit_each.hpp
1063 %files signals-static
1064 %defattr(644,root,root,755)
1065 %{_libdir}/libboost_signals*.a
1068 %defattr(644,root,root,755)
1069 %{_includedir}/boost/spirit.hpp
1070 %{_includedir}/boost/spirit
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.*.*.*
1079 %defattr(644,root,root,755)
1080 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor*.so
1081 %attr(755,root,root) %{_libdir}/libboost_test_exec_monitor*.so
1082 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework*.so
1083 %{_includedir}/boost/test
1086 %defattr(644,root,root,755)
1087 %{_libdir}/libboost_prg_exec_monitor*.a
1088 %{_libdir}/libboost_test_exec_monitor*.a
1089 %{_libdir}/libboost_unit_test_framework*.a
1092 %defattr(644,root,root,755)
1093 %attr(755,root,root) %{_libdir}/libboost_thread*.so.*.*.*
1096 %defattr(644,root,root,755)
1097 %attr(755,root,root) %{_libdir}/libboost_thread*.so
1098 %{_includedir}/boost/thread
1099 %{_includedir}/boost/thread.hpp
1101 %files thread-static
1102 %defattr(644,root,root,755)
1103 %attr(755,root,root) %{_libdir}/libboost_thread*.a
1106 %defattr(644,root,root,755)
1107 %{_includedir}/boost/numeric/ublas
1110 %defattr(644,root,root,755)
1111 %{_libdir}/libboost_wave*.a
1112 %{_includedir}/boost/wave
1113 %{_includedir}/boost/wave.hpp
1116 %defattr(644,root,root,755)
1117 %{_docdir}/%{name}-%{version}