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
This commit is contained in:
Denis Arnaud 2018-12-01 21:20:17 +00:00
parent bf8dec78cc
commit 15eed98242
6 changed files with 40 additions and 132 deletions

View File

@ -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 ;

View File

@ -1,23 +0,0 @@
From fdbdb94db64e888fce90fe519be23c2a4396a82e Mon Sep 17 00:00:00 2001
From: pradeep <pradeep@arrayfire.com>
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;
}

View File

@ -1,29 +0,0 @@
From 0fce0e589353d772ceda4d493b147138406b22fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Moritz=20Wanzenb=C3=B6ck?= <moritz.wanzenboeck@catalysts.cc>
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

View File

@ -1,39 +0,0 @@
From 660487c43fde76f3e64f1cb2e644500da92fe582 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
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 <bero@lindev.ch>
---
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<void*>(reinterpret_cast<const void*>(_PyUnicode_AsString(obj))) : 0;
+ }
#endif
// Given a target type and a SlotPolicy describing how to perform a

View File

@ -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<unsignedtype>((n >= 0) ? n : -n); \
+ if (n >= 0) \
+ return n; \
+ if (n == std::numeric_limits<signedtype>::min()) \
+ return (unsignedtype)n; \
+ return (unsignedtype)(-n); \
} \
} \
/**/

View File

@ -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 <denis.arnaud_fedora@m4x.org> - 1.68.0-1
* Sat Dec 01 2018 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 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 <otaylor@redhat.com> - 1.66.0-15
- Disable openmpi and mpich for Flatpak-bundled builds