1 --- Collage-1.7.0/co/dataIStreamArchive.h.orig 2017-05-29 15:17:51.000000000 +0200
2 +++ Collage-1.7.0/co/dataIStreamArchive.h 2019-05-26 22:00:38.151613651 +0200
4 #include <boost/archive/shared_ptr_helper.hpp>
6 #include <boost/serialization/is_bitwise_serializable.hpp>
7 +#include <boost/serialization/array.hpp>
9 #include <boost/spirit/home/support/detail/endian.hpp>
10 -#include <boost/spirit/home/support/detail/math/fpclassify.hpp>
11 +#include <boost/math/special_functions/fpclassify.hpp>
13 #include <boost/type_traits/is_floating_point.hpp>
14 #include <boost/type_traits/is_integral.hpp>
17 /** @internal use optimized load for arrays. */
19 - void load_array(boost::serialization::array<T>& a, unsigned int);
20 + void load_array(boost::serialization::array_wrapper<T>& a, unsigned int);
22 /** @internal enable serialization optimization for arrays. */
23 struct use_array_optimization
24 --- Collage-1.7.0/co/dataIStreamArchive.ipp.orig 2019-05-26 21:54:06.503735390 +0200
25 +++ Collage-1.7.0/co/dataIStreamArchive.ipp 2019-05-26 21:56:00.719783295 +0200
30 -void DataIStreamArchive::load_array(boost::serialization::array<T>& a,
31 +void DataIStreamArchive::load_array(boost::serialization::array_wrapper<T>& a,
34 _stream >> Array<T>(a.address(), a.count());
36 typename boost::enable_if<boost::is_floating_point<T> >::type
37 DataIStreamArchive::load(T& t)
39 - namespace fp = boost::spirit::math;
40 + namespace fp = boost::math;
41 typedef typename fp::detail::fp_traits<T>::type traits;
43 // if you end here there are three possibilities:
44 --- Collage-1.7.0/co/dataOStreamArchive.h.orig 2019-05-26 21:54:06.503735390 +0200
45 +++ Collage-1.7.0/co/dataOStreamArchive.h 2019-05-26 21:59:39.051933822 +0200
48 #include <boost/archive/basic_binary_oarchive.hpp>
49 #include <boost/archive/detail/register_archive.hpp>
50 +#include <boost/serialization/array.hpp>
51 #include <boost/serialization/is_bitwise_serializable.hpp>
52 #if BOOST_VERSION >= 104400
53 #include <boost/serialization/item_version_type.hpp>
56 #include <boost/spirit/home/support/detail/endian.hpp>
57 -#include <boost/spirit/home/support/detail/math/fpclassify.hpp>
58 +#include <boost/math/special_functions/fpclassify.hpp>
60 #include <boost/type_traits/is_floating_point.hpp>
61 #include <boost/type_traits/is_integral.hpp>
64 /** @internal use optimized save for arrays. */
66 - void save_array(const boost::serialization::array<T>& a, unsigned int);
67 + void save_array(const boost::serialization::array_wrapper<T>& a, unsigned int);
69 /** @internal enable serialization optimization for arrays. */
70 struct use_array_optimization
71 --- Collage-1.7.0/co/dataOStreamArchive.ipp.orig 2019-05-26 21:54:06.507068705 +0200
72 +++ Collage-1.7.0/co/dataOStreamArchive.ipp 2019-05-26 22:00:05.315124875 +0200
77 -void DataOStreamArchive::save_array(const boost::serialization::array<T>& a,
78 +void DataOStreamArchive::save_array(const boost::serialization::array_wrapper<T>& a,
81 _stream << Array<const T>(a.address(), a.count());
83 typename boost::enable_if<boost::is_floating_point<T> >::type
84 DataOStreamArchive::save(const T& t)
86 - namespace fp = boost::spirit::math;
87 + namespace fp = boost::math;
89 typedef typename fp::detail::fp_traits<T>::type traits;
91 --- Collage-1.7.0/co/rspConnection.cpp.orig 2017-05-29 15:17:51.000000000 +0200
92 +++ Collage-1.7.0/co/rspConnection.cpp 2019-05-27 05:53:38.214532320 +0200
94 _write->set_option(ip::multicast::outbound_interface(ifAddr.to_v4()));
95 #ifdef SO_BINDTODEVICE // https://github.com/Eyescale/Collage/issues/16
96 const std::string& ifIP = ifAddr.to_string();
97 - ::setsockopt(_write->native(), SOL_SOCKET, SO_BINDTODEVICE,
98 + ::setsockopt(_write->native_handle(), SOL_SOCKET, SO_BINDTODEVICE,
99 ifIP.c_str(), ifIP.size() + 1);
100 - ::setsockopt(_read->native(), SOL_SOCKET, SO_BINDTODEVICE, ifIP.c_str(),
101 + ::setsockopt(_read->native_handle(), SOL_SOCKET, SO_BINDTODEVICE, ifIP.c_str(),
105 --- Collage-1.7.0/co/dataIStreamArchive.ipp.orig 2019-05-27 05:56:32.013590769 +0200
106 +++ Collage-1.7.0/co/dataIStreamArchive.ipp 2019-05-27 17:49:02.531991336 +0200
108 DataIStreamArchive::load(T& t)
110 namespace fp = boost::math;
111 - typedef typename fp::detail::fp_traits<T>::type traits;
112 + typedef typename fp::detail::fp_traits<T>::sign_change_type traits; // HACK: uses boost internals
114 // if you end here there are three possibilities:
115 // 1. you're serializing a long double which is not portable
116 --- Collage-1.7.0/co/dataOStreamArchive.ipp.orig 2019-05-27 17:47:03.049305296 +0200
117 +++ Collage-1.7.0/co/dataOStreamArchive.ipp 2019-05-27 17:51:18.467921575 +0200
120 namespace fp = boost::math;
122 - typedef typename fp::detail::fp_traits<T>::type traits;
123 + typedef typename fp::detail::fp_traits<T>::sign_change_type traits; // HACK: uses boost internals
125 // if the no_infnan flag is set we must throw here
126 if (get_flags() & serialization::no_infnan && !fp::isfinite(t))
131 - bits = traits::exponent | traits::mantissa;
132 + bits = traits::exponent | traits::significand;
135 bits = traits::exponent | (t < 0) * traits::sign;