From 24d08da4a410a4a30a1d60aec23bac08a47d48ed Mon Sep 17 00:00:00 2001
From: Arnaud Degroote <arnaud.degroote@laas.fr>
Date: Tue, 19 Mar 2013 22:39:55 +0000
Subject: [PATCH] [wip/jafar-rtslam] Add a patch to workaroud against boost
 issue 7364

See https://svn.boost.org/trac/boost/ticket/7364 for the discussion
Bump PKGREVISION
---
 jafar-rtslam/Makefile         |  2 +-
 jafar-rtslam/distinfo         |  1 +
 jafar-rtslam/patches/patch-ab | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 34 insertions(+), 1 deletion(-)
 create mode 100644 jafar-rtslam/patches/patch-ab

diff --git a/jafar-rtslam/Makefile b/jafar-rtslam/Makefile
index 297f79be..9c3074d0 100644
--- a/jafar-rtslam/Makefile
+++ b/jafar-rtslam/Makefile
@@ -3,7 +3,7 @@
 #
 
 JAFAR_PKG=		rtslam-0.2
-PKGREVISION= 	1
+PKGREVISION= 	2
 CATEGORIES=		wip
 JAFAR_COMMENT=		Jafar module to do fast and generic EKF Slam.
 
diff --git a/jafar-rtslam/distinfo b/jafar-rtslam/distinfo
index a7941f63..9dbc1f3c 100644
--- a/jafar-rtslam/distinfo
+++ b/jafar-rtslam/distinfo
@@ -2,3 +2,4 @@ SHA1 (jafar-rtslam-0.2.tar.gz) = 1b4c9ef2fbc8c32259a48ef297a8baf6dd7d10f5
 RMD160 (jafar-rtslam-0.2.tar.gz) = b6840c5170beef8b4c409c86da74ac3cf9841353
 Size (jafar-rtslam-0.2.tar.gz) = 733290 bytes
 SHA1 (patch-aa) = f5e95671e0ded99b9f2207ac93764da44bffda3c
+SHA1 (patch-ab) = fdaab1bc3511fdbb78b201782b8a0ffc76ed22ce
diff --git a/jafar-rtslam/patches/patch-ab b/jafar-rtslam/patches/patch-ab
new file mode 100644
index 00000000..bd2cf04c
--- /dev/null
+++ b/jafar-rtslam/patches/patch-ab
@@ -0,0 +1,32 @@
+Workaround against boost issue 7364
+
+https://svn.boost.org/trac/boost/ticket/7364
+
+--- include/rtslam/sensorAbstract.hpp.orig	2013-03-19 22:13:31.000000000 +0000
++++ include/rtslam/sensorAbstract.hpp	2013-03-19 22:31:29.000000000 +0000
+@@ -36,6 +36,7 @@
+ 		class ObservationAbstract;
+ 		class DataManagerAbstract;
+ 
++		static std::vector<RobotAbstract::Quantity> workaround_7364;
+ 		/** 
+ 			Base class for all types of sensors.
+ 			\ingroup rtslam
+@@ -70,7 +71,7 @@
+ 				 * \param poseInFilter flag indicating if the sensor pose is part of the filter (REMOTE).
+ 				 */
+ 				SensorAbstract(const robot_ptr_t & _robPtr, const filtered_obj_t poseInFilter = UNFILTERED, int extraStateFilterSize = 0,
+-					std::vector<RobotAbstract::Quantity> robQuant = boost::assign::list_of(RobotAbstract::qPos)(RobotAbstract::qOriQuat));
++					std::vector<RobotAbstract::Quantity> robQuant = boost::assign::list_of(RobotAbstract::qPos)(RobotAbstract::qOriQuat).to_container(workaround_7364));
+ 				
+ 				/**
+ 				 * Mandatory virtual destructor.
+@@ -170,7 +171,7 @@
+ 				hardware::hardware_sensorprop_ptr_t hardwareSensorPtr;
+ 			public:
+ 				SensorProprioAbstract(const robot_ptr_t & robPtr, const filtered_obj_t poseInFilter = UNFILTERED, int extraStateFilterSize = 0,
+-					std::vector<RobotAbstract::Quantity> robQuant = boost::assign::list_of(RobotAbstract::qPos)(RobotAbstract::qOriQuat)):
++					std::vector<RobotAbstract::Quantity> robQuant = boost::assign::list_of(RobotAbstract::qPos)(RobotAbstract::qOriQuat).to_container(workaround_7364)):
+ 				  SensorAbstract(robPtr, poseInFilter, extraStateFilterSize, robQuant) { kind = PROPRIOCEPTIVE; }
+ 
+ 				void setHardwareSensor(hardware::hardware_sensorprop_ptr_t hardwareSensorPtr_)
-- 
GitLab