From 7a9b636535bc3b2e0f95fb4a47d389041b6ecc32 Mon Sep 17 00:00:00 2001
From: Anthony Mallet <anthony.mallet@laas.fr>
Date: Mon, 5 Aug 2013 16:36:05 +0200
Subject: [PATCH] [wip/genom3-ros] Fix generation of serialization in presence
 of 'native' types

This pulls in upstream commit 8d2bf8b.

Bump PKGREVISION.
---
 genom3-ros/Makefile         |  1 +
 genom3-ros/distinfo         |  1 +
 genom3-ros/patches/patch-aa | 38 +++++++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 genom3-ros/patches/patch-aa

diff --git a/genom3-ros/Makefile b/genom3-ros/Makefile
index 35050ab0..b4da6620 100644
--- a/genom3-ros/Makefile
+++ b/genom3-ros/Makefile
@@ -2,6 +2,7 @@
 # Created:			Anthony Mallet on Fri, 19 Oct 2012
 #
 
+PKGREVISION=	1
 DISTNAME=	genom3-ros-1.6
 CATEGORIES=	architecture
 MASTER_SITES=	${MASTER_SITE_OPENROBOTS:=genom3-ros/}
diff --git a/genom3-ros/distinfo b/genom3-ros/distinfo
index b933357b..2c530eff 100644
--- a/genom3-ros/distinfo
+++ b/genom3-ros/distinfo
@@ -1,3 +1,4 @@
 SHA1 (genom3-ros-1.6.tar.gz) = 2abea76ad4f4d6ba404e57404b0673e4607d7072
 RMD160 (genom3-ros-1.6.tar.gz) = 6565f0cf1012dbd21cf4d1e99c761b90ad2508c3
 Size (genom3-ros-1.6.tar.gz) = 382973 bytes
+SHA1 (patch-aa) = afb6f39ec34999a3f1f40d5495bad26621c6b5c7
diff --git a/genom3-ros/patches/patch-aa b/genom3-ros/patches/patch-aa
new file mode 100644
index 00000000..2695b46a
--- /dev/null
+++ b/genom3-ros/patches/patch-aa
@@ -0,0 +1,38 @@
+diff --git server/template.tcl server/template.tcl
+index 695ae41..ebc514d 100644
+--- server/template.tcl
++++ server/template.tcl
+@@ -106,15 +106,6 @@ template require ../common/genrosmsg.tcl
+ set msg_types [genrossrv $comp true]
+ set msg_types [genrosmsg $msg_types]
+ 
+-# get the list of private types (interface + ids)
+-set types [dict create]
+-foreach c [dotgen components] {
+-  foreach t [$c types private] {
+-    dict set types [$t mangle] $t
+-  }
+-}
+-set types [dict values $types]
+-
+ # public exception list + remote
+ set exl [dict create]
+ foreach t [$comp throws] {
+@@ -132,7 +123,7 @@ foreach r [$comp remotes] {
+ set exl [dict values $exl]
+ 
+ # generate type manipulation for all private types
+-template parse args [list $types]		\
++template parse args [list [$comp types private]]	\
+     string $header file ../common/typecopy.h	\
+     file src/[$comp name]_typecopy.h
+ template parse args [list $exl] \
+@@ -140,7 +131,7 @@ template parse args [list $exl] \
+ 
+ # generate serialization for all public types
+ template parse file ../common/genom-serialize.h file src/genom-serialize.h
+-template parse args [list $types] \
++template parse args [list [$comp types extern]] \
+     string $header file ../common/serialize.h file src/[$comp name]_serialize.h
+ template parse file ../common/portlib.h file src/[$comp name]_portlib.h
+ template parse args [list [concat [$comp services] [$comp remotes]]] \
-- 
GitLab