boost/boost.spec
2020-04-01 08:15:45 +03:00

910 lines
33 KiB
RPMSpec

%define packver %(echo "%{version}" | sed -e "s/\\\./_/g")
%define libatomic %mklibname boost_atomic %{version}
%define libchrono %mklibname boost_chrono %{version}
%define libcontainer %mklibname boost_container %{version}
%define libcontext %mklibname boost_context %{version}
%define libcoroutine %mklibname boost_coroutine %{version}
%define libdatetime %mklibname boost_date_time %{version}
%define libfilesystem %mklibname boost_filesystem %{version}
%define libgraph %mklibname boost_graph %{version}
%define libiostreams %mklibname boost_iostreams %{version}
%define liblocale %mklibname boost_locale %{version}
%define liblog %mklibname boost_log %{version}
%define liblogsetup %mklibname boost_log_setup %{version}
%define libmathc99 %mklibname boost_math_c99_ %{version}
%define libmathc99f %mklibname boost_math_c99f %{version}
%define libmathc99l %mklibname boost_math_c99l %{version}
%define libmathtr1 %mklibname boost_math_tr1_ %{version}
%define libmathtr1f %mklibname boost_math_tr1f %{version}
%define libmathtr1l %mklibname boost_math_tr1l %{version}
%define libprgexecmonitor %mklibname boost_prg_exec_monitor %{version}
%define libprogramoptions %mklibname boost_program_options %{version}
%define libpython %mklibname boost_python %{version}
%define libpython3 %mklibname boost_python3_ %{version}
%define librandom %mklibname boost_random %{version}
%define libregex %mklibname boost_regex %{version}
%define libserialization %mklibname boost_serialization %{version}
%define libsignals %mklibname boost_signals %{version}
%define libsystem %mklibname boost_system %{version}
%define libthread %mklibname boost_thread %{version}
%define libtimer %mklibname boost_timer %{version}
%define libtypeerasure %mklibname boost_type_erasure %{version}
%define libunittestframework %mklibname boost_unit_test_framework %{version}
%define libwave %mklibname boost_wave %{version}
%define libwserialization %mklibname boost_wserialization %{version}
%define devname %mklibname boost -d
%define sdevname %mklibname boost -d -s
%define devpython3 %mklibname boost_python3 -d
%ifarch aarch64
%bcond_with context
%else
%bcond_without context
%endif
# --no-undefined breaks build of CMakeified Boost.{Chrono,Locale,Timer}.
# Without --no-undefined, corresponding libraries lose their dependency on Boost.System.
# This is totally wrong, but it's rather a CMake'ification bug.
%define _disable_ld_no_undefined 1
Summary: Portable C++ libraries
Name: boost
Version: 1.61.0
Release: 7
License: Boost
Group: Development/C++
Url: http://boost.org/
Source0: http://download.sourceforge.net/boost/boost_%{packver}.tar.bz2
Source100: %{name}.rpmlintrc
# https://bugzilla.redhat.com/show_bug.cgi?id=1102667
Patch0: boost-1.57.0-python-abi_letters.patch
Patch1: boost-1.57.0-python-libpython_dep.patch
Patch2: boost-1.55.0-python-test-PyImport_AppendInittab.patch
# https://svn.boost.org/trac/boost/ticket/6150
Patch4: boost-1.50.0-fix-non-utf8-files.patch
# Add a manual page for the sole executable, namely bjam, based on the
# on-line documentation:
# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
Patch5: boost-1.48.0-add-bjam-man-page.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=756005
# https://svn.boost.org/trac/boost/ticket/6131
Patch7: boost-1.50.0-foreach.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=783660
# https://svn.boost.org/trac/boost/ticket/6459 fixed
Patch10: boost-1.50.0-long-double-1.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=784654
Patch12: boost-1.50.0-polygon.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=828856
# https://bugzilla.redhat.com/show_bug.cgi?id=828857
Patch15: boost-1.61.0-pool.patch
# From https://github.com/dealii/dealii/pull/6126
# To use this old boost with libc++ from LLVM
# (e.g. to build LibreOffice 6.x in rosa2016.1 where libstdc++
# is too old and does not support C++17)
Patch16: 0001-Minimal-compatibility-with-C-17.patch
Patch17: 0002-Avoid-auto_ptr-in-bundled-boost.patch
BuildRequires: doxygen
BuildRequires: xsltproc
BuildRequires: bzip2-devel
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(icu-uc)
BuildRequires: pkgconfig(python)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(zlib)
%description
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains only the shared libraries
needed for running programs using Boost.
#----------------------------------------------------------------------------
# build section Taken from the Fedora .src.rpm.
%package build
Summary: Cross platform build system for C++ projects
Group: Development/C++
Requires: boost-jam
BuildArch: noarch
%description build
Boost.Build is an easy way to build C++ projects, everywhere. You name
your pieces of executable and libraries and list their sources. Boost.Build
takes care about compiling your sources with the right options,
creating static and shared libraries, making pieces of executable, and other
chores -- whether you're using GCC, MSVC, or a dozen more supported
C++ compilers -- on Windows, OSX, Linux and commercial UNIX systems.
%files build
%doc LICENSE_1_0.txt
%{_datadir}/boost-build/
#----------------------------------------------------------------------------
%package examples
Summary: The examples for the Boost libraries
Group: Development/C++
BuildArch: noarch
%description examples
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains examples, installed in the
same place as the documentation.
%files examples
%doc examples/*
#----------------------------------------------------------------------------
%package -n %{libatomic}
Summary: Boost atomic shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libatomic}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost atomic.
%files -n %{libatomic}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_atomic.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libchrono}
Summary: Boost chrono shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libchrono}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost chrono.
%files -n %{libchrono}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_chrono.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libcontainer}
Summary: Boost container shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libcontainer}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost context.
%files -n %{libcontainer}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_container.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libcontext}
Summary: Boost context shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libcontext}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost context.
%files -n %{libcontext}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_context.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libcoroutine}
Summary: Boost coroutine shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libcoroutine}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost coroutine.
%files -n %{libcoroutine}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_coroutine.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libdatetime}
Summary: Boost date_time shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libdatetime}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost datetime.
%files -n %{libdatetime}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_date_time.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libfilesystem}
Summary: Boost filesystem shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libfilesystem}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost filesystem.
%files -n %{libfilesystem}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_filesystem.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libgraph}
Summary: Boost graph shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libgraph}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost graph.
%files -n %{libgraph}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_graph.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libiostreams}
Summary: Boost iostreams shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libiostreams}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost iostreams.
%files -n %{libiostreams}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_iostreams.so.%{version}
#----------------------------------------------------------------------------
%package -n %{liblocale}
Summary: Boost locale shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{liblocale}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost locale.
%files -n %{liblocale}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_locale.so.%{version}
#----------------------------------------------------------------------------
%package -n %{liblog}
Summary: Boost log shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{liblog}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost log.
%files -n %{liblog}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_log.so.%{version}
#----------------------------------------------------------------------------
%package -n %{liblogsetup}
Summary: Boost log_setup shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{liblogsetup}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost log_setup.
%files -n %{liblogsetup}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_log_setup.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libmathc99}
Summary: Boost math_c99 shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libmathc99}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost math_c99.
%files -n %{libmathc99}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_c99.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libmathc99f}
Summary: Boost math_c99f shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libmathc99f}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost math_c99f.
%files -n %{libmathc99f}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_c99f.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libmathc99l}
Summary: Boost math_c99l shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libmathc99l}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost math_c99l.
%files -n %{libmathc99l}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_c99l.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libmathtr1}
Summary: Boost math_tr1 shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libmathtr1}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost math_tr1.
%files -n %{libmathtr1}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_tr1.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libmathtr1f}
Summary: Boost math_tr1f shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libmathtr1f}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost math_tr1f.
%files -n %{libmathtr1f}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_tr1f.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libmathtr1l}
Summary: Boost math_tr1l shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libmathtr1l}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost math_tr1l.
%files -n %{libmathtr1l}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_math_tr1l.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libprgexecmonitor}
Summary: Boost prg_exec_monitor shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libprgexecmonitor}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost prg_exec_monitor.
%files -n %{libprgexecmonitor}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_prg_exec_monitor.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libprogramoptions}
Summary: Boost program_options shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libprogramoptions}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost program_options.
%files -n %{libprogramoptions}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_program_options.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libpython}
Summary: Boost python shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libpython}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost python.
%files -n %{libpython}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_python.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libpython3}
Summary: Boost python3 shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libpython3}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost python.
%files -n %{libpython3}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_python3.so.%{version}
#----------------------------------------------------------------------------
%package -n %{librandom}
Summary: Boost random shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{librandom}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost random.
%files -n %{librandom}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_random.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libregex}
Summary: Boost regex shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libregex}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost regex.
%files -n %{libregex}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_regex.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libserialization}
Summary: Boost serialization shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libserialization}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost serialization.
%files -n %{libserialization}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_serialization.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libsignals}
Summary: Boost signals shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libsignals}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost signals.
%files -n %{libsignals}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_signals.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libsystem}
Summary: Boost system shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libsystem}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost system.
%files -n %{libsystem}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_system.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libthread}
Summary: Boost thread shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libthread}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost thread.
%files -n %{libthread}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_thread.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libtimer}
Summary: Boost timer shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libtimer}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost timer.
%files -n %{libtimer}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_timer.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libtypeerasure}
Summary: Boost type erasure shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libtypeerasure}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost timer.
%files -n %{libtypeerasure}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_type_erasure.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libunittestframework}
Summary: Boost unit_test_framework shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libunittestframework}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost unit_test_framework.
%files -n %{libunittestframework}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_unit_test_framework.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libwave}
Summary: Boost wave shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libwave}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost wave.
%files -n %{libwave}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_wave.so.%{version}
#----------------------------------------------------------------------------
%package -n %{libwserialization}
Summary: Boost wserialization shared library
Group: System/Libraries
# no one should require this, but provided anyway for maximum compatibility:
Provides: boost = %{EVRD}
%description -n %{libwserialization}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains the shared library needed for
running programs dynamically linked against Boost wserialization.
%files -n %{libwserialization}
%doc LICENSE_1_0.txt
%{_libdir}/libboost_wserialization.so.%{version}
#----------------------------------------------------------------------------
%package -n %{devname}
Summary: The libraries and headers needed for Boost development
Group: Development/C++
Requires: %{libatomic} = %{EVRD}
Requires: %{libchrono} = %{EVRD}
Requires: %{libcontainer} = %{EVRD}
Requires: %{libcontext} = %{EVRD}
Requires: %{libcoroutine} = %{EVRD}
Requires: %{libdatetime} = %{EVRD}
Requires: %{libfilesystem} = %{EVRD}
Requires: %{libgraph} = %{EVRD}
Requires: %{libiostreams} = %{EVRD}
Requires: %{liblocale} = %{EVRD}
Requires: %{liblog} = %{EVRD}
Requires: %{liblogsetup} = %{EVRD}
Requires: %{libmathc99} = %{EVRD}
Requires: %{libmathc99f} = %{EVRD}
Requires: %{libmathc99l} = %{EVRD}
Requires: %{libmathtr1} = %{EVRD}
Requires: %{libmathtr1f} = %{EVRD}
Requires: %{libmathtr1l} = %{EVRD}
Requires: %{libprgexecmonitor} = %{EVRD}
Requires: %{libprogramoptions} = %{EVRD}
Requires: %{libpython} = %{EVRD}
Requires: %{librandom} = %{EVRD}
Requires: %{libregex} = %{EVRD}
Requires: %{libserialization} = %{EVRD}
Requires: %{libsignals} = %{EVRD}
Requires: %{libsystem} = %{EVRD}
Requires: %{libthread} = %{EVRD}
Requires: %{libtimer} = %{EVRD}
Requires: %{libtypeerasure} = %{EVRD}
Requires: %{libunittestframework} = %{EVRD}
Requires: %{libwave} = %{EVRD}
Requires: %{libwserialization} = %{EVRD}
Provides: %{name}-devel = %{EVRD}
Provides: lib%{name}-devel = %{EVRD}
%description -n %{devname}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains headers and shared library
symlinks needed for Boost development.
%files -n %{devname}
%{_includedir}/boost
%{_libdir}/libboost_*.so
%exclude %{_libdir}/libboost_python3.so
#----------------------------------------------------------------------------
%package -n %{devname}-doc
Summary: Documentation for Boost
Group: Documentation
BuildArch: noarch
%description -n %{devname}-doc
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains documentation needed for Boost
development.
%files -n %{devname}-doc
%doc packagedoc/*
#----------------------------------------------------------------------------
%package -n %{sdevname}
Summary: Static libraries for Boost development
Group: Development/C++
Requires: %{devname} = %{EVRD}
Provides: %{name}-static-devel = %{EVRD}
%description -n %{sdevname}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains only the static libraries
needed for Boost development.
%files -n %{sdevname}
%{_libdir}/libboost_*.a
#----------------------------------------------------------------------------
%package -n %{devpython3}
Summary: The libraries and headers needed for Boost Python 3 development
Group: Development/C++
Requires: %{libpython3} = %{EVRD}
Requires: %{devname} = %{EVRD}
Provides: %{name}-python3-devel = %{EVRD}
%description -n %{devpython3}
Boost is a collection of free peer-reviewed portable C++ source
libraries. The emphasis is on libraries which work well with the C++
Standard Library. This package contains headers and shared library
symlinks needed for Boost development.
%files -n %{devpython3}
%{_libdir}/libboost_python3.so
#----------------------------------------------------------------------------
%prep
%setup -qn boost_%{packver}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch4 -p1
%patch5 -p1
%patch7 -p2
%patch10 -p1
%patch12 -p3
%patch15 -p0
%patch16 -p1
%patch17 -p1
# Preparing the docs
mkdir packagedoc
find -type f -not -path '*packagedoc*' \( -name '*.html' -o -name '*.htm' -o -name '*.css' -o -name '*.gif' -o -name '*.jpg' -o -name '*.png' -o -name '*README*' \) -exec cp --parents {} packagedoc/ \;
# Preparing the examples: All .hpp or .cpp files that are not in
# directories called test, src, or tools, as well as all files of any
# type in directories called example or examples.
mkdir examples
find libs -type f \( -name "*.?pp" ! -path "*test*" ! -path "*src*" ! -path "*tools*" -o -path "*example*" \) -exec cp --parents {} examples/ \;
%build
%define gcc_ver %(rpm -q --queryformat="%%{VERSION}" gcc)
cat > ./tools/build/src/user-config.jam << EOF
using gcc : %{gcc_ver} : gcc : <cflags>"%{optflags}" <cxxflags>"%{optflags}" <linkflags>"%{ldflags}" ;
using python : %{py3_ver} : %{_bindir}/python%{py3_ver} : %{_includedir}/python%{py3_ver}m : %{_libdir} : : : ;
using python : %{py_ver} : %{_bindir}/python%{py_ver} : %{_includedir}/python%{py_ver} : %{_libdir} : : : ;
EOF
./bootstrap.sh --with-toolset=gcc --with-icu --prefix=%{_prefix} --libdir=%{_libdir} --with-python=%{py_ver}
./b2 -d+2 -q %{?_smp_mflags} --without-mpi \
--prefix=%{_prefix} --libdir=%{_libdir} \
%if !%{with context}
--without-context --without-coroutine \
%endif
linkflags="%{ldflags} -lstdc++ -lm" \
-sHAVE_ICU=1 \
python=%{py_ver} \
link=shared threading=multi debug-symbols=off --layout=system
# Taken from the Fedora .src.rpm.
echo ============================= build Boost.Build ==================
(cd tools/build
./bootstrap.sh --with-toolset=gcc)
%install
./b2 -d+2 -q %{?_smp_mflags} --without-mpi \
--prefix=%{buildroot}%{_prefix} --libdir=%{buildroot}%{_libdir} \
%if !%{with context}
--without-context --without-coroutine \
%endif
link=shared \
python=%{py_ver} \
install
echo ============================= install Boost.Build ==================
(cd tools/build
./b2 --prefix=%{buildroot}%{_prefix} install
# Fix some permissions
chmod -x %{buildroot}%{_datadir}/boost-build/src/build/alias.py
chmod +x %{buildroot}%{_datadir}/boost-build/src/tools/doxproc.py
# We don't want to distribute this
rm -f %{buildroot}%{_bindir}/b2
# Not a real file
rm -f %{buildroot}%{_datadir}/boost-build/src/build/project.ann.py
# Empty file
rm -f %{buildroot}%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp
)
rm -f %{buildroot}/%{_bindir}/bjam
rm -f %{buildroot}/%{_mandir}/man1/bjam.1*