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://dl.bintray.com/boostorg/release/%{version}/source/%{name}_%{fver}.tar.bz2
20 # Source0-md5: 4cdf9b5c2dc01fb2b7b733d5af30e558
21 Patch0: %{name}-link.patch
22 Patch1: %{name}-clean-gcc-flags.patch
24 Patch201: %{name}-python-abi_letters.patch
25 # https://svn.boost.org/trac/boost/ticket/5637
26 Patch203: %{name}-1.54.0-mpl-print.patch
27 # https://svn.boost.org/trac/boost/ticket/8881
28 Patch221: %{name}-1.54.0-mpi-unused_typedef.patch
29 URL: http://www.boost.org/
30 BuildRequires: bzip2-devel
31 BuildRequires: expat-devel
32 BuildRequires: libicu-devel
33 BuildRequires: libstdc++-devel >= 6:4.7
34 BuildRequires: perl-base
36 BuildRequires: python-devel >= 2.2
37 %{?with_numpy:BuildRequires: python-numpy-devel}
40 BuildRequires: python3-devel
41 %{?with_numpy:BuildRequires: python3-numpy-devel}
43 BuildRequires: rpm-pythonprov
44 BuildRequires: rpmbuild(macros) >= 1.734
45 BuildRequires: zlib-devel
46 Obsoletes: boost-signals
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 %define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1
51 %define py2v %(echo %{py_ver} | tr -d .)
52 %define py3v %(echo %{py3_ver} | tr -d .)
54 %if "%{py3_ver}" >= "3.8"
55 %define py3v_suffix ""
57 %define py3v_suffix "m"
61 The Boost web site provides free peer-reviewed portable C++ source
62 libraries. The emphasis is on libraries which work well with the C++
63 Standard Library. One goal is to establish "existing practice" and
64 provide reference implementations so that the Boost libraries are
65 suitable for eventual standardization. Some of the libraries have
66 already been proposed for inclusion in the C++ Standards Committee's
67 upcoming C++ Standard Library Technical Report.
69 %description -l pl.UTF-8
70 Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z
71 kodem źródłowym. Nacisk położono na biblioteki, które dobrze
72 współpracują ze standardową biblioteką C++. Celem jest ustanowienie
73 "istniejącej praktyki" i dostarczenie implementacji, tak że biblioteki
74 "Boost" nadają się do ewentualnej standaryzacji. Niektóre z bibliotek
75 już zostały zgłoszone do komitetu standaryzacyjnego C++ w nadchodzącym
76 Raporcie Technicznym Biblioteki Standardowej C++.
79 Summary: Boost C++ development headers
80 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek C++ Boost
81 Group: Development/Libraries
82 Requires: %{name} = %{version}-%{release}
83 Requires: %{name}-chrono = %{version}-%{release}
84 Requires: %{name}-context = %{version}-%{release}
85 Requires: %{name}-date_time = %{version}-%{release}
86 Requires: %{name}-fiber = %{version}-%{release}
87 Requires: %{name}-filesystem = %{version}-%{release}
88 Requires: %{name}-graph = %{version}-%{release}
89 Requires: %{name}-locale = %{version}-%{release}
90 Requires: %{name}-log = %{version}-%{release}
91 Requires: %{name}-program_options = %{version}-%{release}
92 Requires: %{name}-regex = %{version}-%{release}
93 Requires: %{name}-system = %{version}-%{release}
94 Requires: %{name}-test = %{version}-%{release}
95 Requires: %{name}-thread = %{version}-%{release}
96 Requires: %{name}-timer = %{version}-%{release}
97 Requires: %{name}-wave = %{version}-%{release}
98 Requires: libstdc++-devel >= 6:4.7
99 Obsoletes: boost-any-devel
100 Obsoletes: boost-array-devel
101 Obsoletes: boost-asio
102 Obsoletes: boost-bind-devel
103 Obsoletes: boost-call_traits-devel
104 Obsoletes: boost-compatibility-devel
105 Obsoletes: boost-compose-devel
106 Obsoletes: boost-compressed_pair-devel
107 Obsoletes: boost-concept_check-devel
108 Obsoletes: boost-conversion-devel
109 Obsoletes: boost-crc-devel
110 Obsoletes: boost-date_time-devel
111 Obsoletes: boost-filesystem-devel
112 Obsoletes: boost-graph-devel
113 Obsoletes: boost-mem_fn-devel
114 Obsoletes: boost-mpl-devel
115 Obsoletes: boost-preprocessor-devel
116 Obsoletes: boost-program_options-devel
117 Obsoletes: boost-ref-devel
118 Obsoletes: boost-regex-devel
119 Obsoletes: boost-signals-devel
120 Obsoletes: boost-spirit-devel
121 Obsoletes: boost-statechart-devel
122 Obsoletes: boost-static_assert-devel
123 Obsoletes: boost-test-devel
124 Obsoletes: boost-thread-devel
125 Obsoletes: boost-tr1-devel
126 Obsoletes: boost-type_traits-devel
127 Obsoletes: boost-typeof-devel
128 Obsoletes: boost-uBLAS-devel
129 Obsoletes: boost-utility-devel
130 Obsoletes: boost-wave-devel
131 Obsoletes: boost-xpressive-devel
134 Header files for the Boost C++ libraries.
136 %description devel -l pl.UTF-8
137 Pliki nagłówkowe bibliotek C++ Boost.
140 Summary: Static version of base Boost C++ libraries
141 Summary(pl.UTF-8): Statyczne wersje podstawowych bibliotek C++ Boost
142 Group: Development/Libraries
143 Requires: %{name}-devel = %{version}-%{release}
144 Obsoletes: boost-static < 1.33
147 Static version of base Boost C++ libraries.
149 %description static -l pl.UTF-8
150 Statyczne wersje podstawowych bibliotek C++ Boost.
152 %package python-devel-common
153 Summary: Boost.Python development headers
154 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Boost.Python
155 Group: Development/Libraries
156 Requires: %{name}-devel = %{version}-%{release}
158 %description python-devel-common
159 Headers for the Boost.Python library.
161 %description python-devel-common -l pl.UTF-8
162 Pliki nagłówkowe biblioteki Boost.Python.
165 Summary: Boost.Python library for Python 2
166 Summary(pl.UTF-8): Biblioteka Boost.Python dla Pythona 2
168 Requires: python-libs
171 Use the Boost Python Library to quickly and easily export a C++
172 library to Python 2 such that the Python 2 interface is very similar
173 to the C++ interface. It is designed to be minimally intrusive on your
174 C++ design. In most cases, you should not have to alter your C++
175 classes in any way in order to use them with Boost.Python. The system
176 should simply ``reflect'' your C++ classes and functions into Python
179 %description python -l pl.UTF-8
180 Biblioteka Boost Python służy do szybkiego i prostego eksportu
181 biblioteki C++ do Pythona 2, tak że interfejs Pythona 2 jest bardzo
182 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
183 narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
184 większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
185 żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
186 klasy C++ i funkcje do Pythona 3.
188 %package python-devel
189 Summary: Boost.Python development files for Python 2
190 Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 2
191 Group: Development/Libraries
192 Requires: %{name}-devel = %{version}-%{release}
193 Requires: %{name}-python = %{version}-%{release}
194 Requires: %{name}-python-devel-common = %{version}-%{release}
196 %description python-devel
197 Boost.Python development files for Python 2.
199 %description python-devel -l pl.UTF-8
200 Pliki programistyczne biblioteki Boost.Python dla Pythona 2.
202 %package python-static
203 Summary: Static version of Boost.Python library for Python 2
204 Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 2
205 Group: Development/Libraries
206 Requires: %{name}-python-devel = %{version}-%{release}
208 %description python-static
209 Static version of Boost.Python library for Python 2.
211 %description python-static -l pl.UTF-8
212 Statyczna wersja biblioteki Boost.Python dla Pythona 2.
215 Summary: Boost.Python library for Python 3
216 Summary(pl.UTF-8): biblioteka Boost.Python dla Pythona 3
218 Requires: python3-libs
221 Use the Boost Python Library to quickly and easily export a C++
222 library to Python 3 such that the Python 3 interface is very similar
223 to the C++ interface. It is designed to be minimally intrusive on your
224 C++ design. In most cases, you should not have to alter your C++
225 classes in any way in order to use them with Boost.Python. The system
226 should simply ``reflect'' your C++ classes and functions into Python
229 %description python3 -l pl.UTF-8
230 Biblioteka Boost Python służy do szybkiego i prostego eksportu
231 biblioteki C++ do Pythona 3, tak że interfejs Pythona 3 jest bardzo
232 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
233 narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
234 większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
235 żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
236 klasy C++ i funkcje do Pythona 3.
238 %package python3-devel
239 Summary: Boost.Python development files for Python 3
240 Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 3
241 Group: Development/Libraries
242 Requires: %{name}-devel = %{version}-%{release}
243 Requires: %{name}-python-devel-common = %{version}-%{release}
244 Requires: %{name}-python3 = %{version}-%{release}
246 %description python3-devel
247 Boost.Python development files for Python 3.
249 %description python3-devel -l pl.UTF-8
250 Pliki programistyczne biblioteki Boost.Python dla Pythona 3.
252 %package python3-static
253 Summary: Static version of Boost.Python library for Python 3
254 Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 3
255 Group: Development/Libraries
256 Requires: %{name}-python3-devel = %{version}-%{release}
258 %description python3-static
259 Static version of Boost.Python library for Python 3.
261 %description python3-static -l pl.UTF-8
262 Statyczna wersja biblioteki Boost.Python dla Pythona 3.
265 Summary: Useful time utilities
266 Summary(pl.UTF-8): Przydatne funkcje związane z czasem
268 Obsoletes: boost < 1.33
271 Useful time utilities.
273 %description chrono -l pl.UTF-8
274 Przydatne funkcje związane z czasem.
277 Summary: Boost.Context - context switching library
278 Summary(pl.UTF-8): Boost.Context - biblioteka do zmiany kontekstu
282 Boost.Context - context switching library, providing a sort of
283 cooperative multitasking on a single thread.
285 %description context -l pl.UTF-8
286 Boost.Context - biblioteka do zmiany kontekstu, zapewniająca pewną
287 wielozadaniowość kooperatywnąw ramach pojedynczego wątku.
290 Summary: Date-Time library
291 Summary(pl.UTF-8): Biblioteka daty-czasu
293 Obsoletes: boost < 1.33
295 %description date_time
296 A set of date-time libraries.
298 %description date_time -l pl.UTF-8
299 Zbiór bibliotek daty-czasu.
302 Summary: A framework for micro-/userland-threads (fibers) scheduled cooperatively
303 Summary(pl.UTF-8): Szkielet mikrowątków przestrzeni użytkownika (fibers), szeregowanych kooperacyjnie
307 boost::fiber provides a framework for micro-/userland-threads (fibers)
308 scheduled cooperatively. The API contains classes and functions
309 to manage and synchronize fibers similiar to boost.thread.
311 %description fiber -l pl.UTF-8
312 boost::fiber to szkielt mikrowątków przestrzeni użytkownika (fibers)
313 szeregowanych kooperacyjnie. API zawiera klasy i funkcje służące do
314 zarządzania i synchronizacji wątków podobne do boost.thread.
317 Summary: Portable paths, iteration over directories, and other useful filesystem operations
318 Summary(pl.UTF-8): Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików
320 Requires: %{name}-system = %{version}-%{release}
321 Obsoletes: boost < 1.33
323 %description filesystem
324 The boost::filesystem library provides portable facilities to query
325 and manipulate paths, files, and directories.
327 %description filesystem -l pl.UTF-8
328 Przenośna biblioteka boost::filesystem dostarcza ułatwienia w
329 operacjach na ścieżkach, plikach i katalogach.
332 Summary: General purpose, generic C++ library for graph data structures and graph algorithms
333 Summary(pl.UTF-8): Biblioteka ogólnego przeznaczenia w C++ dla struktur danych typu grafy oraz algorytmów związanych z grafami
337 The boost::graph library provides portable facilities to operate on
338 graph data structures using graph algorithms.
340 %description graph -l pl.UTF-8
341 Przenośna biblioteka boost::graph dostarcza ułatwienia w operacjach na
342 strukturach danych typu graf za pomocą algorytmów związanych z
346 Summary: Provide localization and Unicode handling tools for C++
347 Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++
351 Provide localization and Unicode handling tools for C++.
353 %description locale -l pl.UTF-8
354 Narzędzia do obsługi lokalizacji i Unikodu w C++.
357 Summary: Provide logging tools for C++
358 Summary(pl.UTF-8): Narzędzia do logowania w C++
362 Provide logging tools for C++.
364 %description log -l pl.UTF-8
365 Narzędzia do logowania w C++.
367 %package program_options
368 Summary: Access to program options, via conventional methods such as command line and config file
369 Summary(pl.UTF-8): Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny
372 %description program_options
373 The program_options library allows program developers to obtain
374 program options, that is (name, value) pairs from the user, via
375 conventional methods such as command line and config file.
377 %description program_options -l pl.UTF-8
378 Biblioteka program_options umożliwia uzyskanie od użytkownika opcji
379 programu, czyli par (nazwa, wartość), za pomocą typowych metod, takich
380 jak linia poleceń, czy plik konfiguracyjny.
383 Summary: Boost C++ regular expressions library
384 Summary(pl.UTF-8): Biblioteka wyrażeń regularnych Boost C++
388 Shared library for Boost C++ regular expressions.
390 %description regex -l pl.UTF-8
391 Biblioteka współdzielona do obsługi wyrażeń regularnych w C++.
394 Summary: Support for getting system specific error codes
395 Summary(pl.UTF-8): Wsparcie dla pobierania specyficznych dla systemu kodów błędów
399 The Boost System library provides simple, light-weight error_code
400 objects that encapsulate system-specific error code values, yet also
401 provide access to more abstract and portable error conditions objects.
403 %description system -l pl.UTF-8
404 Biblioteka Boost System udostępnia proste, lekkie obiekty error_code
405 obudowujące wartości kodów błędów specyficznych dla systemu, dając
406 jednocześnie dostęp do bardziej abstrakcyjnych i przenośnych obiektów
410 Summary: Support for program testing and execution monitoring
411 Summary(pl.UTF-8): Wsparcie dla testowania i monitorowania programu
413 Obsoletes: boost < 1.33
416 Support for simple program testing, full unit testing, and for program
417 execution monitoring.
419 %description test -l pl.UTF-8
420 Wsparcie dla prostego testowania programu, pełnego testowania i
421 monitorowania wykonania programu.
424 Summary: Portable C++ threads library
425 Summary(pl.UTF-8): Przenośna biblioteka wątków C++
427 Obsoletes: boost < 1.33
430 Portable C++ threads library - shared library.
432 %description thread -l pl.UTF-8
433 Przenośna biblioteka wątków dla C++ - biblioteka dzielona.
436 Summary: Event timer, progress timer, and progress display classes
437 Summary(pl.UTF-8): Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu
439 Obsoletes: boost < 1.33
442 Event timer, progress timer, and progress display classes.
444 %description timer -l pl.UTF-8
445 Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu.
448 Summary: Boost.Wave - a standard compliant C++ preprocessor library
449 Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
450 Group: Development/Libraries
453 Boost.Wave - a standard compliant C++ preprocessor library.
455 %description wave -l pl.UTF-8
456 Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
459 Summary: Boost C++ Library documentation
460 Summary(pl.UTF-8): Dokumentacja dla biblioteki Boost C++
462 %if "%{_rpmversion}" >= "5"
467 Documentation for the Boost C++ Library.
469 %description doc -l pl.UTF-8
470 Dokumentacja dla biblioteki Boost C++.
473 %setup -q -n %{name}_%{fver}
481 %if "%{cc_version}" < "6.0"
486 cat << EOF > tools/build/src/user-config.jam
487 using gcc : %{cxx_version} : %{__cxx} : <cflags>"%{rpmcflags} -fPIC" <cxxflags>"%{rpmcxxflags} $CPPSTD -fPIC" <linkflags>"%{rpmldflags}" ;
490 # cleanup backups after patching
491 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
494 EXPAT_INCLUDE=%{_includedir} \
495 EXPAT_LIBPATH=%{_libdir} \
496 ICU_PATH=%{_prefix} \
498 --prefix=%{_prefix} \
499 -without-libraries=python
501 # x32 detection need help (it's autodetected as address-model=32 abi=sysv, while context build expects address-model=64 abi=x32)
515 echo "using python : %{py3_ver} : %{py3_prefix} : %{py3_incdir} : : : : %{py3v_suffix} ;" >> project-config.jam
517 --with-python python=%{py3_ver} \
518 -a -d2 --toolset=gcc \
527 %{__sed} -i -e '/^using python : 3/d' project-config.jam
528 echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-config.jam
530 --with-python python=%{py_ver} \
531 -a -d2 --toolset=gcc \
540 rm -rf $RPM_BUILD_ROOT
541 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
543 cp -rf boost $RPM_BUILD_ROOT%{_includedir}
545 install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir}
546 install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
547 cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir}
550 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
552 # as the documentation doesn't completely reside in a directory of its
553 # own, we need to find out ourselves... this looks for HTML files and
554 # then collects everything linked from those. this is certainly quite
555 # unoptimized wrt mkdir calls, but does it really matter?
557 for i in $(find -type f -name '*.htm*'); do
558 # bjam docu is included in the boost-jam RPM
559 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
560 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/${i%/*}
561 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
565 # rewrite links from boost/* to %{_includedir}/boost/* and
566 # ignore external links as well as document-internal ones.
567 # HTML files are also ignored as they get installed anyway.
568 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
570 (my $file = $link) =~ s/\#.*//;
576 open OUT, ">@ARGV[1]";
580 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
581 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
583 $in_link = /href|src=\s*$/;
586 TARGET=${i%/*}/$LINKED
587 # ignore non-existant linked files
588 if test -f $TARGET; then
589 install -D -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
597 rm -rf $RPM_BUILD_ROOT
599 %post -p /sbin/ldconfig
600 %postun -p /sbin/ldconfig
602 %post chrono -p /sbin/ldconfig
603 %postun chrono -p /sbin/ldconfig
605 %post context -p /sbin/ldconfig
606 %postun context -p /sbin/ldconfig
608 %post date_time -p /sbin/ldconfig
609 %postun date_time -p /sbin/ldconfig
611 %post fiber -p /sbin/ldconfig
612 %postun fiber -p /sbin/ldconfig
614 %post filesystem -p /sbin/ldconfig
615 %postun filesystem -p /sbin/ldconfig
617 %post graph -p /sbin/ldconfig
618 %postun graph -p /sbin/ldconfig
620 %post locale -p /sbin/ldconfig
621 %postun locale -p /sbin/ldconfig
623 %post python -p /sbin/ldconfig
624 %postun python -p /sbin/ldconfig
626 %post python3 -p /sbin/ldconfig
627 %postun python3 -p /sbin/ldconfig
629 %post program_options -p /sbin/ldconfig
630 %postun program_options -p /sbin/ldconfig
632 %post regex -p /sbin/ldconfig
633 %postun regex -p /sbin/ldconfig
635 %post system -p /sbin/ldconfig
636 %postun system -p /sbin/ldconfig
638 %post test -p /sbin/ldconfig
639 %postun test -p /sbin/ldconfig
641 %post thread -p /sbin/ldconfig
642 %postun thread -p /sbin/ldconfig
644 %post timer -p /sbin/ldconfig
645 %postun timer -p /sbin/ldconfig
647 %post wave -p /sbin/ldconfig
648 %postun wave -p /sbin/ldconfig
651 %defattr(644,root,root,755)
652 %attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.*
653 %attr(755,root,root) %{_libdir}/libboost_container.so.*.*.*
654 %attr(755,root,root) %{_libdir}/libboost_contract.so.*.*.*
655 %attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.*
656 %attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.*
657 %attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.*
658 %attr(755,root,root) %{_libdir}/libboost_random.so.*.*.*
659 %attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.*
660 %attr(755,root,root) %{_libdir}/libboost_stacktrace_*.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_contract.so
671 %attr(755,root,root) %{_libdir}/libboost_coroutine.so
672 %attr(755,root,root) %{_libdir}/libboost_date_time.so
673 %attr(755,root,root) %{_libdir}/libboost_fiber.so
674 %attr(755,root,root) %{_libdir}/libboost_filesystem.so
675 %attr(755,root,root) %{_libdir}/libboost_graph.so
676 %attr(755,root,root) %{_libdir}/libboost_iostreams.so
677 %attr(755,root,root) %{_libdir}/libboost_locale.so
678 %attr(755,root,root) %{_libdir}/libboost_log.so
679 %attr(755,root,root) %{_libdir}/libboost_log_setup.so
680 %attr(755,root,root) %{_libdir}/libboost_math_*.so
681 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so
682 %attr(755,root,root) %{_libdir}/libboost_program_options.so
683 %attr(755,root,root) %{_libdir}/libboost_regex.so
684 %attr(755,root,root) %{_libdir}/libboost_random.so
685 %attr(755,root,root) %{_libdir}/libboost_serialization.so
686 %attr(755,root,root) %{_libdir}/libboost_stacktrace_*.so
687 %attr(755,root,root) %{_libdir}/libboost_system.so
688 %attr(755,root,root) %{_libdir}/libboost_thread.so
689 %attr(755,root,root) %{_libdir}/libboost_timer.so
690 %attr(755,root,root) %{_libdir}/libboost_type_erasure.so
691 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so
692 %attr(755,root,root) %{_libdir}/libboost_wave.so
693 %attr(755,root,root) %{_libdir}/libboost_wserialization.so
695 %exclude %{_includedir}/boost/python
696 %exclude %{_includedir}/boost/python.hpp
699 %defattr(644,root,root,755)
700 %{_libdir}/libboost_atomic.a
701 %{_libdir}/libboost_chrono.a
702 %{_libdir}/libboost_container.a
703 %{_libdir}/libboost_context.a
704 %{_libdir}/libboost_contract.a
705 %{_libdir}/libboost_coroutine.a
706 %{_libdir}/libboost_date_time.a
707 %{_libdir}/libboost_exception.a
708 %{_libdir}/libboost_fiber.a
709 %{_libdir}/libboost_filesystem.a
710 %{_libdir}/libboost_graph.a
711 %{_libdir}/libboost_iostreams.a
712 %{_libdir}/libboost_locale.a
713 %{_libdir}/libboost_log.a
714 %{_libdir}/libboost_log_setup.a
715 %{_libdir}/libboost_math_*.a
716 %{_libdir}/libboost_prg_exec_monitor.a
717 %{_libdir}/libboost_program_options.a
718 %{_libdir}/libboost_random.a
719 %{_libdir}/libboost_regex.a
720 %{_libdir}/libboost_serialization.a
721 %{_libdir}/libboost_stacktrace_*.a
722 %{_libdir}/libboost_system.a
723 %{_libdir}/libboost_test_exec_monitor.a
724 %{_libdir}/libboost_timer.a
725 %{_libdir}/libboost_thread.a
726 %{_libdir}/libboost_type_erasure.a
727 %{_libdir}/libboost_unit_test_framework.a
728 %{_libdir}/libboost_wave.a
729 %{_libdir}/libboost_wserialization.a
731 %if %{with python2} || %{with python3}
732 %files python-devel-common
733 %defattr(644,root,root,755)
734 %{_includedir}/boost/python
735 %{_includedir}/boost/python.hpp
740 %defattr(644,root,root,755)
742 %attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so.*.*.*
744 %attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so.*.*.*
747 %defattr(644,root,root,755)
749 %attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so
751 %attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so
754 %defattr(644,root,root,755)
756 %{_libdir}/libboost_numpy%{py2v}.a
758 %{_libdir}/libboost_python%{py2v}.a
763 %defattr(644,root,root,755)
765 %attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so.*.*.*
767 %attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so.*.*.*
770 %defattr(644,root,root,755)
772 %attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so
774 %attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so
776 %files python3-static
777 %defattr(644,root,root,755)
779 %{_libdir}/libboost_numpy%{py3v}.a
781 %{_libdir}/libboost_python%{py3v}.a
785 %defattr(644,root,root,755)
786 %attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.*
789 %defattr(644,root,root,755)
790 %attr(755,root,root) %{_libdir}/libboost_context.so.*.*.*
793 %defattr(644,root,root,755)
794 %attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
797 %defattr(644,root,root,755)
798 %attr(755,root,root) %{_libdir}/libboost_fiber.so.*.*.*
801 %defattr(644,root,root,755)
802 %attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.*
805 %defattr(644,root,root,755)
806 %attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.*
809 %defattr(644,root,root,755)
810 %attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.*
813 %defattr(644,root,root,755)
814 %attr(755,root,root) %{_libdir}/libboost_log.so.*.*.*
815 %attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.*
817 %files program_options
818 %defattr(644,root,root,755)
819 %attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.*
822 %defattr(644,root,root,755)
823 %attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.*
826 %defattr(644,root,root,755)
827 %attr(755,root,root) %{_libdir}/libboost_system.so.*.*.*
830 %defattr(644,root,root,755)
831 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.*
832 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.*
835 %defattr(644,root,root,755)
836 %attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.*
839 %defattr(644,root,root,755)
840 %attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.*
843 %defattr(644,root,root,755)
844 %attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.*
847 %defattr(644,root,root,755)
848 %{_docdir}/%{name}-%{version}