From 9d48e24b64e81100d5525f670318f86d6a5db08fa4a8ce46a41d67257e41e836 Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Fri, 13 Jan 2017 14:53:30 +0000 Subject: [PATCH 1/7] 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 From cdce78346e8f3961994da91975d5c5c623dc85c0f724da8cf51a609230cd1759 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Fri, 13 Jan 2017 15:02:06 +0000 Subject: [PATCH 2/7] Add references to some new patches in .changes * add python_mpi.patch to allow proper compiled library loading - dynamic_linking.patch: first attempt to remove static library generation during build process. OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=183 --- boost.changes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/boost.changes b/boost.changes index 6a66de9..563bd87 100644 --- a/boost.changes +++ b/boost.changes @@ -25,6 +25,9 @@ Wed Jan 4 12:31:56 UTC 2017 - adam.majer@suse.de 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 + * add python_mpi.patch to allow proper compiled library loading +- dynamic_linking.patch: first attempt to remove static library + generation during build process. ------------------------------------------------------------------- Tue Nov 8 13:32:31 UTC 2016 - adam.majer@suse.de From 71f7b19e65406b807a4dc9b5458a5376ac7350dcc4b56e1327e03bc8e30828ab Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Sun, 15 Jan 2017 19:03:55 +0000 Subject: [PATCH 3/7] - remove non-existent dependency in the boost mpi python package OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=184 --- boost.changes | 5 +++++ boost.spec | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/boost.changes b/boost.changes index 563bd87..c57269b 100644 --- a/boost.changes +++ b/boost.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sun Jan 15 18:57:34 UTC 2017 - adam.majer@suse.de + +- remove non-existent dependency in the boost mpi python package + ------------------------------------------------------------------- Wed Jan 4 12:31:56 UTC 2017 - adam.majer@suse.de diff --git a/boost.spec b/boost.spec index 118f9b8..67dd802 100644 --- a/boost.spec +++ b/boost.spec @@ -586,8 +586,8 @@ This package contains the Boost.MPI Python 2.7 serialization library 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} +Requires: libboost_mpi_python-py2_7-%{lib_appendix} = %{version} +Requires: libboost_python-py2_7-%{lib_appendix} = %{version} Provides: libboost_mpi_python-devel = %{version} Conflicts: otherproviders(libboost_mpi_python-devel) Conflicts: boost-devel < 1.63 From 6370b02fccc063f04ab1927ed125d485d4863ecd1f90b0143f8b26e392e2ae09 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Tue, 17 Jan 2017 12:41:18 +0000 Subject: [PATCH 4/7] - test_lowcase.patch: downcase Boost::Test usage of uppercase variables. VERSION was clashing with GNU Autotools define resulting in compilation errors of various packages. OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=185 --- boost.changes | 7 + boost.spec | 2 + test_lowcase.patch | 654 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 663 insertions(+) create mode 100644 test_lowcase.patch diff --git a/boost.changes b/boost.changes index c57269b..7afa627 100644 --- a/boost.changes +++ b/boost.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jan 17 12:00:48 UTC 2017 - adam.majer@suse.de + +- test_lowcase.patch: downcase Boost::Test usage of uppercase + variables. VERSION was clashing with GNU Autotools define + resulting in compilation errors of various packages. + ------------------------------------------------------------------- Sun Jan 15 18:57:34 UTC 2017 - adam.majer@suse.de diff --git a/boost.spec b/boost.spec index 67dd802..6171226 100644 --- a/boost.spec +++ b/boost.spec @@ -92,6 +92,7 @@ Patch15: boost-1.57.0-python-abi_letters.patch Patch16: boost-1.55.0-python-test-PyImport_AppendInittab.patch Patch17: python_mpi.patch Patch18: dynamic_linking.patch +Patch19: test_lowcase.patch Patch100: gcc_path.patch BuildRequires: chrpath BuildRequires: dos2unix @@ -994,6 +995,7 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {} %patch16 -p1 %patch17 -p1 %patch18 -p1 +%patch19 -p1 %patch100 -p1 #stupid build machinery copies .orig files diff --git a/test_lowcase.patch b/test_lowcase.patch new file mode 100644 index 0000000..35e6b0b --- /dev/null +++ b/test_lowcase.patch @@ -0,0 +1,654 @@ +Author: Adam Majer +Summary: Change capital variable names to lowercase + +Capitals clash by convention with #define, and in this case +VERSION clashes with GNU Autotools. + + +Index: boost_1_63_0/boost/test/impl/unit_test_parameters.ipp +=================================================================== +--- boost_1_63_0.orig/boost/test/impl/unit_test_parameters.ipp ++++ boost_1_63_0/boost/test/impl/unit_test_parameters.ipp +@@ -71,35 +71,35 @@ namespace rt = boost::runtime; + namespace runtime_config { + + // UTF parameters +-std::string AUTO_START_DBG = "auto_start_dbg"; +-std::string BREAK_EXEC_PATH = "break_exec_path"; +-std::string BUILD_INFO = "build_info"; +-std::string CATCH_SYS_ERRORS = "catch_system_errors"; +-std::string COLOR_OUTPUT = "color_output"; +-std::string DETECT_FP_EXCEPT = "detect_fp_exceptions"; +-std::string DETECT_MEM_LEAKS = "detect_memory_leaks"; +-std::string LIST_CONTENT = "list_content"; +-std::string LIST_LABELS = "list_labels"; +-std::string LOG_FORMAT = "log_format"; +-std::string LOG_LEVEL = "log_level"; +-std::string LOG_SINK = "log_sink"; +-std::string COMBINED_LOGGER = "logger"; +-std::string OUTPUT_FORMAT = "output_format"; +-std::string RANDOM_SEED = "random"; +-std::string REPORT_FORMAT = "report_format"; +-std::string REPORT_LEVEL = "report_level"; +-std::string REPORT_MEM_LEAKS = "report_memory_leaks_to"; +-std::string REPORT_SINK = "report_sink"; +-std::string RESULT_CODE = "result_code"; +-std::string RUN_FILTERS = "run_test"; +-std::string SAVE_TEST_PATTERN = "save_pattern"; +-std::string SHOW_PROGRESS = "show_progress"; +-std::string USE_ALT_STACK = "use_alt_stack"; +-std::string WAIT_FOR_DEBUGGER = "wait_for_debugger"; +- +-std::string HELP = "help"; +-std::string USAGE = "usage"; +-std::string VERSION = "version"; ++std::string auto_start_dbg_str = "auto_start_dbg"; ++std::string break_exec_path_str = "break_exec_path"; ++std::string build_info_str = "build_info"; ++std::string catch_sys_errors_str = "catch_system_errors"; ++std::string color_output_str = "color_output"; ++std::string detect_fp_except_str = "detect_fp_exceptions"; ++std::string detect_mem_leaks_str = "detect_memory_leaks"; ++std::string list_content_str = "list_content"; ++std::string list_labels_str = "list_labels"; ++std::string log_format_str = "log_format"; ++std::string log_level_str = "log_level"; ++std::string log_sink_str = "log_sink"; ++std::string combined_logger_str = "logger"; ++std::string output_format_str = "output_format"; ++std::string random_seed_str = "random"; ++std::string report_format_str = "report_format"; ++std::string report_level_str = "report_level"; ++std::string report_mem_leaks_str = "report_memory_leaks_to"; ++std::string report_sink_str = "report_sink"; ++std::string result_code_str = "result_code"; ++std::string run_filters_str = "run_test"; ++std::string save_test_pattern_str = "save_pattern"; ++std::string show_progress_str = "show_progress"; ++std::string use_alt_stack_str = "use_alt_stack"; ++std::string wait_for_debugger_str = "wait_for_debugger"; ++ ++std::string help_str = "help"; ++std::string usage_str = "usage"; ++std::string version_str = "version"; + + //____________________________________________________________________________// + +@@ -108,11 +108,11 @@ namespace { + void + register_parameters( rt::parameters_store& store ) + { +- rt::option auto_start_dbg( AUTO_START_DBG, ( ++ rt::option auto_start_dbg( auto_start_dbg_str, ( + rt::description = "Automatically attaches debugger in case of system level failure (signal).", + rt::env_var = "BOOST_TEST_AUTO_START_DBG", + +- rt::help = "Option " + AUTO_START_DBG + " specifies whether Boost.Test should attempt " ++ rt::help = "Option " + auto_start_dbg_str + " specifies whether Boost.Test should attempt " + "to attach a debugger when fatal system error occurs. At the moment this feature " + "is only available on a few selected platforms: Win32 and *nix. There is a " + "default debugger configured for these platforms. You can manually configure " +@@ -120,13 +120,13 @@ register_parameters( rt::parameters_stor + "Boost.Test debug API, specifically the function boost::debug::set_debugger." + )); + +- auto_start_dbg.add_cla_id( "--", AUTO_START_DBG, "=" ); ++ auto_start_dbg.add_cla_id( "--", auto_start_dbg_str, "=" ); + auto_start_dbg.add_cla_id( "-", "d", " " ); + store.add( auto_start_dbg ); + + /////////////////////////////////////////////// + +- rt::parameter break_exec_path( BREAK_EXEC_PATH, ( ++ rt::parameter break_exec_path( break_exec_path_str, ( + rt::description = "For the exception safety testing allows to break at specific execution path.", + rt::env_var = "BOOST_TEST_BREAK_EXEC_PATH" + #ifndef BOOST_NO_CXX11_LAMBDAS +@@ -137,25 +137,25 @@ register_parameters( rt::parameters_stor + #endif + )); + +- break_exec_path.add_cla_id( "--", BREAK_EXEC_PATH, "=" ); ++ break_exec_path.add_cla_id( "--", break_exec_path_str, "=" ); + store.add( break_exec_path ); + + /////////////////////////////////////////////// + +- rt::option build_info( BUILD_INFO, ( ++ rt::option build_info( build_info_str, ( + rt::description = "Displays library build information.", + rt::env_var = "BOOST_TEST_BUILD_INFO", +- rt::help = "Option " + BUILD_INFO + " displays library build information, including: platform, " ++ rt::help = "Option " + build_info_str + " displays library build information, including: platform, " + "compiler, STL version and Boost version." + )); + +- build_info.add_cla_id( "--", BUILD_INFO, "=" ); ++ build_info.add_cla_id( "--", build_info_str, "=" ); + build_info.add_cla_id( "-", "i", " " ); + store.add( build_info ); + + /////////////////////////////////////////////// + +- rt::option catch_sys_errors( CATCH_SYS_ERRORS, ( ++ rt::option catch_sys_errors( catch_sys_errors_str, ( + rt::description = "Allows to switch between catching and ignoring system errors (signals).", + rt::env_var = "BOOST_TEST_CATCH_SYSTEM_ERRORS", + rt::default_value = +@@ -164,7 +164,7 @@ register_parameters( rt::parameters_stor + #else + true, + #endif +- rt::help = "If option " + CATCH_SYS_ERRORS + " has value no the frameworks does not attempt to catch " ++ rt::help = "If option " + catch_sys_errors_str + " has value no the frameworks does not attempt to catch " + "asynchronous system failure events (signals on *NIX platforms or structured exceptions on Windows). " + " Default value is " + #ifdef BOOST_TEST_DEFAULTS_TO_CORE_DUMP +@@ -174,13 +174,13 @@ register_parameters( rt::parameters_stor + #endif + )); + +- catch_sys_errors.add_cla_id( "--", CATCH_SYS_ERRORS, "=", true ); ++ catch_sys_errors.add_cla_id( "--", catch_sys_errors_str, "=", true ); + catch_sys_errors.add_cla_id( "-", "s", " " ); + store.add( catch_sys_errors ); + + /////////////////////////////////////////////// + +- rt::option color_output( COLOR_OUTPUT, ( ++ rt::option color_output( color_output_str, ( + rt::description = "Enables color output of the framework log and report messages.", + rt::env_var = "BOOST_TEST_COLOR_OUTPUT", + rt::help = "The framework is able to produce color output on systems which supports it. " +@@ -188,31 +188,31 @@ register_parameters( rt::parameters_stor + "does not produces color output." + )); + +- color_output.add_cla_id( "--", COLOR_OUTPUT, "=", true ); ++ color_output.add_cla_id( "--", color_output_str, "=", true ); + color_output.add_cla_id( "-", "x", " " ); + store.add( color_output ); + + /////////////////////////////////////////////// + +- rt::option detect_fp_except( DETECT_FP_EXCEPT, ( ++ rt::option detect_fp_except( detect_fp_except_str, ( + rt::description = "Enables/disables floating point exceptions traps.", + rt::env_var = "BOOST_TEST_DETECT_FP_EXCEPTIONS", +- rt::help = "Option " + DETECT_FP_EXCEPT + " enables/disables hardware traps for the floating " ++ rt::help = "Option " + detect_fp_except_str + " enables/disables hardware traps for the floating " + "point exceptions (if supported on your platfrom)." + )); + +- detect_fp_except.add_cla_id( "--", DETECT_FP_EXCEPT, "=", true ); ++ detect_fp_except.add_cla_id( "--", detect_fp_except_str, "=", true ); + store.add( detect_fp_except ); + + /////////////////////////////////////////////// + +- rt::parameter detect_mem_leaks( DETECT_MEM_LEAKS, ( ++ rt::parameter detect_mem_leaks( detect_mem_leaks_str, ( + rt::description = "Turns on/off memory leaks detection (optionally breaking on specified alloc order number).", + rt::env_var = "BOOST_TEST_DETECT_MEMORY_LEAK", + rt::default_value = 1L, + rt::optional_value = 1L, + rt::value_hint = "", +- rt::help = "Parameter " + DETECT_MEM_LEAKS + " enables/disables memory leaks detection. " ++ rt::help = "Parameter " + detect_mem_leaks_str + " enables/disables memory leaks detection. " + "This parameter has optional long integer value. The default value is 1, which " + "enables the memory leak detection. The value 0 disables memory leak detection. " + "Any value N greater than 1 is treated as leak allocation number and tells the " +@@ -220,12 +220,12 @@ register_parameters( rt::parameters_stor + "omitted the default value is assumed." + )); + +- detect_mem_leaks.add_cla_id( "--", DETECT_MEM_LEAKS, "=" ); ++ detect_mem_leaks.add_cla_id( "--", detect_mem_leaks_str, "=" ); + store.add( detect_mem_leaks ); + + /////////////////////////////////////////////// + +- rt::enum_parameter list_content( LIST_CONTENT, ( ++ rt::enum_parameter list_content( list_content_str, ( + rt::description = "Lists the content of test tree - names of all test suites and test cases.", + rt::env_var = "BOOST_TEST_LIST_CONTENT", + rt::default_value = OF_INVALID, +@@ -242,30 +242,30 @@ register_parameters( rt::parameters_stor + ( "DOT", OF_DOT ) + , + #endif +- rt::help = "Parameter " + LIST_CONTENT + " instructs the framework to list the content " ++ rt::help = "Parameter " + list_content_str + " instructs the framework to list the content " + "of the test module instead of executing the test cases. Parameter accepts " + "optional string value indicating the format of the output. Currently the " + "framework supports two formats: human readable format (HRF) and dot graph " + "format (DOT). If value is omitted HRF value is assumed." + )); +- list_content.add_cla_id( "--", LIST_CONTENT, "=" ); ++ list_content.add_cla_id( "--", list_content_str, "=" ); + store.add( list_content ); + + /////////////////////////////////////////////// + +- rt::option list_labels( LIST_LABELS, ( ++ rt::option list_labels( list_labels_str, ( + rt::description = "Lists all available labels.", + rt::env_var = "BOOST_TEST_LIST_LABELS", +- rt::help = "Option " + LIST_LABELS + " instructs the framework to list all the the labels " ++ rt::help = "Option " + list_labels_str + " instructs the framework to list all the the labels " + "defined in the test module instead of executing the test cases." + )); + +- list_labels.add_cla_id( "--", LIST_LABELS, "=" ); ++ list_labels.add_cla_id( "--", list_labels_str, "=" ); + store.add( list_labels ); + + /////////////////////////////////////////////// + +- rt::enum_parameter log_format( LOG_FORMAT, ( ++ rt::enum_parameter log_format( log_format_str, ( + rt::description = "Specifies log format.", + rt::env_var = "BOOST_TEST_LOG_FORMAT", + rt::default_value = OF_CLF, +@@ -285,7 +285,7 @@ register_parameters( rt::parameters_stor + ( "JUNIT", OF_JUNIT ) + , + #endif +- rt::help = "Parameter " + LOG_FORMAT + " allows to set the frameowrk's log format to one " ++ rt::help = "Parameter " + log_format_str + " allows to set the frameowrk's log format to one " + "of the formats supplied by the framework. The only acceptable values for this " + "parameter are the names of the output formats supplied by the framework. By " + "default the framework uses human readable format (HRF) for testing log. This " +@@ -293,13 +293,13 @@ register_parameters( rt::parameters_stor + "or JUNIT as log format, which are easier to process by testing automation tools." + )); + +- log_format.add_cla_id( "--", LOG_FORMAT, "=" ); ++ log_format.add_cla_id( "--", log_format_str, "=" ); + log_format.add_cla_id( "-", "f", " " ); + store.add( log_format ); + + /////////////////////////////////////////////// + +- rt::enum_parameter log_level( LOG_LEVEL, ( ++ rt::enum_parameter log_level( log_level_str, ( + rt::description = "Specifies log level.", + rt::env_var = "BOOST_TEST_LOG_LEVEL", + rt::default_value = log_all_errors, +@@ -333,7 +333,7 @@ register_parameters( rt::parameters_stor + ( "nothing" , log_nothing ) + , + #endif +- rt::help = "Parameter " + LOG_LEVEL + " allows to set the framework's log level. " ++ rt::help = "Parameter " + log_level_str + " allows to set the framework's log level. " + "Log level defines the verbosity of testing log produced by a testing " + "module. The verbosity ranges from a complete log, when all assertions " + "(both successful and failing) are reported, all notifications about " +@@ -341,29 +341,29 @@ register_parameters( rt::parameters_stor + "is reported to a testing log stream." + )); + +- log_level.add_cla_id( "--", LOG_LEVEL, "=" ); ++ log_level.add_cla_id( "--", log_level_str, "=" ); + log_level.add_cla_id( "-", "l", " " ); + store.add( log_level ); + + /////////////////////////////////////////////// + +- rt::parameter log_sink( LOG_SINK, ( ++ rt::parameter log_sink( log_sink_str, ( + rt::description = "Specifies log sink: stdout(default), stderr or file name.", + rt::env_var = "BOOST_TEST_LOG_SINK", + rt::value_hint = "", +- rt::help = "Parameter " + LOG_SINK + " allows to set the log sink - location " ++ rt::help = "Parameter " + log_sink_str + " allows to set the log sink - location " + "where we report the log to, thus it allows to easily redirect the " + "test logs to file or standard streams. By default testing log is " + "directed to standard output." + )); + +- log_sink.add_cla_id( "--", LOG_SINK, "=" ); ++ log_sink.add_cla_id( "--", log_sink_str, "=" ); + log_sink.add_cla_id( "-", "k", " " ); + store.add( log_sink ); + + /////////////////////////////////////////////// + +- rt::enum_parameter output_format( OUTPUT_FORMAT, ( ++ rt::enum_parameter output_format( output_format_str, ( + rt::description = "Specifies output format (both log and report).", + rt::env_var = "BOOST_TEST_OUTPUT_FORMAT", + rt::enum_values::value = +@@ -380,8 +380,8 @@ register_parameters( rt::parameters_stor + ( "XML", OF_XML ) + , + #endif +- rt::help = "Parameter " + OUTPUT_FORMAT + " combines an effect of " + REPORT_FORMAT + +- " and " + LOG_FORMAT + " parameters. This parameter has higher priority " ++ rt::help = "Parameter " + output_format_str + " combines an effect of " + report_format_str + ++ " and " + log_format_str + " parameters. This parameter has higher priority " + "than either one of them. In other words if this parameter is specified " + "it overrides the value of other two parameters. This parameter does not " + "have a default value. The only acceptable values are string names of " +@@ -389,33 +389,33 @@ register_parameters( rt::parameters_stor + "automation tools processing." + )); + +- output_format.add_cla_id( "--", OUTPUT_FORMAT, "=" ); ++ output_format.add_cla_id( "--", output_format_str, "=" ); + output_format.add_cla_id( "-", "o", " " ); + store.add( output_format ); + + /////////////////////////////////////////////// combined logger option + +- rt::parameter combined_logger( COMBINED_LOGGER, ( ++ rt::parameter combined_logger( combined_logger_str, ( + rt::description = "Specifies log level and sink for one or several log format", + rt::env_var = "BOOST_TEST_LOGGER", + rt::value_hint = "log_format:log_level:log_sink", +- rt::help = "Parameter " + COMBINED_LOGGER + " allows to specify the logger type, level and sink\n" ++ rt::help = "Parameter " + combined_logger_str + " allows to specify the logger type, level and sink\n" + "in one command." + )); + +- combined_logger.add_cla_id( "--", COMBINED_LOGGER, "=" ); ++ combined_logger.add_cla_id( "--", combined_logger_str, "=" ); + store.add( combined_logger ); + + /////////////////////////////////////////////// + +- rt::parameter random_seed( RANDOM_SEED, ( ++ rt::parameter random_seed( random_seed_str, ( + rt::description = "Allows to switch between sequential and random order of test units execution." + " Optionally allows to specify concrete seed for random number generator.", + rt::env_var = "BOOST_TEST_RANDOM", + rt::default_value = 0U, + rt::optional_value = 1U, + rt::value_hint = "", +- rt::help = "Parameter " + RANDOM_SEED + " instructs the framework to execute the " ++ rt::help = "Parameter " + random_seed_str + " instructs the framework to execute the " + "test cases in random order. This parameter accepts optional unsigned " + "integer argument. By default test cases are executed in some specific " + "order defined by order of test units in test files and dependency between " +@@ -425,12 +425,12 @@ register_parameters( rt::parameters_stor + "the run." + )); + +- random_seed.add_cla_id( "--", RANDOM_SEED, "=" ); ++ random_seed.add_cla_id( "--", random_seed_str, "=" ); + store.add( random_seed ); + + /////////////////////////////////////////////// + +- rt::enum_parameter report_format( REPORT_FORMAT, ( ++ rt::enum_parameter report_format( report_format_str, ( + rt::description = "Specifies report format.", + rt::env_var = "BOOST_TEST_REPORT_FORMAT", + rt::default_value = OF_CLF, +@@ -448,7 +448,7 @@ register_parameters( rt::parameters_stor + ( "XML", OF_XML ) + , + #endif +- rt::help = "Parameter " + REPORT_FORMAT + " allows to set the framework's report format " ++ rt::help = "Parameter " + report_format_str + " allows to set the framework's report format " + "to one of the formats supplied by the framework. The only acceptable values " + "for this parameter are the names of the output formats. By default the framework " + "uses human readable format (HRF) for results reporting. Alternatively you can " +@@ -456,13 +456,13 @@ register_parameters( rt::parameters_stor + "automation tools." + )); + +- report_format.add_cla_id( "--", REPORT_FORMAT, "=" ); ++ report_format.add_cla_id( "--", report_format_str, "=" ); + report_format.add_cla_id( "-", "m", " " ); + store.add( report_format ); + + /////////////////////////////////////////////// + +- rt::enum_parameter report_level( REPORT_LEVEL, ( ++ rt::enum_parameter report_level( report_level_str, ( + rt::description = "Specifies report level.", + rt::env_var = "BOOST_TEST_REPORT_LEVEL", + rt::default_value = CONFIRMATION_REPORT, +@@ -482,155 +482,155 @@ register_parameters( rt::parameters_stor + ( "no", NO_REPORT ) + , + #endif +- rt::help = "Parameter " + REPORT_LEVEL + " allows to set the verbosity level of the " ++ rt::help = "Parameter " + report_level_str + " allows to set the verbosity level of the " + "testing result report generated by the framework. Use value 'no' to " + "eliminate the results report completely." + )); + +- report_level.add_cla_id( "--", REPORT_LEVEL, "=" ); ++ report_level.add_cla_id( "--", report_level_str, "=" ); + report_level.add_cla_id( "-", "r", " " ); + store.add( report_level ); + + /////////////////////////////////////////////// + +- rt::parameter report_mem_leaks( REPORT_MEM_LEAKS, ( ++ rt::parameter report_mem_leaks( report_mem_leaks_str, ( + rt::description = "File where to report memory leaks to.", + rt::env_var = "BOOST_TEST_REPORT_MEMORY_LEAKS_TO", + rt::default_value = std::string(), + rt::value_hint = "", +- rt::help = "Parameter " + REPORT_MEM_LEAKS + " allows to specify a file where to report " ++ rt::help = "Parameter " + report_mem_leaks_str + " allows to specify a file where to report " + "memory leaks to. The parameter does not have default value. If it is not specified, " + "memory leaks (if any) are reported to the standard error stream." + )); + +- report_mem_leaks.add_cla_id( "--", REPORT_MEM_LEAKS, "=" ); ++ report_mem_leaks.add_cla_id( "--", report_mem_leaks_str, "=" ); + store.add( report_mem_leaks ); + + /////////////////////////////////////////////// + +- rt::parameter report_sink( REPORT_SINK, ( ++ rt::parameter report_sink( report_sink_str, ( + rt::description = "Specifies report sink: stderr(default), stdout or file name.", + rt::env_var = "BOOST_TEST_REPORT_SINK", + rt::value_hint = "", +- rt::help = "Parameter " + REPORT_SINK + " allows to set the result report sink - " ++ rt::help = "Parameter " + report_sink_str + " allows to set the result report sink - " + "the location where the framework writes the result report to, thus it " + "allows to easily redirect the result report to a file or a standard " + "stream. By default the testing result report is directed to the " + "standard error stream." + )); + +- report_sink.add_cla_id( "--", REPORT_SINK, "=" ); ++ report_sink.add_cla_id( "--", report_sink_str, "=" ); + report_sink.add_cla_id( "-", "e", " " ); + store.add( report_sink ); + + /////////////////////////////////////////////// + +- rt::option result_code( RESULT_CODE, ( ++ rt::option result_code( result_code_str, ( + rt::description = "Disables test modules's result code generation.", + rt::env_var = "BOOST_TEST_RESULT_CODE", + rt::default_value = true, +- rt::help = "The 'no' argument value for the parameter " + RESULT_CODE + " instructs the " ++ rt::help = "The 'no' argument value for the parameter " + result_code_str + " instructs the " + "framework to always return zero result code. This can be used for test programs " + "executed within IDE. By default this parameter has value 'yes'." + )); + +- result_code.add_cla_id( "--", RESULT_CODE, "=", true ); ++ result_code.add_cla_id( "--", result_code_str, "=", true ); + result_code.add_cla_id( "-", "c", " " ); + store.add( result_code ); + + /////////////////////////////////////////////// + +- rt::parameter tests_to_run( RUN_FILTERS, ( ++ rt::parameter tests_to_run( run_filters_str, ( + rt::description = "Filters, which test units to include or exclude from test module execution.", + rt::env_var = "BOOST_TEST_RUN_FILTERS", + rt::value_hint = "", +- rt::help = "Parameter " + RUN_FILTERS + " allows to filter which test units to execute during " ++ rt::help = "Parameter " + run_filters_str + " allows to filter which test units to execute during " + "testing. The framework supports both 'selection filters', which allow to select " + "which test units to enable from the set of available test units, and 'disabler " + "filters', which allow to disable some test units. The __UTF__ also supports " + "enabling/disabling test units at compile time. These settings identify the default " +- "set of test units to run. Parameter " + RUN_FILTERS + " is used to change this default. " ++ "set of test units to run. Parameter " + run_filters_str + " is used to change this default. " + "This parameter is repeatable, so you can specify more than one filter if necessary." + )); + +- tests_to_run.add_cla_id( "--", RUN_FILTERS, "=" ); ++ tests_to_run.add_cla_id( "--", run_filters_str, "=" ); + tests_to_run.add_cla_id( "-", "t", " " ); + store.add( tests_to_run ); + + /////////////////////////////////////////////// + +- rt::option save_test_pattern( SAVE_TEST_PATTERN, ( ++ rt::option save_test_pattern( save_test_pattern_str, ( + rt::description = "Allows to switch between saving or matching test pattern file.", + rt::env_var = "BOOST_TEST_SAVE_PATTERN", +- rt::help = "Parameter " + SAVE_TEST_PATTERN + " facilitates switching mode of operation for " ++ rt::help = "Parameter " + save_test_pattern_str + " facilitates switching mode of operation for " + "testing output streams.\n\nThis parameter serves no particular purpose within the " + "framework itself. It can be used by test modules relying on output_test_stream to " + "implement testing logic. Default mode is 'match' (false)." + )); + +- save_test_pattern.add_cla_id( "--", SAVE_TEST_PATTERN, "=" ); ++ save_test_pattern.add_cla_id( "--", save_test_pattern_str, "=" ); + store.add( save_test_pattern ); + + /////////////////////////////////////////////// + +- rt::option show_progress( SHOW_PROGRESS, ( ++ rt::option show_progress( show_progress_str, ( + rt::description = "Turns on progress display.", + rt::env_var = "BOOST_TEST_SHOW_PROGRESS", +- rt::help = "Parameter " + SHOW_PROGRESS + " instructs the framework to display test progress " ++ rt::help = "Parameter " + show_progress_str + " instructs the framework to display test progress " + "information. By default the test progress is not shown." + )); + +- show_progress.add_cla_id( "--", SHOW_PROGRESS, "=" ); ++ show_progress.add_cla_id( "--", show_progress_str, "=" ); + show_progress.add_cla_id( "-", "p", " " ); + store.add( show_progress ); + + /////////////////////////////////////////////// + +- rt::option use_alt_stack( USE_ALT_STACK, ( ++ rt::option use_alt_stack( use_alt_stack_str, ( + rt::description = "Turns on/off usage of an alternative stack for signal handling.", + rt::env_var = "BOOST_TEST_USE_ALT_STACK", + rt::default_value = true, +- rt::help = "Parameter " + USE_ALT_STACK + " instructs the framework to use alternative " ++ rt::help = "Parameter " + use_alt_stack_str + " instructs the framework to use alternative " + "stack for signals processing, on platforms where they are supported. The feature " + "is enabled by default, but can be disabled using this parameter." + )); + +- use_alt_stack.add_cla_id( "--", USE_ALT_STACK, "=", true ); ++ use_alt_stack.add_cla_id( "--", use_alt_stack_str, "=", true ); + store.add( use_alt_stack ); + + /////////////////////////////////////////////// + +- rt::option wait_for_debugger( WAIT_FOR_DEBUGGER, ( ++ rt::option wait_for_debugger( wait_for_debugger_str, ( + rt::description = "Forces test module to wait for button to be pressed before starting test run.", + rt::env_var = "BOOST_TEST_WAIT_FOR_DEBUGGER", +- rt::help = "Parameter " + WAIT_FOR_DEBUGGER + " instructs the framework to pause before starting " ++ rt::help = "Parameter " + wait_for_debugger_str + " instructs the framework to pause before starting " + "test units execution, so that you can attach a debugger to running test module. By " + "default this parameters turned off." + )); + +- wait_for_debugger.add_cla_id( "--", WAIT_FOR_DEBUGGER, "=" ); ++ wait_for_debugger.add_cla_id( "--", wait_for_debugger_str, "=" ); + wait_for_debugger.add_cla_id( "-", "w", " " ); + store.add( wait_for_debugger ); + + /////////////////////////////////////////////// + +- rt::parameter help( HELP, ( ++ rt::parameter help( help_str, ( + rt::description = "Help for framework parameters.", + rt::optional_value = std::string(), + rt::value_hint = "", +- rt::help = "Parameter " + HELP + " displays help on the framework's parameters. " ++ rt::help = "Parameter " + help_str + " displays help on the framework's parameters. " + "The parameter accepts an optional argument value. If present, an argument value is " + "interpreted as a parameter name (name guessing works as well, so for example " + "--help=rand displays help on the parameter random). If the parameter name is unknown " + "or ambiguous error is reported. If argument value is absent, a summary of all " + "framework's parameter is displayed." + )); +- help.add_cla_id( "--", HELP, "=" ); ++ help.add_cla_id( "--", help_str, "=" ); + store.add( help ); + + /////////////////////////////////////////////// + +- rt::option usage( USAGE, ( ++ rt::option usage( usage_str, ( + rt::description = "Short message explaining usage of Boost.Test parameters." + )); + usage.add_cla_id( "-", "?", " " ); +@@ -638,10 +638,10 @@ register_parameters( rt::parameters_stor + + /////////////////////////////////////////////// + +- rt::option version( VERSION, ( ++ rt::option version( version_str, ( + rt::description = "Prints Boost.Test version and exits." + )); +- version.add_cla_id( "--", VERSION, " " ); ++ version.add_cla_id( "--", version_str, " " ); + store.add( version ); + } + +@@ -676,24 +676,24 @@ init( int& argc, char** argv ) + rt::finalize_arguments( s_parameters_store, s_arguments_store ); + + // Report help if requested +- if( runtime_config::get( VERSION ) ) { ++ if( runtime_config::get( version_str ) ) { + parser->version( std::cerr ); + BOOST_TEST_I_THROW( framework::nothing_to_test( boost::exit_success ) ); + } +- else if( runtime_config::get( USAGE ) ) { ++ else if( runtime_config::get( usage_str ) ) { + parser->usage( std::cerr ); + BOOST_TEST_I_THROW( framework::nothing_to_test( boost::exit_success ) ); + } +- else if( s_arguments_store.has( HELP ) ) { +- parser->help( std::cerr, s_parameters_store, runtime_config::get( HELP ) ); ++ else if( s_arguments_store.has( help_str ) ) { ++ parser->help( std::cerr, s_parameters_store, runtime_config::get( help_str ) ); + BOOST_TEST_I_THROW( framework::nothing_to_test( boost::exit_success ) ); + } + + // A bit of business logic: output_format takes precedence over log/report formats +- if( s_arguments_store.has( OUTPUT_FORMAT ) ) { +- unit_test::output_format of = s_arguments_store.get( OUTPUT_FORMAT ); +- s_arguments_store.set( REPORT_FORMAT, of ); +- s_arguments_store.set( LOG_FORMAT, of ); ++ if( s_arguments_store.has( output_format_str ) ) { ++ unit_test::output_format of = s_arguments_store.get( output_format_str ); ++ s_arguments_store.set( report_format_str, of ); ++ s_arguments_store.set( log_format_str, of ); + } + + } +@@ -747,7 +747,7 @@ argument_store() + bool + save_pattern() + { +- return runtime_config::get( SAVE_TEST_PATTERN ); ++ return runtime_config::get( save_test_pattern_str ); + } + + //____________________________________________________________________________// From 6269552c7843162ef8fcde8c275f1e138488ca0b122c5fc3724822fdea4b23f7 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Wed, 18 Jan 2017 14:40:04 +0000 Subject: [PATCH 5/7] Accepting request 451173 from home:adamm:branches:devel:libraries:c_c++ - recombine headers from various devel subpackages under the libboost_headers-devel package. Not all usage of headers that have compiled parts pull in their associated compiled symbols. - general cleanup of the spec file from old, commented stuffs OBS-URL: https://build.opensuse.org/request/show/451173 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=186 --- boost.changes | 4 + boost.spec | 450 +-------------------------------------------- test_lowcase.patch | 404 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 412 insertions(+), 446 deletions(-) diff --git a/boost.changes b/boost.changes index 7afa627..dec3cba 100644 --- a/boost.changes +++ b/boost.changes @@ -4,6 +4,10 @@ Tue Jan 17 12:00:48 UTC 2017 - adam.majer@suse.de - test_lowcase.patch: downcase Boost::Test usage of uppercase variables. VERSION was clashing with GNU Autotools define resulting in compilation errors of various packages. +- recombine headers from various devel subpackages under the + libboost_headers-devel package. Not all usage of headers that + have compiled parts pull in their associated compiled symbols. +- general cleanup of the spec file from old, commented stuffs ------------------------------------------------------------------- Sun Jan 15 18:57:34 UTC 2017 - adam.majer@suse.de diff --git a/boost.spec b/boost.spec index 6171226..216c94c 100644 --- a/boost.spec +++ b/boost.spec @@ -722,7 +722,6 @@ bindings. 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) @@ -1009,15 +1008,6 @@ find . -type f -exec chmod u+w {} + # 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" -#%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" @@ -1110,12 +1100,6 @@ EOF 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 ; @@ -1166,11 +1150,6 @@ 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 -%endif - %if %{with python3} ./b2 -d+2 -q --user-config=./user-config-py3.jam \ --build-type=minimal --build-dir=./python3-build \ @@ -1249,30 +1228,6 @@ objdump -Ctj .text -Ctj .text %{buildroot}%{_libdir}/libboost_exception.so | \ 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 -# mv doc/man/man3/path.3 doc/man/man3/boost::property_tree::path.3 -# mv doc/man/man3/string.3 doc/man/man3/boost::container::string.3 -# -# for sec in 3 7 9; do -# install -d %%buildroot/%%{_mandir}/man${sec} -# done -# pushd doc/man -# rm -f *.manifest -# tar -cf - .| tar -C %%{buildroot}/%%{_mandir} -xvf - -# popd - #install doc files mkdir -p %{buildroot}%{my_docdir} install -m 0644 %{SOURCE102} %{buildroot}%{my_docdir} @@ -1284,7 +1239,6 @@ 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 #symlink dupes %fdupes %{buildroot} @@ -1462,10 +1416,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1474,11 +1424,9 @@ rm -r %{buildroot}%{_includedir}/boost/context %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.%{version} @@ -1486,9 +1434,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1497,11 +1442,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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 @@ -1512,12 +1452,9 @@ rm -r %{buildroot}%{_includedir}/boost/context %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.%{version} @@ -1525,9 +1462,7 @@ rm -r %{buildroot}%{_includedir}/boost/context %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} @@ -1537,10 +1472,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1549,11 +1480,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1562,9 +1488,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1574,11 +1497,7 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1592,20 +1511,11 @@ rm -r %{buildroot}%{_includedir}/boost/context %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} @@ -1615,10 +1525,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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) @@ -1627,11 +1533,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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) @@ -1682,11 +1583,7 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1695,10 +1592,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %files -n libboost_program_options%{lib_appendix}-devel %defattr(-, root, root, -) %{_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_python-py2_7-%{lib_appendix} %defattr(-, root, root, -) @@ -1708,10 +1601,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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} @@ -1722,7 +1611,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %defattr(-, root, root, -) %{_libdir}/libboost_python3.so %{_libdir}/libboost_python-py3.so -#%{_libdir}/libboost_python3-mt.so %endif # with python3 @@ -1734,11 +1622,7 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1747,11 +1631,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1760,9 +1639,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1771,10 +1647,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1783,10 +1655,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1795,12 +1663,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1809,10 +1671,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1821,10 +1679,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1833,10 +1687,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1845,10 +1695,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %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, -) @@ -1857,299 +1703,11 @@ rm -r %{buildroot}%{_includedir}/boost/context %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/* +%{_includedir}/boost/* %files -n %{package_name}-devel %defattr(-, root, root, -) diff --git a/test_lowcase.patch b/test_lowcase.patch index 35e6b0b..0036d1f 100644 --- a/test_lowcase.patch +++ b/test_lowcase.patch @@ -1,4 +1,5 @@ Author: Adam Majer +PR: https://github.com/boostorg/test/pull/108 Summary: Change capital variable names to lowercase Capitals clash by convention with #define, and in this case @@ -652,3 +653,406 @@ Index: boost_1_63_0/boost/test/impl/unit_test_parameters.ipp } //____________________________________________________________________________// +Index: boost_1_63_0/boost/test/impl/framework.ipp +=================================================================== +--- boost_1_63_0.orig/boost/test/impl/framework.ipp ++++ boost_1_63_0/boost/test/impl/framework.ipp +@@ -396,7 +396,7 @@ parse_filters( test_unit_id master_tu_id + // 10. collect tu to enable and disable based on filters + bool had_selector_filter = false; + +- std::vector const& filters = runtime_config::get >( runtime_config::RUN_FILTERS ); ++ std::vector const& filters = runtime_config::get >( runtime_config::run_filters_str ); + + BOOST_TEST_FOREACH( const_string, filter, filters ) { + BOOST_TEST_SETUP_ASSERT( !filter.is_empty(), "Invalid filter specification" ); +@@ -552,7 +552,7 @@ public: + test_unit_id_list tu_to_disable; + + // 10. If there are any filters supplied, figure out lists of test units to enable/disable +- bool had_selector_filter = !runtime_config::get >( runtime_config::RUN_FILTERS ).empty() && ++ bool had_selector_filter = !runtime_config::get >( runtime_config::run_filters_str ).empty() && + parse_filters( master_tu_id, tu_to_enable, tu_to_disable ); + + // 20. Set the stage: either use default run status or disable all test units +@@ -657,7 +657,7 @@ public: + if( tu.p_type == TUT_SUITE ) { + test_suite const& ts = static_cast( tu ); + +- if( runtime_config::get( runtime_config::RANDOM_SEED ) == 0 ) { ++ if( runtime_config::get( runtime_config::random_seed_str ) == 0 ) { + typedef std::pair value_type; + + BOOST_TEST_FOREACH( value_type, chld, ts.m_ranked_children ) { +@@ -845,26 +845,26 @@ setup_loggers() + BOOST_TEST_I_TRY { + + #ifdef BOOST_TEST_SUPPORT_TOKEN_ITERATOR +- bool has_combined_logger = runtime_config::has( runtime_config::COMBINED_LOGGER ) +- && !runtime_config::get< std::vector >( runtime_config::COMBINED_LOGGER ).empty(); ++ bool has_combined_logger = runtime_config::has( runtime_config::combined_logger_str ) ++ && !runtime_config::get< std::vector >( runtime_config::combined_logger_str ).empty(); + #else + bool has_combined_logger = false; + #endif + + if( !has_combined_logger ) { +- unit_test_log.set_threshold_level( runtime_config::get( runtime_config::LOG_LEVEL ) ); +- const output_format format = runtime_config::get( runtime_config::LOG_FORMAT ); ++ unit_test_log.set_threshold_level( runtime_config::get( runtime_config::log_level_str ) ); ++ const output_format format = runtime_config::get( runtime_config::log_format_str ); + unit_test_log.set_format( format ); + + runtime_config::stream_holder& stream_logger = s_frk_state().m_log_sinks[format]; +- if( runtime_config::has( runtime_config::LOG_SINK ) ) +- stream_logger.setup( runtime_config::get( runtime_config::LOG_SINK ) ); ++ if( runtime_config::has( runtime_config::log_sink_str ) ) ++ stream_logger.setup( runtime_config::get( runtime_config::log_sink_str ) ); + unit_test_log.set_stream( stream_logger.ref() ); + } + else + { + +- const std::vector& v_output_format = runtime_config::get< std::vector >( runtime_config::COMBINED_LOGGER ) ; ++ const std::vector& v_output_format = runtime_config::get< std::vector >( runtime_config::combined_logger_str ) ; + + static const std::pair all_log_levels[] = { + std::make_pair( "all" , log_successful_tests ), +@@ -1033,26 +1033,26 @@ init( init_unit_test_func init_func, int + impl::setup_loggers(); + + // 30. Set the desired report level, format and sink +- results_reporter::set_level( runtime_config::get( runtime_config::REPORT_LEVEL ) ); +- results_reporter::set_format( runtime_config::get( runtime_config::REPORT_FORMAT ) ); ++ results_reporter::set_level( runtime_config::get( runtime_config::report_level_str ) ); ++ results_reporter::set_format( runtime_config::get( runtime_config::report_format_str ) ); + +- if( runtime_config::has( runtime_config::REPORT_SINK ) ) +- s_frk_state().m_report_sink.setup( runtime_config::get( runtime_config::REPORT_SINK ) ); ++ if( runtime_config::has( runtime_config::report_sink_str ) ) ++ s_frk_state().m_report_sink.setup( runtime_config::get( runtime_config::report_sink_str ) ); + results_reporter::set_stream( s_frk_state().m_report_sink.ref() ); + + // 40. Register default test observers + register_observer( results_collector ); + register_observer( unit_test_log ); + +- if( runtime_config::get( runtime_config::SHOW_PROGRESS ) ) { ++ if( runtime_config::get( runtime_config::show_progress_str ) ) { + progress_monitor.set_stream( std::cout ); // defaults to stdout + register_observer( progress_monitor ); + } + + // 50. Set up memory leak detection +- unsigned long detect_mem_leak = runtime_config::get( runtime_config::DETECT_MEM_LEAKS ); ++ unsigned long detect_mem_leak = runtime_config::get( runtime_config::detect_mem_leaks_str ); + if( detect_mem_leak > 0 ) { +- debug::detect_memory_leaks( true, runtime_config::get( runtime_config::REPORT_MEM_LEAKS ) ); ++ debug::detect_memory_leaks( true, runtime_config::get( runtime_config::report_mem_leaks_str ) ); + debug::break_memory_alloc( (long)detect_mem_leak ); + } + +@@ -1408,7 +1408,7 @@ run( test_unit_id id, bool continue_test + test_case_counter tcc; + traverse_test_tree( id, tcc ); + +- BOOST_TEST_SETUP_ASSERT( tcc.p_count != 0 , runtime_config::get >( runtime_config::RUN_FILTERS ).empty() ++ BOOST_TEST_SETUP_ASSERT( tcc.p_count != 0 , runtime_config::get >( runtime_config::run_filters_str ).empty() + ? BOOST_TEST_L( "test tree is empty" ) + : BOOST_TEST_L( "no test cases matching filter or all test cases were disabled" ) ); + +@@ -1428,7 +1428,7 @@ run( test_unit_id id, bool continue_test + } + } + +- unsigned seed = runtime_config::get( runtime_config::RANDOM_SEED ); ++ unsigned seed = runtime_config::get( runtime_config::random_seed_str ); + switch( seed ) { + case 0: + break; +Index: boost_1_63_0/boost/test/impl/compiler_log_formatter.ipp +=================================================================== +--- boost_1_63_0.orig/boost/test/impl/compiler_log_formatter.ipp ++++ boost_1_63_0/boost/test/impl/compiler_log_formatter.ipp +@@ -62,7 +62,7 @@ test_phase_identifier() + void + compiler_log_formatter::log_start( std::ostream& output, counter_t test_cases_amount ) + { +- m_color_output = runtime_config::get( runtime_config::COLOR_OUTPUT ); ++ m_color_output = runtime_config::get( runtime_config::color_output_str ); + + if( test_cases_amount > 0 ) + output << "Running " << test_cases_amount << " test " +Index: boost_1_63_0/boost/test/impl/plain_report_formatter.ipp +=================================================================== +--- boost_1_63_0.orig/boost/test/impl/plain_report_formatter.ipp ++++ boost_1_63_0/boost/test/impl/plain_report_formatter.ipp +@@ -83,7 +83,7 @@ void + plain_report_formatter::results_report_start( std::ostream& ostr ) + { + m_indent = 0; +- m_color_output = runtime_config::get( runtime_config::COLOR_OUTPUT ); ++ m_color_output = runtime_config::get( runtime_config::color_output_str ); + ostr << '\n'; + } + +Index: boost_1_63_0/boost/test/impl/progress_monitor.ipp +=================================================================== +--- boost_1_63_0.orig/boost/test/impl/progress_monitor.ipp ++++ boost_1_63_0/boost/test/impl/progress_monitor.ipp +@@ -124,7 +124,7 @@ progress_monitor_impl& s_pm_impl() { sta + void + progress_monitor_t::test_start( counter_t test_cases_amount ) + { +- s_pm_impl().m_color_output = runtime_config::get( runtime_config::COLOR_OUTPUT ); ++ s_pm_impl().m_color_output = runtime_config::get( runtime_config::color_output_str ); + + PM_SCOPED_COLOR(); + +Index: boost_1_63_0/boost/test/impl/unit_test_log.ipp +=================================================================== +--- boost_1_63_0.orig/boost/test/impl/unit_test_log.ipp ++++ boost_1_63_0/boost/test/impl/unit_test_log.ipp +@@ -168,7 +168,7 @@ unit_test_log_t::test_start( counter_t t + + current_logger_data.m_log_formatter->log_start( current_logger_data.stream(), test_cases_amount ); + +- if( runtime_config::get( runtime_config::BUILD_INFO ) ) ++ if( runtime_config::get( runtime_config::build_info_str ) ) + current_logger_data.m_log_formatter->log_build_info( current_logger_data.stream() ); + + current_logger_data.m_entry_in_progress = false; +Index: boost_1_63_0/boost/test/impl/unit_test_main.ipp +=================================================================== +--- boost_1_63_0.orig/boost/test/impl/unit_test_main.ipp ++++ boost_1_63_0/boost/test/impl/unit_test_main.ipp +@@ -188,7 +188,7 @@ unit_test_main( init_unit_test_func init + BOOST_TEST_I_TRY { + framework::init( init_func, argc, argv ); + +- if( runtime_config::get( runtime_config::WAIT_FOR_DEBUGGER ) ) { ++ if( runtime_config::get( runtime_config::wait_for_debugger_str ) ) { + results_reporter::get_stream() << "Press any key to continue..." << std::endl; + + // getchar is defined as a macro in uClibc. Use parenthesis to fix +@@ -199,7 +199,7 @@ unit_test_main( init_unit_test_func init + + framework::finalize_setup_phase(); + +- output_format list_cont = runtime_config::get( runtime_config::LIST_CONTENT ); ++ output_format list_cont = runtime_config::get( runtime_config::list_content_str ); + if( list_cont != unit_test::OF_INVALID ) { + if( list_cont == unit_test::OF_DOT ) { + ut_detail::dot_content_reporter reporter( results_reporter::get_stream() ); +@@ -215,7 +215,7 @@ unit_test_main( init_unit_test_func init + return boost::exit_success; + } + +- if( runtime_config::get( runtime_config::LIST_LABELS ) ) { ++ if( runtime_config::get( runtime_config::list_labels_str ) ) { + ut_detail::labels_collector collector; + + traverse_test_tree( framework::master_test_suite().p_id, collector, true ); +@@ -232,7 +232,7 @@ unit_test_main( init_unit_test_func init + + results_reporter::make_report(); + +- result_code = !runtime_config::get( runtime_config::RESULT_CODE ) ++ result_code = !runtime_config::get( runtime_config::result_code_str ) + ? boost::exit_success + : results_collector.results( framework::master_test_suite().p_id ).result_code(); + } +Index: boost_1_63_0/boost/test/impl/unit_test_monitor.ipp +=================================================================== +--- boost_1_63_0.orig/boost/test/impl/unit_test_monitor.ipp ++++ boost_1_63_0/boost/test/impl/unit_test_monitor.ipp +@@ -37,11 +37,11 @@ unit_test_monitor_t::error_level + unit_test_monitor_t::execute_and_translate( boost::function const& func, unsigned timeout ) + { + BOOST_TEST_I_TRY { +- p_catch_system_errors.value = runtime_config::get( runtime_config::CATCH_SYS_ERRORS ); ++ p_catch_system_errors.value = runtime_config::get( runtime_config::catch_sys_errors_str ); + p_timeout.value = timeout; +- p_auto_start_dbg.value = runtime_config::get( runtime_config::AUTO_START_DBG ); +- p_use_alt_stack.value = runtime_config::get( runtime_config::USE_ALT_STACK ); +- p_detect_fp_exceptions.value = runtime_config::get( runtime_config::DETECT_FP_EXCEPT ); ++ p_auto_start_dbg.value = runtime_config::get( runtime_config::auto_start_dbg_str ); ++ p_use_alt_stack.value = runtime_config::get( runtime_config::use_alt_stack_str ); ++ p_detect_fp_exceptions.value = runtime_config::get( runtime_config::detect_fp_except_str ); + + vexecute( func ); + } +Index: boost_1_63_0/libs/test/test/execution_monitor-ts/errors-handling-test.cpp +=================================================================== +--- boost_1_63_0.orig/libs/test/test/execution_monitor-ts/errors-handling-test.cpp ++++ boost_1_63_0/libs/test/test/execution_monitor-ts/errors-handling-test.cpp +@@ -185,9 +185,9 @@ BOOST_AUTO_TEST_CASE( test_errors_handli + framework::run( test ); + + unit_test_log.set_stream( std::cout ); +- unit_test_log.set_format( runtime_config::get( runtime_config::LOG_FORMAT ) ); ++ unit_test_log.set_format( runtime_config::get( runtime_config::log_format_str ) ); + +- log_level ll = runtime_config::get( runtime_config::LOG_LEVEL ); ++ log_level ll = runtime_config::get( runtime_config::log_level_str ); + unit_test_log.set_threshold_level( ll != invalid_log_level? ll : log_all_errors ); + + BOOST_CHECK( test_output.match_pattern() ); +Index: boost_1_63_0/libs/test/test/framework-ts/log-formatter-test.cpp +=================================================================== +--- boost_1_63_0.orig/libs/test/test/framework-ts/log-formatter-test.cpp ++++ boost_1_63_0/libs/test/test/framework-ts/log-formatter-test.cpp +@@ -117,7 +117,7 @@ void check( output_test_stream& output, + struct guard { + ~guard() + { +- boost::unit_test::unit_test_log.set_format( runtime_config::get( runtime_config::LOG_FORMAT ) ); ++ boost::unit_test::unit_test_log.set_format( runtime_config::get( runtime_config::log_format_str ) ); + boost::unit_test::unit_test_log.set_stream( std::cout ); + } + }; +Index: boost_1_63_0/libs/test/test/framework-ts/result-report-test.cpp +=================================================================== +--- boost_1_63_0.orig/libs/test/test/framework-ts/result-report-test.cpp ++++ boost_1_63_0/libs/test/test/framework-ts/result-report-test.cpp +@@ -101,7 +101,7 @@ struct guard { + { + results_reporter::set_stream( std::cerr ); + results_reporter::set_format( runtime_config::get( +- runtime_config::REPORT_FORMAT ) ); ++ runtime_config::report_format_str ) ); + } + }; + +Index: boost_1_63_0/libs/test/test/test-organization-ts/test_unit-order-shuffled-test.cpp +=================================================================== +--- boost_1_63_0.orig/libs/test/test/test-organization-ts/test_unit-order-shuffled-test.cpp ++++ boost_1_63_0/libs/test/test/test-organization-ts/test_unit-order-shuffled-test.cpp +@@ -109,7 +109,7 @@ struct test_tree { + BOOST_FIXTURE_TEST_CASE( test_no_seed, test_tree ) + { + // no seed set +- ut::runtime_config::s_arguments_store.set(ut::runtime_config::RANDOM_SEED, 0); ++ ut::runtime_config::s_arguments_store.set(ut::runtime_config::random_seed_str, 0); + + tu_order_collector res1 = run_tree( master ); + tu_order_collector res2 = run_tree( master ); +@@ -120,7 +120,7 @@ BOOST_FIXTURE_TEST_CASE( test_no_seed, t + BOOST_FIXTURE_TEST_CASE( test_seed_to_time, test_tree ) + { + // seed = 1 means current time is used. +- ut::runtime_config::s_arguments_store.set(ut::runtime_config::RANDOM_SEED, 1); ++ ut::runtime_config::s_arguments_store.set(ut::runtime_config::random_seed_str, 1); + + tu_order_collector res1 = run_tree( master ); + tu_order_collector res2 = run_tree( master ); +@@ -132,16 +132,16 @@ BOOST_FIXTURE_TEST_CASE( test_seed_ident + { + // seed = 1 means current time is used. + unsigned int seed = static_cast( std::time( 0 ) ); +- ut::runtime_config::s_arguments_store.set(ut::runtime_config::RANDOM_SEED, seed); ++ ut::runtime_config::s_arguments_store.set(ut::runtime_config::random_seed_str, seed); + tu_order_collector res1 = run_tree( master ); + +- ut::runtime_config::s_arguments_store.set(ut::runtime_config::RANDOM_SEED, seed); ++ ut::runtime_config::s_arguments_store.set(ut::runtime_config::random_seed_str, seed); + tu_order_collector res2 = run_tree( master ); + + BOOST_TEST( res1.m_order == res2.m_order, tt::per_element() ); + + // using time seed now +- ut::runtime_config::s_arguments_store.set(ut::runtime_config::RANDOM_SEED, 1); ++ ut::runtime_config::s_arguments_store.set(ut::runtime_config::random_seed_str, 1); + tu_order_collector res3 = run_tree( master ); + BOOST_TEST( res1.m_order != res3.m_order ); // some elements might be the same, but not the full sequences + +Index: boost_1_63_0/libs/test/test/writing-test-ts/test_tools-test.cpp +=================================================================== +--- boost_1_63_0.orig/libs/test/test/writing-test-ts/test_tools-test.cpp ++++ boost_1_63_0/libs/test/test/writing-test-ts/test_tools-test.cpp +@@ -129,9 +129,9 @@ BOOST_AUTO_TEST_CASE( name ) + ut::framework::run( impl ); \ + \ + ut::log_level ll = ut::runtime_config::get( \ +- ut::runtime_config::LOG_LEVEL ); \ ++ ut::runtime_config::log_level_str ); \ + ut::output_format lf = ut::runtime_config::get( \ +- ut::runtime_config::LOG_FORMAT ); \ ++ ut::runtime_config::log_format_str ); \ + \ + ut::unit_test_log.set_threshold_level( \ + ll != ut::invalid_log_level ? ll : ut::log_all_errors ); \ +Index: boost_1_63_0/libs/test/doc/examples/example51.run.cpp +=================================================================== +--- boost_1_63_0.orig/libs/test/doc/examples/example51.run.cpp ++++ boost_1_63_0/libs/test/doc/examples/example51.run.cpp +@@ -13,7 +13,7 @@ using namespace boost::unit_test; + + BOOST_AUTO_TEST_CASE( test_case0 ) + { +- if( runtime_config::get( runtime_config::LOG_LEVEL ) < log_warnings ) ++ if( runtime_config::get( runtime_config::log_level_str ) < log_warnings ) + unit_test_log.set_threshold_level( log_warnings ); + + BOOST_WARN( sizeof(int) > 4 ); +Index: boost_1_63_0/boost/test/unit_test_parameters.hpp +=================================================================== +--- boost_1_63_0.orig/boost/test/unit_test_parameters.hpp ++++ boost_1_63_0/boost/test/unit_test_parameters.hpp +@@ -36,31 +36,31 @@ namespace runtime_config { + // ************************************************************************** // + + // UTF parameters +-BOOST_TEST_DECL extern std::string AUTO_START_DBG; +-BOOST_TEST_DECL extern std::string BREAK_EXEC_PATH; +-BOOST_TEST_DECL extern std::string BUILD_INFO; +-BOOST_TEST_DECL extern std::string CATCH_SYS_ERRORS; +-BOOST_TEST_DECL extern std::string COLOR_OUTPUT; +-BOOST_TEST_DECL extern std::string DETECT_FP_EXCEPT; +-BOOST_TEST_DECL extern std::string DETECT_MEM_LEAKS; +-BOOST_TEST_DECL extern std::string LIST_CONTENT; +-BOOST_TEST_DECL extern std::string LIST_LABELS; +-BOOST_TEST_DECL extern std::string COMBINED_LOGGER; +-BOOST_TEST_DECL extern std::string LOG_FORMAT; +-BOOST_TEST_DECL extern std::string LOG_LEVEL; +-BOOST_TEST_DECL extern std::string LOG_SINK; +-BOOST_TEST_DECL extern std::string OUTPUT_FORMAT; +-BOOST_TEST_DECL extern std::string RANDOM_SEED; +-BOOST_TEST_DECL extern std::string REPORT_FORMAT; +-BOOST_TEST_DECL extern std::string REPORT_LEVEL; +-BOOST_TEST_DECL extern std::string REPORT_MEM_LEAKS; +-BOOST_TEST_DECL extern std::string REPORT_SINK; +-BOOST_TEST_DECL extern std::string RESULT_CODE; +-BOOST_TEST_DECL extern std::string RUN_FILTERS; +-BOOST_TEST_DECL extern std::string SAVE_TEST_PATTERN; +-BOOST_TEST_DECL extern std::string SHOW_PROGRESS; +-BOOST_TEST_DECL extern std::string USE_ALT_STACK; +-BOOST_TEST_DECL extern std::string WAIT_FOR_DEBUGGER; ++BOOST_TEST_DECL extern std::string auto_start_dbg_str; ++BOOST_TEST_DECL extern std::string break_exec_path_str; ++BOOST_TEST_DECL extern std::string build_info_str; ++BOOST_TEST_DECL extern std::string catch_sys_errors_str; ++BOOST_TEST_DECL extern std::string color_output_str; ++BOOST_TEST_DECL extern std::string detect_fp_except_str; ++BOOST_TEST_DECL extern std::string detect_mem_leaks_str; ++BOOST_TEST_DECL extern std::string list_content_str; ++BOOST_TEST_DECL extern std::string list_labels_str; ++BOOST_TEST_DECL extern std::string combined_logger_str; ++BOOST_TEST_DECL extern std::string log_format_str; ++BOOST_TEST_DECL extern std::string log_level_str; ++BOOST_TEST_DECL extern std::string log_sink_str; ++BOOST_TEST_DECL extern std::string output_format_str; ++BOOST_TEST_DECL extern std::string random_seed_str; ++BOOST_TEST_DECL extern std::string report_format_str; ++BOOST_TEST_DECL extern std::string report_level_str; ++BOOST_TEST_DECL extern std::string report_mem_leaks_str; ++BOOST_TEST_DECL extern std::string report_sink_str; ++BOOST_TEST_DECL extern std::string result_code_str; ++BOOST_TEST_DECL extern std::string run_filters_str; ++BOOST_TEST_DECL extern std::string save_test_pattern_str; ++BOOST_TEST_DECL extern std::string show_progress_str; ++BOOST_TEST_DECL extern std::string use_alt_stack_str; ++BOOST_TEST_DECL extern std::string wait_for_debugger_str; + + BOOST_TEST_DECL void init( int& argc, char** argv ); + From 1ac2fda81550942ce2829c9feb402587cb3cd0d002e8ef8aac8fc4866950ee81 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Wed, 18 Jan 2017 15:18:21 +0000 Subject: [PATCH 6/7] Fix build for SLE11SP4 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=187 --- boost.spec | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/boost.spec b/boost.spec index 216c94c..3912409 100644 --- a/boost.spec +++ b/boost.spec @@ -1128,10 +1128,12 @@ echo 'using mpi ;' >> ./user-config.jam # Can't be too careful! cp %{SOURCE101} . chmod +x symbol_diff.sh +%if %{with python3} ./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 +%endif +./symbol_diff.sh python-stage/lib/libboost_serialization.so stage/lib/libboost_serialization.so +./symbol_diff.sh python-stage/lib/libboost_mpi.so stage/lib/libboost_mpi.so # Build documentation %if %{with build_quickbook} @@ -1544,6 +1546,7 @@ rm -r %{buildroot}%{_includedir}/boost/context %{_libdir}/libboost_mpi_python.so %files -n python-boost_parallel_mpi%{lib_appendix} +%defattr(-, root, root, -) %dir %{py_sitedir}/boost %dir %{py_sitedir}/boost/parallel %dir %{py_sitedir}/boost/parallel/mpi @@ -1562,6 +1565,7 @@ rm -r %{buildroot}%{_includedir}/boost/context %{_libdir}/libboost_mpi_python-py3.so %files -n python3-boost_parallel_mpi%{lib_appendix} +%defattr(-, root, root, -) %dir %{python3_sitearch}/boost %dir %{python3_sitearch}/boost/parallel %dir %{python3_sitearch}/boost/parallel/mpi @@ -1712,9 +1716,6 @@ rm -r %{buildroot}%{_includedir}/boost/context %files -n %{package_name}-devel %defattr(-, root, root, -) %{my_docdir}/README.boost-devel -#%%{_includedir}/boost -#%%{_libdir}/*.so -#%%{_datadir}/aclocal/*.m4 %files -n %{package_name}-doc-html %defattr(-, root, root, -) @@ -1724,22 +1725,25 @@ rm -r %{buildroot}%{_includedir}/boost/context %if %{with build_docs} %files doc-man -%defattr(644, root, root, -) +%defattr(-, root, root, -) %doc %{_mandir}/man3/*.3.gz %doc %{_mandir}/man7/*.7.gz %doc %{_mandir}/man9/*.9.gz + %endif %if %{with package_pdf} %files -n %{package_name}-doc-pdf %defattr(-, root, root, -) %doc ../boost_%{short_version}_pdf/*.pdf + %endif %if %{with build_quickbook} %files -n %{package_name}-quickbook %defattr(-, root, root, -) %{_bindir}/quickbook + %endif %changelog From cc015a28a7210960b0f71c6f4c88b2993b6e83dd97243366aca8491b2e5436d0 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Wed, 25 Jan 2017 13:25:16 +0000 Subject: [PATCH 7/7] - Fix dependency typos. OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=188 --- boost.changes | 5 +++++ boost.spec | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/boost.changes b/boost.changes index dec3cba..5b6bdf4 100644 --- a/boost.changes +++ b/boost.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Jan 25 13:24:39 UTC 2017 - adam.majer@suse.de + +- Fix dependency typos. + ------------------------------------------------------------------- Tue Jan 17 12:00:48 UTC 2017 - adam.majer@suse.de diff --git a/boost.spec b/boost.spec index 3912409..90d8d66 100644 --- a/boost.spec +++ b/boost.spec @@ -622,7 +622,7 @@ 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} +Requires: libboost_python-py3-%{lib_appendix} = %{version} Provides: libboost_mpi_python3-devel = %{version} Conflicts: otherproviders(libboost_mpi_python3-devel) Conflicts: boost-devel < 1.63 @@ -745,7 +745,7 @@ This package contains the Boost.Serialization runtime library. 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} +Requires: libboost_serialization%{lib_appendix} = %{version} Provides: libboost_serialization-devel = %{version} Conflicts: otherproviders(libboost_serialization-devel) Conflicts: boost-devel < 1.63