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" )

Reply via email to