# TODO:
# - think about building MPI.
# - split shared libs from core package into -iostreams/-serialization.
+# - fix building context and corouting on x32 (patch1)
#
# Conditional build:
-%bcond_without python # without boost-python support
-#
-%define _fver %(echo %{version} | tr . _)
+%bcond_without python2 # without boost-python2 support
+%bcond_without python3 # without boost-python3 support
+
+%define fver %(echo %{version} | tr . _)
Summary: The Boost C++ Libraries
Summary(pl.UTF-8): Biblioteki C++ "Boost"
Name: boost
-Version: 1.37.0
-Release: 2
+Version: 1.57.0
+Release: 5
License: Boost Software License and others
Group: Libraries
-Source0: http://dl.sourceforge.net/boost/%{name}_%{_fver}.tar.bz2
-# Source0-md5: 8d9f990bfb7e83769fa5f1d6f065bc92
-Patch0: %{name}-climits.patch
-Patch1: %{name}-link.patch
-Patch2: %{name}-ticket-2499.patch
+Source0: http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2
+# Source0-md5: 1be49befbdd9a5ce9def2983ba3e7b76
+Patch0: %{name}-link.patch
+Patch1: %{name}-x32-context.patch
+# FC Patches:
+# https://svn.boost.org/trac/boost/ticket/5637
+Patch203: %{name}-1.54.0-mpl-print.patch
+# https://svn.boost.org/trac/boost/ticket/8870
+Patch211: %{name}-1.54.0-spirit-unused_typedef.patch
+Patch212: %{name}-1.54.0-spirit-unused_typedef-2.patch
+# https://svn.boost.org/trac/boost/ticket/8878
+Patch218: %{name}-1.54.0-locale-unused_typedef.patch
+# https://svn.boost.org/trac/boost/ticket/8881
+Patch221: %{name}-1.54.0-mpi-unused_typedef.patch
+# https://svn.boost.org/trac/boost/ticket/8888
+Patch222: %{name}-1.54.0-python-unused_typedef.patch
+# https://svn.boost.org/trac/boost/ticket/9038
+Patch224: %{name}-1.54.0-pool-test_linking.patch
URL: http://www.boost.org/
-BuildRequires: boost-jam >= 3.1.12
BuildRequires: bzip2-devel
BuildRequires: expat-devel
BuildRequires: libicu-devel
BuildRequires: libstdc++-devel
BuildRequires: perl-base
%{?with_python:BuildRequires: python-devel >= 2.2}
+%{?with_python3:BuildRequires: python3-devel}
BuildRequires: rpm-pythonprov
BuildRequires: zlib-devel
BuildConflicts: gcc = 5:3.3.1
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define specflags -DBOOST_IOSTREAMS_USE_DEPRECATED=1
+
%description
The Boost web site provides free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
"istniejącej praktyki" i dostarczenie implementacji, tak że biblioteki
"Boost" nadają się do ewentualnej standaryzacji. Niektóre z bibliotek
już zostały zgłoszone do komitetu standaryzacyjnego C++ w nadchodzącym
-Raporcie Technicznym Biblioteki Standardowej C++
+Raporcie Technicznym Biblioteki Standardowej C++.
%package devel
Summary: Boost C++ development headers
Summary(pl.UTF-8): Pliki nagłówkowe bibliotek C++ Boost
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: %{name}-chrono = %{version}-%{release}
+%ifnarch x32
+Requires: %{name}-context = %{version}-%{release}
+%endif
Requires: %{name}-date_time = %{version}-%{release}
Requires: %{name}-filesystem = %{version}-%{release}
Requires: %{name}-graph = %{version}-%{release}
+Requires: %{name}-locale = %{version}-%{release}
+Requires: %{name}-log = %{version}-%{release}
Requires: %{name}-program_options = %{version}-%{release}
Requires: %{name}-regex = %{version}-%{release}
Requires: %{name}-signals = %{version}-%{release}
Requires: %{name}-system = %{version}-%{release}
Requires: %{name}-test = %{version}-%{release}
Requires: %{name}-thread = %{version}-%{release}
+Requires: %{name}-timer = %{version}-%{release}
Requires: %{name}-wave = %{version}-%{release}
Requires: libstdc++-devel
Obsoletes: boost-any-devel
%description static -l pl.UTF-8
Statyczne wersje podstawowych bibliotek C++ Boost.
+%package python-devel-common
+Summary: Boost.Python development headers
+Summary(pl.UTF-8): Pliki nagłówkowe dla Boost.Python
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description python-devel-common
+Headers for the Boost.Python library.
+
+%description python-devel-common -l pl.UTF-8
+Pliki nagłówkowe dla biblioteki Boost.Python.
+
%package python
Summary: Boost.Python library
Summary(pl.UTF-8): biblioteka Boost.Python
Group: Libraries
-%pyrequires_eq python
+Requires: python
%description python
Use the Boost Python Library to quickly and easily export a C++
klasy C++ i funkcje do Pythona.
%package python-devel
-Summary: Boost.Python development headers
-Summary(pl.UTF-8): Pliki nagłówkowe dla Boost.Python
+Summary: Boost.Python development library
+Summary(pl.UTF-8): Biblioteka developerska Boost.Python
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
Requires: %{name}-python = %{version}-%{release}
+Requires: %{name}-python-devel-common = %{version}-%{release}
%description python-devel
-Headers for the Boost.Python library.
+Boost.Python development library.
%description python-devel -l pl.UTF-8
-Pliki nagłówkowe dla biblioteki Boost.Python.
+Biblioteka developerska Boost.Python.
%package python-static
Summary: Static version of Boost.Python library
%description python-static -l pl.UTF-8
Statyczna wersja biblioteki Boost.Python.
+%package python3
+Summary: Boost.Python library
+Summary(pl.UTF-8): biblioteka Boost.Python
+Group: Libraries
+Requires: python3
+
+%description python3
+Use the Boost Python Library to quickly and easily export a C++
+library to Python 3 such that the Python 3 interface is very similar
+to the C++ interface. It is designed to be minimally intrusive on your
+C++ design. In most cases, you should not have to alter your C++
+classes in any way in order to use them with Boost.Python. The system
+should simply ``reflect'' your C++ classes and functions into Python 3.
+
+%description python3 -l pl.UTF-8
+Biblioteka Boost Python służy do szybkiego i prostego eksportu
+biblioteki C++ do Pythona 3, tak że interfejs Pythona 3 jest bardzo
+podobny do interfejsu C++. Biblioteka jest zaprojektowana tak, żeby
+narzucać jak najmniej wymagań dotyczących konstrukcjii C++. W
+większości przypadków nie trzeba w ogóle zmieniać własnych klas C++,
+żeby używać ich z Boost.Python. System powinien po prostu ,,odbić''
+klasy C++ i funkcje do Pythona 3.
+
+%package python3-devel
+Summary: Boost.Python development library
+Summary(pl.UTF-8): Biblioteka developerska Boost.Python
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-python3 = %{version}-%{release}
+Requires: %{name}-python-devel-common = %{version}-%{release}
+
+%description python3-devel
+Boost.Python development library.
+
+%description python3-devel -l pl.UTF-8
+Biblioteka developerska Boost.Python.
+
+%package python3-static
+Summary: Static version of Boost.Python library
+Summary(pl.UTF-8): Statyczna wersja biblioteki Boost.Python
+Group: Development/Libraries
+Requires: %{name}-python3-devel = %{version}-%{release}
+
+%description python3-static
+Static version of Boost.Python library.
+
+%description python3-static -l pl.UTF-8
+Statyczna wersja biblioteki Boost.Python.
+
+%package chrono
+Summary: Useful time utilities
+Summary(pl.UTF-8): Przydatne funkcje związane z czasem
+Group: Libraries
+Obsoletes: boost < 1.33
+
+%description chrono
+Useful time utilities.
+
+%description chrono -l pl.UTF-8
+Przydatne funkcje związane z czasem.
+
+%package context
+Summary: Boost.Context - context switching library
+Summary(pl.UTF-8): Boost.Context - biblioteka do zmiany kontekstu
+Group: Libraries
+
+%description context
+Boost.Context - context switching library, providing a sort of
+cooperative multitasking on a single thread.
+
+%description context -l pl.UTF-8
+Boost.Context - biblioteka do zmiany kontekstu, zapewniająca pewną
+wielozadaniowość kooperatywnąw ramach pojedynczego wątku.
+
%package date_time
Summary: Date-Time library
Summary(pl.UTF-8): Biblioteka daty-czasu
strukturach danych typu graf za pomocą algorytmów związanych z
grafami.
+%package locale
+Summary: Provide localization and Unicode handling tools for C++
+Summary(pl.UTF-8): Narzędzia do obsługi lokalizacji i Unikodu w C++
+Group: Libraries
+
+%description locale
+Provide localization and Unicode handling tools for C++.
+
+%description locale -l pl.UTF-8
+Narzędzia do obsługi lokalizacji i Unikodu w C++.
+
+%package log
+Summary: Provide logging tools for C++
+Summary(pl.UTF-8): Narzędzia do logowania w C++
+Group: Libraries
+
+%description log
+Provide logging tools for C++.
+
+%description log -l pl.UTF-8
+Narzędzia do logowania w C++.
+
%package program_options
Summary: Access to program options, via conventional methods such as command line and config file
Summary(pl.UTF-8): Dostęp do opcji programu za pomocą typowych metod, jak linia poleceń i plik konfiguracyjny
Shared library for Boost C++ regular expressions.
%description regex -l pl.UTF-8
-Biblioteka wyrażeń regularnych dla C++, biblioteki dzielone.
+Biblioteka współdzielona do obsługi wyrażeń regularnych w C++.
%package signals
Summary: Signals & slots callback implementation
objects that encapsulate system-specific error code values, yet also
provide access to more abstract and portable error conditions objects.
+%description system -l pl.UTF-8
+Biblioteka Boost System udostępnia proste, lekkie obiekty error_code
+obudowujące wartości kodów błędów specyficznych dla systemu, dając
+jednocześnie dostęp do bardziej abstrakcyjnych i przenośnych obiektów
+błędów.
+
%package test
Summary: Support for program testing and execution monitoring
Summary(pl.UTF-8): Wsparcie dla testowania i monitorowania programu
%description thread -l pl.UTF-8
Przenośna biblioteka wątków dla C++ - biblioteka dzielona.
+%package timer
+Summary: Event timer, progress timer, and progress display classes
+Summary(pl.UTF-8): Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu
+Group: Libraries
+Obsoletes: boost < 1.33
+
+%description timer
+Event timer, progress timer, and progress display classes.
+
+%description timer -l pl.UTF-8
+Klasy do obsługi pomiarów czasu, postępu i wyświetlania postępu.
+
%package wave
Summary: Boost.Wave - a standard compliant C++ preprocessor library
Summary(pl.UTF-8): Boost.Wave - zgodna ze standardem biblioteka preprocesora C++
Dokumentacja dla biblioteki Boost C++.
%prep
-%setup -q -n %{name}_%{_fver}
+%setup -q -n %{name}_%{fver}
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
+#patch1 -p0
+
+%patch203 -p0
+%patch211 -p1
+%patch212 -p1
+%patch218 -p1
+%patch221 -p1
+%patch222 -p1
+%patch224 -p1
# - don't know how to pass it through (b)jam -s (no way?)
# due to oversophisticated build flags system.
# - pass -fPIC due to <shared-linkable> removal.
-%{__sed} -i "s/<optimization>speed : -O3/<optimization>speed : ${CXXFLAGS:-%rpmcxxflags} -fPIC/" tools/build/v2/tools/gcc.jam
+%{__sed} -i "s/<optimization>speed : -O3/<optimization>speed : ${CXXFLAGS:-%rpmcxxflags} -fPIC/" tools/build/src/tools/gcc.jam
# cleanup -g switch to avoid override debuginfocflags.
-%{__sed} -i 's/<debug-symbols>on : -g/<debug-symbols>on :/' tools/build/v2/tools/gcc.jam
+%{__sed} -i 's/<debug-symbols>on : -g/<debug-symbols>on :/' tools/build/src/tools/gcc.jam
# link against shared expat library.
-%{__sed} -i 's:find-static:find-shared:' libs/graph/build/Jamfile.v2
+#%{__sed} -i 's:find-static:find-shared:' libs/graph/build/Jamfile.v2
-%ifarch alpha
-# -pthread gcc parameter doesn't add _REENTRANT to cpp macros on alpha (only)
-# don't know, is it gcc bug or intentional omission?
-# anyway, boost check of -D_REENTRANT in its headers, so it's needed here
-%{__perl} -pi -e 's/(CFLAGS.*-pthread)/$1 -D_REENTRANT/' tools/build/v1/gcc-tools.jam
-%endif
-
-cat << EOF > tools/build/v2/user-config.jam
-using gcc : %(%{__cxx} -dumpversion) : %{__cxx} ;
+cat << EOF > tools/build/src/user-config.jam
+using gcc : %{cxx_version} : %{__cxx} ;
EOF
+# cleanup backups after patching
+find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+
%build
-%if %{with python}
-PYTHON_VERSION=$(%{__python} -c 'import sys; print sys.version[0:3]')
-PYTHON_ROOT=%{_prefix}
-%else
-PYTHON_ROOT=
-PYTHON_VERSION=
-%endif
EXPAT_INCLUDE=%{_includedir} \
EXPAT_LIBPATH=%{_libdir} \
ICU_PATH=%{_prefix} \
-bjam \
+./bootstrap.sh \
+ --prefix=%{_prefix} \
+ -without-libraries=python
+
+./b2 \
+%ifarch x32
+ --without-context \
+ --without-coroutine \
+%endif
-d2 --toolset=gcc \
- variant=release debug-symbols=on inlining=on link=static,shared threading=multi
+ variant=release \
+ debug-symbols=on \
+ inlining=on \
+ link=static,shared \
+ threading=multi
+
+%if %{with python3}
+echo "using python : %{py3_ver}m : %{py3_prefix} : %{py3_incdir} ;" >> project-config.jam
+./b2 \
+ --with-python python=%{py3_ver}m \
+ -a -d2 --toolset=gcc \
+ variant=release \
+ debug-symbols=on \
+ inlining=on \
+ link=static,shared \
+ threading=multi
+%endif
+
+%if %{with python2}
+echo "using python : %{py_ver} : %{py_prefix} : %{py_incdir} ;" >> project-config.jam
+./b2 \
+ --with-python python=%{py_ver} \
+ -a -d2 --toolset=gcc \
+ variant=release \
+ debug-symbols=on \
+ inlining=on \
+ link=static,shared \
+ threading=multi
+%endif
%install
rm -rf $RPM_BUILD_ROOT
cp -rf boost $RPM_BUILD_ROOT%{_includedir}
-install bin.v2/libs/*/build/gcc-*/release/debug-symbols-on/inlining-on/link-static/threading-multi/lib*.a $RPM_BUILD_ROOT%{_libdir}
-install bin.v2/libs/*/build/gcc-*/release/debug-symbols-on/inlining-on/threading-multi/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
-
-# create symlinks without -gccXX-mt-* things in names
-for f in $RPM_BUILD_ROOT%{_libdir}/*.so.*.*.*; do
- [ -f "$f" ] || continue
- f=$(basename "$f")
- soname=$(basename "$f" | sed -e 's#-gcc..-mt-.*#.so#g')
- ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/$soname"
-done
-for f in $RPM_BUILD_ROOT%{_libdir}/*.a; do
- [ -f "$f" ] || continue
- f=$(basename "$f")
- soname=$(basename "$f" | sed -e 's#-gcc..-mt-.*#.a#g')
- ln -s "$f" "$RPM_BUILD_ROOT%{_libdir}/$soname"
-done
+install -p stage/lib/lib*.a $RPM_BUILD_ROOT%{_libdir}
+install -p stage/lib/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
+cp -a stage/lib/lib*.so $RPM_BUILD_ROOT%{_libdir}
# documentation
install -d $RPM_BUILD_ROOT%{_docdir}/boost-%{version}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+%post chrono -p /sbin/ldconfig
+%postun chrono -p /sbin/ldconfig
+
+%post context -p /sbin/ldconfig
+%postun context -p /sbin/ldconfig
+
%post date_time -p /sbin/ldconfig
%postun date_time -p /sbin/ldconfig
%post graph -p /sbin/ldconfig
%postun graph -p /sbin/ldconfig
+%post locale -p /sbin/ldconfig
+%postun locale -p /sbin/ldconfig
+
%post python -p /sbin/ldconfig
%postun python -p /sbin/ldconfig
+%post python3 -p /sbin/ldconfig
+%postun python3 -p /sbin/ldconfig
+
%post program_options -p /sbin/ldconfig
%postun program_options -p /sbin/ldconfig
%post test -p /sbin/ldconfig
%postun test -p /sbin/ldconfig
-%post wave -p /sbin/ldconfig
-%postun wave -p /sbin/ldconfig
-
%post thread -p /sbin/ldconfig
%postun thread -p /sbin/ldconfig
+%post timer -p /sbin/ldconfig
+%postun timer -p /sbin/ldconfig
+
+%post wave -p /sbin/ldconfig
+%postun wave -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_iostreams*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_atomic.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_container.so.*.*.*
+%ifnarch x32
+%attr(755,root,root) %{_libdir}/libboost_coroutine.so.*.*.*
+%endif
+%attr(755,root,root) %{_libdir}/libboost_iostreams.so.*.*.*
%attr(755,root,root) %{_libdir}/libboost_math_*.so.*.*.*
-%attr(755,root,root) %{_libdir}/libboost_serialization*.so.*.*.*
-%attr(755,root,root) %{_libdir}/libboost_wserialization*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_random.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_serialization.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_wserialization.so.*.*.*
%files devel
%defattr(644,root,root,755)
-%{_includedir}/boost
-%attr(755,root,root) %{_libdir}/libboost_date_time*.so
-%attr(755,root,root) %{_libdir}/libboost_filesystem*.so
-%attr(755,root,root) %{_libdir}/libboost_graph*.so
-%attr(755,root,root) %{_libdir}/libboost_iostreams*.so
+%attr(755,root,root) %{_libdir}/libboost_atomic.so
+%attr(755,root,root) %{_libdir}/libboost_chrono.so
+%attr(755,root,root) %{_libdir}/libboost_container.so
+%ifnarch x32
+%attr(755,root,root) %{_libdir}/libboost_context.so
+%attr(755,root,root) %{_libdir}/libboost_coroutine.so
+%endif
+%attr(755,root,root) %{_libdir}/libboost_date_time.so
+%attr(755,root,root) %{_libdir}/libboost_filesystem.so
+%attr(755,root,root) %{_libdir}/libboost_graph.so
+%attr(755,root,root) %{_libdir}/libboost_iostreams.so
+%attr(755,root,root) %{_libdir}/libboost_locale.so
+%attr(755,root,root) %{_libdir}/libboost_log.so
+%attr(755,root,root) %{_libdir}/libboost_log_setup.so
%attr(755,root,root) %{_libdir}/libboost_math_*.so
-%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor*.so
-%attr(755,root,root) %{_libdir}/libboost_program_options*.so
-%attr(755,root,root) %{_libdir}/libboost_regex*.so
-%attr(755,root,root) %{_libdir}/libboost_serialization*.so
-%attr(755,root,root) %{_libdir}/libboost_signals*.so
-%attr(755,root,root) %{_libdir}/libboost_system*.so
-%attr(755,root,root) %{_libdir}/libboost_thread*.so
-%attr(755,root,root) %{_libdir}/libboost_unit_test_framework*.so
-%attr(755,root,root) %{_libdir}/libboost_wave*.so
-%attr(755,root,root) %{_libdir}/libboost_wserialization*.so
+%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so
+%attr(755,root,root) %{_libdir}/libboost_program_options.so
+%attr(755,root,root) %{_libdir}/libboost_regex.so
+%attr(755,root,root) %{_libdir}/libboost_random.so
+%attr(755,root,root) %{_libdir}/libboost_serialization.so
+%attr(755,root,root) %{_libdir}/libboost_signals.so
+%attr(755,root,root) %{_libdir}/libboost_system.so
+%attr(755,root,root) %{_libdir}/libboost_thread.so
+%attr(755,root,root) %{_libdir}/libboost_timer.so
+%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so
+%attr(755,root,root) %{_libdir}/libboost_wave.so
+%attr(755,root,root) %{_libdir}/libboost_wserialization.so
+%{_includedir}/boost
+%exclude %{_includedir}/boost/python
+%exclude %{_includedir}/boost/python.hpp
%files static
%defattr(644,root,root,755)
-%{_libdir}/libboost_date_time*.a
-%{_libdir}/libboost_filesystem*.a
-%{_libdir}/libboost_grap*.a
-%{_libdir}/libboost_iostreams*.a
+%{_libdir}/libboost_atomic.a
+%{_libdir}/libboost_chrono.a
+%{_libdir}/libboost_container.a
+%ifnarch x32
+%{_libdir}/libboost_context.a
+%{_libdir}/libboost_coroutine.a
+%endif
+%{_libdir}/libboost_date_time.a
+%{_libdir}/libboost_exception.a
+%{_libdir}/libboost_filesystem.a
+%{_libdir}/libboost_graph.a
+%{_libdir}/libboost_iostreams.a
+%{_libdir}/libboost_locale.a
+%{_libdir}/libboost_log.a
+%{_libdir}/libboost_log_setup.a
%{_libdir}/libboost_math_*.a
-%{_libdir}/libboost_prg_exec_monitor*.a
-%{_libdir}/libboost_program_options*.a
-%{_libdir}/libboost_regex*.a
-%{_libdir}/libboost_serialization*.a
-%{_libdir}/libboost_signals*.a
-%{_libdir}/libboost_system*.a
-%{_libdir}/libboost_test_exec_monitor*.a
-%{_libdir}/libboost_thread*.a
-%{_libdir}/libboost_unit_test_framework*.a
-%{_libdir}/libboost_wave*.a
-%{_libdir}/libboost_wserialization*.a
-
-%if %{with python}
+%{_libdir}/libboost_prg_exec_monitor.a
+%{_libdir}/libboost_program_options.a
+%{_libdir}/libboost_random.a
+%{_libdir}/libboost_regex.a
+%{_libdir}/libboost_serialization.a
+%{_libdir}/libboost_signals.a
+%{_libdir}/libboost_system.a
+%{_libdir}/libboost_test_exec_monitor.a
+%{_libdir}/libboost_timer.a
+%{_libdir}/libboost_thread.a
+%{_libdir}/libboost_unit_test_framework.a
+%{_libdir}/libboost_wave.a
+%{_libdir}/libboost_wserialization.a
+
+%if %{with python2} || %{with python3}
+%files python-devel-common
+%defattr(644,root,root,755)
+%{_includedir}/boost/python
+%{_includedir}/boost/python.hpp
+%endif
+
+%if %{with python2}
%files python
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_python*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_python.so.*.*.*
%files python-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_python*.so
-%{_includedir}/boost/python
-%{_includedir}/boost/python.hpp
+%attr(755,root,root) %{_libdir}/libboost_python.so
%files python-static
%defattr(644,root,root,755)
-%{_libdir}/libboost_python*.a
+%{_libdir}/libboost_python.a
+%endif
+
+%if %{with python3}
+%files python3
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_python3.so.*.*.*
+
+%files python3-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_python3.so
+
+%files python3-static
+%defattr(644,root,root,755)
+%{_libdir}/libboost_python3.a
+%endif
+
+%files chrono
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_chrono.so.*.*.*
+
+%ifnarch x32
+%files context
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_context.so.*.*.*
%endif
%files date_time
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_date_time*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_date_time.so.*.*.*
%files filesystem
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_filesystem*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_filesystem.so.*.*.*
%files graph
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_graph*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_graph.so.*.*.*
+
+%files locale
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_locale.so.*.*.*
+
+%files log
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_log.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_log_setup.so.*.*.*
%files program_options
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_program_options*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_program_options.so.*.*.*
%files regex
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_regex*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_regex.so.*.*.*
%files signals
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_signals*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_signals.so.*.*.*
%files system
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_system*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_system.so.*.*.*
%files test
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor*.so.*.*.*
-%attr(755,root,root) %{_libdir}/libboost_unit_test_framework*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_prg_exec_monitor.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_unit_test_framework.so.*.*.*
%files thread
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_thread*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_thread.so.*.*.*
+
+%files timer
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libboost_timer.so.*.*.*
%files wave
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libboost_wave*.so.*.*.*
+%attr(755,root,root) %{_libdir}/libboost_wave.so.*.*.*
%files doc
%defattr(644,root,root,755)