From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- dev-libs/sdformat/Manifest | 6 + dev-libs/sdformat/files/urdfdom1.patch | 392 ++++++++++++++++++++++++++++++++ dev-libs/sdformat/metadata.xml | 8 + dev-libs/sdformat/sdformat-5.2.0.ebuild | 39 ++++ 4 files changed, 445 insertions(+) create mode 100644 dev-libs/sdformat/Manifest create mode 100644 dev-libs/sdformat/files/urdfdom1.patch create mode 100644 dev-libs/sdformat/metadata.xml create mode 100644 dev-libs/sdformat/sdformat-5.2.0.ebuild (limited to 'dev-libs/sdformat') diff --git a/dev-libs/sdformat/Manifest b/dev-libs/sdformat/Manifest new file mode 100644 index 000000000000..895d680ca903 --- /dev/null +++ b/dev-libs/sdformat/Manifest @@ -0,0 +1,6 @@ +AUX urdfdom1.patch 15931 SHA256 9f909c64407bcdb1bd2c3b7b5554af780fd4eb84371b4f500a18ef54abb0ed0d SHA512 3acc8f2c3e7908a09e5e71d64d13bfc6f439c0a83c56ec2b70ec1ec1491483d370f837e70db9872d02f1e1c77c0127263d8e28ccb8d5ac44c527d664a2b1694d WHIRLPOOL a7fbbe7c1d824fc474a79ebd80a298f5d6be005bb5c916ea50cace8b9e6803fd48c46d6b3f4fa7e98a4142d2c4dd12db3fa46e4e60d333b0f8270e4150f83eb0 +DIST sdformat-5.2.0.tar.bz2 445542 SHA256 b7ba88275c28c3c26fe245b1ac4aad7337c2fd53d6c1e1c94c04f359f2309d51 SHA512 65df9f0d351ab894af41cc2081dc8ab179336092ceba17979720bed4d58f77e9648863501d83f073ea8478197e7e0a7d7a9f8efd3a54d22ee28d74765cebcee7 WHIRLPOOL 62f7080c209c67be9c3863725a51288fda2fd7c1e0330cd85f2d0970cbdd1d1538c0c5b18135f180668ed5937d1a3369415331fac596c8eaeaff19c7141fcf43 +EBUILD sdformat-5.2.0.ebuild 984 SHA256 804195f890a01b45eaffd58b1891def60434da8483786b6e00c9750bd5b959f5 SHA512 a6dedd6d405c876665d85fe6c7b21fde03563e374d04a84587e7dffb1efb63e55cb6f53946e74f4749114cee3e80219f2adddc94a8a7dabe65ba028a55de8e7a WHIRLPOOL 78ecd2b3655c4c8c1597dd6d632d7f449d9355afc4bbb8e2bafe3d21537b068375892a4048a43ac9fbfd707e8787602739aa20b919bc2755b298d5e086a91aa5 +MISC ChangeLog 5147 SHA256 df9f63bb776f89599f9e65b2e4d35363eed6c672dd498e74fac3682abd4cb59d SHA512 dc6c804487c2382ed61630c0e879d34290b6c008471304a0fdcaa6a04b7da223afbed5d80ce57e46793bf38d533eab19b229399b6cc52c23f6797e38c66d577f WHIRLPOOL 4b0879867438e5927e98d60a4bbc0d6bac2930c8fa8f0673cb4230400d6b368d446e9ac50e5254cc3a22f6533e73cd5552497044c94e6deee0b01d6ea110c0a4 +MISC ChangeLog-2015 365 SHA256 4cc847c15babff1fb8d2680b69d38b570af0c4cdac6e6169762fcba7198a74d5 SHA512 99420def5e585209fa297a9c11616c6cab8f009c30b6a82e74432e7cdb8b490d5796b32ac063f84ccb1e0c9b966f6b6897e6a55b0497c19398b576c3cf6a3b11 WHIRLPOOL 130ce3488c559a1f40d4d6a605ae54f6c0f7922229a666f07986255e461b2214801da0fba9e7f0e3c883b4b0ea40f5691e374e6e4c524bc2291a96dcb127060c +MISC metadata.xml 243 SHA256 15deb598d18c4f8b8de5be1aa70b9f355143d083acd82d6ecb15eef490960590 SHA512 c9d5c1cdd2874fe293f21f7584c6e15ef9439bd82b0d2e862e3e34c9a9e0e3191370fee2727b9d4d8647fb85cf56a39fdd6c1e0003ada1554496aad311ef335c WHIRLPOOL 1a3dcdd25c150262234f12dc0b25a8a5f67acf1ae5e7e7195b472ed0c7ee869a105c19125f8e58401c8ff7a8b2ca86db6b0cf382045130a50dbb79f3cd3cf5ec diff --git a/dev-libs/sdformat/files/urdfdom1.patch b/dev-libs/sdformat/files/urdfdom1.patch new file mode 100644 index 000000000000..d76376aec016 --- /dev/null +++ b/dev-libs/sdformat/files/urdfdom1.patch @@ -0,0 +1,392 @@ +Index: sdformat-4.1.1/src/parser_urdf.cc +=================================================================== +--- sdformat-4.1.1.orig/src/parser_urdf.cc ++++ sdformat-4.1.1/src/parser_urdf.cc +@@ -25,6 +25,7 @@ + #include "urdf_model/model.h" + #include "urdf_model/link.h" + #include "urdf_parser/urdf_parser.h" ++#include + + #include "sdf/SDFExtension.hh" + #include "sdf/parser_urdf.hh" +@@ -32,10 +33,10 @@ + + using namespace sdf; + +-typedef boost::shared_ptr UrdfCollisionPtr; +-typedef boost::shared_ptr UrdfVisualPtr; +-typedef boost::shared_ptr UrdfLinkPtr; +-typedef boost::shared_ptr ConstUrdfLinkPtr; ++typedef std::shared_ptr UrdfCollisionPtr; ++typedef std::shared_ptr UrdfVisualPtr; ++typedef std::shared_ptr UrdfLinkPtr; ++typedef std::shared_ptr ConstUrdfLinkPtr; + typedef std::shared_ptr TiXmlElementPtr; + typedef std::shared_ptr SDFExtensionPtr; + typedef std::map > +@@ -78,7 +79,7 @@ void InsertSDFExtensionJoint(TiXmlElemen + /// reduced fixed joints: check if a fixed joint should be lumped + /// checking both the joint type and if disabledFixedJointLumping + /// option is set +-bool FixedJointShouldBeReduced(boost::shared_ptr _jnt); ++bool FixedJointShouldBeReduced(std::shared_ptr _jnt); + + /// reduced fixed joints: apply transform reduction for ray sensors + /// in extensions when doing fixed joint reduction +@@ -217,9 +218,9 @@ std::string Values2str(unsigned int _cou + + + void CreateGeometry(TiXmlElement* _elem, +- boost::shared_ptr _geometry); ++ std::shared_ptr _geometry); + +-std::string GetGeometryBoundingBox(boost::shared_ptr _geometry, ++std::string GetGeometryBoundingBox(std::shared_ptr _geometry, + double *_sizeVals); + + ignition::math::Pose3d inverseTransformToParentFrame( +@@ -254,7 +255,7 @@ urdf::Vector3 ParseVector3(const std::st + std::vector pieces; + std::vector vals; + +- boost::split(pieces, _str, boost::is_any_of(" ")); ++ urdf::split_string(pieces, _str, " "); + for (unsigned int i = 0; i < pieces.size(); ++i) + { + if (pieces[i] != "") +@@ -262,7 +263,7 @@ urdf::Vector3 ParseVector3(const std::st + try + { + vals.push_back(_scale +- * boost::lexical_cast(pieces[i].c_str())); ++ * std::stod(pieces[i].c_str())); + } + catch(boost::bad_lexical_cast &) + { +@@ -349,7 +350,7 @@ void ReduceCollisionToParent(UrdfLinkPtr + UrdfCollisionPtr _collision) + { + #ifndef URDF_GE_0P3 +- boost::shared_ptr > cols; ++ std::shared_ptr > cols; + cols = _parentLink->getCollisions(_name); + + if (!cols) +@@ -427,7 +428,7 @@ void ReduceVisualToParent(UrdfLinkPtr _p + UrdfVisualPtr _visual) + { + #ifndef URDF_GE_0P3 +- boost::shared_ptr > viss; ++ std::shared_ptr > viss; + viss = _parentLink->getVisuals(_name); + + if (!viss) +@@ -950,7 +951,7 @@ void ReduceVisualsToParent(UrdfLinkPtr _ + // (original parent link name before lumping/reducing). + #ifndef URDF_GE_0P3 + for (std::map > >::iterator ++ std::shared_ptr > >::iterator + visualsIt = _link->visual_groups.begin(); + visualsIt != _link->visual_groups.end(); ++visualsIt) + { +@@ -1057,7 +1058,7 @@ void ReduceCollisionsToParent(UrdfLinkPt + // (original parent link name before lumping/reducing). + #ifndef URDF_GE_0P3 + for (std::map > >::iterator ++ std::shared_ptr > >::iterator + collisionsIt = _link->collision_groups.begin(); + collisionsIt != _link->collision_groups.end(); ++collisionsIt) + { +@@ -1160,7 +1161,7 @@ void ReduceJointsToParent(UrdfLinkPtr _l + // a parent link up stream that does not have a fixed parentJoint + for (unsigned int i = 0 ; i < _link->child_links.size() ; ++i) + { +- boost::shared_ptr parentJoint = ++ std::shared_ptr parentJoint = + _link->child_links[i]->parent_joint; + if (!FixedJointShouldBeReduced(parentJoint)) + { +@@ -1431,31 +1432,31 @@ void URDF2SDF::ParseSDFExtension(TiXmlDo + else if (childElem->ValueStr() == "dampingFactor") + { + sdf->isDampingFactor = true; +- sdf->dampingFactor = boost::lexical_cast( ++ sdf->dampingFactor = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "maxVel") + { + sdf->isMaxVel = true; +- sdf->maxVel = boost::lexical_cast( ++ sdf->maxVel = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "minDepth") + { + sdf->isMinDepth = true; +- sdf->minDepth = boost::lexical_cast( ++ sdf->minDepth = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "mu1") + { + sdf->isMu1 = true; +- sdf->mu1 = boost::lexical_cast( ++ sdf->mu1 = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "mu2") + { + sdf->isMu2 = true; +- sdf->mu2 = boost::lexical_cast( ++ sdf->mu2 = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "fdir1") +@@ -1465,13 +1466,13 @@ void URDF2SDF::ParseSDFExtension(TiXmlDo + else if (childElem->ValueStr() == "kp") + { + sdf->isKp = true; +- sdf->kp = boost::lexical_cast( ++ sdf->kp = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "kd") + { + sdf->isKd = true; +- sdf->kd = boost::lexical_cast( ++ sdf->kd = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "selfCollide") +@@ -1488,13 +1489,13 @@ void URDF2SDF::ParseSDFExtension(TiXmlDo + else if (childElem->ValueStr() == "maxContacts") + { + sdf->isMaxContacts = true; +- sdf->maxContacts = boost::lexical_cast( ++ sdf->maxContacts = std::stoi( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "laserRetro") + { + sdf->isLaserRetro = true; +- sdf->laserRetro = boost::lexical_cast( ++ sdf->laserRetro = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "springReference") +@@ -1510,37 +1511,37 @@ void URDF2SDF::ParseSDFExtension(TiXmlDo + else if (childElem->ValueStr() == "stopCfm") + { + sdf->isStopCfm = true; +- sdf->stopCfm = boost::lexical_cast( ++ sdf->stopCfm = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "stopErp") + { + sdf->isStopErp = true; +- sdf->stopErp = boost::lexical_cast( ++ sdf->stopErp = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "stopKp") + { + sdf->isStopKp = true; +- sdf->stopKp = boost::lexical_cast( ++ sdf->stopKp = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "stopKd") + { + sdf->isStopKd = true; +- sdf->stopKd = boost::lexical_cast( ++ sdf->stopKd = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "initialJointPosition") + { + sdf->isInitialJointPosition = true; +- sdf->initialJointPosition = boost::lexical_cast( ++ sdf->initialJointPosition = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "fudgeFactor") + { + sdf->isFudgeFactor = true; +- sdf->fudgeFactor = boost::lexical_cast( ++ sdf->fudgeFactor = std::stod( + GetKeyValueAsString(childElem).c_str()); + } + else if (childElem->ValueStr() == "provideFeedback") +@@ -1917,7 +1918,7 @@ void InsertSDFExtensionCollision(TiXmlEl + if ((*ge)->isMaxContacts) + { + AddKeyValue(_elem, "max_contacts", +- boost::lexical_cast((*ge)->maxContacts)); ++ std::to_string((*ge)->maxContacts)); + } + } + } +@@ -2339,7 +2340,7 @@ void InsertSDFExtensionRobot(TiXmlElemen + + //////////////////////////////////////////////////////////////////////////////// + void CreateGeometry(TiXmlElement* _elem, +- boost::shared_ptr _geom) ++ std::shared_ptr _geom) + { + TiXmlElement *sdfGeometry = new TiXmlElement("geometry"); + +@@ -2351,8 +2352,8 @@ void CreateGeometry(TiXmlElement* _elem, + case urdf::Geometry::BOX: + type = "box"; + { +- boost::shared_ptr box; +- box = boost::dynamic_pointer_cast< const urdf::Box >(_geom); ++ std::shared_ptr box; ++ box = std::dynamic_pointer_cast< const urdf::Box >(_geom); + int sizeCount = 3; + double sizeVals[3]; + sizeVals[0] = box->dim.x; +@@ -2366,8 +2367,8 @@ void CreateGeometry(TiXmlElement* _elem, + case urdf::Geometry::CYLINDER: + type = "cylinder"; + { +- boost::shared_ptr cylinder; +- cylinder = boost::dynamic_pointer_cast(_geom); ++ std::shared_ptr cylinder; ++ cylinder = std::dynamic_pointer_cast(_geom); + geometryType = new TiXmlElement(type); + AddKeyValue(geometryType, "length", + Values2str(1, &cylinder->length)); +@@ -2378,8 +2379,8 @@ void CreateGeometry(TiXmlElement* _elem, + case urdf::Geometry::SPHERE: + type = "sphere"; + { +- boost::shared_ptr sphere; +- sphere = boost::dynamic_pointer_cast(_geom); ++ std::shared_ptr sphere; ++ sphere = std::dynamic_pointer_cast(_geom); + geometryType = new TiXmlElement(type); + AddKeyValue(geometryType, "radius", + Values2str(1, &sphere->radius)); +@@ -2388,8 +2389,8 @@ void CreateGeometry(TiXmlElement* _elem, + case urdf::Geometry::MESH: + type = "mesh"; + { +- boost::shared_ptr mesh; +- mesh = boost::dynamic_pointer_cast(_geom); ++ std::shared_ptr mesh; ++ mesh = std::dynamic_pointer_cast(_geom); + geometryType = new TiXmlElement(type); + AddKeyValue(geometryType, "scale", Vector32Str(mesh->scale)); + // do something more to meshes +@@ -2451,7 +2452,7 @@ void CreateGeometry(TiXmlElement* _elem, + + //////////////////////////////////////////////////////////////////////////////// + std::string GetGeometryBoundingBox( +- boost::shared_ptr _geom, double *_sizeVals) ++ std::shared_ptr _geom, double *_sizeVals) + { + std::string type; + +@@ -2460,8 +2461,8 @@ std::string GetGeometryBoundingBox( + case urdf::Geometry::BOX: + type = "box"; + { +- boost::shared_ptr box; +- box = boost::dynamic_pointer_cast(_geom); ++ std::shared_ptr box; ++ box = std::dynamic_pointer_cast(_geom); + _sizeVals[0] = box->dim.x; + _sizeVals[1] = box->dim.y; + _sizeVals[2] = box->dim.z; +@@ -2470,8 +2471,8 @@ std::string GetGeometryBoundingBox( + case urdf::Geometry::CYLINDER: + type = "cylinder"; + { +- boost::shared_ptr cylinder; +- cylinder = boost::dynamic_pointer_cast(_geom); ++ std::shared_ptr cylinder; ++ cylinder = std::dynamic_pointer_cast(_geom); + _sizeVals[0] = cylinder->radius * 2; + _sizeVals[1] = cylinder->radius * 2; + _sizeVals[2] = cylinder->length; +@@ -2480,16 +2481,16 @@ std::string GetGeometryBoundingBox( + case urdf::Geometry::SPHERE: + type = "sphere"; + { +- boost::shared_ptr sphere; +- sphere = boost::dynamic_pointer_cast(_geom); ++ std::shared_ptr sphere; ++ sphere = std::dynamic_pointer_cast(_geom); + _sizeVals[0] = _sizeVals[1] = _sizeVals[2] = sphere->radius * 2; + } + break; + case urdf::Geometry::MESH: + type = "trimesh"; + { +- boost::shared_ptr mesh; +- mesh = boost::dynamic_pointer_cast(_geom); ++ std::shared_ptr mesh; ++ mesh = std::dynamic_pointer_cast(_geom); + _sizeVals[0] = mesh->scale.x; + _sizeVals[1] = mesh->scale.y; + _sizeVals[2] = mesh->scale.z; +@@ -2513,7 +2514,7 @@ void PrintCollisionGroups(UrdfLinkPtr _l + << static_cast(_link->collision_groups.size()) + << "] collisions.\n"; + for (std::map > >::iterator ++ std::shared_ptr > >::iterator + colsIt = _link->collision_groups.begin(); + colsIt != _link->collision_groups.end(); ++colsIt) + { +@@ -2906,7 +2907,7 @@ void CreateCollisions(TiXmlElement* _ele + // lumped meshes (fixed joint reduction) + #ifndef URDF_GE_0P3 + for (std::map > >::const_iterator ++ std::shared_ptr > >::const_iterator + collisionsIt = _link->collision_groups.begin(); + collisionsIt != _link->collision_groups.end(); ++collisionsIt) + { +@@ -3028,7 +3029,7 @@ void CreateVisuals(TiXmlElement* _elem, + // lumped meshes (fixed joint reduction) + #ifndef URDF_GE_0P3 + for (std::map > >::const_iterator ++ std::shared_ptr > >::const_iterator + visualsIt = _link->visual_groups.begin(); + visualsIt != _link->visual_groups.end(); ++visualsIt) + { +@@ -3411,7 +3412,7 @@ TiXmlDocument URDF2SDF::InitModelString( + g_enforceLimits = _enforceLimits; + + // Create a RobotModel from string +- boost::shared_ptr robotModel = ++ std::shared_ptr robotModel = + urdf::parseURDF(_urdfStr.c_str()); + + // an xml object to hold the xml result +@@ -3453,7 +3454,7 @@ TiXmlDocument URDF2SDF::InitModelString( + // fixed joint lumping only for selected joints + if (g_reduceFixedJoints) + ReduceFixedJoints(robot, +- (boost::const_pointer_cast< urdf::Link >(rootLink))); ++ (std::const_pointer_cast< urdf::Link >(rootLink))); + + if (rootLink->name == "world") + { +@@ -3514,7 +3515,7 @@ TiXmlDocument URDF2SDF::InitModelFile(co + } + + //////////////////////////////////////////////////////////////////////////////// +-bool FixedJointShouldBeReduced(boost::shared_ptr _jnt) ++bool FixedJointShouldBeReduced(std::shared_ptr _jnt) + { + // A joint should be lumped only if its type is fixed and + // the disabledFixedJointLumping joint option is not set diff --git a/dev-libs/sdformat/metadata.xml b/dev-libs/sdformat/metadata.xml new file mode 100644 index 000000000000..6ca4a599be8f --- /dev/null +++ b/dev-libs/sdformat/metadata.xml @@ -0,0 +1,8 @@ + + + + +aballier@gentoo.org +Alexis Ballier + + diff --git a/dev-libs/sdformat/sdformat-5.2.0.ebuild b/dev-libs/sdformat/sdformat-5.2.0.ebuild new file mode 100644 index 000000000000..c3c7512d27ef --- /dev/null +++ b/dev-libs/sdformat/sdformat-5.2.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit cmake-utils + +DESCRIPTION="Simulation Description Format (SDF) parser" +HOMEPAGE="http://sdformat.org/" +SRC_URI="http://osrf-distributions.s3.amazonaws.com/sdformat/releases/${P}.tar.bz2" + +LICENSE="Apache-2.0" +# subslot = libsdformat major +SLOT="0/5" +KEYWORDS="~amd64" +IUSE="" + +RDEPEND=" + >=dev-libs/urdfdom-1:= + dev-libs/tinyxml + dev-libs/boost:= + sci-libs/ignition-math:3= +" +DEPEND="${RDEPEND} + dev-lang/ruby:* + virtual/pkgconfig +" +CMAKE_BUILD_TYPE=RelWithDebInfo +PATCHES=( "${FILESDIR}/urdfdom1.patch" ) + +src_configure() { + echo "set (CMAKE_C_FLAGS_ALL \"${CXXFLAGS} \${CMAKE_C_FLAGS_ALL}\")" > "${S}/cmake/HostCFlags.cmake" + sed -i -e "s/LINK_FLAGS_RELWITHDEBINFO \" \"/LINK_FLAGS_RELWITHDEBINFO \" ${LDFLAGS} \"/" cmake/DefaultCFlags.cmake || die + local mycmakeargs=( + "-DUSE_EXTERNAL_URDF=ON" + "-DUSE_EXTERNAL_TINYXML=ON" + ) + cmake-utils_src_configure +} -- cgit v1.2.3