diff --git a/boost-1.66.0-address-model.patch b/boost-1.66.0-address-model.patch deleted file mode 100644 index 603aa72..0000000 --- a/boost-1.66.0-address-model.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:09:56.041685502 +0000 -+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:09:56.042685500 +0000 -@@ -421,7 +421,9 @@ - - rule set-address-model-options ( targets * : sources * : properties * ) - { -- local model = [ feature.get-values address-model : $(properties) ] ; -+ # For RPM builds the address model flag is passed in %{optflags}. -+ # local model = [ feature.get-values address-model : $(properties) ] ; -+ local model ; - if $(model) - { - local option ; diff --git a/boost-1.66.0-compute.patch b/boost-1.66.0-compute.patch deleted file mode 100644 index 2bd2b4a..0000000 --- a/boost-1.66.0-compute.patch +++ /dev/null @@ -1,23 +0,0 @@ -From fdbdb94db64e888fce90fe519be23c2a4396a82e Mon Sep 17 00:00:00 2001 -From: pradeep -Date: Tue, 8 May 2018 14:53:38 +0530 -Subject: [PATCH 1/2] Fix return var qualifier in svm_ptr::get_context - -Lack of `const` qualifier is throwing errors with GCC 8.1 ---- - include/boost/compute/memory/svm_ptr.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/boost/compute/memory/svm_ptr.hpp b/include/boost/compute/memory/svm_ptr.hpp -index c8753f5b..56cf1268 100644 ---- a/include/boost/compute/memory/svm_ptr.hpp -+++ b/include/boost/compute/memory/svm_ptr.hpp -@@ -126,7 +126,7 @@ class svm_ptr - return m_ptr - other.m_ptr; - } - -- context& get_context() const -+ const context& get_context() const - { - return m_context; - } diff --git a/boost-1.66.0-numpy3.patch b/boost-1.66.0-numpy3.patch deleted file mode 100644 index 27add8c..0000000 --- a/boost-1.66.0-numpy3.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 0fce0e589353d772ceda4d493b147138406b22fd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Moritz=20Wanzenb=C3=B6ck?= -Date: Wed, 11 Jul 2018 11:57:46 +0200 -Subject: [PATCH] Add missing return statement in numpy import - -This adds a missing return statement in the python3 specific -import logic of boost.python.numpy. - -For python3 wrap_import_array() needs to return a pointer value. -The import_array() macro only returns NULL in case of error. The -missing return statement is UB, so the compiler can assume it does -not happen. This means the compiler can assume the error branch -is always taken, so import_array must always fail. ---- - src/numpy/numpy.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/numpy/numpy.cpp b/src/numpy/numpy.cpp -index 8e259bc75..3ae2295e3 100644 ---- a/libs/python/src/numpy/numpy.cpp -+++ b/libs/python/src/numpy/numpy.cpp -@@ -19,6 +19,7 @@ static void wrap_import_array() - static void * wrap_import_array() - { - import_array(); -+ return NULL; - } - #endif - diff --git a/boost-1.66.0-python37.patch b/boost-1.66.0-python37.patch deleted file mode 100644 index 9577f21..0000000 --- a/boost-1.66.0-python37.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 660487c43fde76f3e64f1cb2e644500da92fe582 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= -Date: Fri, 9 Feb 2018 18:20:30 +0100 -Subject: [PATCH] Fix build with Python 3.7 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Python 3.7 changes the return type of _PyUnicode_AsString() -from void* to const char* -- causing the build of boost-python -to fail. - -Signed-off-by: Bernhard Rosenkränzer ---- - src/converter/builtin_converters.cpp | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/src/converter/builtin_converters.cpp b/src/converter/builtin_converters.cpp -index 1c28af7fc..ee2d5b479 100644 ---- a/libs/python/src/converter/builtin_converters.cpp -+++ b/libs/python/src/converter/builtin_converters.cpp -@@ -45,11 +45,16 @@ namespace - { - return PyString_Check(obj) ? PyString_AsString(obj) : 0; - } --#else -+#elif PY_VERSION_HEX < 0x03070000 - void* convert_to_cstring(PyObject* obj) - { - return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0; - } -+#else -+ void* convert_to_cstring(PyObject* obj) -+ { -+ return PyUnicode_Check(obj) ? const_cast(reinterpret_cast(_PyUnicode_AsString(obj))) : 0; -+ } - #endif - - // Given a target type and a SlotPolicy describing how to perform a diff --git a/boost-1.66.0-spirit-abs-overflow.patch b/boost-1.66.0-spirit-abs-overflow.patch deleted file mode 100644 index d98ab4e..0000000 --- a/boost-1.66.0-spirit-abs-overflow.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp~ 2018-02-23 16:59:53.785141676 +0000 -+++ boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp 2018-02-23 17:00:16.838092946 +0000 -@@ -68,7 +68,11 @@ - typedef unsignedtype type; \ - static type call(signedtype n) \ - { \ -- return static_cast((n >= 0) ? n : -n); \ -+ if (n >= 0) \ -+ return n; \ -+ if (n == std::numeric_limits::min()) \ -+ return (unsignedtype)n; \ -+ return (unsignedtype)(-n); \ - } \ - } \ - /**/ diff --git a/boost.spec b/boost.spec index b236aec..43da498 100644 --- a/boost.spec +++ b/boost.spec @@ -66,6 +66,7 @@ Source1: libboost_thread.so Requires: boost-atomic%{?_isa} = %{version}-%{release} Requires: boost-chrono%{?_isa} = %{version}-%{release} Requires: boost-container%{?_isa} = %{version}-%{release} +Requires: boost-contract%{?_isa} = %{version}-%{release} %if %{with context} Requires: boost-context%{?_isa} = %{version}-%{release} Requires: boost-coroutine%{?_isa} = %{version}-%{release} @@ -183,6 +184,18 @@ including STL containers. The aim of the library is to offer advanced features not present in standard containers or to offer the latest standard draft features for compilers that comply with C++03. +%package contract +Summary: Run-time component of boost contract library + +%description contract + +Run-time support for boost contract library. +Contract programming for C++. All contract programming features are supported: +Subcontracting, class invariants, postconditions (with old and return values), +preconditions, customizable actions on assertion failure (e.g., terminate +or throw), optional compilation and checking of assertions, etc, +from Lorenzo Caminiti. + %if %{with context} %package context Summary: Run-time component of boost context switching library @@ -1229,13 +1242,13 @@ fi %if %{with python2} %files numpy2 %license LICENSE_1_0.txt -%{_libdir}/libboost_numpy.so.%{sonamever} +%{_libdir}/libboost_numpy27.so.%{sonamever} %endif %if %{with python3} %files numpy3 %license LICENSE_1_0.txt -%{_libdir}/libboost_numpy3.so.%{sonamever} +%{_libdir}/libboost_numpy37.so.%{sonamever} %endif %files test @@ -1250,23 +1263,23 @@ fi %if %{with python2} %files python2 %license LICENSE_1_0.txt -%{_libdir}/libboost_python.so.%{sonamever} +%{_libdir}/libboost_python27.so.%{sonamever} %files python2-devel %license LICENSE_1_0.txt -%{_libdir}/libboost_numpy.so -%{_libdir}/libboost_python.so +%{_libdir}/libboost_numpy27.so +%{_libdir}/libboost_python27.so %endif %if %{with python3} %files python3 %license LICENSE_1_0.txt -%{_libdir}/libboost_python3.so.%{sonamever} +%{_libdir}/libboost_python37.so.%{sonamever} %files python3-devel %license LICENSE_1_0.txt -%{_libdir}/libboost_numpy3.so -%{_libdir}/libboost_python3.so +%{_libdir}/libboost_numpy37.so +%{_libdir}/libboost_python37.so %endif %files random @@ -1312,6 +1325,10 @@ fi %license LICENSE_1_0.txt %{_libdir}/libboost_wave.so.%{sonamever} +%files contract +%license LICENSE_1_0.txt +%{_libdir}/libboost_contract.so.%{sonamever} + %files doc %doc %{boost_docdir}/* @@ -1324,6 +1341,7 @@ fi %{_libdir}/libboost_atomic.so %{_libdir}/libboost_chrono.so %{_libdir}/libboost_container.so +%{_libdir}/libboost_contract.so %if %{with context} %{_libdir}/libboost_context.so %{_libdir}/libboost_coroutine.so @@ -1400,12 +1418,12 @@ fi %files openmpi-python3 %license LICENSE_1_0.txt -%{_libdir}/openmpi/lib/libboost_mpi_python3.so.%{sonamever} +%{_libdir}/openmpi/lib/libboost_mpi_python.so.%{sonamever} %{python3_sitearch}/openmpi/boost/ %files openmpi-python3-devel %license LICENSE_1_0.txt -%{_libdir}/openmpi/lib/libboost_mpi_python3.so +%{_libdir}/openmpi/lib/libboost_mpi_python.so %endif @@ -1444,12 +1462,12 @@ fi %files mpich-python3 %license LICENSE_1_0.txt -%{_libdir}/mpich/lib/libboost_mpi_python3.so.%{sonamever} +%{_libdir}/mpich/lib/libboost_mpi_python.so.%{sonamever} %{python3_sitearch}/mpich/boost/ %files mpich-python3-devel %license LICENSE_1_0.txt -%{_libdir}/mpich/lib/libboost_mpi_python3.so +%{_libdir}/mpich/lib/libboost_mpi_python.so %endif @@ -1474,8 +1492,17 @@ fi %{_mandir}/man1/bjam.1* %changelog -* Sun Nov 25 2018 Denis Arnaud - 1.68.0-1 +* Sat Dec 01 2018 Denis Arnaud - 1.68.0-1 - Rebase to 1.68.0 +- New library: Boost.Contract +- The Python-related shared libraries now carry the full Python version, + eg _python27.so and _python37.so +- Drop patches: + deleted: boost-1.66.0-address-model.patch + deleted: boost-1.66.0-compute.patch + deleted: boost-1.66.0-numpy3.patch + deleted: boost-1.66.0-python37.patch + deleted: boost-1.66.0-spirit-abs-overflow.patch * Thu Sep 27 2018 Owen Taylor - 1.66.0-15 - Disable openmpi and mpich for Flatpak-bundled builds