[packages/Collage] - updated to 1.7.0 - updated boost patch, adjusted for boost 1.70 (unfortunately code uses boost int

qboosh qboosh at pld-linux.org
Mon May 27 21:04:44 CEST 2019


commit 44e578216c665bb672843c63469cf80aa66e6707
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon May 27 21:05:32 2019 +0200

    - updated to 1.7.0
    - updated boost patch, adjusted for boost 1.70 (unfortunately code uses boost internals)

 Collage.spec     |  25 +++++++---
 boost-1.61.patch | 149 +++++++++++++++++++++++++++++++++++++++++--------------
 2 files changed, 129 insertions(+), 45 deletions(-)
---
diff --git a/Collage.spec b/Collage.spec
index 98c7d8a..dbbcc31 100644
--- a/Collage.spec
+++ b/Collage.spec
@@ -5,25 +5,30 @@
 Summary:	Cross-platform C++ network library
 Summary(pl.UTF-8):	Wieloplatformowa biblioteka sieciowa dla C++
 Name:		Collage
-Version:	1.6.0
+Version:	1.7.0
 Release:	1
 License:	LGPL v2.1
 Group:		Libraries
+#Source0Download: https://github.com/Eyescale/Collage/releases
 Source0:	https://github.com/Eyescale/Collage/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	cf9bb83c674aa7c522878f42e4751e2e
+# Source0-md5:	f0e57c1a2f6196c11ad8ac6029483e56
 Patch0:		boost-1.61.patch
 URL:		http://libcollage.net/
-BuildRequires:	Lunchbox-devel >= 1.13.0
-BuildRequires:	Eyescale-CMake >= 2016.04
-BuildRequires:	Pression-devel
+BuildRequires:	Lunchbox-devel >= 1.16.0
+BuildRequires:	Eyescale-CMake >= 2017.05
+BuildRequires:	Pression-devel >= 2.0.0
+BuildRequires:	Servus-devel >= 1.5.1
 BuildRequires:	boost-devel >= 1.41.0
-BuildRequires:	cmake >= 2.8
+BuildRequires:	cmake >= 3.1
 %{?with_apidocs:BuildRequires:	doxygen}
 BuildRequires:	libibverbs-devel
 BuildRequires:	librdmacm-devel
 BuildRequires:	libstdc++-devel
 BuildRequires:	pkgconfig
 BuildRequires:	udt-devel
+Requires:	Lunchbox >= 1.16.0
+Requires:	Pression >= 2.0.0
+Requires:	Servus >= 1.5.1
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -51,6 +56,10 @@ Summary:	Header files for Collage library
 Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki Collage
 Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
+Requires:	Lunchbox-devel >= 1.16.0
+Requires:	Pression-devel >= 2.0.0
+Requires:	Servus-devel >= 1.5.1
+Requires:	boost-devel >= 1.41.0
 
 %description devel
 Header files for Collage library.
@@ -76,8 +85,8 @@ Dokumentacja API biblioteki Collage.
 %setup -q
 %patch0 -p1
 
+rmdir CMake/common
 ln -s %{_datadir}/Eyescale-CMake CMake/common
-%{__rm} .gitexternals
 
 %build
 install -d build
@@ -111,7 +120,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/coNodeperf
 %attr(755,root,root) %{_bindir}/coObjectperf
 %attr(755,root,root) %{_libdir}/libCollage.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libCollage.so.6
+%attr(755,root,root) %ghost %{_libdir}/libCollage.so.7
 
 %files devel
 %defattr(644,root,root,755)
diff --git a/boost-1.61.patch b/boost-1.61.patch
index ac3a6e0..44c6ffb 100644
--- a/boost-1.61.patch
+++ b/boost-1.61.patch
@@ -1,60 +1,135 @@
---- Collage-1.4.0/co/dataIStreamArchive.h~	2016-05-28 17:25:24.000000000 +0000
-+++ Collage-1.4.0/co/dataIStreamArchive.h	2016-05-28 17:28:01.400951002 +0000
-@@ -42,6 +42,7 @@
- #  include <boost/archive/shared_ptr_helper.hpp>
+--- Collage-1.7.0/co/dataIStreamArchive.h.orig	2017-05-29 15:17:51.000000000 +0200
++++ Collage-1.7.0/co/dataIStreamArchive.h	2019-05-26 22:00:38.151613651 +0200
+@@ -42,9 +42,10 @@
+ #include <boost/archive/shared_ptr_helper.hpp>
  #endif
  #include <boost/serialization/is_bitwise_serializable.hpp>
 +#include <boost/serialization/array.hpp>
  
  #include <boost/spirit/home/support/detail/endian.hpp>
- #include <boost/spirit/home/support/detail/math/fpclassify.hpp>
-@@ -73,7 +72,7 @@
+-#include <boost/spirit/home/support/detail/math/fpclassify.hpp>
++#include <boost/math/special_functions/fpclassify.hpp>
+ 
+ #include <boost/type_traits/is_floating_point.hpp>
+ #include <boost/type_traits/is_integral.hpp>
+@@ -73,7 +74,7 @@
  
      /** @internal use optimized load for arrays. */
-     template< typename T >
--    void load_array( boost::serialization::array< T >& a, unsigned int );
-+    void load_array( boost::serialization::array_wrapper< T >& a, unsigned int );
+     template <typename T>
+-    void load_array(boost::serialization::array<T>& a, unsigned int);
++    void load_array(boost::serialization::array_wrapper<T>& a, unsigned int);
  
      /** @internal enable serialization optimization for arrays. */
      struct use_array_optimization
---- Collage-1.4.0/co/dataIStreamArchive.ipp~	2016-03-21 10:09:25.000000000 +0000
-+++ Collage-1.4.0/co/dataIStreamArchive.ipp	2016-05-28 17:28:34.587798794 +0000
-@@ -22,7 +22,7 @@
+--- Collage-1.7.0/co/dataIStreamArchive.ipp.orig	2019-05-26 21:54:06.503735390 +0200
++++ Collage-1.7.0/co/dataIStreamArchive.ipp	2019-05-26 21:56:00.719783295 +0200
+@@ -21,7 +21,7 @@
+ namespace co
  {
- 
- template< typename T >
--void DataIStreamArchive::load_array( boost::serialization::array< T >& a,
-+void DataIStreamArchive::load_array( boost::serialization::array_wrapper< T >& a,
-                                      unsigned int )
+ template <typename T>
+-void DataIStreamArchive::load_array(boost::serialization::array<T>& a,
++void DataIStreamArchive::load_array(boost::serialization::array_wrapper<T>& a,
+                                     unsigned int)
  {
-     _stream >> Array< T >( a.address(), a.count( ));
---- Collage-1.4.0/co/dataOStreamArchive.h~	2016-03-21 10:09:25.000000000 +0000
-+++ Collage-1.4.0/co/dataOStreamArchive.h	2016-05-28 17:28:51.074554669 +0000
-@@ -49,6 +49,7 @@
- #include <boost/type_traits/is_signed.hpp>
- #include <boost/type_traits/is_floating_point.hpp>
+     _stream >> Array<T>(a.address(), a.count());
+@@ -73,7 +73,7 @@
+ typename boost::enable_if<boost::is_floating_point<T> >::type
+     DataIStreamArchive::load(T& t)
+ {
+-    namespace fp = boost::spirit::math;
++    namespace fp = boost::math;
+     typedef typename fp::detail::fp_traits<T>::type traits;
  
+     // if you end here there are three possibilities:
+--- Collage-1.7.0/co/dataOStreamArchive.h.orig	2019-05-26 21:54:06.503735390 +0200
++++ Collage-1.7.0/co/dataOStreamArchive.h	2019-05-26 21:59:39.051933822 +0200
+@@ -37,13 +37,14 @@
+ 
+ #include <boost/archive/basic_binary_oarchive.hpp>
+ #include <boost/archive/detail/register_archive.hpp>
 +#include <boost/serialization/array.hpp>
+ #include <boost/serialization/is_bitwise_serializable.hpp>
+ #if BOOST_VERSION >= 104400
+ #include <boost/serialization/item_version_type.hpp>
+ #endif
  
- namespace co
- {
-@@ -68,7 +68,7 @@
+ #include <boost/spirit/home/support/detail/endian.hpp>
+-#include <boost/spirit/home/support/detail/math/fpclassify.hpp>
++#include <boost/math/special_functions/fpclassify.hpp>
+ 
+ #include <boost/type_traits/is_floating_point.hpp>
+ #include <boost/type_traits/is_integral.hpp>
+@@ -66,7 +67,7 @@
  
      /** @internal use optimized save for arrays. */
-     template< typename T >
--    void save_array( const boost::serialization::array< T >& a, unsigned int );
-+    void save_array( const boost::serialization::array_wrapper< T >& a, unsigned int );
+     template <typename T>
+-    void save_array(const boost::serialization::array<T>& a, unsigned int);
++    void save_array(const boost::serialization::array_wrapper<T>& a, unsigned int);
  
      /** @internal enable serialization optimization for arrays. */
      struct use_array_optimization
---- Collage-1.4.0/co/dataOStreamArchive.ipp~	2016-03-21 10:09:25.000000000 +0000
-+++ Collage-1.4.0/co/dataOStreamArchive.ipp	2016-05-28 17:29:05.451298725 +0000
-@@ -17,7 +17,7 @@
+--- Collage-1.7.0/co/dataOStreamArchive.ipp.orig	2019-05-26 21:54:06.507068705 +0200
++++ Collage-1.7.0/co/dataOStreamArchive.ipp	2019-05-26 22:00:05.315124875 +0200
+@@ -16,7 +16,7 @@
+  */
+ 
+ template <typename T>
+-void DataOStreamArchive::save_array(const boost::serialization::array<T>& a,
++void DataOStreamArchive::save_array(const boost::serialization::array_wrapper<T>& a,
+                                     unsigned int)
+ {
+     _stream << Array<const T>(a.address(), a.count());
+@@ -72,7 +72,7 @@
+ typename boost::enable_if<boost::is_floating_point<T> >::type
+     DataOStreamArchive::save(const T& t)
+ {
+-    namespace fp = boost::spirit::math;
++    namespace fp = boost::math;
  
+     typedef typename fp::detail::fp_traits<T>::type traits;
  
- template< typename T >
--void DataOStreamArchive::save_array( const boost::serialization::array< T >& a,
-+void DataOStreamArchive::save_array( const boost::serialization::array_wrapper< T >& a,
-                                      unsigned int )
+--- Collage-1.7.0/co/rspConnection.cpp.orig	2017-05-29 15:17:51.000000000 +0200
++++ Collage-1.7.0/co/rspConnection.cpp	2019-05-27 05:53:38.214532320 +0200
+@@ -271,9 +271,9 @@
+         _write->set_option(ip::multicast::outbound_interface(ifAddr.to_v4()));
+ #ifdef SO_BINDTODEVICE // https://github.com/Eyescale/Collage/issues/16
+         const std::string& ifIP = ifAddr.to_string();
+-        ::setsockopt(_write->native(), SOL_SOCKET, SO_BINDTODEVICE,
++        ::setsockopt(_write->native_handle(), SOL_SOCKET, SO_BINDTODEVICE,
+                      ifIP.c_str(), ifIP.size() + 1);
+-        ::setsockopt(_read->native(), SOL_SOCKET, SO_BINDTODEVICE, ifIP.c_str(),
++        ::setsockopt(_read->native_handle(), SOL_SOCKET, SO_BINDTODEVICE, ifIP.c_str(),
+                      ifIP.size() + 1);
+ #endif
+ 
+--- Collage-1.7.0/co/dataIStreamArchive.ipp.orig	2019-05-27 05:56:32.013590769 +0200
++++ Collage-1.7.0/co/dataIStreamArchive.ipp	2019-05-27 17:49:02.531991336 +0200
+@@ -74,7 +74,7 @@
+     DataIStreamArchive::load(T& t)
+ {
+     namespace fp = boost::math;
+-    typedef typename fp::detail::fp_traits<T>::type traits;
++    typedef typename fp::detail::fp_traits<T>::sign_change_type traits; // HACK: uses boost internals
+ 
+     // if you end here there are three possibilities:
+     // 1. you're serializing a long double which is not portable
+--- Collage-1.7.0/co/dataOStreamArchive.ipp.orig	2019-05-27 17:47:03.049305296 +0200
++++ Collage-1.7.0/co/dataOStreamArchive.ipp	2019-05-27 17:51:18.467921575 +0200
+@@ -74,7 +74,7 @@
  {
-     _stream << Array< const T >( a.address(), a.count( ));
+     namespace fp = boost::math;
+ 
+-    typedef typename fp::detail::fp_traits<T>::type traits;
++    typedef typename fp::detail::fp_traits<T>::sign_change_type traits; // HACK: uses boost internals
+ 
+     // if the no_infnan flag is set we must throw here
+     if (get_flags() & serialization::no_infnan && !fp::isfinite(t))
+@@ -97,7 +97,7 @@
+         bits = 0;
+         break;
+     case FP_NAN:
+-        bits = traits::exponent | traits::mantissa;
++        bits = traits::exponent | traits::significand;
+         break;
+     case FP_INFINITE:
+         bits = traits::exponent | (t < 0) * traits::sign;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/Collage.git/commitdiff/44e578216c665bb672843c63469cf80aa66e6707



More information about the pld-cvs-commit mailing list