commit: 2701f4e2ecddcdce15248edf2f4d66936b3187ef
Author: Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 28 15:04:16 2016 +0000
Commit: Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Nov 28 15:04:28 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2701f4e2
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 ++++++++++++++++++++++
...ib-1.10.4.ebuild => pluginlib-1.10.4-r1.ebuild} | 1 +
dev-ros/pluginlib/pluginlib-9999.ebuild | 1 +
3 files changed, 36 insertions(+)
diff --git a/dev-ros/pluginlib/files/gentoo.patch
b/dev-ros/pluginlib/files/gentoo.patch
new file mode 100644
index 00000000..6737f76
--- /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 2791a4d..a96bdae 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 2791a4d..a96bdae 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" )