commit:     17c0e37c8f6f3f7482d802ff823c5a84c35a1ad7
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 26 08:13:41 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue Jul 26 09:18:30 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17c0e37c

dev-ros/kdl_parser: fix build with urdfdom1.

Package-Manager: portage-2.3.0

 dev-ros/kdl_parser/files/urdfdom1.patch            | 34 ++++++++++++++++++++++
 ...r-1.12.3.ebuild => kdl_parser-1.12.3-r1.ebuild} | 10 +++++--
 2 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/dev-ros/kdl_parser/files/urdfdom1.patch 
b/dev-ros/kdl_parser/files/urdfdom1.patch
new file mode 100644
index 0000000..c4b1d5c
--- /dev/null
+++ b/dev-ros/kdl_parser/files/urdfdom1.patch
@@ -0,0 +1,34 @@
+Index: kdl_parser/src/kdl_parser.cpp
+===================================================================
+--- kdl_parser.orig/src/kdl_parser.cpp
++++ kdl_parser/src/kdl_parser.cpp
+@@ -64,7 +64,7 @@ Frame toKdl(urdf::Pose p)
+ }
+ 
+ // construct joint
+-Joint toKdl(boost::shared_ptr<urdf::Joint> jnt)
++Joint toKdl(std::shared_ptr<urdf::Joint> jnt)
+ {
+   Frame F_parent_jnt = toKdl(jnt->parent_to_joint_origin_transform);
+ 
+@@ -93,7 +93,7 @@ Joint toKdl(boost::shared_ptr<urdf::Join
+ }
+ 
+ // construct inertia
+-RigidBodyInertia toKdl(boost::shared_ptr<urdf::Inertial> i)
++RigidBodyInertia toKdl(std::shared_ptr<urdf::Inertial> i)
+ {
+   Frame origin = toKdl(i->origin);
+   
+@@ -124,9 +124,9 @@ RigidBodyInertia toKdl(boost::shared_ptr
+ 
+ 
+ // recursive function to walk through tree
+-bool addChildrenToTree(boost::shared_ptr<const urdf::Link> root, Tree& tree)
++bool addChildrenToTree(std::shared_ptr<const urdf::Link> root, Tree& tree)
+ {
+-  std::vector<boost::shared_ptr<urdf::Link> > children = root->child_links;
++  std::vector<std::shared_ptr<urdf::Link> > children = root->child_links;
+   ROS_DEBUG("Link %s had %i children", root->name.c_str(), 
(int)children.size());
+ 
+   // constructs the optional inertia

diff --git a/dev-ros/kdl_parser/kdl_parser-1.12.3.ebuild 
b/dev-ros/kdl_parser/kdl_parser-1.12.3-r1.ebuild
similarity index 74%
rename from dev-ros/kdl_parser/kdl_parser-1.12.3.ebuild
rename to dev-ros/kdl_parser/kdl_parser-1.12.3-r1.ebuild
index 372f508..7e6a2bd 100644
--- a/dev-ros/kdl_parser/kdl_parser-1.12.3.ebuild
+++ b/dev-ros/kdl_parser/kdl_parser-1.12.3-r1.ebuild
@@ -8,7 +8,7 @@ KEYWORDS="~amd64 ~arm"
 ROS_SUBDIR=${PN}
 PYTHON_COMPAT=( python2_7 )
 
-inherit ros-catkin
+inherit ros-catkin flag-o-matic
 
 DESCRIPTION="Constructs a KDL tree from an XML robot representation in URDF"
 LICENSE="BSD"
@@ -19,9 +19,15 @@ RDEPEND="
        dev-libs/boost:=
        dev-ros/roscpp
        dev-ros/rosconsole
-       dev-ros/urdf
+       >=dev-ros/urdf-1.12.3-r1
        sci-libs/orocos_kdl
        dev-libs/tinyxml
 "
 DEPEND="${RDEPEND}
        test? ( dev-ros/rostest[${PYTHON_USEDEP}] )"
+PATCHES=( "${FILESDIR}/urdfdom1.patch" )
+
+src_configure() {
+       append-cxxflags -std=gnu++11
+       ros-catkin_src_configure
+}

Reply via email to