%global boost_docdir __tmp_docdir %global boost_examplesdir __tmp_examplesdir %global version_enc 1_78_0 %bcond_with mpich %bcond_with openmpi %bcond_with tests %bcond_with docs_generated Name: boost Version: 1.78.0 Release: 4 Summary: The free peer-reviewed portable C++ source libraries License: Boost Software License 1.0 URL: http://www.boost.org Source0: https://boostorg.jfrog.io/ui/native/main/release/%{version}/source/%{name}_%{version_enc}.tar.gz Source1: bjam # All of the following patches have been merged into boost develop branch # Remove them at the next release # https://github.com/boostorg/pool/pull/42 Patch0: boost-1.78-pool-fix-integer-overflows-in-pool-ordered_malloc.patch # https://github.com/boostorg/locale/pull/72 Patch1: boost-1.78-locale-Fix-access-to-first-element-of-empty-vector.patch # https://github.com/boostorg/locale/pull/38 Patch2: boost-1.77-locale-remove-linking-with-boost-system.patch # https://github.com/boostorg/type_erasure/pull/19 Patch3: boost-1.77-type_erasure-remove-boost-system-linkage.patch Requires: %{name}-atomic%{?_isa} = %{version}-%{release} Requires: %{name}-chrono%{?_isa} = %{version}-%{release} Requires: %{name}-container%{?_isa} = %{version}-%{release} Requires: %{name}-context%{?_isa} = %{version}-%{release} Requires: %{name}-contract%{?_isa} = %{version}-%{release} Requires: %{name}-coroutine%{?_isa} = %{version}-%{release} Requires: %{name}-date-time%{?_isa} = %{version}-%{release} Requires: %{name}-filesystem%{?_isa} = %{version}-%{release} Requires: %{name}-graph%{?_isa} = %{version}-%{release} Requires: %{name}-iostreams%{?_isa} = %{version}-%{release} Requires: %{name}-json%{?_isa} = %{version}-%{release} Requires: %{name}-locale%{?_isa} = %{version}-%{release} Requires: %{name}-log%{?_isa} = %{version}-%{release} Requires: %{name}-math%{?_isa} = %{version}-%{release} Requires: %{name}-nowide%{?_isa} = %{version}-%{release} Requires: %{name}-program-options%{?_isa} = %{version}-%{release} Requires: %{name}-python3%{?_isa} = %{version}-%{release} Requires: %{name}-random%{?_isa} = %{version}-%{release} Requires: %{name}-regex%{?_isa} = %{version}-%{release} Requires: %{name}-serialization%{?_isa} = %{version}-%{release} Requires: %{name}-system%{?_isa} = %{version}-%{release} Requires: %{name}-test%{?_isa} = %{version}-%{release} Requires: %{name}-thread%{?_isa} = %{version}-%{release} Requires: %{name}-timer%{?_isa} = %{version}-%{release} Requires: %{name}-type_erasure%{?_isa} = %{version}-%{release} Requires: %{name}-wave%{?_isa} = %{version}-%{release} BuildRequires: gcc-c++ # required by python3 BuildRequires: python3-devel # optional library for asio BuildRequires: openssl-devel # optional libraries for iostreams BuildRequires: bzip2-devel libzstd-devel xz-devel zlib-devel # optional library for multiprecision BuildRequires: libquadmath-devel # optional library for python3 BuildRequires: python3-numpy # optional library for regex BuildRequires: libicu-devel Obsoletes: boost-signals < 1.69.0 %description Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications. The Boost license encourages the use of Boost libraries for all users with minimal restrictions. %package atomic Summary: Run-time component for boost atomic. %description atomic C++11-style atomic<>. %package chrono Summary: Run-time component for boost chrono. %description chrono Useful time utilities. %package container Summary: Run-time component for boost container. %description container Standard library containers and extensions. %package context Summary: Run-time component for boost context. %description context (C++11) Context switching library. %package contract Summary: Run-time component for boost contract. %description contract Contract programming for C++. %package coroutine Summary: Run-time component for boost coroutine. %description coroutine (deprecated) Coroutine library. %package date-time Summary: Run-time component for boost date-time. %description date-time A set of date-time libraries based on generic programming concepts. %package filesystem Summary: Run-time component for boost filesystem. %description filesystem Portable facilities to query and manipulate paths, files, and directories. %package graph Summary: Run-time component for boost graph. Requires: boost-regex%{?_isa} = %{version}-%{release} %description graph The BGL graph interface and graph components are generic. %package iostreams Summary: Run-time component for boost iostreams. %description iostreams A framework for defining streams, stream buffers and i/o filters. %package json Summary: Run-time component for boost json. %description json JSON parsing, serialization, and DOM in C++11 %package locale Summary: Run-time component for boost locale. Requires: boost-chrono%{?_isa} = %{version}-%{release} Requires: boost-thread%{?_isa} = %{version}-%{release} %description locale Provide localization and Unicode handling tools for C++. %package log Summary: Run-time component for boost log. %description log Logging library. %package math Summary: Run-time component for boost math. %description math Boost.Math includes several contributions in the domain of mathematics. %package nowide Summary: Run-time component for boost nowide. %description nowide Standard library functions with UTF-8 API on Windows. %package program-options Summary: Run-time component for boost program-options. %description program-options The program_options library allows program developers to obtain program options. %package python3 Summary: Run-time component for boost python. %description python3 A framework for interfacing Python and C++. %package random Summary: Run-time component for boost random. %description random A complete system for random number generation. %package regex Summary: Run-time component for boost regex. %description regex Regular expression library. %package serialization Summary: Run-time component for boost serialization. %description serialization Serialization for persistence and marshalling. %package system Summary: Run-time component for boost system. %description system Extensible error reporting. %package test Summary: Run-time component for boost test. %description test Support for simple program testing, full unit testing, and for program execution monitoring. %package thread Summary: Run-time component for boost thread. %description thread Portable C++ multi-threading. %package timer Summary: Run-time component for boost timer. Requires: boost-chrono%{?_isa} = %{version}-%{release} %description timer Event timer, progress timer, and progress display classes. %package type_erasure Summary: Run-time component for boost type-erasure. Requires: boost-chrono%{?_isa} = %{version}-%{release} %description type_erasure Runtime polymorphism based on concepts. %package wave Summary: Run-time component for boost wave. Requires: boost-chrono%{?_isa} = %{version}-%{release} Requires: boost-filesystem%{?_isa} = %{version}-%{release} Requires: boost-thread%{?_isa} = %{version}-%{release} %description wave An implementation of the mandated C99/C++ preprocessor functionality. %package devel Summary: The Boost C++ headers, shared and static development libraries Requires: boost%{?_isa} = %{version}-%{release} Requires: libicu-devel%{?_isa} Requires: libquadmath-devel%{?_isa} Provides: boost-static Obsoletes: boost-static < %{version} %description devel Headers shared object symbolic links for the Boost C++ libraries and static Boost C++ libraries distributed with boost. %package help Summary: HTML documentation for the Boost C++ libraries BuildArch: noarch %description help This package contains the documentation in the HTML format of the Boost C++ libraries. The documentation provides the same content as that on the Boost web page (http://www.boost.org/doc/libs/%{version_enc}). %package examples Summary: Source examples for the Boost C++ libraries BuildArch: noarch Requires: boost-devel = %{version}-%{release} %description examples This package contains example source files distributed with boost. %if 0%{with openmpi} %package openmpi Summary: Run-time component of Boost.MPI library BuildRequires: openmpi-devel Requires: boost-serialization%{?_isa} = %{version}-%{release} %description openmpi Run-time support for Boost.MPI-OpenMPI, a library providing a clean C++ API over the OpenMPI implementation of MPI. %package openmpi-devel Summary: Shared library symbolic links for Boost.MPI Requires: boost-devel%{?_isa} = %{version}-%{release} Requires: boost-openmpi%{?_isa} = %{version}-%{release} Requires: boost-graph-openmpi%{?_isa} = %{version}-%{release} %description openmpi-devel Devel package for Boost.MPI-OpenMPI, a library providing a clean C++ API over the OpenMPI implementation of MPI. %package openmpi-python3 Summary: Python 3 run-time component of Boost.MPI library Requires: boost-openmpi%{?_isa} = %{version}-%{release} Requires: boost-python3%{?_isa} = %{version}-%{release} Requires: boost-serialization%{?_isa} = %{version}-%{release} Requires: python3-openmpi%{?_isa} %description openmpi-python3 Python 3 support for Boost.MPI-OpenMPI, a library providing a clean C++ API over the OpenMPI implementation of MPI. %package openmpi-python3-devel Summary: Shared library symbolic links for Boost.MPI Python 3 component Requires: boost-devel%{?_isa} = %{version}-%{release} Requires: boost-python3-devel%{?_isa} = %{version}-%{release} Requires: boost-openmpi-devel%{?_isa} = %{version}-%{release} Requires: boost-openmpi-python3%{?_isa} = %{version}-%{release} %description openmpi-python3-devel Devel package for the Python 3 interface of Boost.MPI-OpenMPI, a library providing a clean C++ API over the OpenMPI implementation of MPI. %package graph-openmpi Summary: Run-time component of parallel boost graph library Requires: boost-openmpi%{?_isa} = %{version}-%{release} Requires: boost-serialization%{?_isa} = %{version}-%{release} %description graph-openmpi Run-time support for the Parallel BGL graph library. The interface and graph components are generic, in the same sense as the Standard Template Library (STL). This libraries in this package use OpenMPI back-end to do the parallel work. %endif %if 0%{with mpich} %package mpich Summary: Run-time component of Boost.MPI library BuildRequires: mpich-devel Requires: boost-serialization%{?_isa} = %{version}-%{release} %description mpich Run-time support for Boost.MPI-MPICH, a library providing a clean C++ API over the MPICH implementation of MPI. %package mpich-devel Summary: Shared library symbolic links for Boost.MPI Requires: boost-devel%{?_isa} = %{version}-%{release} Requires: boost-mpich%{?_isa} = %{version}-%{release} Requires: boost-graph-mpich%{?_isa} = %{version}-%{release} %description mpich-devel Devel package for Boost.MPI-MPICH, a library providing a clean C++ API over the MPICH implementation of MPI. %package mpich-python3 Summary: Python 3 run-time component of Boost.MPI library Requires: boost-mpich%{?_isa} = %{version}-%{release} Requires: boost-python3%{?_isa} = %{version}-%{release} Requires: boost-serialization%{?_isa} = %{version}-%{release} Requires: python3-mpich%{?_isa} %description mpich-python3 Python 3 support for Boost.MPI-MPICH, a library providing a clean C++ API over the MPICH implementation of MPI. %package mpich-python3-devel Summary: Shared library symbolic links for Boost.MPI Python 3 component Requires: boost-devel%{?_isa} = %{version}-%{release} Requires: boost-python3-devel%{?_isa} = %{version}-%{release} Requires: boost-mpich-devel%{?_isa} = %{version}-%{release} Requires: boost-mpich-python3%{?_isa} = %{version}-%{release} %description mpich-python3-devel Devel package for the Python 3 interface of Boost.MPI-MPICH, a library providing a clean C++ API over the MPICH implementation of MPI. %package graph-mpich Summary: Run-time component of parallel boost graph library Requires: boost-mpich%{?_isa} = %{version}-%{release} Requires: boost-serialization%{?_isa} = %{version}-%{release} %description graph-mpich Run-time support for the Parallel BGL graph library. The interface and graph components are generic, in the same sense as the Standard Template Library (STL). This libraries in this package use MPICH back-end to do the parallel work. %endif %package build Summary: Cross platform build system for C++ projects 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. %package doctools Summary: Tools for working with Boost documentation Requires: docbook-dtds Requires: docbook-style-xsl %description doctools Tools for working with Boost documentation in BoostBook or QuickBook format. %package jam Summary: A low-level build tool %description jam Boost.Jam (BJam) is the low-level build engine tool for Boost.Build. Historically, Boost.Jam is based on on FTJam and on Perforce Jam but has grown a number of significant features and is now developed independently. %prep %autosetup -p1 -n %{name}_%{version_enc} %build PYTHON3_ABIFLAGS=$(/usr/bin/python3-config --abiflags) : PYTHON3_VERSION=%{python3_version} : PYTHON3_ABIFLAGS=${PYTHON3_ABIFLAGS} export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations" export RPM_LD_FLAGS cat > ./tools/build/src/user-config.jam << "EOF" import os ; local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ; local RPM_LD_FLAGS = [ os.environ RPM_LD_FLAGS ] ; using gcc : : : $(RPM_OPT_FLAGS) $(RPM_LD_FLAGS) ; %if 0%{with openmpi} || 0%{with mpich} using mpi ; %endif EOF cat >> ./tools/build/src/user-config.jam << EOF using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{python3_version}${PYTHON3_ABIFLAGS} : : : ; EOF ./bootstrap.sh --with-toolset=gcc --with-icu %define opt_build -d+2 -q %{?_smp_mflags} --no-cmake-config %define opt_feature variant=release threading=multi debug-symbols=on pch=off %define opt_python python=%{python3_version} %define b2_options %{opt_build} %{opt_feature} %{opt_python} echo ============================= build serial ================== ./b2 %{b2_options} \ --without-mpi --without-graph_parallel --build-dir=serial \ stage %if %{with openmpi} || %{with mpich} module purge ||: %endif %if %{with openmpi} %{_openmpi_load} echo ============================= build $MPI_COMPILER ================== ./b2 %{b2_options} \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ stage %{_openmpi_unload} export PATH=/bin${PATH:+:}$PATH %endif %if %{with mpich} %{_mpich_load} echo ============================= build $MPI_COMPILER ================== ./b2 %{b2_options} \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ stage %{_mpich_unload} export PATH=/bin${PATH:+:}$PATH %endif echo ============================= build Boost.Build ================== (cd tools/build ./bootstrap.sh --with-toolset=gcc) %check : %install %if 0%{with openmpi} || 0%{with mpich} module purge ||: %endif %if 0%{with openmpi} %{_openmpi_load} echo ============================= install $MPI_COMPILER ================== ./b2 %{b2_options} \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \ install mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost touch ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/__init__.py mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \ ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/ rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy* %{_openmpi_unload} export PATH=/bin${PATH:+:}$PATH %endif %if 0%{with mpich} %{_mpich_load} echo ============================= install $MPI_COMPILER ================== ./b2 %{b2_options} \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \ install mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost touch ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/__init__.py mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \ ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/ rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy* %{_mpich_unload} export PATH=/bin${PATH:+:}$PATH %endif echo ============================= install serial ================== ./b2 %{b2_options} \ --without-mpi --without-graph_parallel --build-dir=serial \ --prefix=$RPM_BUILD_ROOT%{_prefix} \ --libdir=$RPM_BUILD_ROOT%{_libdir} \ install version=%{version} echo ============================= install Boost.Build ================== (cd tools/build ./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install chmod +x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py sed -i '1s@^#!/usr/bin.python$@&3@' $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py rm $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp rm -f $RPM_BUILD_ROOT%{_bindir}/b2 install -m 755 %{_builddir}/%{name}_%{version_enc}/tools/build/b2 $RPM_BUILD_ROOT%{_bindir}/bjam %{__install} -p -m 644 %{SOURCE1} -D $RPM_BUILD_ROOT%{_mandir}/man1/bjam.1 ) echo ============================= install Boost.QuickBook ================== (cd tools/quickbook ../build/b2 --prefix=$RPM_BUILD_ROOT%{_prefix} %{__install} -p -m 755 ../../dist/bin/quickbook $RPM_BUILD_ROOT%{_bindir}/ cd ../boostbook find dtd -type f -name '*.dtd' | while read tobeinstalledfiles; do install -p -m 644 $tobeinstalledfiles -D $RPM_BUILD_ROOT%{_datadir}/boostbook/$tobeinstalledfiles done find xsl -type f | while read tobeinstalledfiles; do install -p -m 644 $tobeinstalledfiles -D $RPM_BUILD_ROOT%{_datadir}/boostbook/$tobeinstalledfiles done ) echo ============================= install documentation ================== rm -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html DOCPATH=%{boost_docdir} DOCREGEX='.*\.\(html?\|css\|png\|gif\)' find libs doc more -type f -regex $DOCREGEX | sed -n '/\//{s,/[^/]*$,,;p}' | sort -u > tmp-doc-directories sed "s:^:$DOCPATH/:" tmp-doc-directories | xargs -P 0 --no-run-if-empty %{__install} -d cat tmp-doc-directories | while read tobeinstalleddocdir; do find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -regex $DOCREGEX -print0 \ | xargs -P 0 -0 %{__install} -p -m 644 -t $DOCPATH/$tobeinstalleddocdir done rm -f tmp-doc-directories %{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html boost.png rst.css boost.css echo ============================= install examples ================== sed -i -e 's/\r//g' libs/geometry/example/ml02_distance_strategy.cpp for tmp_doc_file in flyweight/example/Jamfile.v2 \ format/example/sample_new_features.cpp multi_index/example/Jamfile.v2 \ multi_index/example/hashed.cpp serialization/example/demo_output.txt do mv libs/${tmp_doc_file} libs/${tmp_doc_file}.iso8859 iconv -f ISO8859-1 -t UTF8 < libs/${tmp_doc_file}.iso8859 > libs/${tmp_doc_file} touch -r libs/${tmp_doc_file}.iso8859 libs/${tmp_doc_file} rm -f libs/${tmp_doc_file}.iso8859 done rm -rf %{boost_examplesdir} && mkdir -p %{boost_examplesdir}/html EXAMPLESPATH=%{boost_examplesdir} find libs -type d -name example -exec find {} -type f \; | sed -n '/\//{s,/[^/]*$,,;p}' | sort -u > tmp-doc-directories sed "s:^:$EXAMPLESPATH/:" tmp-doc-directories | xargs -P 0 --no-run-if-empty %{__install} -d rm -f tmp-doc-files-to-be-installed && touch tmp-doc-files-to-be-installed cat tmp-doc-directories | while read tobeinstalleddocdir do find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -type f >> tmp-doc-files-to-be-installed done cat tmp-doc-files-to-be-installed | while read tobeinstalledfiles do if test -s $tobeinstalledfiles; then tobeinstalleddocdir=`dirname $tobeinstalledfiles` %{__install} -p -m 644 -t $EXAMPLESPATH/$tobeinstalleddocdir $tobeinstalledfiles fi done rm -f tmp-doc-files-to-be-installed rm -f tmp-doc-directories %{__install} -p -m 644 -t $EXAMPLESPATH LICENSE_1_0.txt %post doctools CATALOG=%{_sysconfdir}/xml/catalog %{_bindir}/xmlcatalog --noout --add "rewriteSystem" \ "http://www.boost.org/tools/boostbook/dtd" \ "file://%{_datadir}/boostbook/dtd" $CATALOG %{_bindir}/xmlcatalog --noout --add "rewriteURI" \ "http://www.boost.org/tools/boostbook/dtd" \ "file://%{_datadir}/boostbook/dtd" $CATALOG %{_bindir}/xmlcatalog --noout --add "rewriteSystem" \ "http://www.boost.org/tools/boostbook/xsl" \ "file://%{_datadir}/boostbook/xsl" $CATALOG %{_bindir}/xmlcatalog --noout --add "rewriteURI" \ "http://www.boost.org/tools/boostbook/xsl" \ "file://%{_datadir}/boostbook/xsl" $CATALOG %postun doctools if [ "$1" = 0 ]; then CATALOG=%{_sysconfdir}/xml/catalog %{_bindir}/xmlcatalog --noout --del "file://%{_datadir}/boostbook/dtd" $CATALOG %{_bindir}/xmlcatalog --noout --del "file://%{_datadir}/boostbook/xsl" $CATALOG fi %files %license LICENSE_1_0.txt %files atomic %license LICENSE_1_0.txt %{_libdir}/libboost_atomic.so.%{version} %files chrono %license LICENSE_1_0.txt %{_libdir}/libboost_chrono.so.%{version} %files container %license LICENSE_1_0.txt %{_libdir}/libboost_container.so.%{version} %files context %license LICENSE_1_0.txt %{_libdir}/libboost_context.so.%{version} %files contract %license LICENSE_1_0.txt %{_libdir}/libboost_contract.so.%{version} %files coroutine %license LICENSE_1_0.txt %{_libdir}/libboost_coroutine.so.%{version} %files date-time %license LICENSE_1_0.txt %{_libdir}/libboost_date_time.so.%{version} %files filesystem %license LICENSE_1_0.txt %{_libdir}/libboost_filesystem.so.%{version} %files graph %license LICENSE_1_0.txt %{_libdir}/libboost_graph.so.%{version} %files iostreams %license LICENSE_1_0.txt %{_libdir}/libboost_iostreams.so.%{version} %files json %license LICENSE_1_0.txt %{_libdir}/libboost_json.so.%{version} %files locale %license LICENSE_1_0.txt %{_libdir}/libboost_locale.so.%{version} %files log %license LICENSE_1_0.txt %{_libdir}/libboost_log.so.%{version} %{_libdir}/libboost_log_setup.so.%{version} %files math %license LICENSE_1_0.txt %{_libdir}/libboost_math_c99.so.%{version} %{_libdir}/libboost_math_c99f.so.%{version} %{_libdir}/libboost_math_c99l.so.%{version} %{_libdir}/libboost_math_tr1.so.%{version} %{_libdir}/libboost_math_tr1f.so.%{version} %{_libdir}/libboost_math_tr1l.so.%{version} %files nowide %license LICENSE_1_0.txt %{_libdir}/libboost_nowide.so.%{version} %files program-options %license LICENSE_1_0.txt %{_libdir}/libboost_program_options.so.%{version} %files python3 %license LICENSE_1_0.txt %{_libdir}/libboost_python%{python3_version_nodots}.so.%{version} %{_libdir}/libboost_numpy%{python3_version_nodots}.so.%{version} %files random %license LICENSE_1_0.txt %{_libdir}/libboost_random.so.%{version} %files regex %license LICENSE_1_0.txt %{_libdir}/libboost_regex.so.%{version} %files serialization %license LICENSE_1_0.txt %{_libdir}/libboost_serialization.so.%{version} %{_libdir}/libboost_wserialization.so.%{version} %files system %license LICENSE_1_0.txt %{_libdir}/libboost_system.so.%{version} %files test %license LICENSE_1_0.txt %{_libdir}/libboost_prg_exec_monitor.so.%{version} %{_libdir}/libboost_unit_test_framework.so.%{version} %files thread %license LICENSE_1_0.txt %{_libdir}/libboost_thread.so.%{version} %files timer %license LICENSE_1_0.txt %{_libdir}/libboost_timer.so.%{version} %files type_erasure %license LICENSE_1_0.txt %{_libdir}/libboost_type_erasure.so.%{version} %files wave %license LICENSE_1_0.txt %{_libdir}/libboost_wave.so.%{version} %files help %doc %{boost_docdir}/* %files devel %license LICENSE_1_0.txt %{_includedir}/%{name} %{_libdir}/*.so %{_libdir}/*.a %if 0%{with mpich} %{_libdir}/mpich/lib/*.a %endif %if 0%{with openmpi} %{_libdir}/openmpi/lib/*.a %endif %files examples %doc %{boost_examplesdir}/* %if 0%{with openmpi} %files openmpi %license LICENSE_1_0.txt %{_libdir}/openmpi/lib/libboost_mpi.so.%{version} %files openmpi-devel %license LICENSE_1_0.txt %{_libdir}/openmpi/lib/libboost_mpi.so %{_libdir}/openmpi/lib/libboost_graph_parallel.so %files openmpi-python3 %license LICENSE_1_0.txt %{_libdir}/openmpi/lib/libboost_mpi_python%{python3_version_nodots}.so.%{version} %{python3_sitearch}/openmpi/boost/ %files openmpi-python3-devel %license LICENSE_1_0.txt %{_libdir}/openmpi/lib/libboost_mpi_python%{python3_version_nodots}.so %files graph-openmpi %license LICENSE_1_0.txt %{_libdir}/openmpi/lib/libboost_graph_parallel.so.%{version} %endif %if 0%{with mpich} %files mpich %license LICENSE_1_0.txt %{_libdir}/mpich/lib/libboost_mpi.so.%{version} %files mpich-devel %license LICENSE_1_0.txt %{_libdir}/mpich/lib/libboost_mpi.so %{_libdir}/mpich/lib/libboost_graph_parallel.so %files mpich-python3 %license LICENSE_1_0.txt %{_libdir}/mpich/lib/libboost_mpi_python%{python3_version_nodots}.so.%{version} %{python3_sitearch}/mpich/boost/ %files mpich-python3-devel %license LICENSE_1_0.txt %{_libdir}/mpich/lib/libboost_mpi_python%{python3_version_nodots}.so %files graph-mpich %license LICENSE_1_0.txt %{_libdir}/mpich/lib/libboost_graph_parallel.so.%{version} %endif %files build %license LICENSE_1_0.txt %{_datadir}/boost-build/ %files doctools %license LICENSE_1_0.txt %{_bindir}/quickbook %{_datadir}/boostbook/ %files jam %license LICENSE_1_0.txt %{_bindir}/bjam %{_mandir}/man1/bjam.1* %changelog * Fri Dec 24 2021 sdlzx - 1.78.0-4 - Update package info - Reference: https://www.boost.org/doc/libs/1_78_0/ * Sun Dec 19 2021 sdlzx - 1.78.0-3 - Simplify spec: extract common b2 configs into b2_config * Fri Dec 10 2021 sdlzx - 1.78.0-2 - Simplify spec: remove useless bcond * Fri Dec 10 2021 sdlzx - 1.78.0-1 - update to 1.78.0 * Wed Oct 06 2021 Liu Zixian - 1.77.0-4 - Remove dependencies on header-only libraries * Sun Sep 26 2021 Liu Zixian - 1.77.0-3 - Remove linking script which is fixed in upstream PR266 * Wed Sep 22 2021 Liu Zixian - 1.77.0-2 - Correct license name for ci. * Wed Sep 15 2021 Liu Zixian - 1.77.0-1 - update to 1.77.0 * Sat Jul 24 2021 Liu Zixian - 1.76.0-1 - update to 1.76.0 * Sat Jul 24 2021 Liu Zixian - 1.75.0-6 - remove needless BuildRequires * Fri Jul 23 2021 zhouwenpei - 1.75.0-5 - remove useless buildrequires * Wed Jun 23 2021 Xu Huijie - 1.75.0-4 - Type:bugfix - ID:NA - SUG:NA - DESC:fix dead loop in parse_repeat() * Fri Feb 5 2021 xinghe - 1.75.0-3 - fix the conflict between the devel package file and the other subpackage file * Thu Feb 4 2021 xinghe - 1.75.0-2 - fix master build * Wed Feb 3 2021 xinghe - 1.75.0-1 - update version to 1.75.0 * Wed Dec 16 2020 xinghe - 1.73.0-2 - correct license * Fri Jul 24 2020 Wang Shuo - 1.73.0-1 - Type:requirement - ID:NA - SUG:NA - DESC:update boost to 1.73.0 * Mon Apr 20 2020 Wang Shuo - 1.72.0-1 - Type:requirement - ID:NA - SUG:NA - DESC:update boost to 1.72.0 * Thu Mar 19 2020 Yu Xiangyang - 1.66.0-18 - Type:bugfix - ID:NA - SUG:NA - DESC: fix build src.rpm error * Tue Mar 10 2020 Wang Shuo - 1.66.0-17 - Type:enhancement - ID:NA - SUG:NA - DESC: move examples files to examples package * Mon Oct 28 2019 caomeng - 1.66.0-16 - Type:NA - ID:NA - SUG:NA - DESC:add bcondwith openmpi and mpich * Wed Aug 28 2019 openEuler Buildteam - 1.66.0-15 - Package init