Compare commits

...

4 Commits
master ... f24

Author SHA1 Message Date
Jonathan Wakely 272b29641b Add patch for Boost.Asio to fix allocator usage (#1403165) 2016-12-09 11:00:09 +00:00
Jonathan Wakely 77834af81d Add patch for Boost.Python to fix pointer registration (#1358725) 2016-08-01 21:41:24 +01:00
Jonathan Wakely ca4b80e4c6 Add patch for Boost.Multiprecision (#1349638) 2016-06-28 19:56:45 +01:00
Jonathan Wakely 8c05e809d0 Rebuilt for GCC 6.1 (#1331983) 2016-05-19 17:07:44 +01:00
4 changed files with 150 additions and 1 deletions

View File

@ -0,0 +1,45 @@
From 42e7869f411a75512fb6994c634eb086fb9eb5cc Mon Sep 17 00:00:00 2001
From: Christopher Kohlhoff <chris@kohlhoff.com>
Date: Sun, 11 Sep 2016 12:04:18 +1000
Subject: [PATCH] Fix allocator usage to compile with g++ 6.
---
include/boost/asio/impl/use_future.hpp | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/include/boost/asio/impl/use_future.hpp b/include/boost/asio/impl/use_future.hpp
index b954e14..92106f4 100644
--- a/include/boost/asio/impl/use_future.hpp
+++ b/include/boost/asio/impl/use_future.hpp
@@ -34,10 +34,12 @@ namespace detail {
{
public:
// Construct from use_future special value.
- template <typename Allocator>
- promise_handler(use_future_t<Allocator> uf)
+ template <typename Alloc>
+ promise_handler(use_future_t<Alloc> uf)
: promise_(std::allocate_shared<std::promise<T> >(
- uf.get_allocator(), std::allocator_arg, uf.get_allocator()))
+ typename Alloc::template rebind<char>::other(uf.get_allocator()),
+ std::allocator_arg,
+ typename Alloc::template rebind<char>::other(uf.get_allocator())))
{
}
@@ -66,10 +68,12 @@ namespace detail {
{
public:
// Construct from use_future special value. Used during rebinding.
- template <typename Allocator>
- promise_handler(use_future_t<Allocator> uf)
+ template <typename Alloc>
+ promise_handler(use_future_t<Alloc> uf)
: promise_(std::allocate_shared<std::promise<void> >(
- uf.get_allocator(), std::allocator_arg, uf.get_allocator()))
+ typename Alloc::template rebind<char>::other(uf.get_allocator()),
+ std::allocator_arg,
+ typename Alloc::template rebind<char>::other(uf.get_allocator())))
{
}

View File

@ -0,0 +1,37 @@
commit f9c8f9ec091ad232c0a291904f7839d665d098e0
Author: jzmaddock <john@johnmaddock.co.uk>
Date: Thu Mar 3 10:52:03 2016 +0000
Add some needed casts for cases where limb_type is wider than unsigned int.
diff --git a/include/boost/multiprecision/cpp_int.hpp b/include/boost/multiprecision/cpp_int.hpp
index 60ad876..b868167 100644
--- a/include/boost/multiprecision/cpp_int.hpp
+++ b/include/boost/multiprecision/cpp_int.hpp
@@ -190,7 +190,7 @@ private:
public:
BOOST_STATIC_CONSTANT(unsigned, limb_bits = sizeof(limb_type) * CHAR_BIT);
BOOST_STATIC_CONSTANT(limb_type, max_limb_value = ~static_cast<limb_type>(0u));
- BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits - 1));
+ BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = static_cast<limb_type>(1u) << (limb_bits - 1));
BOOST_STATIC_CONSTANT(unsigned, internal_limb_count =
MinBits
? (MinBits / limb_bits + ((MinBits % limb_bits) ? 1 : 0))
@@ -413,7 +413,7 @@ struct cpp_int_base<MinBits, MinBits, signed_magnitude, Checked, void, false>
public:
BOOST_STATIC_CONSTANT(unsigned, limb_bits = sizeof(limb_type) * CHAR_BIT);
BOOST_STATIC_CONSTANT(limb_type, max_limb_value = ~static_cast<limb_type>(0u));
- BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits - 1));
+ BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = static_cast<limb_type>(1u) << (limb_bits - 1));
BOOST_STATIC_CONSTANT(unsigned, internal_limb_count = MinBits / limb_bits + ((MinBits % limb_bits) ? 1 : 0));
BOOST_STATIC_CONSTANT(bool, variable = false);
BOOST_STATIC_CONSTANT(limb_type, upper_limb_mask = (MinBits % limb_bits) ? (limb_type(1) << (MinBits % limb_bits)) -1 : (~limb_type(0)));
@@ -565,7 +565,7 @@ struct cpp_int_base<MinBits, MinBits, unsigned_magnitude, Checked, void, false>
public:
BOOST_STATIC_CONSTANT(unsigned, limb_bits = sizeof(limb_type) * CHAR_BIT);
BOOST_STATIC_CONSTANT(limb_type, max_limb_value = ~static_cast<limb_type>(0u));
- BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits - 1));
+ BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = static_cast<limb_type>(1u) << (limb_bits - 1));
BOOST_STATIC_CONSTANT(unsigned, internal_limb_count = MinBits / limb_bits + ((MinBits % limb_bits) ? 1 : 0));
BOOST_STATIC_CONSTANT(bool, variable = false);
BOOST_STATIC_CONSTANT(limb_type, upper_limb_mask = (MinBits % limb_bits) ? (limb_type(1) << (MinBits % limb_bits)) -1 : (~limb_type(0)));

View File

@ -0,0 +1,42 @@
From f2c465ffa508459216f7093bf95ba001ad994206 Mon Sep 17 00:00:00 2001
From: vslashg <veloso@verylowsodium.com>
Date: Mon, 29 Feb 2016 13:33:35 -0500
Subject: [PATCH] Fix auto-pointer registration in Boost Python 1.60.
The conditional instantiation magic of maybe_register_pointer_to_python() assumes that use_value_holder and use_back_reference will be one of the boost::mpl::bool_ types, but this assumption is no longer true in Boost 1.60, where they can be standard library bool wrappers instead.
Explicitly defining these types as mpl::bool_ classes fixes https://github.com/boostorg/python/issues/56.
---
include/boost/python/object/class_metadata.hpp | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/include/boost/python/object/class_metadata.hpp b/include/boost/python/object/class_metadata.hpp
index c71cf67..5009c17 100644
--- a/include/boost/python/object/class_metadata.hpp
+++ b/include/boost/python/object/class_metadata.hpp
@@ -164,7 +164,7 @@ struct class_metadata
>::type held_type;
// Determine if the object will be held by value
- typedef is_convertible<held_type*,T*> use_value_holder;
+ typedef mpl::bool_<is_convertible<held_type*,T*>::value> use_value_holder;
// Compute the "wrapped type", that is, if held_type is a smart
// pointer, we're talking about the pointee.
@@ -175,10 +175,12 @@ struct class_metadata
>::type wrapped;
// Determine whether to use a "back-reference holder"
- typedef mpl::or_<
- has_back_reference<T>
- , is_same<held_type_arg,T>
- , is_base_and_derived<T,wrapped>
+ typedef mpl::bool_<
+ mpl::or_<
+ has_back_reference<T>
+ , is_same<held_type_arg,T>
+ , is_base_and_derived<T,wrapped>
+ >::value
> use_back_reference;
// Select the holder.

View File

@ -38,7 +38,7 @@ Name: boost
Summary: The free peer-reviewed portable C++ source libraries
Version: 1.60.0
%global version_enc 1_60_0
Release: 4%{?dist}
Release: 8%{?dist}
License: Boost and MIT and Python
%global toplev_dirname %{name}_%{version_enc}
@ -131,6 +131,16 @@ Patch68: boost-1.58.0-address-model.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1262444
Patch81: boost-1.59-test-fenv.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1349638
Patch83: boost-1.60-multiprecision.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1358725
# https://github.com/boostorg/python/pull/59/files
Patch84: boost-1.60-python-regptr.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1403165
Patch85: boost-1.60-asio-use-future.patch
%bcond_with tests
%bcond_with docs_generated
@ -641,6 +651,9 @@ a number of significant features and is now developed independently
%patch65 -p1
%patch68 -p1
%patch81 -p2
%patch83 -p2
%patch84 -p2
%patch85 -p2
# At least python2_version needs to be a macro so that it's visible in
# %%install as well.
@ -1269,6 +1282,18 @@ fi
%{_mandir}/man1/bjam.1*
%changelog
* Fri Dec 09 2016 Jonathan Wakely <jwakely@redhat.com> - 1.60.0-8
- Add patch for Boost.Asio to fix allocator usage (#1403165)
* Mon Aug 01 2016 Jonathan Wakely <jwakely@redhat.com> - 1.60.0-7
- Add patch for Boost.Python to fix pointer registration (#1358725)
* Tue Jun 28 2016 Jonathan Wakely <jwakely@redhat.com> - 1.60.0-8
- Add patch for Boost.Multiprecision (#1349638)
* Thu May 19 2016 Jonathan Wakely <jwakely@redhat.com> - 1.60.0-5
- Rebuilt for GCC 6.1 (#1331983)
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.60.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild