%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: 5 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 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 # 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} : : : ; 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*