%define debug %nil %define debug_package %nil %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 libcontract %mklibname boost_contract_ %{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_python35_ %{version} %define libpython38 %mklibname boost_python38_ %{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 libstacktrace %mklibname boost_stacktrace_ %{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 %define devpython38 %mklibname boost_python38 -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 #define _disable_lto 1 %define beta %{nil} %define _libexecdir /usr/libexec %ifarch %{ix86} %{arm} %bcond_with numpy %else %bcond_without numpy %endif # Doesn't work with dual python2/python3 bits %define _python_bytecompile_build 0 # (tpg) save 50 MiB %bcond_with docs # python2 %bcond_with python2 # signals %bcond_with signals Summary: Portable C++ libraries Name: boost Version: 1.79.0 Release: 1 License: Boost Group: Development/C++ URL: https://www.boost.org #Source0: http://download.sourceforge.net/boost/boost_%{packver}.tar.bz2 Source0: https://sourceforge.net/projects/boost/files/boost/%{version}/boost_%{packver}.tar.bz2 Source100: %{name}.rpmlintrc # 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.50.0-pool.patch Patch17: boost-1.57.0-python-libpython_dep.patch Patch18: boost-1.57.0-python-abi_letters.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1190039 Patch19: boost-1.57.0-build-optflags.patch #Patch21: boost-unrecognized-option.patch BuildRequires: doxygen BuildRequires: xsltproc BuildRequires: bzip2-devel BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(icu-uc) >= 60.1 BuildRequires: pkgconfig(python) BuildRequires: pkgconfig(python3) BuildRequires: python38-devel %if %{with numpy} BuildRequires: python3-numpy-devel %endif BuildRequires: pkgconfig(zlib) BuildRequires: bzip2 %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} #---------------------------------------------------------------------------- %if %{with python2} %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_python27.so.%{version} %endif #---------------------------------------------------------------------------- %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_python35.so.%{version} %ifarch x86_64 %{_libdir}/libboost_numpy35.so.%{version} %endif %package -n %{libpython38} Summary: Boost python3 shared library Group: System/Libraries # no one should require this, but provided anyway for maximum compatibility: Provides: boost = %{EVRD} %description -n %{libpython38} 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 %{libpython38} %doc LICENSE_1_0.txt #{_libdir}/libboost_python38.so.%{version} #ifarch x86_64 #{_libdir}/libboost_numpy38.so.%{version} #endif #---------------------------------------------------------------------------- %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} #---------------------------------------------------------------------------- %if %{with signals} %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} %endif #---------------------------------------------------------------------------- %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 %{libstacktrace} Summary: Boost stacktrace shared library Group: System/Libraries # no one should require this, but provided anyway for maximum compatibility: Provides: boost = %{EVRD} %description -n %{libstacktrace} 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 stacktrace. %files -n %{libstacktrace} %doc LICENSE_1_0.txt #{_libdir}/libboost_stacktrace_addr2line.so.%{version} %{_libdir}/libboost_stacktrace_basic.so.%{version} %{_libdir}/libboost_stacktrace_noop.so.%{version} #---------------------------------------------------------------------------- %package -n %{libcontract} Summary: Boost contract shared library Group: System/Libraries # no one should require this, but provided anyway for maximum compatibility: Provides: boost = %{EVRD} %description -n %{libcontract} 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 contract. %files -n %{libcontract} %doc LICENSE_1_0.txt %{_libdir}/libboost_contract.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} %if %{with python2} Requires: %{libpython} = %{EVRD} %endif Requires: %{libpython3} = %{EVRD} Requires: %{libpython38} = %{EVRD} Requires: %{librandom} = %{EVRD} Requires: %{libregex} = %{EVRD} Requires: %{libserialization} = %{EVRD} %if %{with signals} Requires: %{libsignals} = %{EVRD} %endif 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_python35.so %{_libdir}/cmake/* #---------------------------------------------------------------------------- %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_python35.so %package -n %{devpython38} Summary: The libraries and headers needed for Boost Python 3 development Group: Development/C++ Requires: %{libpython38} = %{EVRD} Requires: %{devname} = %{EVRD} Provides: %{name}-python38-devel = %{EVRD} %description -n %{devpython38} 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 %{devpython38} #{_libdir}/libboost_python38.so #---------------------------------------------------------------------------- %prep %setup -qn boost_%{packver} #patch0 -p1 #patch1 -p1 #patch2 -p1 #patch4 -p1 #patch5 -p1 #patch7 -p1 #patch10 -p1 #patch12 -p1 #patch15 -p1 #patch16 -p1 #patch17 -p1 #patch18 -p1 #patch19 -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 : "%{optflags}" "%{optflags}" "%{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} : : : ; using python : %{py38_ver} : %{_libexecdir}/python%{py38_ver} : %{_includedir}/python%{py38_ver} : %{_libdir} : : : ; EOF ./bootstrap.sh --with-toolset=gcc --with-icu --prefix=%{_prefix} --libdir=%{_libdir} --with-python=%{py3_ver} ./b2 -d+2 -q %{?_smp_mflags} --without-mpi \ --prefix=%{_prefix} --libdir=%{_libdir} \ %ifarch %ix86 instruction-set=i686 \ %endif %if !%{with context} --without-context --without-coroutine \ %endif %ifarch znver1 instruction-set=znver1 \ %endif linkflags="%{ldflags} -lstdc++ -lm" \ -sHAVE_ICU=1 \ link=shared threading=multi debug-symbols=off --layout=system \ python=%{py38_ver} # 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=%{py3_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*