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
11 %define fver %(echo %{version} | tr . _)
12 Summary: The Boost C++ Libraries
13 Summary(pl.UTF-8): Biblioteki C++ "Boost"
17 License: Boost Software License and others
19 Source0: http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2
20 # Source0-md5: 1c837ecd990bb022d07e7aab32b09847
21 Patch0: %{name}-link.patch
22 Patch1: %{name}-x32-context.patch
23 Patch2: %{name}-clean-gcc-flags.patch
24 Patch3: %{name}-numpy3.patch
26 Patch201: %{name}-python-abi_letters.patch
27 # https://github.com/boostorg/build/issues/163
28 Patch202: %{name}-dual-python-build.patch
29 # https://svn.boost.org/trac/boost/ticket/5637
30 Patch203: %{name}-1.54.0-mpl-print.patch
31 # https://svn.boost.org/trac/boost/ticket/8881
32 Patch221: %{name}-1.54.0-mpi-unused_typedef.patch
33 URL: http://www.boost.org/
34 BuildRequires: bzip2-devel
35 BuildRequires: expat-devel
36 BuildRequires: libicu-devel
37 BuildRequires: libstdc++-devel
38 BuildRequires: perl-base
40 BuildRequires: python-devel >= 2.2
41 %{?with_numpy:BuildRequires: python-numpy-devel}
44 BuildRequires: python3-devel
45 %{?with_numpy:BuildRequires: python3-numpy-devel}
47 BuildRequires: rpm-pythonprov
48 BuildRequires: zlib-devel
49 BuildConflicts: gcc = 5:3.3.1
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 %define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1
54 # __once_call, __once_callable non-function symbols from libstdc++
55 %define skip_post_check_so libboost_context.so.* libboost_fiber.so.*
58 The Boost web site provides free peer-reviewed portable C++ source
59 libraries. The emphasis is on libraries which work well with the C++
60 Standard Library. One goal is to establish "existing practice" and
61 provide reference implementations so that the Boost libraries are
62 suitable for eventual standardization. Some of the libraries have
63 already been proposed for inclusion in the C++ Standards Committee's
64 upcoming C++ Standard Library Technical Report.
66 %description -l pl.UTF-8
67 Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z
68 kodem źródłowym. Nacisk położono na biblioteki, które dobrze
69 współpracują ze standardową biblioteką C++. Celem jest ustanowienie
70 "istniejącej praktyki" i dostarczenie implementacji, tak że biblioteki
71 "Boost" nadają się do ewentualnej standaryzacji. Niektóre z bibliotek
72 już zostały zgłoszone do komitetu standaryzacyjnego C++ w nadchodzącym
73 Raporcie Technicznym Biblioteki Standardowej C++.
76 Summary: Boost C++ development headers
77 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek C++ Boost
78 Group: Development/Libraries
79 Requires: %{name} = %{version}-%{release}
80 Requires: %{name}-chrono = %{version}-%{release}
81 Requires: %{name}-context = %{version}-%{release}
82 Requires: %{name}-date_time = %{version}-%{release}
83 Requires: %{name}-fiber = %{version}-%{release}
84 Requires: %{name}-filesystem = %{version}-%{release}
85 Requires: %{name}-graph = %{version}-%{release}
86 Requires: %{name}-locale = %{version}-%{release}
87 Requires: %{name}-log = %{version}-%{release}
88 Requires: %{name}-program_options = %{version}-%{release}
89 Requires: %{name}-regex = %{version}-%{release}
90 Requires: %{name}-signals = %{version}-%{release}
91 Requires: %{name}-system = %{version}-%{release}
92 Requires: %{name}-test = %{version}-%{release}
93 Requires: %{name}-thread = %{version}-%{release}
94 Requires: %{name}-timer = %{version}-%{release}
95 Requires: %{name}-wave = %{version}-%{release}
96 Requires: libstdc++-devel
97 Obsoletes: boost-any-devel
98 Obsoletes: boost-array-devel
100 Obsoletes: boost-bind-devel
101 Obsoletes: boost-call_traits-devel
102 Obsoletes: boost-compatibility-devel
103 Obsoletes: boost-compose-devel
104 Obsoletes: boost-compressed_pair-devel
105 Obsoletes: boost-concept_check-devel
106 Obsoletes: boost-conversion-devel
107 Obsoletes: boost-crc-devel
108 Obsoletes: boost-date_time-devel
109 Obsoletes: boost-filesystem-devel
110 Obsoletes: boost-graph-devel
111 Obsoletes: boost-mem_fn-devel
112 Obsoletes: boost-mpl-devel
113 Obsoletes: boost-preprocessor-devel
114 Obsoletes: boost-program_options-devel
115 Obsoletes: boost-ref-devel
116 Obsoletes: boost-regex-devel
117 Obsoletes: boost-signals-devel
118 Obsoletes: boost-spirit-devel
119 Obsoletes: boost-statechart-devel
120 Obsoletes: boost-static_assert-devel
121 Obsoletes: boost-test-devel
122 Obsoletes: boost-thread-devel
123 Obsoletes: boost-tr1-devel
124 Obsoletes: boost-type_traits-devel
125 Obsoletes: boost-typeof-devel
126 Obsoletes: boost-uBLAS-devel
127 Obsoletes: boost-utility-devel
128 Obsoletes: boost-wave-devel
129 Obsoletes: boost-xpressive-devel
132 Header files for the Boost C++ libraries.
134 %description devel -l pl.UTF-8
135 Pliki nagłówkowe bibliotek C++ Boost.
138 Summary: Static version of base Boost C++ libraries
139 Summary(pl.UTF-8): Statyczne wersje podstawowych bibliotek C++ Boost
140 Group: Development/Libraries
141 Requires: %{name}-devel = %{version}-%{release}
142 Obsoletes: boost-static < 1.33
145 Static version of base Boost C++ libraries.
147 %description static -l pl.UTF-8
148 Statyczne wersje podstawowych bibliotek C++ Boost.
150 %package python-devel-common
151 Summary: Boost.Python development headers
152 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Boost.Python
153 Group: Development/Libraries
154 Requires: %{name}-devel = %{version}-%{release}
156 %description python-devel-common
157 Headers for the Boost.Python library.
159 %description python-devel-common -l pl.UTF-8
160 Pliki nagłówkowe biblioteki Boost.Python.
163 Summary: Boost.Python library for Python 2
164 Summary(pl.UTF-8): Biblioteka Boost.Python dla Pythona 2
166 Requires: python-libs
169 Use the Boost Python Library to quickly and easily export a C++
170 library to Python 2 such that the Python 2 interface is very similar
171 to the C++ interface. It is designed to be minimally intrusive on your
172 C++ design. In most cases, you should not have to alter your C++
173 classes in any way in order to use them with Boost.Python. The system
174 should simply ``reflect'' your C++ classes and functions into Python
177 %description python -l pl.UTF-8
178 Biblioteka Boost Python służy do szybkiego i prostego eksportu
179 biblioteki C++ do Pythona 2, tak że interfejs Pythona 2 jest bardzo
180 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
181 narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
182 większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
183 żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
184 klasy C++ i funkcje do Pythona 3.
186 %package python-devel
187 Summary: Boost.Python development files for Python 2
188 Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 2
189 Group: Development/Libraries
190 Requires: %{name}-devel = %{version}-%{release}
191 Requires: %{name}-python = %{version}-%{release}
192 Requires: %{name}-python-devel-common = %{version}-%{release}
194 %description python-devel
195 Boost.Python development files for Python 2.
197 %description python-devel -l pl.UTF-8
198 Pliki programistyczne biblioteki Boost.Python dla Pythona 2.
200 %package python-static
201 Summary: Static version of Boost.Python library for Python 2
202 Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 2
203 Group: Development/Libraries
204 Requires: %{name}-python-devel = %{version}-%{release}
206 %description python-static
207 Static version of Boost.Python library for Python 2.
209 %description python-static -l pl.UTF-8
210 Statyczna wersja biblioteki Boost.Python dla Pythona 2.
213 Summary: Boost.Python library for Python 3
214 Summary(pl.UTF-8): biblioteka Boost.Python dla Pythona 3
216 Requires: python3-libs
219 Use the Boost Python Library to quickly and easily export a C++
220 library to Python 3 such that the Python 3 interface is very similar
221 to the C++ interface. It is designed to be minimally intrusive on your
222 C++ design. In most cases, you should not have to alter your C++
223 classes in any way in order to use them with Boost.Python. The system
224 should simply ``reflect'' your C++ classes and functions into Python
227 %description python3 -l pl.UTF-8
228 Biblioteka Boost Python służy do szybkiego i prostego eksportu
229 biblioteki C++ do Pythona 3, tak że interfejs Pythona 3 jest bardzo
230 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
231 narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
232 większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
233 żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
234 klasy C++ i funkcje do Pythona 3.
236 %package python3-devel
237 Summary: Boost.Python development files for Python 3
238 Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 3
239 Group: Development/Libraries
240 Requires: %{name}-devel = %{version}-%{release}
241 Requires: %{name}-python-devel-common = %{version}-%{release}
242 Requires: %{name}-python3 = %{version}-%{release}
244 %description python3-devel
245 Boost.Python development files for Python 3.
247 %description python3-devel -l pl.UTF-8
248 Pliki programistyczne biblioteki Boost.Python dla Pythona 3.
250 %package python3-static
251 Summary: Static version of Boost.Python library for Python 3
252 Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 3
253 Group: Development/Libraries
254 Requires: %{name}-python3-devel = %{version}-%{release}
256 %description python3-static
257 Static version of Boost.Python library for Python 3.
259 %description python3-static -l pl.UTF-8
260 Statyczna wersja biblioteki Boost.Python dla Pythona 3.
263 Summary: Useful time utilities
264 Summary(pl.UTF-8): Przydatne funkcje związane z czasem
266 Obsoletes: boost < 1.33
269 Useful time utilities.
271 %description chrono -l pl.UTF-8
272 Przydatne funkcje związane z czasem.
275 Summary: Boost.Context - context switching library
276 Summary(pl.UTF-8): Boost.Context - biblioteka do zmiany kontekstu
280 Boost.Context - context switching library, providing a sort of
281 cooperative multitasking on a single thread.
283 %description context -l pl.UTF-8
284 Boost.Context - biblioteka do zmiany kontekstu, zapewniająca pewną
285 wielozadaniowość kooperatywnąw ramach pojedynczego wątku.
288 Summary: Date-Time library
289 Summary(pl.UTF-8): Biblioteka daty-czasu
291 Obsoletes: boost < 1.33
293 %description date_time
294 A set of date-time libraries.
296 %description date_time -l pl.UTF-8
297 Zbiór bibliotek daty-czasu.
300 Summary: A framework for micro-/userland-threads (fibers) scheduled cooperatively
304 boost::fiber provides a framework for micro-/userland-threads (fibers)
305 scheduled cooperatively. The API contains classes and functions
306 to manage and synchronize fibers similiar to boost.thread.
309 Summary: Portable paths, iteration over directories, and other useful filesystem operations
310 Summary(pl.UTF-8): Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików
312 Requires: %{name}-system = %{version}-%{release}
313 Obsoletes: boost < 1.33
315 %description filesystem
316 The boost::filesystem library provides portable facilities to query
317 and manipulate paths, files, and directories.
319 %description filesystem -l pl.UTF-8
320 Przenośna biblioteka boost::filesystem dostarcza ułatwienia w
321 operacjach na ścieżkach, plikach i katalogach.
324 Summary: General purpose, generic C++ library for graph data structures and graph algorithms
325 Summary(pl.UTF-8): Biblioteka ogólnego przeznaczenia w C++ dla struktur danych typu grafy oraz algorytmów związanych z grafami
329 The boost::graph library provides portable facilities to operate on
330 graph data structures using graph algorithms.
332 %description graph -l pl.UTF-8
333 Przenośna biblioteka boost::graph dostarcza ułatwienia w operacjach na
334 strukturach danych typu graf za pomocą algorytmów związanych z
338 Summary: Provide localization and Unicode handling tools for C++
339 Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++
343 Provide localization and Unicode handling tools for C++.
345 %description locale -l pl.UTF-8
346 Narzędzia do obsługi lokalizacji i Unikodu w C++.
349 Summary: Provide logging tools for C++
350 Summary(pl.UTF-8): Narzędzia do logowania w C++
354 Provide logging tools for C++.
356 %description log -l pl.UTF-8
357 Narzędzia do logowania w C++.
359 %package program_options
360 Summary: Access to program options, via conventional methods such as command line and config file
361 Summary(pl.UTF-8): Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny
364 %description program_options
365 The program_options library allows program developers to obtain
366 program options, that is (name, value) pairs from the user, via
367 conventional methods such as command line and config file.
369 %description program_options -l pl.UTF-8
370 Biblioteka program_options umożliwia uzyskanie od użytkownika opcji
371 programu, czyli par (nazwa, wartość), za pomocą typowych metod, takich
372 jak linia poleceń, czy plik konfiguracyjny.
375 Summary: Boost C++ regular expressions library
376 Summary(pl.UTF-8): Biblioteka wyrażeń regularnych Boost C++
380 Shared library for Boost C++ regular expressions.
382 %description regex -l pl.UTF-8
383 Biblioteka współdzielona do obsługi wyrażeń regularnych w C++.
386 Summary: Signals & slots callback implementation
387 Summary(pl.UTF-8): Implementacja sygnałów i slotów
389 Obsoletes: boost < 1.33
392 The boost::signals library is an implementation of a signals and slots
395 %description signals -l pl.UTF-8
396 Biblioteka boost::signals jest implementacją systemu sygnałów i
400 Summary: Support for getting system specific error codes
401 Summary(pl.UTF-8): Wsparcie dla pobierania specyficznych dla systemu kodów błędów
405 The Boost System library provides simple, light-weight error_code
406 objects that encapsulate system-specific error code values, yet also
407 provide access to more abstract and portable error conditions objects.
409 %description system -l pl.UTF-8
410 Biblioteka Boost System udostępnia proste, lekkie obiekty error_code
411 obudowujące wartości kodów błędów specyficznych dla systemu, dając
412 jednocześnie dostęp do bardziej abstrakcyjnych i przenośnych obiektów
416 Summary: Support for program testing and execution monitoring
417 Summary(pl.UTF-8): Wsparcie dla testowania i monitorowania programu
419 Obsoletes: boost < 1.33
422 Support for simple program testing, full unit testing, and for program
423 execution monitoring.
425 %description test -l pl.UTF-8
426 Wsparcie dla prostego testowania programu, pełnego testowania i
427 monitorowania wykonania programu.
430 Summary: Portable C++ threads library
431 Summary(pl.UTF-8): Przenośna biblioteka wątków C++
433 Obsoletes: boost < 1.33
436 Portable C++ threads library - shared library.
438 %description thread -l pl.UTF-8
439 Przenośna biblioteka wątków dla C++ - biblioteka dzielona.
442 Summary: Event timer, progress timer, and progress display classes
443 Summary(pl.UTF-8): Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu
445 Obsoletes: boost < 1.33
448 Event timer, progress timer, and progress display classes.
450 %description timer -l pl.UTF-8
451 Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu.
454 Summary: Boost.Wave - a standard compliant C++ preprocessor library
455 Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
456 Group: Development/Libraries
459 Boost.Wave - a standard compliant C++ preprocessor library.
461 %description wave -l pl.UTF-8
462 Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
465 Summary: Boost C++ Library documentation
466 Summary(pl.UTF-8): Dokumentacja dla biblioteki Boost C++
468 %if "%{_rpmversion}" >= "5"
473 Documentation for the Boost C++ Library.
475 %description doc -l pl.UTF-8
476 Dokumentacja dla biblioteki Boost C++.
479 %setup -q -n %{name}_%{fver}
490 cat << EOF > tools/build/src/user-config.jam
491 using gcc : %{cxx_version} : %{__cxx} : <cflags>"%{rpmcflags} -fPIC" <cxxflags>"%{rpmcxxflags} -fPIC" <linkflags>"%{rpmldflags}" ;
494 # cleanup backups after patching
495 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
498 EXPAT_INCLUDE=%{_includedir} \
499 EXPAT_LIBPATH=%{_libdir} \
500 ICU_PATH=%{_prefix} \
502 --prefix=%{_prefix} \
503 -without-libraries=python
514 echo "using python : %{py3_ver} : %{py3_prefix} : %{py3_incdir} : : : : m ;" >> project-config.jam
516 --with-python python=%{py3_ver} \
517 -a -d2 --toolset=gcc \
526 %{__sed} -i -e '/^using python : 3/d' project-config.jam
527 echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-config.jam
529 --with-python python=%{py_ver} \
530 -a -d2 --toolset=gcc \
539 rm -rf $RPM_BUILD_ROOT
540 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
542 cp -rf boost $RPM_BUILD_ROOT%{_includedir}
544 install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir}
545 install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
546 cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir}
549 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
551 # as the documentation doesn't completely reside in a directory of its
552 # own, we need to find out ourselves... this looks for HTML files and
553 # then collects everything linked from those. this is certainly quite
554 # unoptimized wrt mkdir calls, but does it really matter?
556 for i in $(find -type f -name '*.htm*'); do
557 # bjam docu is included in the boost-jam RPM
558 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
559 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/${i%/*}
560 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
564 # rewrite links from boost/* to %{_includedir}/boost/* and
565 # ignore external links as well as document-internal ones.
566 # HTML files are also ignored as they get installed anyway.
567 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
569 (my $file = $link) =~ s/\#.*//;
575 open OUT, ">@ARGV[1]";
579 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
580 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
582 $in_link = /href|src=\s*$/;
585 TARGET=${i%/*}/$LINKED
586 # ignore non-existant linked files
587 if test -f $TARGET; then
588 install -D -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
596 rm -rf $RPM_BUILD_ROOT
598 %post -p /sbin/ldconfig
599 %postun -p /sbin/ldconfig
601 %post chrono -p /sbin/ldconfig
602 %postun chrono -p /sbin/ldconfig
604 %post context -p /sbin/ldconfig
605 %postun context -p /sbin/ldconfig
607 %post date_time -p /sbin/ldconfig
608 %postun date_time -p /sbin/ldconfig
610 %post fiber -p /sbin/ldconfig
611 %postun fiber -p /sbin/ldconfig
613 %post filesystem -p /sbin/ldconfig
614 %postun filesystem -p /sbin/ldconfig
616 %post graph -p /sbin/ldconfig
617 %postun graph -p /sbin/ldconfig
619 %post locale -p /sbin/ldconfig
620 %postun locale -p /sbin/ldconfig
622 %post python -p /sbin/ldconfig
623 %postun python -p /sbin/ldconfig
625 %post python3 -p /sbin/ldconfig
626 %postun python3 -p /sbin/ldconfig
628 %post program_options -p /sbin/ldconfig
629 %postun program_options -p /sbin/ldconfig
631 %post regex -p /sbin/ldconfig
632 %postun regex -p /sbin/ldconfig
634 %post signals -p /sbin/ldconfig
635 %postun signals -p /sbin/ldconfig
637 %post system -p /sbin/ldconfig
638 %postun system -p /sbin/ldconfig
640 %post test -p /sbin/ldconfig
641 %postun test -p /sbin/ldconfig
643 %post thread -p /sbin/ldconfig
644 %postun thread -p /sbin/ldconfig
646 %post timer -p /sbin/ldconfig
647 %postun timer -p /sbin/ldconfig
649 %post wave -p /sbin/ldconfig
650 %postun wave -p /sbin/ldconfig
653 %defattr(644,root,root,755)
654 %attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.*
655 %attr(755,root,root) %{_libdir}/libboost_container.so.*.*.*
656 %attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.*
657 %attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.*
658 %attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.*
659 %attr(755,root,root) %{_libdir}/libboost_random.so.*.*.*
660 %attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.*
661 %attr(755,root,root) %{_libdir}/libboost_type_erasure.so.*.*.*
662 %attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.*
665 %defattr(644,root,root,755)
666 %attr(755,root,root) %{_libdir}/libboost_atomic.so
667 %attr(755,root,root) %{_libdir}/libboost_chrono.so
668 %attr(755,root,root) %{_libdir}/libboost_container.so
669 %attr(755,root,root) %{_libdir}/libboost_context.so
670 %attr(755,root,root) %{_libdir}/libboost_coroutine.so
671 %attr(755,root,root) %{_libdir}/libboost_date_time.so
672 %attr(755,root,root) %{_libdir}/libboost_fiber.so
673 %attr(755,root,root) %{_libdir}/libboost_filesystem.so
674 %attr(755,root,root) %{_libdir}/libboost_graph.so
675 %attr(755,root,root) %{_libdir}/libboost_iostreams.so
676 %attr(755,root,root) %{_libdir}/libboost_locale.so
677 %attr(755,root,root) %{_libdir}/libboost_log.so
678 %attr(755,root,root) %{_libdir}/libboost_log_setup.so
679 %attr(755,root,root) %{_libdir}/libboost_math_*.so
680 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so
681 %attr(755,root,root) %{_libdir}/libboost_program_options.so
682 %attr(755,root,root) %{_libdir}/libboost_regex.so
683 %attr(755,root,root) %{_libdir}/libboost_random.so
684 %attr(755,root,root) %{_libdir}/libboost_serialization.so
685 %attr(755,root,root) %{_libdir}/libboost_signals.so
686 %attr(755,root,root) %{_libdir}/libboost_system.so
687 %attr(755,root,root) %{_libdir}/libboost_thread.so
688 %attr(755,root,root) %{_libdir}/libboost_timer.so
689 %attr(755,root,root) %{_libdir}/libboost_type_erasure.so
690 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so
691 %attr(755,root,root) %{_libdir}/libboost_wave.so
692 %attr(755,root,root) %{_libdir}/libboost_wserialization.so
694 %exclude %{_includedir}/boost/python
695 %exclude %{_includedir}/boost/python.hpp
698 %defattr(644,root,root,755)
699 %{_libdir}/libboost_atomic.a
700 %{_libdir}/libboost_chrono.a
701 %{_libdir}/libboost_container.a
702 %{_libdir}/libboost_context.a
703 %{_libdir}/libboost_coroutine.a
704 %{_libdir}/libboost_date_time.a
705 %{_libdir}/libboost_exception.a
706 %{_libdir}/libboost_fiber.a
707 %{_libdir}/libboost_filesystem.a
708 %{_libdir}/libboost_graph.a
709 %{_libdir}/libboost_iostreams.a
710 %{_libdir}/libboost_locale.a
711 %{_libdir}/libboost_log.a
712 %{_libdir}/libboost_log_setup.a
713 %{_libdir}/libboost_math_*.a
714 %{_libdir}/libboost_prg_exec_monitor.a
715 %{_libdir}/libboost_program_options.a
716 %{_libdir}/libboost_random.a
717 %{_libdir}/libboost_regex.a
718 %{_libdir}/libboost_serialization.a
719 %{_libdir}/libboost_signals.a
720 %{_libdir}/libboost_system.a
721 %{_libdir}/libboost_test_exec_monitor.a
722 %{_libdir}/libboost_timer.a
723 %{_libdir}/libboost_thread.a
724 %{_libdir}/libboost_type_erasure.a
725 %{_libdir}/libboost_unit_test_framework.a
726 %{_libdir}/libboost_wave.a
727 %{_libdir}/libboost_wserialization.a
729 %if %{with python2} || %{with python3}
730 %files python-devel-common
731 %defattr(644,root,root,755)
732 %{_includedir}/boost/python
733 %{_includedir}/boost/python.hpp
738 %defattr(644,root,root,755)
740 %attr(755,root,root) %{_libdir}/libboost_numpy.so.*.*.*
742 %attr(755,root,root) %{_libdir}/libboost_python.so.*.*.*
745 %defattr(644,root,root,755)
747 %attr(755,root,root) %{_libdir}/libboost_numpy.so
749 %attr(755,root,root) %{_libdir}/libboost_python.so
752 %defattr(644,root,root,755)
754 %{_libdir}/libboost_numpy.a
756 %{_libdir}/libboost_python.a
761 %defattr(644,root,root,755)
763 %attr(755,root,root) %{_libdir}/libboost_numpy3.so.*.*.*
765 %attr(755,root,root) %{_libdir}/libboost_python3.so.*.*.*
768 %defattr(644,root,root,755)
770 %attr(755,root,root) %{_libdir}/libboost_numpy3.so
772 %attr(755,root,root) %{_libdir}/libboost_python3.so
774 %files python3-static
775 %defattr(644,root,root,755)
777 %{_libdir}/libboost_numpy3.a
779 %{_libdir}/libboost_python3.a
783 %defattr(644,root,root,755)
784 %attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.*
787 %defattr(644,root,root,755)
788 %attr(755,root,root) %{_libdir}/libboost_context.so.*.*.*
791 %defattr(644,root,root,755)
792 %attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
795 %defattr(644,root,root,755)
796 %attr(755,root,root) %{_libdir}/libboost_fiber.so.*.*.*
799 %defattr(644,root,root,755)
800 %attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.*
803 %defattr(644,root,root,755)
804 %attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.*
807 %defattr(644,root,root,755)
808 %attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.*
811 %defattr(644,root,root,755)
812 %attr(755,root,root) %{_libdir}/libboost_log.so.*.*.*
813 %attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.*
815 %files program_options
816 %defattr(644,root,root,755)
817 %attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.*
820 %defattr(644,root,root,755)
821 %attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.*
824 %defattr(644,root,root,755)
825 %attr(755,root,root) %{_libdir}/libboost_signals.so.*.*.*
828 %defattr(644,root,root,755)
829 %attr(755,root,root) %{_libdir}/libboost_system.so.*.*.*
832 %defattr(644,root,root,755)
833 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.*
834 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.*
837 %defattr(644,root,root,755)
838 %attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.*
841 %defattr(644,root,root,755)
842 %attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.*
845 %defattr(644,root,root,755)
846 %attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.*
849 %defattr(644,root,root,755)
850 %{_docdir}/%{name}-%{version}