From 9d48e24b64e81100d5525f670318f86d6a5db08fa4a8ce46a41d67257e41e836 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Fri, 13 Jan 2017 14:53:30 +0000 Subject: [PATCH] Accepting request 449886 from home:adamm:branches:devel:libraries:c_c++ - update to version 1.63.0 * updated libraries: atomic, container, context, fiber, fusion, geometry, hash, interprocess, intrusive, lexical cast, log, metaparse, move, optional, phoenix, python, test, typeindex, units, unordered * see http://www.boost.org/users/history/version_1_63_0.html for complete list of changes - refresh patches * boost-1.55.0-python-test-PyImport_AppendInittab.patch * boost-strict_aliasing.patch, and enable -fno-strict-aliasing for python module - baselibs.conf: * add libboost_locale * rename python to include new soname - remove python-2059618.patch, not needed - make build condition --without buil_mpi work - allow building without python3 bindings, for SLE11SP4 - remove versioned build dependency on libicu-devel, apparently not needed. - split out the boost-devel package into individudal compiled libraries and their -devel subpackages and libboost_headers-devel package for header-only libraries. - remove all the -mt.so symlinks, probably not needed anymore. - ship MPI python bindings for both Python 2.7 and 3.x OBS-URL: https://build.opensuse.org/request/show/449886 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=182 --- README.boost-devel | 4 + __init__.py | 1 + baselibs.conf | 48 +- ...0-python-test-PyImport_AppendInittab.patch | 47 +- boost-strict_aliasing.patch | 20 +- boost.changes | 28 + boost.spec | 1714 ++++++++++++++--- boost_1_62_0.tar.bz2 | 3 - boost_1_63_0.tar.bz2 | 3 + dynamic_linking.patch | 115 ++ exception.objdump | 1 + python-2059618.patch | 28 - python_mpi.patch | 27 + symbol_diff.sh | 21 + 14 files changed, 1735 insertions(+), 325 deletions(-) create mode 100644 README.boost-devel create mode 100644 __init__.py delete mode 100644 boost_1_62_0.tar.bz2 create mode 100644 boost_1_63_0.tar.bz2 create mode 100644 dynamic_linking.patch create mode 100644 exception.objdump delete mode 100644 python-2059618.patch create mode 100644 python_mpi.patch create mode 100644 symbol_diff.sh diff --git a/README.boost-devel b/README.boost-devel new file mode 100644 index 0000000..809a8b1 --- /dev/null +++ b/README.boost-devel @@ -0,0 +1,4 @@ +boost-devel has been split up into individual packages for simpler +product management. Please stop depending explicitly on boost-devel +and depend on individual boost -devel packages + diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..821dc46 --- /dev/null +++ b/__init__.py @@ -0,0 +1 @@ +# placeholder diff --git a/baselibs.conf b/baselibs.conf index 42381b4..c4ea162 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,25 +1,25 @@ -boost_1_62-devel +boost_1_63-devel requires -boost- -libboost_atomic1_62_0 -libboost_container1_62_0 -libboost_context1_62_0 -libboost_coroutine1_62_0 -libboost_date_time1_62_0 -libboost_fiber1_62_0 -libboost_filesystem1_62_0 -libboost_graph1_62_0 -libboost_graph_parallel1_62_0 -libboost_iostreams1_62_0 -libboost_math1_62_0 -libboost_mpi1_62_0 -libboost_test1_62_0 -libboost_program_options1_62_0 -libboost_python1_62_0 -libboost_random1_62_0 -libboost_serialization1_62_0 -libboost_signals1_62_0 -libboost_system1_62_0 -libboost_thread1_62_0 -libboost_type_erasure1_62_0 -libboost_wave1_62_0 -libboost_regex1_62_0 +libboost_atomic1_63_0 +libboost_container1_63_0 +libboost_context1_63_0 +libboost_coroutine1_63_0 +libboost_date_time1_63_0 +libboost_fiber1_63_0 +libboost_filesystem1_63_0 +libboost_graph1_63_0 +libboost_graph_parallel1_63_0 +libboost_iostreams1_63_0 +libboost_locale1_63_0 +libboost_math1_63_0 +libboost_mpi1_63_0 +libboost_test1_63_0 +libboost_program_options1_63_0 +libboost_random1_63_0 +libboost_serialization1_63_0 +libboost_signals1_63_0 +libboost_system1_63_0 +libboost_thread1_63_0 +libboost_type_erasure1_63_0 +libboost_wave1_63_0 +libboost_regex1_63_0 diff --git a/boost-1.55.0-python-test-PyImport_AppendInittab.patch b/boost-1.55.0-python-test-PyImport_AppendInittab.patch index 0858fe4..af3fbf6 100644 --- a/boost-1.55.0-python-test-PyImport_AppendInittab.patch +++ b/boost-1.55.0-python-test-PyImport_AppendInittab.patch @@ -1,7 +1,8 @@ -diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/exec.cpp ---- boost_1_55_0/libs/python/test/exec.cpp~ 2010-07-05 00:38:38.000000000 +0200 -+++ boost_1_55_0/libs/python/test/exec.cpp 2015-01-09 21:31:12.903218280 +0100 -@@ -56,6 +56,20 @@ void eval_test() +Index: boost_1_63_0/libs/python/test/exec.cpp +=================================================================== +--- boost_1_63_0.orig/libs/python/test/exec.cpp ++++ boost_1_63_0/libs/python/test/exec.cpp +@@ -56,8 +56,24 @@ void eval_test() BOOST_TEST(value == "ABCDEFG"); } @@ -21,17 +22,12 @@ diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/ + void exec_test() { - // Register the module with the interpreter -@@ -68,6 +82,8 @@ void exec_test() - ) == -1) - throw std::runtime_error("Failed to add embedded_hello to the interpreter's " - "builtin modules"); -+ + PyCtx ctx; ++ // Retrieve the main module python::object main = python::import("__main__"); -@@ -148,41 +164,43 @@ void check_pyerr(bool pyerr_expected=fal +@@ -138,6 +154,19 @@ void check_pyerr(bool pyerr_expected=fal } } @@ -51,22 +47,25 @@ diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/ int main(int argc, char **argv) { BOOST_TEST(argc == 2 || argc == 3); - std::string script = argv[1]; +@@ -156,29 +185,19 @@ int main(int argc, char **argv) + "builtin modules"); + } + - // Initialize the interpreter - Py_Initialize(); - +- - if (python::handle_exception(eval_test)) { -- check_pyerr(); ++ // N.B. exec_test mustn't be called through run_and_handle_exception ++ // as it needs to handles the python context by itself. ++ if (run_and_handle_exception(eval_test) ++ || python::handle_exception(exec_test)) + check_pyerr(); - } - else if(python::handle_exception(exec_test)) { - check_pyerr(); - } - else if (python::handle_exception(boost::bind(exec_file_test, script))) { -+ // N.B. exec_test mustn't be called through run_and_handle_exception -+ // as it needs to handles the python context by itself. -+ if (run_and_handle_exception(eval_test) -+ || python::handle_exception(exec_test)) - check_pyerr(); +- check_pyerr(); - } - - if (python::handle_exception(exec_test_error)) @@ -86,13 +85,3 @@ diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/ // The main purpose is to test compilation. Since this test generates // a file and I (rwgk) am uncertain about the side-effects, run it only // if explicitly requested. - exercise_embedding_html(); - } - -- // Boost.Python doesn't support Py_Finalize yet. -- // Py_Finalize(); - return boost::report_errors(); - } - - -Diff finished. Fri Jan 9 21:31:13 2015 diff --git a/boost-strict_aliasing.patch b/boost-strict_aliasing.patch index 1aa8674..ce0bfd2 100644 --- a/boost-strict_aliasing.patch +++ b/boost-strict_aliasing.patch @@ -1,12 +1,12 @@ -Index: libs/python/build/Jamfile.v2 +Index: libs/python/build/Jamfile =================================================================== ---- libs/python/build/Jamfile.v2.orig 2010-07-13 00:29:41.000000000 +0200 -+++ libs/python/build/Jamfile.v2 2010-08-24 12:51:20.939878260 +0200 -@@ -51,6 +51,7 @@ project boost/python - : requirements - -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag - @$(__name__).tag -+ -fno-strict-aliasing - ; +--- libs/python/build/Jamfile.orig ++++ libs/python/build/Jamfile +@@ -116,6 +116,7 @@ rule lib_boost_python ( is-py3 ? ) - rule tag ( name : type ? : property-set ) + -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag + @$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag ++ -fno-strict-aliasing + + : # default build + shared diff --git a/boost.changes b/boost.changes index 042cfa8..6a66de9 100644 --- a/boost.changes +++ b/boost.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Wed Jan 4 12:31:56 UTC 2017 - adam.majer@suse.de + +- update to version 1.63.0 + * updated libraries: atomic, container, context, fiber, + fusion, geometry, hash, interprocess, intrusive, lexical cast, + log, metaparse, move, optional, phoenix, python, test, + typeindex, units, unordered + * see http://www.boost.org/users/history/version_1_63_0.html + for complete list of changes +- refresh patches + * boost-1.55.0-python-test-PyImport_AppendInittab.patch + * boost-strict_aliasing.patch, and enable -fno-strict-aliasing + for python module +- baselibs.conf: + * add libboost_locale + * rename python to include new soname +- remove python-2059618.patch, not needed +- make build condition --without buil_mpi work +- allow building without python3 bindings, for SLE11SP4 +- remove versioned build dependency on libicu-devel, apparently + not needed. +- split out the boost-devel package into individudal compiled + libraries and their -devel subpackages and libboost_headers-devel + package for header-only libraries. +- remove all the -mt.so symlinks, probably not needed anymore. +- ship MPI python bindings for both Python 2.7 and 3.x + ------------------------------------------------------------------- Tue Nov 8 13:32:31 UTC 2016 - adam.majer@suse.de diff --git a/boost.spec b/boost.spec index 3a289e7..118f9b8 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ # # spec file for package boost # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,32 +16,29 @@ # -%define ver 1.62.0 -%define file_version 1_62_0 +%define ver 1.63.0 +%define file_version 1_63_0 %define docs_version 1.56.0 %define short_version 1_56 -%define lib_appendix 1_62_0 -# building manpages is broken +%define lib_appendix 1_63_0 %bcond_with build_docs %bcond_without package_pdf %bcond_without build_quickbook -%define build_docs 0 -%define boost_l1 libboost_date_time%{lib_appendix} libboost_filesystem%{lib_appendix} libboost_graph%{lib_appendix} -%define boost_l2 libboost_iostreams%{lib_appendix} libboost_math%{lib_appendix} libboost_test%{lib_appendix} -%define boost_l3 libboost_program_options%{lib_appendix} libboost_python%{lib_appendix} libboost_python3-%{lib_appendix} libboost_serialization%{lib_appendix} -%define boost_l4 libboost_signals%{lib_appendix} libboost_system%{lib_appendix} libboost_thread%{lib_appendix} -%define boost_l5 libboost_wave%{lib_appendix} libboost_regex%{lib_appendix} libboost_regex%{lib_appendix} -%define boost_l6 libboost_random%{lib_appendix} libboost_chrono%{lib_appendix} libboost_locale%{lib_appendix} -%define boost_l7 libboost_timer%{lib_appendix} libboost_atomic%{lib_appendix} libboost_log%{lib_appendix} libboost_container%{lib_appendix} -%define most_libs %{boost_l1} %{boost_l2} %{boost_l3} %{boost_l4} %{boost_l5} %{boost_l6} %{boost_l7} %define my_docdir %{_docdir}/boost-%{version} -# Just hardcode build_mpi to 1 as soon as openmpi builds on all -# named architectures. + +# Build with OpenMPI %ifarch ia64 hppa %bcond_with build_mpi %else %bcond_without build_mpi %endif + +%if 0%{?suse_version} < 1200 +%bcond_with python3 +%else +%bcond_without python3 +%endif + # context hasn't been ported to most architectures yet %ifarch %ix86 x86_64 %arm aarch64 mips ppc ppc64 ppc64le %bcond_without build_context @@ -49,34 +46,22 @@ %bcond_with build_context %endif -# needs newer GCC to compile runtime +# needs newer *default* GCC to compile runtime %if %{with build_context} && 0%{?suse_version} > 1320 %bcond_without boost_fiber %else %bcond_with boost_fiber %endif -%ifarch hppa -%bcond_with long_double -%else -%bcond_without long_double -%endif -%if %{with build_context} -%define context_libs libboost_context%{lib_appendix} libboost_coroutine%{lib_appendix} -%endif -%if %{with build_mpi} -%define mpi_libs libboost_graph_parallel%lib_appendix libboost_mpi%{lib_appendix} -%endif -%if %{with boost_fiber} -BuildRequires: gcc-c++ > 5 -%define fiber_libs libboost_fiber%{lib_appendix} -%endif - -%define all_libs %{most_libs} %{?context_libs} %{?mpi_libs} %{?fiber_libs} +#%ifarch hppa +#%bcond_with long_double +#%else +#%bcond_without long_double +#%endif Name: boost -%define package_name boost_1_62 -Version: 1.62.0 +%define package_name boost_1_63 +Version: 1.63.0 Release: 0 Summary: Boost C++ Libraries License: BSL-1.0 @@ -87,7 +72,11 @@ Source1: boost-rpmlintrc Source3: http://downloads.sourceforge.net/project/boost/boost-docs/%{docs_version}/boost_%{short_version}_pdf.tar.bz2 Source4: existing_extra_docs #Source5: NEWS +Source10: exception.objdump +Source11: __init__.py Source100: baselibs.conf +Source101: symbol_diff.sh +Source102: README.boost-devel Patch1: boost-thread.patch Patch2: boost-no_type_punning.patch Patch3: boost-no_segfault_in_Regex_filter.patch @@ -101,24 +90,30 @@ Patch13: boost-visibility.patch Patch14: boost-1.57.0-python-libpython_dep.patch Patch15: boost-1.57.0-python-abi_letters.patch Patch16: boost-1.55.0-python-test-PyImport_AppendInittab.patch -Patch17: python-2059618.patch +Patch17: python_mpi.patch +Patch18: dynamic_linking.patch Patch100: gcc_path.patch BuildRequires: chrpath BuildRequires: dos2unix BuildRequires: fdupes +%if %{with boost_fiber} +BuildRequires: gcc-c++ > 5 +%else BuildRequires: gcc-c++ +%endif %if 0%{?suse_version} <= 1320 # boost requires quadmath.h BuildRequires: gcc-fortran %endif BuildRequires: libbz2-devel BuildRequires: libexpat-devel -BuildRequires: libicu-devel >= 4.4 +BuildRequires: libicu-devel BuildRequires: python-devel +%if %{with python3} BuildRequires: python3-devel +%endif #!BuildIgnore: python BuildRequires: zlib-devel -Recommends: %{all_libs} BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %{with build_mpi} BuildRequires: openmpi-devel @@ -152,7 +147,42 @@ see the boost-doc package. %package -n %{package_name}-devel Summary: Development package for Boost C++ Group: Development/Libraries/C and C++ -Requires: %{all_libs} +Requires: libboost_atomic%{lib_appendix}-devel +Requires: libboost_chrono%{lib_appendix}-devel +Requires: libboost_container%{lib_appendix}-devel +%if %{with build_context} +Requires: libboost_context%{lib_appendix}-devel +Requires: libboost_coroutine%{lib_appendix}-devel +%endif +Requires: libboost_date_time%{lib_appendix}-devel +%if %{with boost_fiber} +Requires: libboost_fiber%{lib_appendix}-devel +%endif +Requires: libboost_filesystem%{lib_appendix}-devel +Requires: libboost_graph%{lib_appendix}-devel +Requires: libboost_iostreams%{lib_appendix}-devel +Requires: libboost_locale%{lib_appendix}-devel +Requires: libboost_log%{lib_appendix}-devel +Requires: libboost_math%{lib_appendix}-devel +%if %{with build_mpi} +Requires: libboost_graph_parallel%{lib_appendix}-devel +Requires: libboost_mpi%{lib_appendix}-devel +%endif +Requires: libboost_program_options%{lib_appendix}-devel +Requires: libboost_python-py2_7-%{lib_appendix}-devel +%if %{with python3} +Requires: libboost_python-py3-%{lib_appendix}-devel +%endif +Requires: libboost_random%{lib_appendix}-devel +Requires: libboost_regex%{lib_appendix}-devel +Requires: libboost_serialization%{lib_appendix}-devel +Requires: libboost_signals%{lib_appendix}-devel +Requires: libboost_system%{lib_appendix}-devel +Requires: libboost_test%{lib_appendix}-devel +Requires: libboost_thread%{lib_appendix}-devel +Requires: libboost_timer%{lib_appendix}-devel +Requires: libboost_type_erasure%{lib_appendix}-devel +Requires: libboost_wave%{lib_appendix}-devel Requires: libstdc++-devel Provides: boost-devel = %version Conflicts: otherproviders(boost-devel) @@ -162,6 +192,17 @@ This package contains all that is needed to develop/compile applications that use the Boost C++ libraries. For documentation see the documentation packages (html, man or pdf). +%package -n libboost_headers%{lib_appendix}-devel +Summary: Development headers for Boost +Group: Development/Libraries/C and C++ +Requires: libstdc++-devel +Provides: libboost_headers-devel = %{version} +Conflicts: otherproviders(libboost_headers-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_headers%{lib_appendix}-devel +A collection of header-only libraries for Boost. + %package -n %{package_name}-jam Summary: A Boost Make Replacement Group: Development/Tools/Building @@ -196,16 +237,16 @@ This package contains the documentation of the boost dynamic libraries in HTML format. %if %{with build_docs} -# %%package doc-man -# Summary: Man documentation for the Boost C++ Libraries -# Group: Development/Libraries/C and C++ -# %%if 0%%{?suse_version} >= 1120 -# BuildArch: noarch -# %%endif -# -# %%description doc-man -# This package contains the documentation of the boost dynamic libraries -# as man pages. +%package doc-man +Summary: Man documentation for the Boost C++ Libraries +Group: Development/Libraries/C and C++ +%if 0%{?suse_version} >= 1120 +BuildArch: noarch +%endif + +%description doc-man +This package contains the documentation of the boost dynamic libraries +as man pages. %endif %if %{with package_pdf} @@ -222,7 +263,7 @@ in PDF format. %endif %package -n libboost_atomic%{lib_appendix} -Summary: Run-Time component of boost atomic library +Summary: Boost.Atomic runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} @@ -231,194 +272,613 @@ Run-Time support for Boost.Atomic, a library that provides atomic data types and operations on these data types, as well as memory ordering constraints required for coordinating multiple threads through atomic variables. +%package -n libboost_atomic%{lib_appendix}-devel +Summary: Development headers for Boost.Atomic +Group: Development/Libraries/C and C++ +Requires: libboost_atomic%{lib_appendix} = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libstdc++-devel +Provides: libboost_atomic-devel = %{version} +Conflicts: otherproviders(libboost_atomic-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_atomic%{lib_appendix}-devel +Development support for Boost.Atomic, a library that provides atomic +data types and operations on these data types, as well as memory +ordering constraints required for coordinating multiple threads through +atomic variables. + %package -n libboost_container%{lib_appendix} -Summary: Boost::Container Runtime libraries +Summary: Boost.Container runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_container%{lib_appendix} -This package contains the Boost Container runtime libraries. +This package contains the Boost.Container runtime library. + +%package -n libboost_container%{lib_appendix}-devel +Summary: Development headers for Boost.Container +Group: Development/Libraries/C and C++ +Requires: libboost_container%{lib_appendix} = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libstdc++-devel +Provides: libboost_container-devel = %{version} +Conflicts: otherproviders(libboost_container-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_container%{lib_appendix}-devel +Development header files and libraries for Boost.Container. +Boost.Container library implements several well-known containers, +including STL containers. The aim of the library is to offers advanced +features not present in standard containers or to offer the latest +standard draft features for compilers that don't comply with the latest +C++ standard. %package -n libboost_context%{lib_appendix} -Summary: Run-Time component of boost context switching library +Summary: Boost.Context runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_context%{lib_appendix} -Run-Time support for Boost.Context, a foundational library that -provides a sort of cooperative multitasking on a single thread. +Runtime support for Boost.Context, a library that providing cooperative +multitasking support. + +%package -n libboost_context%{lib_appendix}-devel +Summary: Development headers for Boost.Context +Group: Development/Libraries/C and C++ +Requires: libboost_context%{lib_appendix} = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libstdc++-devel +Provides: libboost_context-devel = %{version} +Conflicts: otherproviders(libboost_context-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_context%{lib_appendix}-devel +Development headers and libraries for Boost.Context, a library that +providing cooperative multitasking support. %package -n libboost_coroutine%{lib_appendix} -Summary: Boost::Coroutine Runtime libraries +Summary: Boost::Coroutine runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_coroutine%{lib_appendix} -This package contains the Boost Coroutine runtime libraries. +This package contains the Boost Coroutine runtime library. + +%package -n libboost_coroutine%{lib_appendix}-devel +Summary: Development headers for Boost.Coroutine +Group: Development/Libraries/C and C++ +Requires: libboost_context%{lib_appendix}-devel = %{version} +Requires: libboost_coroutine%{lib_appendix} = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libstdc++-devel +Provides: libboost_coroutine-devel = %{version} +Conflicts: otherproviders(libboost_coroutine-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_coroutine%{lib_appendix}-devel +This package provides headers for Boost.Coroutine libraries. +Boost.Coroutine2 provides templates for generalized subroutines which +allow suspending and resuming execution at certain locations. %package -n libboost_date_time%{lib_appendix} -Summary: Boost::Date.Time Runtime libraries +Summary: Boost.DateTime runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_date_time%{lib_appendix} -This package contains the Boost Date.Time runtime libraries. +This package contains the Boost Date.DateTime runtime libraries. + +%package -n libboost_date_time%{lib_appendix}-devel +Summary: Development headers for Boost.DateTime library +Group: Development/Libraries/C and C++ +Requires: libboost_date_time%{lib_appendix} = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Recommends: libboost_serialization%{lib_appendix}-devel = %{version} +Requires: libstdc++-devel +Provides: libboost_date_time-devel = %{version} +Conflicts: otherproviders(libboost_date_time-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_date_time%{lib_appendix}-devel +This package contains development header files and libraries for +Boost.DateTime library. %package -n libboost_fiber%{lib_appendix} -Summary: Boost::Fiber Runtime Libraries +Summary: Boost.Fiber runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_fiber%{lib_appendix} -This package contains Boost::Fiber runtime library. +This package contains Boost.Fiber runtime library. + +%package -n libboost_fiber%{lib_appendix}-devel +Summary: Development headers for Boost.Fiber library +Group: Development/Libraries/C and C++ +Requires: libboost_context%{lib_appendix}-devel = %{version} +Requires: libboost_fiber%{lib_appendix} = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libstdc++-devel +Provides: libboost_fiber-devel = %{version} +Conflicts: otherproviders(libboost_fiber-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_fiber%{lib_appendix}-devel +This package contains development header files and libraries for +Boost.Fiber library. Boost.Fiber is a cooperative multi-tasking +userland threading library. %package -n libboost_filesystem%{lib_appendix} -Summary: Boost::Filesystem Runtime Libraries +Summary: Boost.Filesystem Runtime Libraries Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_filesystem%{lib_appendix} -This package contains the Boost::Filesystem libraries. +This package contains the Boost.Filesystem library. + +%package -n libboost_filesystem%{lib_appendix}-devel +Summary: Development headers for Boost.Filesystem library +Group: Development/Libraries/C and C++ +Requires: libboost_filesystem%{lib_appendix} = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_system%{lib_appendix}-devel = %{version} +Requires: libstdc++-devel +Provides: libboost_filesystem-devel = %{version} +Conflicts: otherproviders(libboost_filesystem-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_filesystem%{lib_appendix}-devel +Development headers for Boost.Filesystem library, a library providing +facilities to manipulate files and directories, and the paths that +identify them. %package -n libboost_graph%{lib_appendix} -Summary: Boost::Graph Runtime Libraries +Summary: Boost.Graph runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_graph%{lib_appendix} -This package contains the Boost::Graph Runtime libraries. +This package contains the Boost.Graph runtime library. -%package -n libboost_graph_parallel%{lib_appendix} -Summary: Boost graph::distributed runtime libraries -Group: System/Libraries -Requires: boost-license%{lib_appendix} +%package -n libboost_graph%{lib_appendix}-devel +Summary: Development headers for Boost.Graph library +Group: Development/Libraries/C and C++ +Requires: libboost_graph%{lib_appendix} = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +## FIXME:!!!! need better list of requirements here +Requires: libstdc++-devel +Provides: libboost_graph-devel = %{version} +Conflicts: otherproviders(libboost_graph-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_graph%{lib_appendix}-devel +Development headers for Boost.Graph library. The BGL algorithms consist +of a core set of algorithm patterns and a larger set of graph +algorithms. The core algorithm patterns are Breadth First Search, Depth +First Search, and Uniform Cost Search. -%description -n libboost_graph_parallel%{lib_appendix} -This package contains the boost::graph::distributed runtime libraries. %package -n libboost_iostreams%{lib_appendix} -Summary: Boost::IOStreams Runtime Libraries +Summary: Boost.IOStreams Runtime Libraries Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_iostreams%{lib_appendix} -This package contains the Boost::IOStreams Runtime libraries. +This package contains the Boost.IOStreams Runtime libraries. + +%package -n libboost_iostreams%{lib_appendix}-devel +Summary: Development headers for Boost.IOStreans library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_iostreams%{lib_appendix} = %{version} +Provides: libboost_iostreams-devel = %{version} +Conflicts: otherproviders(libboost_iostreams-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_iostreams%{lib_appendix}-devel +Boost.IOStreams provides a framework for defining streams, stream +buffers and IO filters %package -n libboost_log%{lib_appendix} -Summary: Run-Time component of boost logging library +Summary: Boost.Log runtime Run-Time library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_log%{lib_appendix} -Boost.Log library aims to make logging significantly easier for the -application developer. It provides a wide range of out-of-the-box -tools along with public interfaces for extending the library. +This package contains runtime library for Boost.Log. + +%package -n libboost_log%{lib_appendix}-devel +Summary: Development headers for Boost.Log library +Group: Development/Libraries/C and C++ +Requires: libboost_date_time%{lib_appendix}-devel = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_log%{lib_appendix} = %{version} +Requires: libboost_system%{lib_appendix} = %{version} +Requires: libboost_thread%{lib_appendix} = %{version} +Provides: libboost_log-devel = %{version} +Conflicts: otherproviders(libboost_log-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_log%{lib_appendix}-devel +Development headers for Boost.Log library which aims to make logging +significantly easier for the application developer. It provides a wide +range of out-of-the-box tools along with public interfaces for extending +the library. %package -n libboost_math%{lib_appendix} -Summary: Boost::Math Runtime Libraries +Summary: Boost.Math runtime libraries Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_math%{lib_appendix} -This package contains the Boost::Math Runtime libraries. +This package contains the Boost.Math Runtime libraries. + +%package -n libboost_math%{lib_appendix}-devel +Summary: Development headers for Boost.Math libraries +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_math%{lib_appendix} = %{version} +Provides: libboost_math-devel = %{version} +Conflicts: otherproviders(libboost_math-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_math%{lib_appendix}-devel +Development headers for Boost.Math* boost libraries. %if %{with build_mpi} %package -n libboost_mpi%{lib_appendix} -Summary: Boost::MPI Runtime libraries +Summary: Boost.MPI runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_mpi%{lib_appendix} -This package contains the Boost::MPI Runtime libraries. +This package contains the Boost.MPI runtime library. + +%package -n libboost_mpi%{lib_appendix}-devel +Summary: Development headers for Boost.MPI library +Group: Development/Libraries/C and C++ +Requires: libboost_graph%{lib_appendix}-devel +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_python-py2_7-%{lib_appendix}-devel +%if %{with python3} +Requires: libboost_python-py3-%{lib_appendix}-devel %endif +Requires: libboost_mpi%{lib_appendix} = %{version} +Requires: libboost_serialization%{lib_appendix}-devel +Requires: openmpi-devel +Provides: libboost_mpi-devel = %{version} +Conflicts: otherproviders(libboost_mpi-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_mpi%{lib_appendix}-devel +Development headers for Boost.MPI boost library + +%package -n libboost_graph_parallel%{lib_appendix} +Summary: Boost.Graph.Distributed runtime library +Group: System/Libraries +Requires: boost-license%{lib_appendix} + +%description -n libboost_graph_parallel%{lib_appendix} +This package contains the Boost.Graph parallel runtime library + +%package -n libboost_graph_parallel%{lib_appendix}-devel +Summary: Development headers for Boost.Graph parallel library +Group: Development/Libraries/C and C++ +Requires: libboost_graph_parallel%{lib_appendix} = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_mpi%{lib_appendix}-devel = %{version} +Provides: libboost_graph_parallel-devel = %{version} +Conflicts: otherproviders(libboost_graph_parallel-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_graph_parallel%{lib_appendix}-devel +Development headers for Boost.Graph parallel boost library. + +%package -n libboost_mpi_python-py2_7-%{lib_appendix} +Summary: Boost.MPI Python serialization library +Group: System/Libraries +Requires: boost-license%{lib_appendix} + +%description -n libboost_mpi_python-py2_7-%{lib_appendix} +This package contains the Boost.MPI Python 2.7 serialization library + +%package -n libboost_mpi_python-py2_7-%{lib_appendix}-devel +Summary: Development library for Boost.MPI Python 2.7 serialization +Group: Development/Libraries/C and C++ +Requires: libboost_mpi%{lib_appendix}-devel = %{version} +Requires: libboost_mpi_python%{lib_appendix} = %{version} +Requires: libboost_python-py2_7-%{lib_appendix}-devel = %{version} +Provides: libboost_mpi_python-devel = %{version} +Conflicts: otherproviders(libboost_mpi_python-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_mpi_python-py2_7-%{lib_appendix}-devel +This package contains the Boost.MPI development library for Python 2.7 +serialization interface. + +%package -n python-boost_parallel_mpi%{lib_appendix} +Summary: Python 2.7 bindings for Boost.Parallel.MPI library +Group: Development/Languages/Python +Provides: python-boost_parallel_mpi = %{version} +Conflicts: otherproviders(python-boost_parallel_mpi) + +%description -n python-boost_parallel_mpi%{lib_appendix} +This package contains the Boost.Parallel.MPI bindings for Python 2.7 + +%if %{with python3} + +%package -n libboost_mpi_python-py3-%{lib_appendix} +Summary: Boost.MPI Python 3.x serialization library +Group: System/Libraries +Requires: boost-license%{lib_appendix} + +%description -n libboost_mpi_python-py3-%{lib_appendix} +This package contains the Boost.MPI Python 3.x serialization +inteface. + +%package -n libboost_mpi_python-py3-%{lib_appendix}-devel +Summary: Development library for Boost.MPI Python 3.x serialization +Group: Development/Libraries/C and C++ +Requires: libboost_mpi%{lib_appendix}-devel = %{version} +Requires: libboost_mpi_python-py3-%{lib_appendix} = %{version} +Requires: libboost_python-py3-%{lib_appendix}-devel = %{version} +Provides: libboost_mpi_python3-devel = %{version} +Conflicts: otherproviders(libboost_mpi_python3-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_mpi_python-py3-%{lib_appendix}-devel +This package contains the Boost.MPI development library for Python 3.x +serialization interface + +%package -n python3-boost_parallel_mpi%{lib_appendix} +Summary: Python 3.x bindings for Boost.Parallel.MPI library +Group: Development/Languages/Python +Provides: python3-boost_parallel_mpi = %{version} +Conflicts: otherproviders(python3-boost_parallel_mpi) + +%description -n python3-boost_parallel_mpi%{lib_appendix} +This package contains the Boost.Parallel.MPI bindings for Python 3.x + +%endif # python3 +%endif # mpi %package -n libboost_test%{lib_appendix} -Summary: Boost::Test Runtime Libraries +Summary: Boost.Test runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_test%{lib_appendix} -This package contains the Boost::Test runtime libraries. +This package contains the BoosttTest runtime library. + +%package -n libboost_test%{lib_appendix}-devel +Summary: Development headers for Boost.Test library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_test%{lib_appendix} = %{version} +Provides: libboost_test-devel = %{version} +Conflicts: otherproviders(libboost_test-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_test%{lib_appendix}-devel +Development headers for Boost.Test library. Boost.Test supports for +simple program testing, full unit testing, and for program execution +monitoring. %package -n libboost_program_options%{lib_appendix} -Summary: Boost::ProgramOptions Runtime libraries +Summary: Boost.ProgramOptions runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_program_options%{lib_appendix} -This package contains the Boost::ProgramOptions Runtime libraries. +This package contains the Boost.ProgramOptions runtime library. -%package -n libboost_python%{lib_appendix} -Summary: Boost::Python Runtime Libraries +%package -n libboost_program_options%{lib_appendix}-devel +Summary: Development headers for Boost.ProgramOptions library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_program_options%{lib_appendix} = %{version} +Provides: libboost_program_options-devel = %{version} +Conflicts: otherproviders(libboost_program_options-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_program_options%{lib_appendix}-devel +This package contains development headers for Boost.ProgramOptions +library. + +%package -n libboost_python-py2_7-%{lib_appendix} +Summary: Boost.Python runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} -%description -n libboost_python%{lib_appendix} -This package contains the Boost::Python Runtime libraries. +%description -n libboost_python-py2_7-%{lib_appendix} +This package contains the Boost::Python runtime library for default +version of python. -%package -n libboost_python3-%{lib_appendix} -Summary: Boost::Python Runtime Libraries +%package -n libboost_python-py2_7-%{lib_appendix}-devel +Summary: Development headers for Boost.Python library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_python-py2_7-%{lib_appendix} = %{version} +Provides: libboost_python-devel = %{version} +Conflicts: otherproviders(libboost_python-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_python-py2_7-%{lib_appendix}-devel +Development headers for Boost.Python library for the default version of +python. + +%if %{with python3} +%package -n libboost_python-py3-%{lib_appendix} +Summary: Boost.Python runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} -%description -n libboost_python3-%{lib_appendix} -This package contains the Boost::Python3 Runtime libraries. +%description -n libboost_python-py3-%{lib_appendix} +This package contains the Boost.Python runtime libraries for python3 +bindings. + +%package -n libboost_python-py3-%{lib_appendix}-devel +Summary: Development headers for Boost.Python library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_python-py2_7-%{lib_appendix}-devel = %{version} +Requires: libboost_python-py3-%{lib_appendix} = %{version} +Provides: libboost_python3-devel = %{version} +Conflicts: otherproviders(libboost_python3-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_python-py3-%{lib_appendix}-devel +Development headers for Boost.Python library. This package contains +library for python3 development for boost. + +%endif # with python3 %package -n libboost_serialization%{lib_appendix} -Summary: Boost::Serialization Runtime Libraries +Summary: Boost.Serialization runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_serialization%{lib_appendix} -This package contains the Boost::Serialization Runtime libraries. +This package contains the Boost.Serialization runtime library. + +%package -n libboost_serialization%{lib_appendix}-devel +Summary: Development headers for Boost.Serialization library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_serialization%{lib_appendix}-devel = %{version} +Provides: libboost_serialization-devel = %{version} +Conflicts: otherproviders(libboost_serialization-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_serialization%{lib_appendix}-devel +This package contains development headers for Boost.Serialization +library. %package -n libboost_signals%{lib_appendix} -Summary: Boost::Signals Runtime Libraries +Summary: Boost.Signals runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_signals%{lib_appendix} -This package contains the Boost::Signals Runtime libraries. +This package contains the Boost::Signals Runtime library. + +%package -n libboost_signals%{lib_appendix}-devel +Summary: Development headers for Boost.Signals library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_signals%{lib_appendix} = %{version} +Provides: libboost_signals-devel = %{version} +Conflicts: otherproviders(libboost_signals-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_signals%{lib_appendix}-devel +This package contains development headers for Boost.Signals library. +Boost.Signals is deprecated in favour of Boost.Signals2, a header-only +library and part of libboost_headers-devel. %package -n libboost_system%{lib_appendix} -Summary: Boost::System Runtime Libraries +Summary: Boost.System runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_system%{lib_appendix} -This package contains the Boost::System runtime libraries. +This package contains the Boost.System runtime library. + +%package -n libboost_system%{lib_appendix}-devel +Summary: Development headers for Boost.System library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_system%{lib_appendix} = %{version} +Provides: libboost_system-devel = %{version} +Conflicts: otherproviders(libboost_system-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_system%{lib_appendix}-devel +This package contains development headers for Boost.System library. %package -n libboost_thread%{lib_appendix} -Summary: Boost::Thread Runtime Libraries +Summary: Boost.Thread runtime libraries Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_thread%{lib_appendix} -This package contains the Boost::Thread runtime libraries. +This package contains the Boost.Thread runtime library. + +%package -n libboost_thread%{lib_appendix}-devel +Summary: Development headers for Boost.Thread library +Group: Development/Libraries/C and C++ +Requires: libboost_chrono%{lib_appendix}-devel = %{version} +Requires: libboost_date_time%{lib_appendix}-devel = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_thread%{lib_appendix} = %{version} +Provides: libboost_thread-devel = %{version} +Conflicts: otherproviders(libboost_thread-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_thread%{lib_appendix}-devel +This package contains development headers for Boost.Thread library. %package -n libboost_wave%{lib_appendix} -Summary: Boost::Wave Runtime Libraries +Summary: Boost.Wave runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_wave%{lib_appendix} -This package contains the Boost::Wave runtime libraries. +This package contains the Boost::Wave runtime library. + +%package -n libboost_wave%{lib_appendix}-devel +Summary: Development headers for Boost.Wave library +Group: Development/Libraries/C and C++ +Requires: libboost_filesystem%{lib_appendix}-devel = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_serialization%{lib_appendix}-devel = %{version} +Requires: libboost_wave%{lib_appendix} = %{version} +Provides: libboost_wave-devel = %{version} +Conflicts: otherproviders(libboost_wave-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_wave%{lib_appendix}-devel +This package contains development headers for Boost.Wave library. %package -n libboost_regex%{lib_appendix} -Summary: The Boost::Regex runtime library +Summary: Boost.Regex runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_regex%{lib_appendix} -This package contains the Boost::Regex runtime library. +This package contains the Boost.Regex runtime library. + +%package -n libboost_regex%{lib_appendix}-devel +Summary: Development headers for Boost.Regex library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_regex%{lib_appendix} = %{version} +Provides: libboost_regex-devel = %{version} +Conflicts: otherproviders(libboost_regex-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_regex%{lib_appendix}-devel +This package contains development headers for Boost.Regex library. %package -n libboost_random%{lib_appendix} -Summary: The Boost::Random runtime library +Summary: Boost.Random runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_random%{lib_appendix} -This package contains the Boost::Random runtime library. +This package contains the Boost.Random runtime library. + +%package -n libboost_random%{lib_appendix}-devel +Summary: Development headers for Boost.Random library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_random%{lib_appendix} = %{version} +Provides: libboost_random-devel = %{version} +Conflicts: otherproviders(libboost_random-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_random%{lib_appendix}-devel +This package contains Boost.Random development headers. %package -n libboost_chrono%{lib_appendix} Summary: The Boost::Chrono runtime library @@ -428,29 +888,78 @@ Requires: boost-license%{lib_appendix} %description -n libboost_chrono%{lib_appendix} This package contains the Boost::Chrono runtime library. +%package -n libboost_chrono%{lib_appendix}-devel +Summary: Development headers for Boost.Chrono library +Group: Development/Libraries/C and C++ +Requires: libboost_chrono%{lib_appendix} = %{version} +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Provides: libboost_chrono-devel = %{version} +Conflicts: otherproviders(libboost_chrono-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_chrono%{lib_appendix}-devel +This package contains Boost.Chrono development headers. + %package -n libboost_locale%{lib_appendix} -Summary: The Boost::Locale runtime library +Summary: Boost::Locale runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_locale%{lib_appendix} -This package contains the Boost::Locale runtime library. +This package contains Boost::Locale runtime library. + +%package -n libboost_locale%{lib_appendix}-devel +Summary: Development headers for Boost.Locale library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_locale%{lib_appendix} = %{version} +Provides: libboost_locale-devel = %{version} +Conflicts: otherproviders(libboost_locale-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_locale%{lib_appendix}-devel +This package contains development headers for Boost.Locale library. %package -n libboost_timer%{lib_appendix} -Summary: The Boost::Timer runtime library +Summary: Boost.Timer runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_timer%{lib_appendix} -This package contains the Boost::Timer runtime library. +This package contains Boost.Timer runtime library. + +%package -n libboost_timer%{lib_appendix}-devel +Summary: Development headers for Boost.Timer library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_system%{lib_appendix}-devel = %{version} +Requires: libboost_timer%{lib_appendix} = %{version} +Provides: libboost_timer-devel = %{version} +Conflicts: otherproviders(libboost_timer-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_timer%{lib_appendix}-devel +This package contains development headers for Boost.Timer library. %package -n libboost_type_erasure%{lib_appendix} -Summary: The Boost::TypeErasure runtime library +Summary: Boost.TypeErasure runtime library Group: System/Libraries Requires: boost-license%{lib_appendix} %description -n libboost_type_erasure%{lib_appendix} -This package contains the Boost::TypeErasure runtime library. +This package contains Boost::TypeErasure runtime library. + +%package -n libboost_type_erasure%{lib_appendix}-devel +Summary: Development headers for Boost.TypeErasure library +Group: Development/Libraries/C and C++ +PreReq: libboost_headers%{lib_appendix}-devel = %{version} +Requires: libboost_type_erasure%{lib_appendix} = %{version} +Provides: libboost_type_erasure-devel = %{version} +Conflicts: otherproviders(libboost_type_erasure-devel) +Conflicts: boost-devel < 1.63 + +%description -n libboost_type_erasure%{lib_appendix}-devel +This package contains development headers for Boost.TypeErasure library. %if %{with build_quickbook} %package -n %{package_name}-quickbook @@ -484,80 +993,127 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {} %patch15 -p1 %patch16 -p1 %patch17 -p1 +%patch18 -p1 %patch100 -p1 #stupid build machinery copies .orig files -find . -name \*.orig -exec rm {} + +# find . -name \*.orig -exec rm {} + %build find . -type f -exec chmod u+w {} + -# Create shared build instructions +# Since boost build system is broken and incable of handling multiple python versions, +# we need to build boost piece by piece. First time to build all the non-python bits, +# then we build MPI and/or PYTHON modules for two python versions we need. +# MPI builds a python module. cat << \EOF >.build -%if ! %{with long_double} -export LONG_DOUBLE_FLAGS="--disable-long-double" +#%if ! %{with long_double} +#export LONG_DOUBLE_FLAGS="--disable-long-double" +#%endif +#BJAM_CONFIG="-d2 -sICU_PATH=%{_prefix}" +# export REGEX_FLAGS="--with-icu" +# export EXPAT_INCLUDE=%{_includedir} EXPAT_LIBPATH=%{_libdir} +# Python and MPI (which has python module) build seperately +# and install into special staging directories. Boost build system +# has "issues" building bindings for multiple python versions. +export PY_LIBRARIES_FLAGS="--with-python" +%if %{with build_mpi} +PY_LIBRARIES_FLAGS+=" --with-mpi" %endif -BJAM_CONFIG="-d2 -sICU_PATH=%{_prefix}" -PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') -PYTHON3_VERSION=$(python3 -c 'import sys; print (sys.version[:3])') -PYTHON3_ABIFLAGS=$(python3 -c 'import sys; print (sys.abiflags);') -export REGEX_FLAGS="--with-icu" -export EXPAT_INCLUDE=%{_includedir} EXPAT_LIBPATH=%{_libdir} -LIBRARIES_FLAGS=--with-libraries=all + +export LIBRARIES_FLAGS="--without-python" %if ! %{with build_context} # coroutine/coroutine2 depend on context -LIBRARIES_FLAGS+=" --without-libraries=context,coroutine,coroutine2" +LIBRARIES_FLAGS+=" --without-context --without-coroutine --without-coroutine2" %endif %if ! %{with boost_fiber} -LIBRARIES_FLAGS+=" --without-libraries=fiber" +LIBRARIES_FLAGS+=" --without-fiber" %endif EOF # Read shared build instructions . ./.build +%if %{with build_mpi} # Set PATH, MANPATH and LD_LIBRARY_PATH for mpi -. %{_localstatedir}/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh +#. %{_localstatedir}/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh +# fixme: use mpi-selector ???? +%endif -# use supplied bootstrap.sh instead of mucking with old bjam -# see also: https://svn.boost.org/trac/boost/ticket/9304 -./bootstrap.sh $LIBRARIES_FLAGS \ +# Need specific Boost Jam config files. +# 1. one all "normal" libraries +# 2. one for each python version for for python/mpi libraries +# use staging directories for MPI/PYTHON combinations. + +# General case +cat << EOF >user-config.jam +import os ; +local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ; +using gcc : : : \$(RPM_OPT_FLAGS) ; +EOF + +# Build boost base PYTHON and MPI, installed in python staging +./bootstrap.sh \ --prefix=%{_prefix} --exec-prefix=%{_bindir} \ --libdir=%{_libdir} --includedir=%{_includedir} \ --with-toolset=gcc -# add specific wishes in user-config.jam -cat << EOF >user-config.jam -import os ; -local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ; - -using gcc : : : \$(RPM_OPT_FLAGS) ; - +cp user-config.jam user-config-py.jam +cat << EOF >> user-config-py.jam using python - : $PYTHON_VERSION - : /usr/bin/python2 - : /usr/include/python$PYTHON_VERSION - : - : - : + : %{py_ver} + : %{__python2} + : %{py_incdir} + : %{py_libdir} + : : ; - -using python - : $PYTHON3_VERSION - : /usr/bin/python$PYTHON3_VERSION - : /usr/include/python$PYTHON3_VERSION$PYTHON3_ABIFLAGS - : /usr/lib/python$PYTHON3_VERSION - : - : - : - $PYTHON3_ABIFLAGS - ; - +%if %{with build_mpi} +using mpi ; +%endif EOF +./b2 -d+2 -q --user-config=./user-config-py.jam \ + --build-type=minimal --build-dir=./python-build \ + --python-buildid=py2.7 \ + --stagedir=./python-stage %{?_smp_mflags} \ + $PY_LIBRARIES_FLAGS \ + threading=multi link=shared runtime-link=shared stage + +# Build boost python3 and MPI, installed in python3 staging +%if %{with python3} +cp user-config.jam user-config-py3.jam +cat << EOF >> user-config-py3.jam +using python + : %{py3_ver} + : /usr/bin/python%{py3_ver}%{py3_abiflags} + : %{py3_incdir} + : + : + : .%{py3_soflags} + : %{py3_abiflags} + ; +%if %{with build_mpi} +using mpi ; +%endif +EOF + +./b2 -d+2 -q --user-config=./user-config-py3.jam \ + --build-type=minimal --build-dir=./python3-build \ + --python-buildid=py3 \ + --stagedir=./python3-stage %{?_smp_mflags} \ + $PY_LIBRARIES_FLAGS \ + threading=multi link=shared runtime-link=shared stage +%endif # python3 + +# Build rest of boost, without python and MPI +#./bootstrap.sh $LIBRARIES_FLAGS \ +# --prefix=%{_prefix} --exec-prefix=%{_bindir} \ +# --libdir=%{_libdir} --includedir=%{_includedir} \ +# --with-toolset=gcc + %if %{with build_docs} cat << EOF >>user-config.jam using xsltproc ; @@ -571,24 +1127,36 @@ using doxygen ; EOF %endif +# needed to get graph_parallel built %if %{with build_mpi} -cat << EOF >>user-config.jam -using mpi ; -EOF +echo 'using mpi ;' >> ./user-config.jam %endif -# perform the compilation -./b2 -d+2 -q --prefix=%{_prefix} --libdir=%{_libdir} --user-config=./user-config.jam %{?_smp_mflags} +./b2 -d+2 -q --user-config=./user-config.jam \ + --build-type=minimal --build-dir=./build \ + --stagedir=./stage %{?_smp_mflags} \ + $LIBRARIES_FLAGS \ + threading=multi link=shared runtime-link=shared stage +# Verify that all symbols built in different stages are interchangeable. +# Can't be too careful! +cp %{SOURCE101} . +chmod +x symbol_diff.sh +./symbol_diff.sh python3-stage/lib/libboost_mpi.so python-stage/lib/libboost_mpi.so +./symbol_diff.sh python3-stage/lib/libboost_mpi.so stage/lib/libboost_mpi.so +./symbol_diff.sh python3-stage/lib/libboost_serialization.so python-stage/lib/libboost_serialization.so +./symbol_diff.sh python3-stage/lib/libboost_serialization.so stage/lib/libboost_serialization.so + +# Build documentation %if %{with build_quickbook} pushd tools/quickbook -../../b2 --user-config=../../user-config.jam --v2 dist-bin +../../b2 --user-config=../../user-config.jam --v2 dist-bin %{?_smp_mflags} popd %endif %if %{with build_docs} cd doc -../b2 --user-config=../user-config.jam --v2 man +./b2 --user-config=../user-config.jam --v2 man %{?_smp_mflags} %endif %install @@ -596,34 +1164,99 @@ cd doc # Read shared build instructions . ./.build +%if %{with build_mpi} # Set PATH, MANPATH and LD_LIBRARY_PATH for mpi -. %{_localstatedir}/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh +#. %{_localstatedir}/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh +%endif -./b2 install \ +%if %{with python3} +./b2 -d+2 -q --user-config=./user-config-py3.jam \ + --build-type=minimal --build-dir=./python3-build \ + --python-buildid=py3 \ --prefix=%{buildroot}%{_prefix} --exec-prefix=%{buildroot}%{_bindir} \ --libdir=%{buildroot}%{_libdir} --includedir=%{buildroot}%{_includedir} \ - --user-config=./user-config.jam + --stagedir=./python3-stage %{?_smp_mflags} \ + $PY_LIBRARIES_FLAGS \ + threading=multi link=shared runtime-link=shared install +%endif + +./b2 -d+2 -q --user-config=./user-config-py.jam \ + --build-type=minimal --build-dir=./python-build \ + --python-buildid=py2.7 \ + --prefix=%{buildroot}%{_prefix} --exec-prefix=%{buildroot}%{_bindir} \ + --libdir=%{buildroot}%{_libdir} --includedir=%{buildroot}%{_includedir} \ + --stagedir=./python-stage %{?_smp_mflags} \ + $PY_LIBRARIES_FLAGS \ + threading=multi link=shared runtime-link=shared install + +./b2 -d+2 -q \ + --build-type=minimal --build-dir=./build --stagedir=./stage \ + --prefix=%{buildroot}%{_prefix} --exec-prefix=%{buildroot}%{_bindir} \ + --libdir=%{buildroot}%{_libdir} --includedir=%{buildroot}%{_includedir} \ + --user-config=./user-config.jam \ + $LIBRARIES_FLAGS \ + threading=multi link=shared runtime-link=shared install mkdir -p %{buildroot}%{_bindir} install -m 755 bjam %{buildroot}%{_bindir} ln -s bjam %{buildroot}%{_bindir}/jam -# do not install the python module - as long as noone needs it, it requires more fixes -# see https://bugzilla.redhat.com/show_bug.cgi?id=801534 for details -rm -f %{buildroot}%{_libdir}/mpi.so +# Make sure nothing depends on non-id'ed python binaries! +rm %{buildroot}%{_libdir}/libboost_mpi_python.so +rm %{buildroot}%{_libdir}/libboost_mpi_python.so.%{version} +rm %{buildroot}%{_libdir}/libboost_python.so +rm %{buildroot}%{_libdir}/libboost_python.so.1.63.0 -mkdir -p %{buildroot}%{my_docdir} +! $(ldd %{buildroot}%{_libdir}/*.so* | grep python\\.) -pushd %{buildroot}%{_libdir} -blibs=$(find . -name \*.so.%{version}) -echo $blibs | xargs chrpath -d +ln -s libboost_mpi_python-py2_7.so %{buildroot}%{_libdir}/libboost_mpi_python.so +ln -s libboost_python-py2_7.so %{buildroot}%{_libdir}/libboost_python.so -for lib in ${blibs}; do - BASE=$(basename ${lib} .so.%{version}) - SONAME_MT="$BASE-mt.so" - ln -sf ${lib} $SONAME_MT -done -popd +%if %{with python3} +rm %{buildroot}%{_libdir}/libboost_python3-py3.so +rm %{buildroot}%{_libdir}/libboost_python3-py3.so.%{version} + +! $(ldd %{buildroot}%{_libdir}/*.so* | grep python3-\\.) + +ln -s libboost_python-py3.so %{buildroot}%{_libdir}/libboost_python3.so +%endif + +# Move Python libraries over to proper places +mkdir -p %{buildroot}%{py_sitedir}/boost/parallel/mpi/ +mv %{buildroot}/%{_libdir}/mpi.so %{buildroot}%{py_sitedir}/boost/parallel/mpi/ +install -m 0644 libs/mpi/build/__init__.py %{buildroot}%{py_sitedir}/boost/parallel/mpi/ +install -m 0644 %{SOURCE11} %{buildroot}%{py_sitedir}/boost/parallel +install -m 0644 %{SOURCE11} %{buildroot}%{py_sitedir}/boost + +%if %{with python3} +mkdir -p %{buildroot}%{python3_sitearch}/boost/parallel/mpi/ +mv %{buildroot}/%{_libdir}/mpi.%{py3_soflags}.so %{buildroot}%{python3_sitearch}/boost/parallel/mpi/ +install -m 0644 libs/mpi/build/__init__.py %{buildroot}%{python3_sitearch}/boost/parallel/mpi/ +install -m 0644 %{SOURCE11} %{buildroot}%{python3_sitearch}/boost/parallel +install -m 0644 %{SOURCE11} %{buildroot}%{python3_sitearch}/boost +%endif + +# Remove exception library, but only if the symbols are not +# actually used. For now, the only symbol that is linked is +# should never be used as it's only available on Windows. So, +# verify that here. +objdump -Ctj .text -Ctj .text %{buildroot}%{_libdir}/libboost_exception.so | \ + grep '^[0-9a-f]\+[[:space:]]\+g[[:space:]]\+F' | \ + sed -e 's#[0-9a-f]\+[[:space:]]\+g[[:space:]]\+F[[:space:]]\+\.text[[:space:]]\+[0-9a-f]\+[[:space:]]\+##' | \ + diff %{SOURCE10} - || echo "WARNING: libexception symbol change?" +rm %{buildroot}%{_libdir}/libboost_exception.so +rm %{buildroot}%{_libdir}/libboost_exception.so.%{version} + +#pushd %{buildroot}%{_libdir} +#blibs=$(find . -name \*.so.%{version}) +#echo $blibs | xargs chrpath -d +# +#for lib in ${blibs}; do +# BASE=$(basename ${lib} .so.%{version}) +## SONAME_MT="$BASE-mt.so" +# ln -sf ${lib} $SONAME_MT +#done +#popd # install the man pages # rm -rf doc/man/man3/boost::units::operator @@ -639,6 +1272,8 @@ popd # popd #install doc files +mkdir -p %{buildroot}%{my_docdir} +install -m 0644 %{SOURCE102} %{buildroot}%{my_docdir} find libs/ -name \*.htm\* -o -name \*.css -o -name \*.js | xargs dos2unix find . -name \*.htm\* -o -name \*.gif -o -name \*.css -o -name \*.jpg -o -name \*.png -o -name \*.ico | \ tar --files-from=%{SOURCE4} -cf - --files-from=- | tar -C %{buildroot}%{my_docdir} -xf - @@ -647,7 +1282,7 @@ ln -s %{_includedir}/boost %{buildroot}%{my_docdir} ln -s ../LICENSE_1_0.txt %{buildroot}%{my_docdir}/libs find %{buildroot}%{my_docdir} -name \*.py -exec chmod -x {} + chmod -x ../boost_%{short_version}_pdf/*.pdf -rm -f %{buildroot}%{_libdir}/*.a +#rm -f %{buildroot}%{_libdir}/*.a #symlink dupes %fdupes %{buildroot} @@ -656,6 +1291,28 @@ mkdir -p %{buildroot}%{_bindir} install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook %endif +# Remove cruft +# FIXME: these shouldn't be built in the first place +rm %{buildroot}%{_libdir}/libboost_chrono.a +rm %{buildroot}%{_libdir}/libboost_system.a +rm %{buildroot}%{_libdir}/libboost_timer.a +rm %{buildroot}%{_libdir}/libboost_unit_test_framework.a + +%if ! %{with boost_fiber} +rm -r %{buildroot}%{_includedir}/boost/fiber +%endif + +%if ! %{with build_mpi} +rm -r %{buildroot}%{_includedir}/boost/mpi +rm %{buildroot}%{_includedir}/boost/mpi.hpp +%endif + +%if ! %{with build_context} +rm -r %{buildroot}%{_includedir}/boost/coroutine +rm -r %{buildroot}%{_includedir}/boost/coroutine2 +rm -r %{buildroot}%{_includedir}/boost/context +%endif + %post -n libboost_atomic%{lib_appendix} -p /sbin/ldconfig %post -n libboost_container%{lib_appendix} -p /sbin/ldconfig @@ -678,9 +1335,11 @@ install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook %post -n libboost_program_options%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_python%{lib_appendix} -p /sbin/ldconfig +%post -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_python3-%{lib_appendix} -p /sbin/ldconfig +%if %{with python3} +%post -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig +%endif %post -n libboost_regex%{lib_appendix} -p /sbin/ldconfig @@ -695,6 +1354,14 @@ install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook %post -n libboost_math%{lib_appendix} -p /sbin/ldconfig %if %{with build_mpi} %post -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig + +%post -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig + +%post -n libboost_mpi_python-py2_7-%{lib_appendix} -p /sbin/ldconfig + +%if %{with python3} +%post -n libboost_mpi_python-py3-%{lib_appendix} -p /sbin/ldconfig +%endif %endif %post -n libboost_graph%{lib_appendix} -p /sbin/ldconfig @@ -711,8 +1378,6 @@ install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook %post -n libboost_timer%{lib_appendix} -p /sbin/ldconfig -%post -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig - %postun -n libboost_atomic%{lib_appendix} -p /sbin/ldconfig %postun -n libboost_container%{lib_appendix} -p /sbin/ldconfig @@ -735,9 +1400,11 @@ install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook %postun -n libboost_program_options%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_python%{lib_appendix} -p /sbin/ldconfig +%postun -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_python3-%{lib_appendix} -p /sbin/ldconfig +%if %{with python3} +%postun -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig +%endif %postun -n libboost_regex%{lib_appendix} -p /sbin/ldconfig @@ -752,6 +1419,14 @@ install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook %postun -n libboost_math%{lib_appendix} -p /sbin/ldconfig %if %{with build_mpi} %postun -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig + +%postun -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig + +%postun -n libboost_mpi_python-py2_7-%{lib_appendix} -p /sbin/ldconfig + +%if %{with python3} +%postun -n libboost_mpi_python-py3-%{lib_appendix} -p /sbin/ldconfig +%endif %endif %postun -n libboost_graph%{lib_appendix} -p /sbin/ldconfig @@ -768,8 +1443,6 @@ install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook %postun -n libboost_timer%{lib_appendix} -p /sbin/ldconfig -%postun -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig - %files -n %{package_name}-jam %defattr(-, root, root, -) %{_bindir}/bjam @@ -782,140 +1455,719 @@ install -m 0755 dist/bin/quickbook %{buildroot}%{_bindir}/quickbook %files -n libboost_atomic%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_atomic*.so.* +%{_libdir}/libboost_atomic.so.%{version} + +%files -n libboost_atomic%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_atomic.so +#%{_libdir}/libboost_atomic-mt.so +%dir %{_includedir}/boost/atomic +%{_includedir}/boost/atomic/* +%{_includedir}/boost/atomic.hpp %files -n libboost_container%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_container*.so.* +%{_libdir}/libboost_container.so.%{version} + +%files -n libboost_container%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_container.so +#%{_libdir}/libboost_container-mt.so +%dir %{_includedir}/boost/container +%{_includedir}/boost/container/* %if %{with build_context} %files -n libboost_context%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_context*.so.* +%{_libdir}/libboost_context.so.%{version} + +%files -n libboost_context%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_context.so +#%{_libdir}/libboost_context-mt.so +%dir %{_includedir}/boost/context +%{_includedir}/boost/context/* %files -n libboost_coroutine%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_coroutine*.so.* -%endif +%{_libdir}/libboost_coroutine.so.%{version} + +%files -n libboost_coroutine%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_coroutine.so +#%{_libdir}/libboost_coroutine-mt.so +%dir %{_includedir}/boost/coroutine +%dir %{_includedir}/boost/coroutine2 +%{_includedir}/boost/coroutine/* +%{_includedir}/boost/coroutine2/* + +%endif # if with build_context %files -n libboost_date_time%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_date_time*.so.* +%{_libdir}/libboost_date_time.so.%{version} + +%files -n libboost_date_time%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_date_time.so +#%{_libdir}/libboost_date_time-mt.so +%dir %{_includedir}/boost/date_time +%{_includedir}/boost/date_time/* +%{_includedir}/boost/date_time.hpp %if %{with boost_fiber} %files -n libboost_fiber%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_fiber*.so.* -%endif +%{_libdir}/libboost_fiber.so.%{version} + +%files -n libboost_fiber%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_fiber.so +#%{_libdir}/libboost_fiber-mt.so +%dir %{_includedir}/boost/fiber +%{_includedir}/boost/fiber/* +%endif # with boost_fiber %files -n libboost_filesystem%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_filesystem*.so.* +%{_libdir}/libboost_filesystem.so.%{version} + +%files -n libboost_filesystem%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_filesystem.so +#%{_libdir}/libboost_filesystem-mt.so +%dir %{_includedir}/boost/filesystem +%{_includedir}/boost/filesystem/* +%{_includedir}/boost/filesystem.hpp %files -n libboost_graph%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_graph.so.* +%{_libdir}/libboost_graph.so.%{version} -%files -n libboost_graph_parallel%{lib_appendix} -%defattr(-,root,root) -%{_libdir}/libboost_graph_parallel.so.* +%files -n libboost_graph%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_graph.so +#%{_libdir}/libboost_graph-mt.so +%dir %{_includedir}/boost/graph +%{_includedir}/boost/graph/* +%exclude %{_includedir}/boost/graph/distributed/* +%exclude %{_includedir}/boost/graph/parallel/* %files -n libboost_iostreams%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_iostreams*.so.* +%{_libdir}/libboost_iostreams.so.%{version} + +%files -n libboost_iostreams%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_iostreams.so +#%{_libdir}/libboost_iostreams-mt.so +%dir %{_includedir}/boost/iostreams +%{_includedir}/boost/iostreams/* %files -n libboost_log%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_log*.so.* +%{_libdir}/libboost_log.so.%{version} +%{_libdir}/libboost_log_setup.so.%{version} + +%files -n libboost_log%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_log.so +#%{_libdir}/libboost_log-mt.so +%{_libdir}/libboost_log_setup.so +#%{_libdir}/libboost_log_setup-mt.so +%dir %{_includedir}/boost/log +%{_includedir}/boost/log/* %files -n libboost_math%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_math_*.so.* +%{_libdir}/libboost_math_c99f.so.%{version} +%{_libdir}/libboost_math_c99l.so.%{version} +%{_libdir}/libboost_math_c99.so.%{version} +%{_libdir}/libboost_math_tr1f.so.%{version} +%{_libdir}/libboost_math_tr1l.so.%{version} +%{_libdir}/libboost_math_tr1.so.%{version} + +%files -n libboost_math%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_math_c99f.so +#%{_libdir}/libboost_math_c99f-mt.so +%{_libdir}/libboost_math_c99l.so +#%{_libdir}/libboost_math_c99l-mt.so +%{_libdir}/libboost_math_c99.so +#%{_libdir}/libboost_math_c99-mt.so +%{_libdir}/libboost_math_tr1f.so +#%{_libdir}/libboost_math_tr1f-mt.so +%{_libdir}/libboost_math_tr1l.so +#%{_libdir}/libboost_math_tr1l-mt.so +%{_libdir}/libboost_math_tr1.so +#%{_libdir}/libboost_math_tr1-mt.so +%dir %{_includedir}/boost/math +%{_includedir}/boost/math/* +%{_includedir}/boost/math_fwd.hpp %if %{with build_mpi} %files -n libboost_mpi%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_mpi*.so.* -%endif +%{_libdir}/libboost_mpi.so.%{version} + +%files -n libboost_mpi%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_mpi.so +#%{_libdir}/libboost_mpi-mt.so +%dir %{_includedir}/boost/mpi +%{_includedir}/boost/mpi/* +%{_includedir}/boost/mpi.hpp + +%files -n libboost_graph_parallel%{lib_appendix} +%defattr(-,root,root) +%{_libdir}/libboost_graph_parallel.so.%{version} + +%files -n libboost_graph_parallel%{lib_appendix}-devel +%defattr(-,root,root) +%{_libdir}/libboost_graph_parallel.so +#%{_libdir}/libboost_graph_parallel-mt.so +%dir %{_includedir}/boost/graph/distributed +%dir %{_includedir}/boost/graph/parallel +%{_includedir}/boost/graph/distributed/* +%{_includedir}/boost/graph/parallel/* + +%files -n libboost_mpi_python-py2_7-%{lib_appendix} +%defattr(-,root,root) +%{_libdir}/libboost_mpi_python-py2_7.so.%{version} + +%files -n libboost_mpi_python-py2_7-%{lib_appendix}-devel +%defattr(-,root,root) +%{_libdir}/libboost_mpi_python-py2_7.so +%{_libdir}/libboost_mpi_python.so + +%files -n python-boost_parallel_mpi%{lib_appendix} +%dir %{py_sitedir}/boost +%dir %{py_sitedir}/boost/parallel +%dir %{py_sitedir}/boost/parallel/mpi +%{py_sitedir}/boost/__init__.py +%{py_sitedir}/boost/parallel/__init__.py +%{py_sitedir}/boost/parallel/mpi/__init__.py +%{py_sitedir}/boost/parallel/mpi/mpi.so + +%if %{with python3} +%files -n libboost_mpi_python-py3-%{lib_appendix} +%defattr(-,root,root) +%{_libdir}/libboost_mpi_python-py3.so.%{version} + +%files -n libboost_mpi_python-py3-%{lib_appendix}-devel +%defattr(-,root,root) +%{_libdir}/libboost_mpi_python-py3.so + +%files -n python3-boost_parallel_mpi%{lib_appendix} +%dir %{python3_sitearch}/boost +%dir %{python3_sitearch}/boost/parallel +%dir %{python3_sitearch}/boost/parallel/mpi +%{python3_sitearch}/boost/__init__.py +%{python3_sitearch}/boost/parallel/__init__.py +%{python3_sitearch}/boost/parallel/mpi/__init__.py +%{python3_sitearch}/boost/parallel/mpi/mpi.%{py3_soflags}.so + +%endif # with python3 +%endif # with build_mpi %files -n libboost_test%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_prg_exec_monitor*.so.* -%{_libdir}/libboost_unit_test_framework*.so.* +%{_libdir}/libboost_prg_exec_monitor.so.%{version} +%{_libdir}/libboost_test_exec_monitor.so.%{version} +%{_libdir}/libboost_unit_test_framework.so.%{version} + +%files -n libboost_test%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_prg_exec_monitor.so +%{_libdir}/libboost_test_exec_monitor.so +#%{_libdir}/libboost_prg_exec_monitor-mt.so +%{_libdir}/libboost_unit_test_framework.so +#%{_libdir}/libboost_unit_test_framework-mt.so +%dir %{_includedir}/boost/test +%{_includedir}/boost/test/* %files -n libboost_program_options%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_program_options*.so.* +%{_libdir}/libboost_program_options.so.%{version} -%files -n libboost_python%{lib_appendix} +%files -n libboost_program_options%{lib_appendix}-devel %defattr(-, root, root, -) -%{_libdir}/libboost_python.so.* +%{_libdir}/libboost_program_options.so +#%{_libdir}/libboost_program_options-mt.so +%dir %{_includedir}/boost/program_options +%{_includedir}/boost/program_options/* +%{_includedir}/boost/program_options.hpp -%files -n libboost_python3-%{lib_appendix} +%files -n libboost_python-py2_7-%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_python3.so.* +%{_libdir}/libboost_python-py2_7.so.%{version} + +%files -n libboost_python-py2_7-%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_python.so +%{_libdir}/libboost_python-py2_7.so +#%{_libdir}/libboost_python-mt.so +%dir %{_includedir}/boost/python +%{_includedir}/boost/python/* +%{_includedir}/boost/python.hpp + +%if %{with python3} +%files -n libboost_python-py3-%{lib_appendix} +%defattr(-, root, root, -) +%{_libdir}/libboost_python-py3.so.%{version} + +%files -n libboost_python-py3-%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_python3.so +%{_libdir}/libboost_python-py3.so +#%{_libdir}/libboost_python3-mt.so + +%endif # with python3 %files -n libboost_serialization%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_*serialization*.so.* +%{_libdir}/libboost_serialization.so.%{version} +%{_libdir}/libboost_wserialization.so.%{version} + +%files -n libboost_serialization%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_serialization.so +#%{_libdir}/libboost_serialization-mt.so +%{_libdir}/libboost_wserialization.so +#%{_libdir}/libboost_wserialization-mt.so +%dir %{_includedir}/boost/serialization +%{_includedir}/boost/serialization/* %files -n libboost_signals%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_signals*.so.* +%{_libdir}/libboost_signals.so.%{version} + +%files -n libboost_signals%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_signals.so +#%{_libdir}/libboost_signals-mt.so +%dir %{_includedir}/boost/signals +%{_includedir}/boost/signals/* +%{_includedir}/boost/signal.hpp +%{_includedir}/boost/signals.hpp %files -n libboost_system%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_system*.so.* +%{_libdir}/libboost_system.so.%{version} + +%files -n libboost_system%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_system.so +#%{_libdir}/libboost_system-mt.so +%dir %{_includedir}/boost/system +%{_includedir}/boost/system/* %files -n libboost_thread%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_thread*.so.* +%{_libdir}/libboost_thread.so.%{version} + +%files -n libboost_thread%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_thread.so +#%{_libdir}/libboost_thread-mt.so +%dir %{_includedir}/boost/thread +%{_includedir}/boost/thread/* +%{_includedir}/boost/thread.hpp %files -n libboost_wave%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_wave*.so.* +%{_libdir}/libboost_wave.so.%{version} + +%files -n libboost_wave%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_wave.so +#%{_libdir}/libboost_wave-mt.so +%dir %{_includedir}/boost/wave +%{_includedir}/boost/wave/* +%{_includedir}/boost/wave.hpp %files -n libboost_regex%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_regex*.so.* +%{_libdir}/libboost_regex.so.%{version} + +%files -n libboost_regex%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_regex.so +#%{_libdir}/libboost_regex-mt.so +%dir %{_includedir}/boost/regex +%{_includedir}/boost/regex/* +%{_includedir}/boost/regex.h +%{_includedir}/boost/regex.hpp +%{_includedir}/boost/regex_fwd.hpp %files -n libboost_random%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_random*.so.* +%{_libdir}/libboost_random.so.%{version} + +%files -n libboost_random%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_random.so +#%{_libdir}/libboost_random-mt.so +%dir %{_includedir}/boost/random +%{_includedir}/boost/random/* +%{_includedir}/boost/random.hpp %files -n libboost_chrono%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_chrono*.so.* +%{_libdir}/libboost_chrono.so.%{version} + +%files -n libboost_chrono%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_chrono.so +#%{_libdir}/libboost_chrono-mt.so +%dir %{_includedir}/boost/chrono +%{_includedir}/boost/chrono/* +%{_includedir}/boost/chrono.hpp %files -n libboost_locale%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_locale*.so.* +%{_libdir}/libboost_locale.so.%{version} + +%files -n libboost_locale%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_locale.so +#%{_libdir}/libboost_locale-mt.so +%dir %{_includedir}/boost/locale +%{_includedir}/boost/locale/* +%{_includedir}/boost/locale.hpp %files -n libboost_timer%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_timer*.so.* +%{_libdir}/libboost_timer.so.%{version} + +%files -n libboost_timer%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_timer.so +#%{_libdir}/libboost_timer-mt.so +%dir %{_includedir}/boost/timer +%{_includedir}/boost/timer/* +%{_includedir}/boost/timer.hpp %files -n libboost_type_erasure%{lib_appendix} %defattr(-, root, root, -) -%{_libdir}/libboost_type_erasure*.so.* +%{_libdir}/libboost_type_erasure.so.%{version} + +%files -n libboost_type_erasure%{lib_appendix}-devel +%defattr(-, root, root, -) +%{_libdir}/libboost_type_erasure.so +#%{_libdir}/libboost_type_erasure-mt.so +%dir %{_includedir}/boost/type_erasure +%{_includedir}/boost/type_erasure/* + +%files -n libboost_headers%{lib_appendix}-devel +%defattr(-, root, root, -) +%dir %{_includedir}/boost +%dir %{_includedir}/boost/accumulators +%{_includedir}/boost/accumulators/* +%dir %{_includedir}/boost/algorithm +%{_includedir}/boost/algorithm/* +%dir %{_includedir}/boost/align +%{_includedir}/boost/align/* +%{_includedir}/boost/align.hpp +%{_includedir}/boost/aligned_storage.hpp +%{_includedir}/boost/any.hpp +%dir %{_includedir}/boost/archive +%{_includedir}/boost/archive/* +%{_includedir}/boost/array.hpp +%dir %{_includedir}/boost/asio +%{_includedir}/boost/asio/* +%{_includedir}/boost/asio.hpp +%{_includedir}/boost/assert.hpp +%dir %{_includedir}/boost/assign +%{_includedir}/boost/assign/* +%{_includedir}/boost/assign.hpp +%dir %{_includedir}/boost/bimap +%{_includedir}/boost/bimap/* +%{_includedir}/boost/bimap.hpp +%dir %{_includedir}/boost/bind +%{_includedir}/boost/bind/* +%{_includedir}/boost/bind.hpp +%{_includedir}/boost/blank.hpp +%{_includedir}/boost/blank_fwd.hpp +%{_includedir}/boost/call_traits.hpp +%{_includedir}/boost/cast.hpp +%{_includedir}/boost/cerrno.hpp +%{_includedir}/boost/checked_delete.hpp +%dir %{_includedir}/boost/circular_buffer +%{_includedir}/boost/circular_buffer/* +%{_includedir}/boost/circular_buffer.hpp +%{_includedir}/boost/circular_buffer_fwd.hpp +%dir %{_includedir}/boost/compatibility +%{_includedir}/boost/compatibility/* +%{_includedir}/boost/compressed_pair.hpp +%dir %{_includedir}/boost/compute +%{_includedir}/boost/compute/* +%{_includedir}/boost/compute.hpp +%dir %{_includedir}/boost/concept +%{_includedir}/boost/concept/* +%{_includedir}/boost/concept_archetype.hpp +%dir %{_includedir}/boost/concept_check +%{_includedir}/boost/concept_check/* +%{_includedir}/boost/concept_check.hpp +%dir %{_includedir}/boost/config +%{_includedir}/boost/config/* +%{_includedir}/boost/config.hpp +%dir %{_includedir}/boost/convert +%{_includedir}/boost/convert/* +%{_includedir}/boost/convert.hpp +%dir %{_includedir}/boost/core +%{_includedir}/boost/core/* +%{_includedir}/boost/crc.hpp +%{_includedir}/boost/cregex.hpp +%{_includedir}/boost/cstdfloat.hpp +%{_includedir}/boost/cstdint.hpp +%{_includedir}/boost/cstdlib.hpp +%{_includedir}/boost/current_function.hpp +%{_includedir}/boost/cxx11_char_types.hpp +%dir %{_includedir}/boost/detail +%{_includedir}/boost/detail/* +%dir %{_includedir}/boost/dll +%{_includedir}/boost/dll/* +%{_includedir}/boost/dll.hpp +%dir %{_includedir}/boost/dynamic_bitset +%{_includedir}/boost/dynamic_bitset/* +%{_includedir}/boost/dynamic_bitset.hpp +%{_includedir}/boost/dynamic_bitset_fwd.hpp +%{_includedir}/boost/enable_shared_from_this.hpp +%dir %{_includedir}/boost/endian +%{_includedir}/boost/endian/* +%dir %{_includedir}/boost/exception +%{_includedir}/boost/exception/* +%{_includedir}/boost/exception_ptr.hpp +%dir %{_includedir}/boost/flyweight +%{_includedir}/boost/flyweight/* +%{_includedir}/boost/flyweight.hpp +%{_includedir}/boost/foreach.hpp +%{_includedir}/boost/foreach_fwd.hpp +%dir %{_includedir}/boost/format +%{_includedir}/boost/format/* +%{_includedir}/boost/format.hpp +%dir %{_includedir}/boost/function +%{_includedir}/boost/function/* +%{_includedir}/boost/function.hpp +%{_includedir}/boost/function_equal.hpp +%{_includedir}/boost/function_output_iterator.hpp +%dir %{_includedir}/boost/function_types +%{_includedir}/boost/function_types/* +%dir %{_includedir}/boost/functional +%{_includedir}/boost/functional/* +%{_includedir}/boost/functional.hpp +%dir %{_includedir}/boost/fusion +%{_includedir}/boost/fusion/* +%{_includedir}/boost/generator_iterator.hpp +%dir %{_includedir}/boost/geometry +%{_includedir}/boost/geometry/* +%{_includedir}/boost/geometry.hpp +%{_includedir}/boost/get_pointer.hpp +%dir %{_includedir}/boost/gil +%{_includedir}/boost/gil/* +%dir %{_includedir}/boost/hana +%{_includedir}/boost/hana/* +%{_includedir}/boost/hana.hpp +%dir %{_includedir}/boost/heap +%{_includedir}/boost/heap/* +%dir %{_includedir}/boost/icl +%{_includedir}/boost/icl/* +%{_includedir}/boost/implicit_cast.hpp +%{_includedir}/boost/indirect_reference.hpp +%dir %{_includedir}/boost/integer +%{_includedir}/boost/integer/* +%{_includedir}/boost/integer.hpp +%{_includedir}/boost/integer_fwd.hpp +%{_includedir}/boost/integer_traits.hpp +%{_includedir}/boost/iterator_adaptors.hpp +%dir %{_includedir}/boost/interprocess +%{_includedir}/boost/interprocess/* +%dir %{_includedir}/boost/intrusive +%{_includedir}/boost/intrusive/* +%{_includedir}/boost/intrusive_ptr.hpp +%dir %{_includedir}/boost/io +%dir %{_includedir}/boost/io/detail +%{_includedir}/boost/io/detail/quoted_manip.hpp +%{_includedir}/boost/io/ios_state.hpp +%{_includedir}/boost/io_fwd.hpp +%{_includedir}/boost/is_placeholder.hpp +%dir %{_includedir}/boost/iterator +%{_includedir}/boost/iterator/* +%{_includedir}/boost/iterator.hpp +%dir %{_includedir}/boost/lambda +%{_includedir}/boost/lambda/* +%{_includedir}/boost/last_value.hpp +%dir %{_includedir}/boost/lexical_cast +%{_includedir}/boost/lexical_cast/* +%{_includedir}/boost/lexical_cast.hpp +%{_includedir}/boost/limits.hpp +%dir %{_includedir}/boost/local_function +%{_includedir}/boost/local_function/* +%{_includedir}/boost/local_function.hpp +%dir %{_includedir}/boost/lockfree +%{_includedir}/boost/lockfree/* +%dir %{_includedir}/boost/logic +%{_includedir}/boost/logic/* +%{_includedir}/boost/make_default.hpp +%{_includedir}/boost/make_shared.hpp +%{_includedir}/boost/make_unique.hpp +%{_includedir}/boost/mem_fn.hpp +%{_includedir}/boost/memory_order.hpp +%dir %{_includedir}/boost/metaparse +%{_includedir}/boost/metaparse/* +%{_includedir}/boost/metaparse.hpp +%dir %{_includedir}/boost/move +%{_includedir}/boost/move/* +%dir %{_includedir}/boost/mpl +%{_includedir}/boost/mpl/* +%dir %{_includedir}/boost/msm +%{_includedir}/boost/msm/* +%dir %{_includedir}/boost/multi_array +%{_includedir}/boost/multi_array/* +%{_includedir}/boost/multi_array.hpp +%dir %{_includedir}/boost/multi_index +%{_includedir}/boost/multi_index/* +%{_includedir}/boost/multi_index_container.hpp +%{_includedir}/boost/multi_index_container_fwd.hpp +%dir %{_includedir}/boost/multiprecision +%{_includedir}/boost/multiprecision/* +%{_includedir}/boost/next_prior.hpp +%{_includedir}/boost/non_type.hpp +%{_includedir}/boost/noncopyable.hpp +%{_includedir}/boost/nondet_random.hpp +%{_includedir}/boost/none.hpp +%{_includedir}/boost/none_t.hpp +%dir %{_includedir}/boost/numeric +%{_includedir}/boost/numeric/* +%{_includedir}/boost/operators.hpp +%{_includedir}/boost/operators_v1.hpp +%dir %{_includedir}/boost/optional +%{_includedir}/boost/optional/* +%{_includedir}/boost/optional.hpp +%dir %{_includedir}/boost/parameter +%{_includedir}/boost/parameter/* +%{_includedir}/boost/parameter.hpp +%dir %{_includedir}/boost/pending +%{_includedir}/boost/pending/* +%dir %{_includedir}/boost/phoenix +%{_includedir}/boost/phoenix/* +%{_includedir}/boost/phoenix.hpp +%{_includedir}/boost/pointee.hpp +%{_includedir}/boost/pointer_cast.hpp +%{_includedir}/boost/pointer_to_other.hpp +%dir %{_includedir}/boost/polygon +%{_includedir}/boost/polygon/* +%{_includedir}/boost/polymorphic_cast.hpp +%{_includedir}/boost/polymorphic_pointer_cast.hpp +%dir %{_includedir}/boost/pool +%{_includedir}/boost/pool/* +%dir %{_includedir}/boost/predef +%{_includedir}/boost/predef/* +%{_includedir}/boost/predef.h +%dir %{_includedir}/boost/preprocessor +%{_includedir}/boost/preprocessor/* +%{_includedir}/boost/preprocessor.hpp +%{_includedir}/boost/progress.hpp +%dir %{_includedir}/boost/property_map +%{_includedir}/boost/property_map/* +%dir %{_includedir}/boost/property_tree +%{_includedir}/boost/property_tree/* +%dir %{_includedir}/boost/proto +%{_includedir}/boost/proto/* +%dir %{_includedir}/boost/ptr_container +%{_includedir}/boost/ptr_container/* +%dir %{_includedir}/boost/qvm +%{_includedir}/boost/qvm/* +%dir %{_includedir}/boost/range +%{_includedir}/boost/range/* +%{_includedir}/boost/range.hpp +%dir %{_includedir}/boost/ratio +%{_includedir}/boost/ratio/* +%{_includedir}/boost/ratio.hpp +%{_includedir}/boost/rational.hpp +%{_includedir}/boost/ref.hpp +%{_includedir}/boost/scope_exit.hpp +%{_includedir}/boost/scoped_array.hpp +%{_includedir}/boost/scoped_ptr.hpp +%{_includedir}/boost/shared_array.hpp +%{_includedir}/boost/shared_container_iterator.hpp +%{_includedir}/boost/shared_ptr.hpp +%dir %{_includedir}/boost/signals2 +%{_includedir}/boost/signals2/* +%{_includedir}/boost/signals2.hpp +%dir %{_includedir}/boost/smart_ptr +%{_includedir}/boost/smart_ptr/* +%{_includedir}/boost/smart_ptr.hpp +%dir %{_includedir}/boost/sort +%{_includedir}/boost/sort/* +%dir %{_includedir}/boost/spirit +%{_includedir}/boost/spirit/* +%{_includedir}/boost/spirit.hpp +%dir %{_includedir}/boost/statechart +%{_includedir}/boost/statechart/* +%{_includedir}/boost/static_assert.hpp +%{_includedir}/boost/swap.hpp +%{_includedir}/boost/throw_exception.hpp +%{_includedir}/boost/token_functions.hpp +%{_includedir}/boost/token_iterator.hpp +%{_includedir}/boost/tokenizer.hpp +%dir %{_includedir}/boost/tr1 +%{_includedir}/boost/tr1/* +%dir %{_includedir}/boost/tti +%{_includedir}/boost/tti/* +%dir %{_includedir}/boost/tuple +%{_includedir}/boost/tuple/* +%{_includedir}/boost/type.hpp +%dir %{_includedir}/boost/type_index +%{_includedir}/boost/type_index/* +%{_includedir}/boost/type_index.hpp +%dir %{_includedir}/boost/type_traits +%{_includedir}/boost/type_traits/* +%{_includedir}/boost/type_traits.hpp +%dir %{_includedir}/boost/typeof +%{_includedir}/boost/typeof/* +%dir %{_includedir}/boost/units +%{_includedir}/boost/units/* +%dir %{_includedir}/boost/unordered +%{_includedir}/boost/unordered/* +%{_includedir}/boost/unordered_map.hpp +%{_includedir}/boost/unordered_set.hpp +%dir %{_includedir}/boost/utility +%{_includedir}/boost/utility/* +%{_includedir}/boost/utility.hpp +%dir %{_includedir}/boost/uuid +%{_includedir}/boost/uuid/* +%dir %{_includedir}/boost/variant +%{_includedir}/boost/variant/* +%{_includedir}/boost/variant.hpp +%{_includedir}/boost/version.hpp +%{_includedir}/boost/visit_each.hpp +%dir %{_includedir}/boost/vmd +%{_includedir}/boost/vmd/* +%{_includedir}/boost/weak_ptr.hpp +%dir %{_includedir}/boost/xpressive +%{_includedir}/boost/xpressive/* %files -n %{package_name}-devel %defattr(-, root, root, -) -%{_includedir}/boost -%{_libdir}/*.so +%{my_docdir}/README.boost-devel +#%%{_includedir}/boost +#%%{_libdir}/*.so #%%{_datadir}/aclocal/*.m4 %files -n %{package_name}-doc-html %defattr(-, root, root, -) %doc %{my_docdir}/* %exclude %{my_docdir}/LICENSE_1_0.txt +%exclude %{my_docdir}/README.boost-devel %if %{with build_docs} -# %%files doc-man -# %%defattr(644, root, root, -) -# %%doc %%{_mandir}/man3/*.3.gz -# %%doc %%{_mandir}/man7/*.7.gz -# %%doc %%{_mandir}/man9/*.9.gz +%files doc-man +%defattr(644, root, root, -) +%doc %{_mandir}/man3/*.3.gz +%doc %{_mandir}/man7/*.7.gz +%doc %{_mandir}/man9/*.9.gz %endif %if %{with package_pdf} diff --git a/boost_1_62_0.tar.bz2 b/boost_1_62_0.tar.bz2 deleted file mode 100644 index 2be892b..0000000 --- a/boost_1_62_0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0 -size 84513338 diff --git a/boost_1_63_0.tar.bz2 b/boost_1_63_0.tar.bz2 new file mode 100644 index 0000000..b0b65a7 --- /dev/null +++ b/boost_1_63_0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0 +size 81984414 diff --git a/dynamic_linking.patch b/dynamic_linking.patch new file mode 100644 index 0000000..1436728 --- /dev/null +++ b/dynamic_linking.patch @@ -0,0 +1,115 @@ +Index: boost_1_63_0/libs/test/build/Jamfile.v2 +=================================================================== +--- boost_1_63_0.orig/libs/test/build/Jamfile.v2 ++++ boost_1_63_0/libs/test/build/Jamfile.v2 +@@ -93,7 +93,7 @@ lib boost_test_exec_monitor + : # sources + $(TEST_EXEC_MON_SOURCES).cpp + : # requirements +- static ++ # static + : # default build + : # usage-requirements + shared:BOOST_TEST_DYN_LINK=1 +Index: boost_1_63_0/libs/exception/build/Jamfile.v2 +=================================================================== +--- boost_1_63_0.orig/libs/exception/build/Jamfile.v2 ++++ boost_1_63_0/libs/exception/build/Jamfile.v2 +@@ -7,7 +7,7 @@ + + project boost/exception + : source-location ../src +- : requirements static ++ : # requirements static + ; + + lib boost_exception : clone_current_exception_non_intrusive.cpp ; +Index: boost_1_63_0/libs/chrono/build/Jamfile.v2 +=================================================================== +--- boost_1_63_0.orig/libs/chrono/build/Jamfile.v2 ++++ boost_1_63_0/libs/chrono/build/Jamfile.v2 +@@ -99,7 +99,7 @@ project boost/chrono + + BOOST_SYSTEM_NO_DEPRECATED + shared:BOOST_CHRONO_DYN_LINK=1 +- static:BOOST_CHRONO_STATIC_LINK=1 ++ # static:BOOST_CHRONO_STATIC_LINK=1 + gcc-3.4.4:--enable-auto-import + gcc-4.3.4:--enable-auto-import + gcc-4.4.0,windows:--enable-auto-import +@@ -113,6 +113,6 @@ lib boost_chrono + : $(SOURCES).cpp + : + shared:BOOST_ALL_DYN_LINK=1 # tell source we're building dll's +- static:BOOST_All_STATIC_LINK=1 # tell source we're building static lib's ++ # static:BOOST_All_STATIC_LINK=1 # tell source we're building static lib's + ; + +Index: boost_1_63_0/libs/system/build/Jamfile.v2 +=================================================================== +--- boost_1_63_0.orig/libs/system/build/Jamfile.v2 ++++ boost_1_63_0/libs/system/build/Jamfile.v2 +@@ -11,7 +11,7 @@ project boost/system + : source-location ../src + : usage-requirements # pass these requirement to dependents (i.e. users) + shared:BOOST_SYSTEM_DYN_LINK=1 +- static:BOOST_SYSTEM_STATIC_LINK=1 ++# static:BOOST_SYSTEM_STATIC_LINK=1 + ; + + SOURCES = error_code ; +@@ -19,7 +19,7 @@ SOURCES = error_code ; + lib boost_system + : $(SOURCES).cpp + : shared:BOOST_SYSTEM_DYN_LINK=1 +- static:BOOST_SYSTEM_STATIC_LINK=1 ++# static:BOOST_SYSTEM_STATIC_LINK=1 + ; + +-boost-install boost_system ; +\ No newline at end of file ++boost-install boost_system ; +Index: boost_1_63_0/libs/timer/build/Jamfile.v2 +=================================================================== +--- boost_1_63_0.orig/libs/timer/build/Jamfile.v2 ++++ boost_1_63_0/libs/timer/build/Jamfile.v2 +@@ -14,7 +14,7 @@ project boost/timer + /boost/system//boost_system + : usage-requirements # pass these requirement to dependants (i.e. users) + shared:BOOST_TIMER_DYN_LINK=1 +- static:BOOST_TIMER_STATIC_LINK=1 ++# static:BOOST_TIMER_STATIC_LINK=1 + ; + + SOURCES = auto_timers_construction cpu_timer ; +@@ -22,7 +22,7 @@ SOURCES = auto_timers_construction cpu_t + lib boost_timer + : $(SOURCES).cpp + : shared:BOOST_TIMER_DYN_LINK=1 +- static:BOOST_TIMER_STATIC_LINK=1 ++# static:BOOST_TIMER_STATIC_LINK=1 + ; + + boost-install boost_timer ; +Index: boost_1_63_0/libs/filesystem/build/Jamfile.v2 +=================================================================== +--- boost_1_63_0.orig/libs/filesystem/build/Jamfile.v2 ++++ boost_1_63_0/libs/filesystem/build/Jamfile.v2 +@@ -11,7 +11,7 @@ project boost/filesystem + : source-location ../src + : usage-requirements # pass these requirement to dependents (i.e. users) + shared:BOOST_FILESYSTEM_DYN_LINK=1 +- static:BOOST_FILESYSTEM_STATIC_LINK=1 ++# static:BOOST_FILESYSTEM_STATIC_LINK=1 + ; + + SOURCES = +@@ -28,7 +28,7 @@ SOURCES = + lib boost_filesystem + : $(SOURCES).cpp ../../system/build//boost_system + : shared:BOOST_FILESYSTEM_DYN_LINK=1 +- static:BOOST_FILESYSTEM_STATIC_LINK=1 ++# static:BOOST_FILESYSTEM_STATIC_LINK=1 + : + : # Boost.Filesystem uses some of Boost.System functions in inlined/templated + # functions, so clients that use Boost.Filesystem will have direct references diff --git a/exception.objdump b/exception.objdump new file mode 100644 index 0000000..b460740 --- /dev/null +++ b/exception.objdump @@ -0,0 +1 @@ +boost::exception_detail::clone_current_exception_non_intrusive(boost::exception_detail::clone_base const*&) diff --git a/python-2059618.patch b/python-2059618.patch deleted file mode 100644 index a98670d..0000000 --- a/python-2059618.patch +++ /dev/null @@ -1,28 +0,0 @@ -Reverse: 2059618861eb25ae2ed3f1b6ebee8609365cbed9 -Bug: bnc#1006584 - https://svn.boost.org/trac/boost/ticket/12515 - -Index: boost_1_62_0/tools/build/src/tools/python.jam -=================================================================== ---- boost_1_62_0.orig/tools/build/src/tools/python.jam -+++ boost_1_62_0/tools/build/src/tools/python.jam -@@ -903,19 +903,6 @@ local rule configure ( version ? : cmd-o - toolset.add-requirements - $(target-requirements:J=,):$(interpreter-cmd) ; - -- # We also set a default requirement that assigns the first python configured -- # for a particular target OS as the default. This makes it so that we can -- # select a python interpreter with only knowledge of the target OS. And hence -- # can configure different Pythons based on the target OS only. -- local toolset-requirements = [ toolset.requirements ] ; -- local toolset-target-os-requirements -- = [ property.evaluate-conditionals-in-context -- [ $(toolset-requirements).raw ] : $(target-os) ] ; -- if ! in $(toolset-target-os-requirements:G) -- { -- toolset.add-requirements $(target-os):$(version:E=default) ; -- } -- - # Register the right suffix for extensions. - register-extension-suffix $(extension-suffix) : $(target-requirements) ; - diff --git a/python_mpi.patch b/python_mpi.patch new file mode 100644 index 0000000..9caa853 --- /dev/null +++ b/python_mpi.patch @@ -0,0 +1,27 @@ +Author: Adam Majer +Summary: Fix MPI module loading + +MPI requires dl.RTLD_NOW|dl.RTLD_GLOBAL flags to load +properly. + + +Index: boost_1_63_0/libs/mpi/build/__init__.py +=================================================================== +--- boost_1_63_0.orig/libs/mpi/build/__init__.py ++++ boost_1_63_0/libs/mpi/build/__init__.py +@@ -1,10 +1,7 @@ + import sys +-if sys.platform == 'linux2': +- import DLFCN as dl +- flags = sys.getdlopenflags() +- sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL) +- import mpi +- sys.setdlopenflags(flags) +-else: +- import mpi ++import DLFCN as dl ++flags = sys.getdlopenflags() ++sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL) ++import boost.parallel.mpi.mpi ++sys.setdlopenflags(flags) + diff --git a/symbol_diff.sh b/symbol_diff.sh new file mode 100644 index 0000000..820d3cd --- /dev/null +++ b/symbol_diff.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# compares symbols of $1 vs. $2 +# returns diff of the two global function tables +# + +if test $# -ne 2; then + echo "$0 library1 library2" + exit 2 +fi + +PARAMS='[0-9a-f]\+[[:space:]]\+g[[:space:]]\+F[[:space:]]\+\.text[[:space:]]\+[0-9a-f]\+[[:space:]]\+' + +objdump -t $1 | grep $PARAMS | sed -e 's#'$PARAMS'##' | sort > temp.$$ +objdump -t $2 | grep $PARAMS | sed -e 's#'$PARAMS'##' | sort | diff temp.$$ - + +RET=$? + +rm temp.$$ + +exit $RET