3 # - think about building MPI.
4 # - split shared libs from core package into -iostreams/-serialization.
7 %bcond_without python2 # boost-python[2] support
8 %bcond_without python3 # boost-python3 support
9 %bcond_without numpy # boost-numpy support
10 %bcond_without doc # don't package documentation
12 %define fver %(echo %{version} | tr . _)
13 Summary: The Boost C++ Libraries
14 Summary(pl.UTF-8): Biblioteki C++ "Boost"
18 License: Boost Software License and others
20 Source0: https://boostorg.jfrog.io/artifactory/main/release/%{version}/source/%{name}_%{fver}.tar.bz2
21 # Source0-md5: ce966eccb3c296a27abfef9356fd1dc4
22 Patch0: %{name}-link.patch
23 Patch1: %{name}-clean-gcc-flags.patch
24 Patch2: %{name}-fallthrough.patch
26 Patch201: %{name}-python-abi_letters.patch
27 # https://svn.boost.org/trac/boost/ticket/5637
28 Patch203: %{name}-1.54.0-mpl-print.patch
29 # https://svn.boost.org/trac/boost/ticket/8881
30 Patch221: %{name}-1.54.0-mpi-unused_typedef.patch
31 URL: http://www.boost.org/
32 BuildRequires: bzip2-devel
33 BuildRequires: expat-devel
34 BuildRequires: libicu-devel
35 BuildRequires: libstdc++-devel >= 6:4.7
36 BuildRequires: perl-base
38 BuildRequires: python-devel >= 2.2
39 %{?with_numpy:BuildRequires: python-numpy-devel}
42 BuildRequires: python3-devel
43 %{?with_numpy:BuildRequires: python3-numpy-devel}
45 BuildRequires: rpm-build >= 4.6
46 BuildRequires: rpm-pythonprov
47 BuildRequires: rpmbuild(macros) >= 1.750
48 BuildRequires: zlib-devel
49 Obsoletes: boost-signals < 1.69
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 %define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1
54 %define py2v %(echo %{py_ver} | tr -d .)
55 %define py3v %(echo %{py3_ver} | tr -d .)
57 %if %{_ver_ge "%{py3_ver}" "3.8"}
58 %define py3v_suffix ""
60 %define py3v_suffix "m"
64 The Boost web site provides free peer-reviewed portable C++ source
65 libraries. The emphasis is on libraries which work well with the C++
66 Standard Library. One goal is to establish "existing practice" and
67 provide reference implementations so that the Boost libraries are
68 suitable for eventual standardization. Some of the libraries have
69 already been proposed for inclusion in the C++ Standards Committee's
70 upcoming C++ Standard Library Technical Report.
72 %description -l pl.UTF-8
73 Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z
74 kodem źródłowym. Nacisk położono na biblioteki, które dobrze
75 współpracują ze standardową biblioteką C++. Celem jest ustanowienie
76 "istniejącej praktyki" i dostarczenie implementacji, tak że biblioteki
77 "Boost" nadają się do ewentualnej standaryzacji. Niektóre z bibliotek
78 już zostały zgłoszone do komitetu standaryzacyjnego C++ w nadchodzącym
79 Raporcie Technicznym Biblioteki Standardowej C++.
82 Summary: Boost C++ development headers
83 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek C++ Boost
84 Group: Development/Libraries
85 Requires: %{name} = %{version}-%{release}
86 Requires: %{name}-chrono = %{version}-%{release}
87 Requires: %{name}-context = %{version}-%{release}
88 Requires: %{name}-date_time = %{version}-%{release}
89 Requires: %{name}-fiber = %{version}-%{release}
90 Requires: %{name}-filesystem = %{version}-%{release}
91 Requires: %{name}-graph = %{version}-%{release}
92 Requires: %{name}-json = %{version}-%{release}
93 Requires: %{name}-locale = %{version}-%{release}
94 Requires: %{name}-log = %{version}-%{release}
95 Requires: %{name}-program_options = %{version}-%{release}
96 Requires: %{name}-regex = %{version}-%{release}
97 Requires: %{name}-system = %{version}-%{release}
98 Requires: %{name}-test = %{version}-%{release}
99 Requires: %{name}-thread = %{version}-%{release}
100 Requires: %{name}-timer = %{version}-%{release}
101 Requires: %{name}-wave = %{version}-%{release}
102 Requires: libstdc++-devel >= 6:4.7
103 Obsoletes: boost-any-devel < 1.35
104 Obsoletes: boost-array-devel < 1.35
105 Obsoletes: boost-asio < 1.3.0
106 Obsoletes: boost-bind-devel < 1.35
107 Obsoletes: boost-call_traits-devel < 1.34.1-2
108 Obsoletes: boost-compatibility-devel < 1.35
109 Obsoletes: boost-compose-devel < 1.31
110 Obsoletes: boost-compressed_pair-devel < 1.35
111 Obsoletes: boost-concept_check-devel < 1.33.1-1
112 Obsoletes: boost-conversion-devel < 1.33.1-1
113 Obsoletes: boost-crc-devel < 1.35
114 Obsoletes: boost-date_time-devel < 1.35
115 Obsoletes: boost-filesystem-devel < 1.35
116 Obsoletes: boost-graph-devel < 1.35
117 Obsoletes: boost-mem_fn-devel < 1.33.1-1
118 Obsoletes: boost-mpl-devel < 1.33.1-1
119 Obsoletes: boost-preprocessor-devel < 1.33.1-1
120 Obsoletes: boost-program_options-devel < 1.35
121 Obsoletes: boost-ref-devel < 1.34.1-2
122 Obsoletes: boost-regex-devel < 1.35
123 Obsoletes: boost-signals-devel < 1.35
124 Obsoletes: boost-spirit-devel < 1.35
125 Obsoletes: boost-statechart-devel < 1.35
126 Obsoletes: boost-static_assert-devel < 1.33.1-1
127 Obsoletes: boost-test-devel < 1.35
128 Obsoletes: boost-thread-devel < 1.35
129 Obsoletes: boost-tr1-devel < 1.35
130 Obsoletes: boost-type_traits-devel < 1.33.1-1
131 Obsoletes: boost-typeof-devel < 1.35
132 Obsoletes: boost-uBLAS-devel < 1.35
133 Obsoletes: boost-utility-devel < 1.33.1-1
134 Obsoletes: boost-wave-devel < 1.35
135 Obsoletes: boost-xpressive-devel < 1.35
138 Header files for the Boost C++ libraries.
140 %description devel -l pl.UTF-8
141 Pliki nagłówkowe bibliotek C++ Boost.
144 Summary: Static version of base Boost C++ libraries
145 Summary(pl.UTF-8): Statyczne wersje podstawowych bibliotek C++ Boost
146 Group: Development/Libraries
147 Requires: %{name}-devel = %{version}-%{release}
148 Obsoletes: boost-date_time-static < 1.35
149 Obsoletes: boost-filesystem-static < 1.35
150 Obsoletes: boost-graph-static < 1.35
151 Obsoletes: boost-program_options-static < 1.35
152 Obsoletes: boost-regex-static < 1.35
153 Obsoletes: boost-signals-static < 1.35
154 Obsoletes: boost-test-static < 1.35
155 Obsoletes: boost-thread-static < 1.35
156 Obsoletes: boost-wave-static < 1.35
159 Static version of base Boost C++ libraries.
161 %description static -l pl.UTF-8
162 Statyczne wersje podstawowych bibliotek C++ Boost.
164 %package python-devel-common
165 Summary: Boost.Python development headers
166 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Boost.Python
167 Group: Development/Libraries
168 Requires: %{name}-devel = %{version}-%{release}
170 %description python-devel-common
171 Headers for the Boost.Python library.
173 %description python-devel-common -l pl.UTF-8
174 Pliki nagłówkowe biblioteki Boost.Python.
177 Summary: Boost.Python library for Python 2
178 Summary(pl.UTF-8): Biblioteka Boost.Python dla Pythona 2
180 Requires: python-libs
183 Use the Boost Python Library to quickly and easily export a C++
184 library to Python 2 such that the Python 2 interface is very similar
185 to the C++ interface. It is designed to be minimally intrusive on your
186 C++ design. In most cases, you should not have to alter your C++
187 classes in any way in order to use them with Boost.Python. The system
188 should simply ``reflect'' your C++ classes and functions into Python
191 %description python -l pl.UTF-8
192 Biblioteka Boost Python służy do szybkiego i prostego eksportu
193 biblioteki C++ do Pythona 2, tak że interfejs Pythona 2 jest bardzo
194 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
195 narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
196 większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
197 żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
198 klasy C++ i funkcje do Pythona 3.
200 %package python-devel
201 Summary: Boost.Python development files for Python 2
202 Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 2
203 Group: Development/Libraries
204 Requires: %{name}-devel = %{version}-%{release}
205 Requires: %{name}-python = %{version}-%{release}
206 Requires: %{name}-python-devel-common = %{version}-%{release}
208 %description python-devel
209 Boost.Python development files for Python 2.
211 %description python-devel -l pl.UTF-8
212 Pliki programistyczne biblioteki Boost.Python dla Pythona 2.
214 %package python-static
215 Summary: Static version of Boost.Python library for Python 2
216 Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 2
217 Group: Development/Libraries
218 Requires: %{name}-python-devel = %{version}-%{release}
220 %description python-static
221 Static version of Boost.Python library for Python 2.
223 %description python-static -l pl.UTF-8
224 Statyczna wersja biblioteki Boost.Python dla Pythona 2.
227 Summary: Boost.Python library for Python 3
228 Summary(pl.UTF-8): biblioteka Boost.Python dla Pythona 3
230 Requires: python3-libs
233 Use the Boost Python Library to quickly and easily export a C++
234 library to Python 3 such that the Python 3 interface is very similar
235 to the C++ interface. It is designed to be minimally intrusive on your
236 C++ design. In most cases, you should not have to alter your C++
237 classes in any way in order to use them with Boost.Python. The system
238 should simply ``reflect'' your C++ classes and functions into Python
241 %description python3 -l pl.UTF-8
242 Biblioteka Boost Python służy do szybkiego i prostego eksportu
243 biblioteki C++ do Pythona 3, tak że interfejs Pythona 3 jest bardzo
244 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
245 narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
246 większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
247 żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
248 klasy C++ i funkcje do Pythona 3.
250 %package python3-devel
251 Summary: Boost.Python development files for Python 3
252 Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 3
253 Group: Development/Libraries
254 Requires: %{name}-devel = %{version}-%{release}
255 Requires: %{name}-python-devel-common = %{version}-%{release}
256 Requires: %{name}-python3 = %{version}-%{release}
258 %description python3-devel
259 Boost.Python development files for Python 3.
261 %description python3-devel -l pl.UTF-8
262 Pliki programistyczne biblioteki Boost.Python dla Pythona 3.
264 %package python3-static
265 Summary: Static version of Boost.Python library for Python 3
266 Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 3
267 Group: Development/Libraries
268 Requires: %{name}-python3-devel = %{version}-%{release}
270 %description python3-static
271 Static version of Boost.Python library for Python 3.
273 %description python3-static -l pl.UTF-8
274 Statyczna wersja biblioteki Boost.Python dla Pythona 3.
277 Summary: Useful time utilities
278 Summary(pl.UTF-8): Przydatne funkcje związane z czasem
280 Obsoletes: boost < 1.33
283 Useful time utilities.
285 %description chrono -l pl.UTF-8
286 Przydatne funkcje związane z czasem.
289 Summary: Boost.Context - context switching library
290 Summary(pl.UTF-8): Boost.Context - biblioteka do zmiany kontekstu
294 Boost.Context - context switching library, providing a sort of
295 cooperative multitasking on a single thread.
297 %description context -l pl.UTF-8
298 Boost.Context - biblioteka do zmiany kontekstu, zapewniająca pewną
299 wielozadaniowość kooperatywnąw ramach pojedynczego wątku.
302 Summary: Date-Time library
303 Summary(pl.UTF-8): Biblioteka daty-czasu
305 Obsoletes: boost < 1.33
307 %description date_time
308 A set of date-time libraries.
310 %description date_time -l pl.UTF-8
311 Zbiór bibliotek daty-czasu.
314 Summary: A framework for micro-/userland-threads (fibers) scheduled cooperatively
315 Summary(pl.UTF-8): Szkielet mikrowątków przestrzeni użytkownika (fibers), szeregowanych kooperacyjnie
319 boost::fiber provides a framework for micro-/userland-threads (fibers)
320 scheduled cooperatively. The API contains classes and functions
321 to manage and synchronize fibers similiar to boost.thread.
323 %description fiber -l pl.UTF-8
324 boost::fiber to szkielt mikrowątków przestrzeni użytkownika (fibers)
325 szeregowanych kooperacyjnie. API zawiera klasy i funkcje służące do
326 zarządzania i synchronizacji wątków podobne do boost.thread.
329 Summary: Portable paths, iteration over directories, and other useful filesystem operations
330 Summary(pl.UTF-8): Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików
332 Requires: %{name}-system = %{version}-%{release}
333 Obsoletes: boost < 1.33
335 %description filesystem
336 The boost::filesystem library provides portable facilities to query
337 and manipulate paths, files, and directories.
339 %description filesystem -l pl.UTF-8
340 Przenośna biblioteka boost::filesystem dostarcza ułatwienia w
341 operacjach na ścieżkach, plikach i katalogach.
344 Summary: General purpose, generic C++ library for graph data structures and graph algorithms
345 Summary(pl.UTF-8): Biblioteka ogólnego przeznaczenia w C++ dla struktur danych typu grafy oraz algorytmów związanych z grafami
349 The boost::graph library provides portable facilities to operate on
350 graph data structures using graph algorithms.
352 %description graph -l pl.UTF-8
353 Przenośna biblioteka boost::graph dostarcza ułatwienia w operacjach na
354 strukturach danych typu graf za pomocą algorytmów związanych z
358 Summary: Boost.JSON - a portable C++ JSON library
359 Summary(pl.UTF-8): Boost.JSON - przenośna biblioteka C++ dla formatu JSON
360 Group: Development/Libraries
363 Boost.JSON is a portable C++ library which provides containers and
364 algorithms that implement JavaScript Object Notation, or simply
365 "JSON", a lightweight data-interchange format.
367 %description json -l pl.UTF-8
368 Boost.JSON to przenośna biblioteka C++, która dostarcza kontenery oraz
369 algorytmy implementujące JavaScript Object Notation, lub po prostu
370 "JSON", lekki format wymiany danych.
373 Summary: Provide localization and Unicode handling tools for C++
374 Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++
378 Provide localization and Unicode handling tools for C++.
380 %description locale -l pl.UTF-8
381 Narzędzia do obsługi lokalizacji i Unikodu w C++.
384 Summary: Provide logging tools for C++
385 Summary(pl.UTF-8): Narzędzia do logowania w C++
389 Provide logging tools for C++.
391 %description log -l pl.UTF-8
392 Narzędzia do logowania w C++.
394 %package program_options
395 Summary: Access to program options, via conventional methods such as command line and config file
396 Summary(pl.UTF-8): Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny
399 %description program_options
400 The program_options library allows program developers to obtain
401 program options, that is (name, value) pairs from the user, via
402 conventional methods such as command line and config file.
404 %description program_options -l pl.UTF-8
405 Biblioteka program_options umożliwia uzyskanie od użytkownika opcji
406 programu, czyli par (nazwa, wartość), za pomocą typowych metod, takich
407 jak linia poleceń, czy plik konfiguracyjny.
410 Summary: Boost C++ regular expressions library
411 Summary(pl.UTF-8): Biblioteka wyrażeń regularnych Boost C++
415 Shared library for Boost C++ regular expressions.
417 %description regex -l pl.UTF-8
418 Biblioteka współdzielona do obsługi wyrażeń regularnych w C++.
421 Summary: Support for getting system specific error codes
422 Summary(pl.UTF-8): Wsparcie dla pobierania specyficznych dla systemu kodów błędów
426 The Boost System library provides simple, light-weight error_code
427 objects that encapsulate system-specific error code values, yet also
428 provide access to more abstract and portable error conditions objects.
430 %description system -l pl.UTF-8
431 Biblioteka Boost System udostępnia proste, lekkie obiekty error_code
432 obudowujące wartości kodów błędów specyficznych dla systemu, dając
433 jednocześnie dostęp do bardziej abstrakcyjnych i przenośnych obiektów
437 Summary: Support for program testing and execution monitoring
438 Summary(pl.UTF-8): Wsparcie dla testowania i monitorowania programu
440 Obsoletes: boost < 1.33
443 Support for simple program testing, full unit testing, and for program
444 execution monitoring.
446 %description test -l pl.UTF-8
447 Wsparcie dla prostego testowania programu, pełnego testowania i
448 monitorowania wykonania programu.
451 Summary: Portable C++ threads library
452 Summary(pl.UTF-8): Przenośna biblioteka wątków C++
454 Obsoletes: boost < 1.33
457 Portable C++ threads library - shared library.
459 %description thread -l pl.UTF-8
460 Przenośna biblioteka wątków dla C++ - biblioteka dzielona.
463 Summary: Event timer, progress timer, and progress display classes
464 Summary(pl.UTF-8): Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu
466 Obsoletes: boost < 1.33
469 Event timer, progress timer, and progress display classes.
471 %description timer -l pl.UTF-8
472 Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu.
475 Summary: Boost.Wave - a standard compliant C++ preprocessor library
476 Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
477 Group: Development/Libraries
480 Boost.Wave - a standard compliant C++ preprocessor library.
482 %description wave -l pl.UTF-8
483 Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
486 Summary: Boost C++ Library documentation
487 Summary(pl.UTF-8): Dokumentacja dla biblioteki Boost C++
492 Documentation for the Boost C++ Library.
494 %description doc -l pl.UTF-8
495 Dokumentacja dla biblioteki Boost C++.
498 %setup -q -n %{name}_%{fver}
507 %if "%{cc_version}" < "6.0"
512 cat << EOF > tools/build/src/user-config.jam
513 using gcc : %{cxx_version} : %{__cxx} : <cflags>"%{rpmcflags} -fPIC" <cxxflags>"%{rpmcxxflags} $CPPSTD -fPIC" <linkflags>"%{rpmldflags}" ;
516 # cleanup backups after patching
517 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
520 EXPAT_INCLUDE=%{_includedir} \
521 EXPAT_LIBPATH=%{_libdir} \
522 ICU_PATH=%{_prefix} \
524 --prefix=%{_prefix} \
525 -without-libraries=python
527 # x32 detection need help (it's autodetected as address-model=32 abi=sysv, while context build expects address-model=64 abi=x32)
529 %{?__jobs:-j %{__jobs}} \
542 echo "using python : %{py3_ver} : %{py3_prefix} : %{py3_incdir} : : : : %{py3v_suffix} ;" >> project-config.jam
544 %{?__jobs:-j %{__jobs}} \
545 --with-python python=%{py3_ver} \
546 -a -d2 --toolset=gcc \
555 %{__sed} -i -e '/^using python : 3/d' project-config.jam
556 echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-config.jam
558 %{?__jobs:-j %{__jobs}} \
559 --with-python python=%{py_ver} \
560 -a -d2 --toolset=gcc \
569 rm -rf $RPM_BUILD_ROOT
570 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
572 cp -rf boost $RPM_BUILD_ROOT%{_includedir}
574 install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir}
575 install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
576 cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir}
580 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
582 # as the documentation doesn't completely reside in a directory of its
583 # own, we need to find out ourselves... this looks for HTML files and
584 # then collects everything linked from those. this is certainly quite
585 # unoptimized wrt mkdir calls, but does it really matter?
587 for i in $(find -type f -name '*.htm*'); do
588 # bjam docu is included in the boost-jam RPM
589 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
590 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/${i%/*}
591 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
595 # rewrite links from boost/* to %{_includedir}/boost/* and
596 # ignore external links as well as document-internal ones.
597 # HTML files are also ignored as they get installed anyway.
598 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
600 (my $file = $link) =~ s/\#.*//;
606 open OUT, ">@ARGV[1]";
610 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
611 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
613 $in_link = /href|src=\s*$/;
616 TARGET=${i%/*}/$LINKED
617 # ignore non-existant linked files
618 if test -f $TARGET; then
619 install -D -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
628 rm -rf $RPM_BUILD_ROOT
630 %post -p /sbin/ldconfig
631 %postun -p /sbin/ldconfig
633 %post chrono -p /sbin/ldconfig
634 %postun chrono -p /sbin/ldconfig
636 %post context -p /sbin/ldconfig
637 %postun context -p /sbin/ldconfig
639 %post date_time -p /sbin/ldconfig
640 %postun date_time -p /sbin/ldconfig
642 %post fiber -p /sbin/ldconfig
643 %postun fiber -p /sbin/ldconfig
645 %post filesystem -p /sbin/ldconfig
646 %postun filesystem -p /sbin/ldconfig
648 %post graph -p /sbin/ldconfig
649 %postun graph -p /sbin/ldconfig
651 %post json -p /sbin/ldconfig
652 %postun json -p /sbin/ldconfig
654 %post locale -p /sbin/ldconfig
655 %postun locale -p /sbin/ldconfig
657 %post python -p /sbin/ldconfig
658 %postun python -p /sbin/ldconfig
660 %post python3 -p /sbin/ldconfig
661 %postun python3 -p /sbin/ldconfig
663 %post program_options -p /sbin/ldconfig
664 %postun program_options -p /sbin/ldconfig
666 %post regex -p /sbin/ldconfig
667 %postun regex -p /sbin/ldconfig
669 %post system -p /sbin/ldconfig
670 %postun system -p /sbin/ldconfig
672 %post test -p /sbin/ldconfig
673 %postun test -p /sbin/ldconfig
675 %post thread -p /sbin/ldconfig
676 %postun thread -p /sbin/ldconfig
678 %post timer -p /sbin/ldconfig
679 %postun timer -p /sbin/ldconfig
681 %post wave -p /sbin/ldconfig
682 %postun wave -p /sbin/ldconfig
685 %defattr(644,root,root,755)
686 %attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.*
687 %attr(755,root,root) %{_libdir}/libboost_container.so.*.*.*
688 %attr(755,root,root) %{_libdir}/libboost_contract.so.*.*.*
689 %attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.*
690 %attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.*
691 %attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.*
692 %attr(755,root,root) %{_libdir}/libboost_nowide.so.*.*.*
693 %attr(755,root,root) %{_libdir}/libboost_random.so.*.*.*
694 %attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.*
695 %attr(755,root,root) %{_libdir}/libboost_stacktrace_*.so.*.*.*
696 %attr(755,root,root) %{_libdir}/libboost_type_erasure.so.*.*.*
697 %attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.*
700 %defattr(644,root,root,755)
701 %attr(755,root,root) %{_libdir}/libboost_atomic.so
702 %attr(755,root,root) %{_libdir}/libboost_chrono.so
703 %attr(755,root,root) %{_libdir}/libboost_container.so
704 %attr(755,root,root) %{_libdir}/libboost_context.so
705 %attr(755,root,root) %{_libdir}/libboost_contract.so
706 %attr(755,root,root) %{_libdir}/libboost_coroutine.so
707 %attr(755,root,root) %{_libdir}/libboost_date_time.so
708 %attr(755,root,root) %{_libdir}/libboost_fiber.so
709 %attr(755,root,root) %{_libdir}/libboost_filesystem.so
710 %attr(755,root,root) %{_libdir}/libboost_graph.so
711 %attr(755,root,root) %{_libdir}/libboost_iostreams.so
712 %attr(755,root,root) %{_libdir}/libboost_json.so
713 %attr(755,root,root) %{_libdir}/libboost_locale.so
714 %attr(755,root,root) %{_libdir}/libboost_log.so
715 %attr(755,root,root) %{_libdir}/libboost_log_setup.so
716 %attr(755,root,root) %{_libdir}/libboost_math_*.so
717 %attr(755,root,root) %{_libdir}/libboost_nowide.so
718 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so
719 %attr(755,root,root) %{_libdir}/libboost_program_options.so
720 %attr(755,root,root) %{_libdir}/libboost_regex.so
721 %attr(755,root,root) %{_libdir}/libboost_random.so
722 %attr(755,root,root) %{_libdir}/libboost_serialization.so
723 %attr(755,root,root) %{_libdir}/libboost_stacktrace_*.so
724 %attr(755,root,root) %{_libdir}/libboost_system.so
725 %attr(755,root,root) %{_libdir}/libboost_thread.so
726 %attr(755,root,root) %{_libdir}/libboost_timer.so
727 %attr(755,root,root) %{_libdir}/libboost_type_erasure.so
728 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so
729 %attr(755,root,root) %{_libdir}/libboost_wave.so
730 %attr(755,root,root) %{_libdir}/libboost_wserialization.so
732 %exclude %{_includedir}/boost/python
733 %exclude %{_includedir}/boost/python.hpp
736 %defattr(644,root,root,755)
737 %{_libdir}/libboost_atomic.a
738 %{_libdir}/libboost_chrono.a
739 %{_libdir}/libboost_container.a
740 %{_libdir}/libboost_context.a
741 %{_libdir}/libboost_contract.a
742 %{_libdir}/libboost_coroutine.a
743 %{_libdir}/libboost_date_time.a
744 %{_libdir}/libboost_exception.a
745 %{_libdir}/libboost_fiber.a
746 %{_libdir}/libboost_filesystem.a
747 %{_libdir}/libboost_graph.a
748 %{_libdir}/libboost_iostreams.a
749 %{_libdir}/libboost_json.a
750 %{_libdir}/libboost_locale.a
751 %{_libdir}/libboost_log.a
752 %{_libdir}/libboost_log_setup.a
753 %{_libdir}/libboost_math_*.a
754 %{_libdir}/libboost_nowide.a
755 %{_libdir}/libboost_prg_exec_monitor.a
756 %{_libdir}/libboost_program_options.a
757 %{_libdir}/libboost_random.a
758 %{_libdir}/libboost_regex.a
759 %{_libdir}/libboost_serialization.a
760 %{_libdir}/libboost_stacktrace_*.a
761 %{_libdir}/libboost_system.a
762 %{_libdir}/libboost_test_exec_monitor.a
763 %{_libdir}/libboost_timer.a
764 %{_libdir}/libboost_thread.a
765 %{_libdir}/libboost_type_erasure.a
766 %{_libdir}/libboost_unit_test_framework.a
767 %{_libdir}/libboost_wave.a
768 %{_libdir}/libboost_wserialization.a
770 %if %{with python2} || %{with python3}
771 %files python-devel-common
772 %defattr(644,root,root,755)
773 %{_includedir}/boost/python
774 %{_includedir}/boost/python.hpp
779 %defattr(644,root,root,755)
781 %attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so.*.*.*
783 %attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so.*.*.*
786 %defattr(644,root,root,755)
788 %attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so
790 %attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so
793 %defattr(644,root,root,755)
795 %{_libdir}/libboost_numpy%{py2v}.a
797 %{_libdir}/libboost_python%{py2v}.a
802 %defattr(644,root,root,755)
804 %attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so.*.*.*
806 %attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so.*.*.*
809 %defattr(644,root,root,755)
811 %attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so
813 %attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so
815 %files python3-static
816 %defattr(644,root,root,755)
818 %{_libdir}/libboost_numpy%{py3v}.a
820 %{_libdir}/libboost_python%{py3v}.a
824 %defattr(644,root,root,755)
825 %attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.*
828 %defattr(644,root,root,755)
829 %attr(755,root,root) %{_libdir}/libboost_context.so.*.*.*
832 %defattr(644,root,root,755)
833 %attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
836 %defattr(644,root,root,755)
837 %attr(755,root,root) %{_libdir}/libboost_fiber.so.*.*.*
840 %defattr(644,root,root,755)
841 %attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.*
844 %defattr(644,root,root,755)
845 %attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.*
848 %defattr(644,root,root,755)
849 %attr(755,root,root) %{_libdir}/libboost_json.so.*.*.*
852 %defattr(644,root,root,755)
853 %attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.*
856 %defattr(644,root,root,755)
857 %attr(755,root,root) %{_libdir}/libboost_log.so.*.*.*
858 %attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.*
860 %files program_options
861 %defattr(644,root,root,755)
862 %attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.*
865 %defattr(644,root,root,755)
866 %attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.*
869 %defattr(644,root,root,755)
870 %attr(755,root,root) %{_libdir}/libboost_system.so.*.*.*
873 %defattr(644,root,root,755)
874 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.*
875 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.*
878 %defattr(644,root,root,755)
879 %attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.*
882 %defattr(644,root,root,755)
883 %attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.*
886 %defattr(644,root,root,755)
887 %attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.*
891 %defattr(644,root,root,755)
892 %{_docdir}/%{name}-%{version}