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: 33334dd7f862e8ac9fe1cc7c6584fb6d
22 Patch0: %{name}-link.patch
23 Patch1: %{name}-clean-gcc-flags.patch
25 Patch201: %{name}-python-abi_letters.patch
26 # https://svn.boost.org/trac/boost/ticket/5637
27 Patch203: %{name}-1.54.0-mpl-print.patch
28 # https://svn.boost.org/trac/boost/ticket/8881
29 Patch221: %{name}-1.54.0-mpi-unused_typedef.patch
30 URL: http://www.boost.org/
31 BuildRequires: bzip2-devel
32 BuildRequires: expat-devel
33 BuildRequires: libicu-devel
34 BuildRequires: libstdc++-devel >= 6:4.7
35 BuildRequires: perl-base
37 BuildRequires: python-devel >= 2.2
38 %{?with_numpy:BuildRequires: python-numpy-devel}
41 BuildRequires: python3-devel
42 %{?with_numpy:BuildRequires: python3-numpy-devel}
44 BuildRequires: rpm-pythonprov
45 BuildRequires: rpmbuild(macros) >= 1.734
46 BuildRequires: zlib-devel
47 Obsoletes: boost-signals
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 %define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1
52 %define py2v %(echo %{py_ver} | tr -d .)
53 %define py3v %(echo %{py3_ver} | tr -d .)
55 %if "%{py3_ver}" >= "3.8"
56 %define py3v_suffix ""
58 %define py3v_suffix "m"
62 The Boost web site provides free peer-reviewed portable C++ source
63 libraries. The emphasis is on libraries which work well with the C++
64 Standard Library. One goal is to establish "existing practice" and
65 provide reference implementations so that the Boost libraries are
66 suitable for eventual standardization. Some of the libraries have
67 already been proposed for inclusion in the C++ Standards Committee's
68 upcoming C++ Standard Library Technical Report.
70 %description -l pl.UTF-8
71 Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z
72 kodem źródłowym. Nacisk położono na biblioteki, które dobrze
73 współpracują ze standardową biblioteką C++. Celem jest ustanowienie
74 "istniejącej praktyki" i dostarczenie implementacji, tak że biblioteki
75 "Boost" nadają się do ewentualnej standaryzacji. Niektóre z bibliotek
76 już zostały zgłoszone do komitetu standaryzacyjnego C++ w nadchodzącym
77 Raporcie Technicznym Biblioteki Standardowej C++.
80 Summary: Boost C++ development headers
81 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek C++ Boost
82 Group: Development/Libraries
83 Requires: %{name} = %{version}-%{release}
84 Requires: %{name}-chrono = %{version}-%{release}
85 Requires: %{name}-context = %{version}-%{release}
86 Requires: %{name}-date_time = %{version}-%{release}
87 Requires: %{name}-fiber = %{version}-%{release}
88 Requires: %{name}-filesystem = %{version}-%{release}
89 Requires: %{name}-graph = %{version}-%{release}
90 Requires: %{name}-json = %{version}-%{release}
91 Requires: %{name}-locale = %{version}-%{release}
92 Requires: %{name}-log = %{version}-%{release}
93 Requires: %{name}-program_options = %{version}-%{release}
94 Requires: %{name}-regex = %{version}-%{release}
95 Requires: %{name}-system = %{version}-%{release}
96 Requires: %{name}-test = %{version}-%{release}
97 Requires: %{name}-thread = %{version}-%{release}
98 Requires: %{name}-timer = %{version}-%{release}
99 Requires: %{name}-wave = %{version}-%{release}
100 Requires: libstdc++-devel >= 6:4.7
101 Obsoletes: boost-any-devel
102 Obsoletes: boost-array-devel
103 Obsoletes: boost-asio
104 Obsoletes: boost-bind-devel
105 Obsoletes: boost-call_traits-devel
106 Obsoletes: boost-compatibility-devel
107 Obsoletes: boost-compose-devel
108 Obsoletes: boost-compressed_pair-devel
109 Obsoletes: boost-concept_check-devel
110 Obsoletes: boost-conversion-devel
111 Obsoletes: boost-crc-devel
112 Obsoletes: boost-date_time-devel
113 Obsoletes: boost-filesystem-devel
114 Obsoletes: boost-graph-devel
115 Obsoletes: boost-mem_fn-devel
116 Obsoletes: boost-mpl-devel
117 Obsoletes: boost-preprocessor-devel
118 Obsoletes: boost-program_options-devel
119 Obsoletes: boost-ref-devel
120 Obsoletes: boost-regex-devel
121 Obsoletes: boost-signals-devel
122 Obsoletes: boost-spirit-devel
123 Obsoletes: boost-statechart-devel
124 Obsoletes: boost-static_assert-devel
125 Obsoletes: boost-test-devel
126 Obsoletes: boost-thread-devel
127 Obsoletes: boost-tr1-devel
128 Obsoletes: boost-type_traits-devel
129 Obsoletes: boost-typeof-devel
130 Obsoletes: boost-uBLAS-devel
131 Obsoletes: boost-utility-devel
132 Obsoletes: boost-wave-devel
133 Obsoletes: boost-xpressive-devel
136 Header files for the Boost C++ libraries.
138 %description devel -l pl.UTF-8
139 Pliki nagłówkowe bibliotek C++ Boost.
142 Summary: Static version of base Boost C++ libraries
143 Summary(pl.UTF-8): Statyczne wersje podstawowych bibliotek C++ Boost
144 Group: Development/Libraries
145 Requires: %{name}-devel = %{version}-%{release}
146 Obsoletes: boost-static < 1.33
149 Static version of base Boost C++ libraries.
151 %description static -l pl.UTF-8
152 Statyczne wersje podstawowych bibliotek C++ Boost.
154 %package python-devel-common
155 Summary: Boost.Python development headers
156 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Boost.Python
157 Group: Development/Libraries
158 Requires: %{name}-devel = %{version}-%{release}
160 %description python-devel-common
161 Headers for the Boost.Python library.
163 %description python-devel-common -l pl.UTF-8
164 Pliki nagłówkowe biblioteki Boost.Python.
167 Summary: Boost.Python library for Python 2
168 Summary(pl.UTF-8): Biblioteka Boost.Python dla Pythona 2
170 Requires: python-libs
173 Use the Boost Python Library to quickly and easily export a C++
174 library to Python 2 such that the Python 2 interface is very similar
175 to the C++ interface. It is designed to be minimally intrusive on your
176 C++ design. In most cases, you should not have to alter your C++
177 classes in any way in order to use them with Boost.Python. The system
178 should simply ``reflect'' your C++ classes and functions into Python
181 %description python -l pl.UTF-8
182 Biblioteka Boost Python służy do szybkiego i prostego eksportu
183 biblioteki C++ do Pythona 2, tak że interfejs Pythona 2 jest bardzo
184 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
185 narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
186 większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
187 żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
188 klasy C++ i funkcje do Pythona 3.
190 %package python-devel
191 Summary: Boost.Python development files for Python 2
192 Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 2
193 Group: Development/Libraries
194 Requires: %{name}-devel = %{version}-%{release}
195 Requires: %{name}-python = %{version}-%{release}
196 Requires: %{name}-python-devel-common = %{version}-%{release}
198 %description python-devel
199 Boost.Python development files for Python 2.
201 %description python-devel -l pl.UTF-8
202 Pliki programistyczne biblioteki Boost.Python dla Pythona 2.
204 %package python-static
205 Summary: Static version of Boost.Python library for Python 2
206 Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 2
207 Group: Development/Libraries
208 Requires: %{name}-python-devel = %{version}-%{release}
210 %description python-static
211 Static version of Boost.Python library for Python 2.
213 %description python-static -l pl.UTF-8
214 Statyczna wersja biblioteki Boost.Python dla Pythona 2.
217 Summary: Boost.Python library for Python 3
218 Summary(pl.UTF-8): biblioteka Boost.Python dla Pythona 3
220 Requires: python3-libs
223 Use the Boost Python Library to quickly and easily export a C++
224 library to Python 3 such that the Python 3 interface is very similar
225 to the C++ interface. It is designed to be minimally intrusive on your
226 C++ design. In most cases, you should not have to alter your C++
227 classes in any way in order to use them with Boost.Python. The system
228 should simply ``reflect'' your C++ classes and functions into Python
231 %description python3 -l pl.UTF-8
232 Biblioteka Boost Python służy do szybkiego i prostego eksportu
233 biblioteki C++ do Pythona 3, tak że interfejs Pythona 3 jest bardzo
234 podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
235 narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
236 większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
237 żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
238 klasy C++ i funkcje do Pythona 3.
240 %package python3-devel
241 Summary: Boost.Python development files for Python 3
242 Summary(pl.UTF-8): Pliki programistyczne biblioteki Boost.Python dla Pythona 3
243 Group: Development/Libraries
244 Requires: %{name}-devel = %{version}-%{release}
245 Requires: %{name}-python-devel-common = %{version}-%{release}
246 Requires: %{name}-python3 = %{version}-%{release}
248 %description python3-devel
249 Boost.Python development files for Python 3.
251 %description python3-devel -l pl.UTF-8
252 Pliki programistyczne biblioteki Boost.Python dla Pythona 3.
254 %package python3-static
255 Summary: Static version of Boost.Python library for Python 3
256 Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python dla Pythona 3
257 Group: Development/Libraries
258 Requires: %{name}-python3-devel = %{version}-%{release}
260 %description python3-static
261 Static version of Boost.Python library for Python 3.
263 %description python3-static -l pl.UTF-8
264 Statyczna wersja biblioteki Boost.Python dla Pythona 3.
267 Summary: Useful time utilities
268 Summary(pl.UTF-8): Przydatne funkcje związane z czasem
270 Obsoletes: boost < 1.33
273 Useful time utilities.
275 %description chrono -l pl.UTF-8
276 Przydatne funkcje związane z czasem.
279 Summary: Boost.Context - context switching library
280 Summary(pl.UTF-8): Boost.Context - biblioteka do zmiany kontekstu
284 Boost.Context - context switching library, providing a sort of
285 cooperative multitasking on a single thread.
287 %description context -l pl.UTF-8
288 Boost.Context - biblioteka do zmiany kontekstu, zapewniająca pewną
289 wielozadaniowość kooperatywnąw ramach pojedynczego wątku.
292 Summary: Date-Time library
293 Summary(pl.UTF-8): Biblioteka daty-czasu
295 Obsoletes: boost < 1.33
297 %description date_time
298 A set of date-time libraries.
300 %description date_time -l pl.UTF-8
301 Zbiór bibliotek daty-czasu.
304 Summary: A framework for micro-/userland-threads (fibers) scheduled cooperatively
305 Summary(pl.UTF-8): Szkielet mikrowątków przestrzeni użytkownika (fibers), szeregowanych kooperacyjnie
309 boost::fiber provides a framework for micro-/userland-threads (fibers)
310 scheduled cooperatively. The API contains classes and functions
311 to manage and synchronize fibers similiar to boost.thread.
313 %description fiber -l pl.UTF-8
314 boost::fiber to szkielt mikrowątków przestrzeni użytkownika (fibers)
315 szeregowanych kooperacyjnie. API zawiera klasy i funkcje służące do
316 zarządzania i synchronizacji wątków podobne do boost.thread.
319 Summary: Portable paths, iteration over directories, and other useful filesystem operations
320 Summary(pl.UTF-8): Przenośne ścieżki, iteracje katalogów i inne użyteczne operacje na systemie plików
322 Requires: %{name}-system = %{version}-%{release}
323 Obsoletes: boost < 1.33
325 %description filesystem
326 The boost::filesystem library provides portable facilities to query
327 and manipulate paths, files, and directories.
329 %description filesystem -l pl.UTF-8
330 Przenośna biblioteka boost::filesystem dostarcza ułatwienia w
331 operacjach na ścieżkach, plikach i katalogach.
334 Summary: General purpose, generic C++ library for graph data structures and graph algorithms
335 Summary(pl.UTF-8): Biblioteka ogólnego przeznaczenia w C++ dla struktur danych typu grafy oraz algorytmów związanych z grafami
339 The boost::graph library provides portable facilities to operate on
340 graph data structures using graph algorithms.
342 %description graph -l pl.UTF-8
343 Przenośna biblioteka boost::graph dostarcza ułatwienia w operacjach na
344 strukturach danych typu graf za pomocą algorytmów związanych z
348 Summary: Boost.JSON - a portable C++ JSON library
349 Summary(pl.UTF-8): Boost.JSON - przenośna biblioteka C++ dla formatu JSON
350 Group: Development/Libraries
353 Boost.JSON is a portable C++ library which provides containers and
354 algorithms that implement JavaScript Object Notation, or simply
355 "JSON", a lightweight data-interchange format.
357 %description json -l pl.UTF-8
358 Boost.JSON to przenośna biblioteka C++, która dostarcza kontenery oraz
359 algorytmy implementujące JavaScript Object Notation, lub po prostu
360 "JSON", lekki format wymiany danych.
363 Summary: Provide localization and Unicode handling tools for C++
364 Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++
368 Provide localization and Unicode handling tools for C++.
370 %description locale -l pl.UTF-8
371 Narzędzia do obsługi lokalizacji i Unikodu w C++.
374 Summary: Provide logging tools for C++
375 Summary(pl.UTF-8): Narzędzia do logowania w C++
379 Provide logging tools for C++.
381 %description log -l pl.UTF-8
382 Narzędzia do logowania w C++.
384 %package program_options
385 Summary: Access to program options, via conventional methods such as command line and config file
386 Summary(pl.UTF-8): Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny
389 %description program_options
390 The program_options library allows program developers to obtain
391 program options, that is (name, value) pairs from the user, via
392 conventional methods such as command line and config file.
394 %description program_options -l pl.UTF-8
395 Biblioteka program_options umożliwia uzyskanie od użytkownika opcji
396 programu, czyli par (nazwa, wartość), za pomocą typowych metod, takich
397 jak linia poleceń, czy plik konfiguracyjny.
400 Summary: Boost C++ regular expressions library
401 Summary(pl.UTF-8): Biblioteka wyrażeń regularnych Boost C++
405 Shared library for Boost C++ regular expressions.
407 %description regex -l pl.UTF-8
408 Biblioteka współdzielona do obsługi wyrażeń regularnych w C++.
411 Summary: Support for getting system specific error codes
412 Summary(pl.UTF-8): Wsparcie dla pobierania specyficznych dla systemu kodów błędów
416 The Boost System library provides simple, light-weight error_code
417 objects that encapsulate system-specific error code values, yet also
418 provide access to more abstract and portable error conditions objects.
420 %description system -l pl.UTF-8
421 Biblioteka Boost System udostępnia proste, lekkie obiekty error_code
422 obudowujące wartości kodów błędów specyficznych dla systemu, dając
423 jednocześnie dostęp do bardziej abstrakcyjnych i przenośnych obiektów
427 Summary: Support for program testing and execution monitoring
428 Summary(pl.UTF-8): Wsparcie dla testowania i monitorowania programu
430 Obsoletes: boost < 1.33
433 Support for simple program testing, full unit testing, and for program
434 execution monitoring.
436 %description test -l pl.UTF-8
437 Wsparcie dla prostego testowania programu, pełnego testowania i
438 monitorowania wykonania programu.
441 Summary: Portable C++ threads library
442 Summary(pl.UTF-8): Przenośna biblioteka wątków C++
444 Obsoletes: boost < 1.33
447 Portable C++ threads library - shared library.
449 %description thread -l pl.UTF-8
450 Przenośna biblioteka wątków dla C++ - biblioteka dzielona.
453 Summary: Event timer, progress timer, and progress display classes
454 Summary(pl.UTF-8): Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu
456 Obsoletes: boost < 1.33
459 Event timer, progress timer, and progress display classes.
461 %description timer -l pl.UTF-8
462 Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu.
465 Summary: Boost.Wave - a standard compliant C++ preprocessor library
466 Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
467 Group: Development/Libraries
470 Boost.Wave - a standard compliant C++ preprocessor library.
472 %description wave -l pl.UTF-8
473 Boost.Wave - zgodna ze standardem biblioteka preprocesora C++.
476 Summary: Boost C++ Library documentation
477 Summary(pl.UTF-8): Dokumentacja dla biblioteki Boost C++
482 Documentation for the Boost C++ Library.
484 %description doc -l pl.UTF-8
485 Dokumentacja dla biblioteki Boost C++.
488 %setup -q -n %{name}_%{fver}
496 %if "%{cc_version}" < "6.0"
501 cat << EOF > tools/build/src/user-config.jam
502 using gcc : %{cxx_version} : %{__cxx} : <cflags>"%{rpmcflags} -fPIC" <cxxflags>"%{rpmcxxflags} $CPPSTD -fPIC" <linkflags>"%{rpmldflags}" ;
505 # cleanup backups after patching
506 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
509 EXPAT_INCLUDE=%{_includedir} \
510 EXPAT_LIBPATH=%{_libdir} \
511 ICU_PATH=%{_prefix} \
513 --prefix=%{_prefix} \
514 -without-libraries=python
516 # x32 detection need help (it's autodetected as address-model=32 abi=sysv, while context build expects address-model=64 abi=x32)
530 echo "using python : %{py3_ver} : %{py3_prefix} : %{py3_incdir} : : : : %{py3v_suffix} ;" >> project-config.jam
532 --with-python python=%{py3_ver} \
533 -a -d2 --toolset=gcc \
542 %{__sed} -i -e '/^using python : 3/d' project-config.jam
543 echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-config.jam
545 --with-python python=%{py_ver} \
546 -a -d2 --toolset=gcc \
555 rm -rf $RPM_BUILD_ROOT
556 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
558 cp -rf boost $RPM_BUILD_ROOT%{_includedir}
560 install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir}
561 install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
562 cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir}
566 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
568 # as the documentation doesn't completely reside in a directory of its
569 # own, we need to find out ourselves... this looks for HTML files and
570 # then collects everything linked from those. this is certainly quite
571 # unoptimized wrt mkdir calls, but does it really matter?
573 for i in $(find -type f -name '*.htm*'); do
574 # bjam docu is included in the boost-jam RPM
575 if test "`echo $i | sed 's,jam_src,,'`" = "$i"; then
576 install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/${i%/*}
577 for LINKED in `%{__perl} - $i $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$i <<'EOT'
581 # rewrite links from boost/* to %{_includedir}/boost/* and
582 # ignore external links as well as document-internal ones.
583 # HTML files are also ignored as they get installed anyway.
584 if (!($link =~ s,^(?:../)*boost/,%{_includedir}/boost/,) && !($link =~ m,(?:^[^/]+:|^\#|\.html?(?:$|\#)),))
586 (my $file = $link) =~ s/\#.*//;
592 open OUT, ">@ARGV[1]";
596 $in_link and s/^\s*"([^"> ]*)"/'"' . rewrite_link($1) . '"'/e;
597 s/(href|src)="([^"> ]*)"/"$1=\"" . rewrite_link($2) . '"'/eig;
599 $in_link = /href|src=\s*$/;
602 TARGET=${i%/*}/$LINKED
603 # ignore non-existant linked files
604 if test -f $TARGET; then
605 install -D -m 644 $TARGET $RPM_BUILD_ROOT%{_docdir}/boost-%{version}/$TARGET
614 rm -rf $RPM_BUILD_ROOT
616 %post -p /sbin/ldconfig
617 %postun -p /sbin/ldconfig
619 %post chrono -p /sbin/ldconfig
620 %postun chrono -p /sbin/ldconfig
622 %post context -p /sbin/ldconfig
623 %postun context -p /sbin/ldconfig
625 %post date_time -p /sbin/ldconfig
626 %postun date_time -p /sbin/ldconfig
628 %post fiber -p /sbin/ldconfig
629 %postun fiber -p /sbin/ldconfig
631 %post filesystem -p /sbin/ldconfig
632 %postun filesystem -p /sbin/ldconfig
634 %post graph -p /sbin/ldconfig
635 %postun graph -p /sbin/ldconfig
637 %post json -p /sbin/ldconfig
638 %postun json -p /sbin/ldconfig
640 %post locale -p /sbin/ldconfig
641 %postun locale -p /sbin/ldconfig
643 %post python -p /sbin/ldconfig
644 %postun python -p /sbin/ldconfig
646 %post python3 -p /sbin/ldconfig
647 %postun python3 -p /sbin/ldconfig
649 %post program_options -p /sbin/ldconfig
650 %postun program_options -p /sbin/ldconfig
652 %post regex -p /sbin/ldconfig
653 %postun regex -p /sbin/ldconfig
655 %post system -p /sbin/ldconfig
656 %postun system -p /sbin/ldconfig
658 %post test -p /sbin/ldconfig
659 %postun test -p /sbin/ldconfig
661 %post thread -p /sbin/ldconfig
662 %postun thread -p /sbin/ldconfig
664 %post timer -p /sbin/ldconfig
665 %postun timer -p /sbin/ldconfig
667 %post wave -p /sbin/ldconfig
668 %postun wave -p /sbin/ldconfig
671 %defattr(644,root,root,755)
672 %attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.*
673 %attr(755,root,root) %{_libdir}/libboost_container.so.*.*.*
674 %attr(755,root,root) %{_libdir}/libboost_contract.so.*.*.*
675 %attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.*
676 %attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.*
677 %attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.*
678 %attr(755,root,root) %{_libdir}/libboost_nowide.so.*.*.*
679 %attr(755,root,root) %{_libdir}/libboost_random.so.*.*.*
680 %attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.*
681 %attr(755,root,root) %{_libdir}/libboost_stacktrace_*.so.*.*.*
682 %attr(755,root,root) %{_libdir}/libboost_type_erasure.so.*.*.*
683 %attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.*
686 %defattr(644,root,root,755)
687 %attr(755,root,root) %{_libdir}/libboost_atomic.so
688 %attr(755,root,root) %{_libdir}/libboost_chrono.so
689 %attr(755,root,root) %{_libdir}/libboost_container.so
690 %attr(755,root,root) %{_libdir}/libboost_context.so
691 %attr(755,root,root) %{_libdir}/libboost_contract.so
692 %attr(755,root,root) %{_libdir}/libboost_coroutine.so
693 %attr(755,root,root) %{_libdir}/libboost_date_time.so
694 %attr(755,root,root) %{_libdir}/libboost_fiber.so
695 %attr(755,root,root) %{_libdir}/libboost_filesystem.so
696 %attr(755,root,root) %{_libdir}/libboost_graph.so
697 %attr(755,root,root) %{_libdir}/libboost_iostreams.so
698 %attr(755,root,root) %{_libdir}/libboost_json.so
699 %attr(755,root,root) %{_libdir}/libboost_locale.so
700 %attr(755,root,root) %{_libdir}/libboost_log.so
701 %attr(755,root,root) %{_libdir}/libboost_log_setup.so
702 %attr(755,root,root) %{_libdir}/libboost_math_*.so
703 %attr(755,root,root) %{_libdir}/libboost_nowide.so
704 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so
705 %attr(755,root,root) %{_libdir}/libboost_program_options.so
706 %attr(755,root,root) %{_libdir}/libboost_regex.so
707 %attr(755,root,root) %{_libdir}/libboost_random.so
708 %attr(755,root,root) %{_libdir}/libboost_serialization.so
709 %attr(755,root,root) %{_libdir}/libboost_stacktrace_*.so
710 %attr(755,root,root) %{_libdir}/libboost_system.so
711 %attr(755,root,root) %{_libdir}/libboost_thread.so
712 %attr(755,root,root) %{_libdir}/libboost_timer.so
713 %attr(755,root,root) %{_libdir}/libboost_type_erasure.so
714 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so
715 %attr(755,root,root) %{_libdir}/libboost_wave.so
716 %attr(755,root,root) %{_libdir}/libboost_wserialization.so
718 %exclude %{_includedir}/boost/python
719 %exclude %{_includedir}/boost/python.hpp
722 %defattr(644,root,root,755)
723 %{_libdir}/libboost_atomic.a
724 %{_libdir}/libboost_chrono.a
725 %{_libdir}/libboost_container.a
726 %{_libdir}/libboost_context.a
727 %{_libdir}/libboost_contract.a
728 %{_libdir}/libboost_coroutine.a
729 %{_libdir}/libboost_date_time.a
730 %{_libdir}/libboost_exception.a
731 %{_libdir}/libboost_fiber.a
732 %{_libdir}/libboost_filesystem.a
733 %{_libdir}/libboost_graph.a
734 %{_libdir}/libboost_iostreams.a
735 %{_libdir}/libboost_json.a
736 %{_libdir}/libboost_locale.a
737 %{_libdir}/libboost_log.a
738 %{_libdir}/libboost_log_setup.a
739 %{_libdir}/libboost_math_*.a
740 %{_libdir}/libboost_nowide.a
741 %{_libdir}/libboost_prg_exec_monitor.a
742 %{_libdir}/libboost_program_options.a
743 %{_libdir}/libboost_random.a
744 %{_libdir}/libboost_regex.a
745 %{_libdir}/libboost_serialization.a
746 %{_libdir}/libboost_stacktrace_*.a
747 %{_libdir}/libboost_system.a
748 %{_libdir}/libboost_test_exec_monitor.a
749 %{_libdir}/libboost_timer.a
750 %{_libdir}/libboost_thread.a
751 %{_libdir}/libboost_type_erasure.a
752 %{_libdir}/libboost_unit_test_framework.a
753 %{_libdir}/libboost_wave.a
754 %{_libdir}/libboost_wserialization.a
756 %if %{with python2} || %{with python3}
757 %files python-devel-common
758 %defattr(644,root,root,755)
759 %{_includedir}/boost/python
760 %{_includedir}/boost/python.hpp
765 %defattr(644,root,root,755)
767 %attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so.*.*.*
769 %attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so.*.*.*
772 %defattr(644,root,root,755)
774 %attr(755,root,root) %{_libdir}/libboost_numpy%{py2v}.so
776 %attr(755,root,root) %{_libdir}/libboost_python%{py2v}.so
779 %defattr(644,root,root,755)
781 %{_libdir}/libboost_numpy%{py2v}.a
783 %{_libdir}/libboost_python%{py2v}.a
788 %defattr(644,root,root,755)
790 %attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so.*.*.*
792 %attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so.*.*.*
795 %defattr(644,root,root,755)
797 %attr(755,root,root) %{_libdir}/libboost_numpy%{py3v}.so
799 %attr(755,root,root) %{_libdir}/libboost_python%{py3v}.so
801 %files python3-static
802 %defattr(644,root,root,755)
804 %{_libdir}/libboost_numpy%{py3v}.a
806 %{_libdir}/libboost_python%{py3v}.a
810 %defattr(644,root,root,755)
811 %attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.*
814 %defattr(644,root,root,755)
815 %attr(755,root,root) %{_libdir}/libboost_context.so.*.*.*
818 %defattr(644,root,root,755)
819 %attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
822 %defattr(644,root,root,755)
823 %attr(755,root,root) %{_libdir}/libboost_fiber.so.*.*.*
826 %defattr(644,root,root,755)
827 %attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.*
830 %defattr(644,root,root,755)
831 %attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.*
834 %defattr(644,root,root,755)
835 %attr(755,root,root) %{_libdir}/libboost_json.so.*.*.*
838 %defattr(644,root,root,755)
839 %attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.*
842 %defattr(644,root,root,755)
843 %attr(755,root,root) %{_libdir}/libboost_log.so.*.*.*
844 %attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.*
846 %files program_options
847 %defattr(644,root,root,755)
848 %attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.*
851 %defattr(644,root,root,755)
852 %attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.*
855 %defattr(644,root,root,755)
856 %attr(755,root,root) %{_libdir}/libboost_system.so.*.*.*
859 %defattr(644,root,root,755)
860 %attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.*
861 %attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.*
864 %defattr(644,root,root,755)
865 %attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.*
868 %defattr(644,root,root,755)
869 %attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.*
872 %defattr(644,root,root,755)
873 %attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.*
877 %defattr(644,root,root,755)
878 %{_docdir}/%{name}-%{version}