From 2701f4e2ecddcdce15248edf2f4d66936b3187ef Mon Sep 17 00:00:00 2001 From: Alexis Ballier Date: Mon, 28 Nov 2016 16:04:16 +0100 Subject: [PATCH] dev-ros/pluginlib: look for package.xml in ros_packages too for plugins. Package-Manager: portage-2.3.2 --- dev-ros/pluginlib/files/gentoo.patch | 34 +++++++++++++++++++ ...10.4.ebuild => pluginlib-1.10.4-r1.ebuild} | 1 + dev-ros/pluginlib/pluginlib-9999.ebuild | 1 + 3 files changed, 36 insertions(+) create mode 100644 dev-ros/pluginlib/files/gentoo.patch rename dev-ros/pluginlib/{pluginlib-1.10.4.ebuild => pluginlib-1.10.4-r1.ebuild} (93%) diff --git a/dev-ros/pluginlib/files/gentoo.patch b/dev-ros/pluginlib/files/gentoo.patch new file mode 100644 index 0000000000000..6737f7666df18 --- /dev/null +++ b/dev-ros/pluginlib/files/gentoo.patch @@ -0,0 +1,34 @@ +Find package.xml in ros_packages/package_name too as we moved it here. + +Index: pluginlib-1.10.4/include/pluginlib/class_loader_imp.h +=================================================================== +--- pluginlib-1.10.4.orig/include/pluginlib/class_loader_imp.h ++++ pluginlib-1.10.4/include/pluginlib/class_loader_imp.h +@@ -444,6 +444,7 @@ namespace pluginlib + std::string package_name; + boost::filesystem::path p(plugin_xml_file_path); + boost::filesystem::path parent = p.parent_path(); ++ boost::filesystem::path basename = p.filename(); + + //Figure out exactly which package the passed XML file is exported by. + while (true) +@@ -453,6 +454,11 @@ namespace pluginlib + std::string package_file_path = (boost::filesystem::path(parent / "package.xml")).string(); + return(extractPackageNameFromPackageXML(package_file_path)); + } ++ else if(boost::filesystem::exists(parent / "ros_packages" / basename / "package.xml")) ++ { ++ std::string package_file_path = (boost::filesystem::path(parent / "ros_packages" / basename / "package.xml")).string(); ++ return(extractPackageNameFromPackageXML(package_file_path)); ++ } + else if (boost::filesystem::exists(parent / "manifest.xml")) + { + #if BOOST_FILESYSTEM_VERSION >= 3 +@@ -470,6 +476,7 @@ namespace pluginlib + } + + //Recursive case - hop one folder up ++ basename = parent.filename(); + parent = parent.parent_path().string(); + + //Base case - reached root and cannot find what we're looking for diff --git a/dev-ros/pluginlib/pluginlib-1.10.4.ebuild b/dev-ros/pluginlib/pluginlib-1.10.4-r1.ebuild similarity index 93% rename from dev-ros/pluginlib/pluginlib-1.10.4.ebuild rename to dev-ros/pluginlib/pluginlib-1.10.4-r1.ebuild index 2791a4dd84602..a96bdaea328a4 100644 --- a/dev-ros/pluginlib/pluginlib-1.10.4.ebuild +++ b/dev-ros/pluginlib/pluginlib-1.10.4-r1.ebuild @@ -25,3 +25,4 @@ RDEPEND=" " DEPEND="${RDEPEND} test? ( dev-cpp/gtest )" +PATCHES=( "${FILESDIR}/gentoo.patch" ) diff --git a/dev-ros/pluginlib/pluginlib-9999.ebuild b/dev-ros/pluginlib/pluginlib-9999.ebuild index 2791a4dd84602..a96bdaea328a4 100644 --- a/dev-ros/pluginlib/pluginlib-9999.ebuild +++ b/dev-ros/pluginlib/pluginlib-9999.ebuild @@ -25,3 +25,4 @@ RDEPEND=" " DEPEND="${RDEPEND} test? ( dev-cpp/gtest )" +PATCHES=( "${FILESDIR}/gentoo.patch" )