summaryrefslogtreecommitdiff
path: root/dev-ros/rospack
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ros/rospack')
-rw-r--r--dev-ros/rospack/Manifest7
-rw-r--r--dev-ros/rospack/files/boost165.patch231
-rw-r--r--dev-ros/rospack/files/gentoo.patch18
-rw-r--r--dev-ros/rospack/metadata.xml11
-rw-r--r--dev-ros/rospack/rospack-2.4.2.ebuild32
-rw-r--r--dev-ros/rospack/rospack-9999.ebuild31
6 files changed, 330 insertions, 0 deletions
diff --git a/dev-ros/rospack/Manifest b/dev-ros/rospack/Manifest
new file mode 100644
index 000000000000..c2a4079b5db6
--- /dev/null
+++ b/dev-ros/rospack/Manifest
@@ -0,0 +1,7 @@
+AUX boost165.patch 10361 SHA256 1eeddbbbc2b525d11a712b5e80e53eec6436b2a60719439bcea14291258a9cb2 SHA512 c486badc23c76a96ed84a7dba0b2f90d4d1ef98a699229efb7c94821a20fc3f32345632f4f5a097dee60b4aace85affbb0e5fe11e3df7a00531138c73340ab10 WHIRLPOOL 75d0d0d2a0d2769c7089ab89c65dd812f696ddfcf8d1d482e252a1ff5a991643afb76e422647f9af97c4c0c7c83708de0d91f7846988d636feb9a4fe75a6a12b
+AUX gentoo.patch 576 SHA256 ab951bbaab55a9997e276b79831a3d4b77f09420d6dfd009ad14f7796d7699a2 SHA512 85bc49da821ff4a31d6cff838f2ff006625f0f5041c2bfa8f742c92173c48fc6d2a4601e370058478afe66e1b0aa5e237964b950554c40710f9f411e1e04bbad WHIRLPOOL 52dcc69ac2159bb7c6b2acfc757d1398da0b8ae44f857d710cd39363a1af7a2acb715e0e4d890425b06418e377d9888615172a5fb274623caa89162fc268d945
+DIST rospack-2.4.2.tar.gz 71938 SHA256 5ef87c11d492759608f12d03113bd538cdb61bbc3876ebd91be078c9b56241f7 SHA512 f5569ba19abcb41b888d98c272bacca19d7be68528550154003e8394bd431aa381858f0a4440f708b5d9ac1814fa0e093a7ba34c3c192bcedb2de8040f364605 WHIRLPOOL 5e747bc9904fdbf1d5c33af46d912224605fb755aa2c5339b9efaabdc8c2ef5b4e5ab2a56714d43ca45030a83e36429a31a92b6bd79d0c20a584019e50b00189
+EBUILD rospack-2.4.2.ebuild 594 SHA256 90dbdf68ec53b650acef95023d1cf793f24142112d747e2bbe208e1fea99f5f4 SHA512 be26b5072a612ca6e40bb8d63969aed639c2923279a4970aba2270a92f5940e5bbb01a533ae0aa7a13fff91d0b426bbb5be5510c4358416284ce0a77af499fe8 WHIRLPOOL fa21aee927616a6ca407ba1543cf2a09a79f1eb057ad28bd3fc3884accc6696f93a3d89db9ba52f2fba2422a04caaa4d2d7cbdc9e7f6314a29a22d45a92c0fb3
+EBUILD rospack-9999.ebuild 564 SHA256 7d67ddb6c658542fae95860c0d2e93aa8ce655374372697f6402078e32391224 SHA512 9814190d49aa220554bf3a440e781642eeefbb5f1b5126c1b74e0fbe98ddd946327f38973fe7215b27b0de6d5a799af221940659c51294fd28906423e3be19be WHIRLPOOL 1c53be8422d58d8c0e1301244cacccd581dda0e76f210582639b70a744b3b0a3a6a363daad254724e4358af2d4c0b07573b1ac6fe760603162e3710dd0eadf02
+MISC ChangeLog 2586 SHA256 498f2ff44d0d42c5315f2f5c0014f7d2c97ae8bd454c7d89e6204eb73e4e2354 SHA512 2e1a0de13ff7bfc46659fb7675b747e77992339bd565c1b43db456bab9aacf0ad541dbf0770ef2f4eaa92ccec121accaeb22adfeed117c8d1dd6d741a91c1026 WHIRLPOOL 39b562b629c6757efb99f27e9d656c016d70e2cca7a371ee2f130b177409b2fd47218477425211cfd02b2cb7675aaaffef8c62b2da42ca3f416de7eff11846a4
+MISC metadata.xml 325 SHA256 4dde5a05e61c886d9a1363ccdbe9684143a6c44cf7ad9f903346c53ee23adfe7 SHA512 2718fee8c06627957b95d0e99b517d2dcb2428279925a22e6cbbab1e56ea6d25da57c7143d316e7406419b7d2ff75187950957a705348adfb4008413923dda5c WHIRLPOOL b2f122a22500fab4eaa11f970c37976744989c232845fe50648e00f58316c84b98ab9ca09b391b5da05542db5c5a631bc3bca0ab9725de9bcb45db75fc7c0f8f
diff --git a/dev-ros/rospack/files/boost165.patch b/dev-ros/rospack/files/boost165.patch
new file mode 100644
index 000000000000..fda1c6668107
--- /dev/null
+++ b/dev-ros/rospack/files/boost165.patch
@@ -0,0 +1,231 @@
+commit 6fcee1b0d2b1c225c39a5820981166b99f0d8750
+Author: Tim Rakowski <tim.rakowski@googlemail.com>
+Date: Mon Sep 4 21:41:11 2017 +0200
+
+ Replaced references to deprecated Boost.TR1
+
+ boost/tr1 includes where removed with boost 1.65
+
+diff --git a/include/rospack/rospack.h b/include/rospack/rospack.h
+index 4389187..bb7bc2e 100644
+--- a/include/rospack/rospack.h
++++ b/include/rospack/rospack.h
+@@ -105,8 +105,8 @@ and Rosstack.
+ #ifndef ROSPACK_ROSPACK_H
+ #define ROSPACK_ROSPACK_H
+
+-#include <boost/tr1/unordered_set.hpp>
+-#include <boost/tr1/unordered_map.hpp>
++#include <boost/unordered_set.hpp>
++#include <boost/unordered_map.hpp>
+ #include <list>
+ #include <map>
+ #include <set>
+@@ -148,8 +148,8 @@ class ROSPACK_DECL Rosstackage
+ std::string tag_;
+ bool quiet_;
+ std::vector<std::string> search_paths_;
+- std::tr1::unordered_map<std::string, std::vector<std::string> > dups_;
+- std::tr1::unordered_map<std::string, Stackage*> stackages_;
++ boost::unordered_map<std::string, std::vector<std::string> > dups_;
++ boost::unordered_map<std::string, Stackage*> stackages_;
+ Stackage* findWithRecrawl(const std::string& name);
+ void log(const std::string& level, const std::string& msg, bool append_errno);
+ void clearStackages();
+@@ -159,7 +159,7 @@ class ROSPACK_DECL Rosstackage
+ int depth,
+ bool collect_profile_data,
+ std::vector<DirectoryCrawlRecord*>& profile_data,
+- std::tr1::unordered_set<std::string>& profile_hash);
++ boost::unordered_set<std::string>& profile_hash);
+ bool isStackage(const std::string& path);
+ void loadManifest(Stackage* stackage);
+ void computeDeps(Stackage* stackage, bool ignore_errors=false, bool ignore_missing=false);
+@@ -171,7 +171,7 @@ class ROSPACK_DECL Rosstackage
+ bool no_recursion_on_wet=false);
+ void gatherDepsFull(Stackage* stackage, bool direct,
+ traversal_order_t order, int depth,
+- std::tr1::unordered_set<Stackage*>& deps_hash,
++ boost::unordered_set<Stackage*>& deps_hash,
+ std::vector<Stackage*>& deps,
+ bool get_indented_deps,
+ std::vector<std::string>& indented_deps,
+diff --git a/src/rospack.cpp b/src/rospack.cpp
+index 6b88a36..a3e08a3 100644
+--- a/src/rospack.cpp
++++ b/src/rospack.cpp
+@@ -259,7 +259,7 @@ Rosstackage::~Rosstackage()
+
+ void Rosstackage::clearStackages()
+ {
+- for(std::tr1::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.begin();
++ for(boost::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.begin();
+ it != stackages_.end();
+ ++it)
+ {
+@@ -382,7 +382,7 @@ Rosstackage::crawl(std::vector<std::string> search_path,
+ search_paths_ = search_path;
+
+ std::vector<DirectoryCrawlRecord*> dummy;
+- std::tr1::unordered_set<std::string> dummy2;
++ boost::unordered_set<std::string> dummy2;
+ for(std::vector<std::string>::const_iterator p = search_paths_.begin();
+ p != search_paths_.end();
+ ++p)
+@@ -447,7 +447,7 @@ Rosstackage::contents(const std::string& name,
+ std::set<std::string>& packages)
+ {
+ Rospack rp2;
+- std::tr1::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.find(name);
++ boost::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.find(name);
+ if(it != stackages_.end())
+ {
+ std::vector<std::string> search_paths;
+@@ -474,7 +474,7 @@ Rosstackage::contains(const std::string& name,
+ std::string& path)
+ {
+ Rospack rp2;
+- for(std::tr1::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.begin();
++ for(boost::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.begin();
+ it != stackages_.end();
+ ++it)
+ {
+@@ -503,7 +503,7 @@ Rosstackage::contains(const std::string& name,
+ void
+ Rosstackage::list(std::set<std::pair<std::string, std::string> >& list)
+ {
+- for(std::tr1::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.begin();
++ for(boost::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.begin();
+ it != stackages_.end();
+ ++it)
+ {
+@@ -519,7 +519,7 @@ Rosstackage::listDuplicates(std::vector<std::string>& dups)
+ {
+ dups.resize(dups_.size());
+ int i = 0;
+- for(std::tr1::unordered_map<std::string, std::vector<std::string> >::const_iterator it = dups_.begin();
++ for(boost::unordered_map<std::string, std::vector<std::string> >::const_iterator it = dups_.begin();
+ it != dups_.end();
+ ++it)
+ {
+@@ -532,7 +532,7 @@ void
+ Rosstackage::listDuplicatesWithPaths(std::map<std::string, std::vector<std::string> >& dups)
+ {
+ dups.clear();
+- for(std::tr1::unordered_map<std::string, std::vector<std::string> >::const_iterator it = dups_.begin();
++ for(boost::unordered_map<std::string, std::vector<std::string> >::const_iterator it = dups_.begin();
+ it != dups_.end();
+ ++it)
+ {
+@@ -598,7 +598,7 @@ Rosstackage::depsIndent(const std::string& name, bool direct,
+ {
+ computeDeps(stackage);
+ std::vector<Stackage*> deps_vec;
+- std::tr1::unordered_set<Stackage*> deps_hash;
++ boost::unordered_set<Stackage*> deps_hash;
+ std::vector<std::string> indented_deps;
+ gatherDepsFull(stackage, direct, POSTORDER, 0, deps_hash, deps_vec, true, indented_deps);
+ for(std::vector<std::string>::const_iterator it = indented_deps.begin();
+@@ -1089,7 +1089,7 @@ Rosstackage::plugins(const std::string& name, const std::string& attrib,
+ if(!depsOnDetail(name, true, stackages, true))
+ return false;
+ // Also look in the package itself
+- std::tr1::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.find(name);
++ boost::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.find(name);
+ if(it != stackages_.end())
+ {
+ // don't warn here; it was done in depsOnDetail()
+@@ -1102,7 +1102,7 @@ Rosstackage::plugins(const std::string& name, const std::string& attrib,
+ std::vector<Stackage*> top_deps;
+ if(!depsDetail(top, false, top_deps))
+ return false;
+- std::tr1::unordered_set<Stackage*> top_deps_set;
++ boost::unordered_set<Stackage*> top_deps_set;
+ for(std::vector<Stackage*>::iterator it = top_deps.begin();
+ it != top_deps.end();
+ ++it)
+@@ -1292,7 +1292,7 @@ Rosstackage::depsOnDetail(const std::string& name, bool direct,
+ }
+ try
+ {
+- for(std::tr1::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.begin();
++ for(boost::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.begin();
+ it != stackages_.end();
+ ++it)
+ {
+@@ -1327,7 +1327,7 @@ Rosstackage::profile(const std::vector<std::string>& search_path,
+ {
+ double start = time_since_epoch();
+ std::vector<DirectoryCrawlRecord*> dcrs;
+- std::tr1::unordered_set<std::string> dcrs_hash;
++ boost::unordered_set<std::string> dcrs_hash;
+ for(std::vector<std::string>::const_iterator p = search_path.begin();
+ p != search_path.end();
+ ++p)
+@@ -1437,7 +1437,7 @@ Rosstackage::crawlDetail(const std::string& path,
+ int depth,
+ bool collect_profile_data,
+ std::vector<DirectoryCrawlRecord*>& profile_data,
+- std::tr1::unordered_set<std::string>& profile_hash)
++ boost::unordered_set<std::string>& profile_hash)
+ {
+ if(depth > MAX_CRAWL_DEPTH)
+ throw Exception("maximum depth exceeded during crawl");
+@@ -1786,7 +1786,7 @@ Rosstackage::gatherDeps(Stackage* stackage, bool direct,
+ std::vector<Stackage*>& deps,
+ bool no_recursion_on_wet)
+ {
+- std::tr1::unordered_set<Stackage*> deps_hash;
++ boost::unordered_set<Stackage*> deps_hash;
+ std::vector<std::string> indented_deps;
+ gatherDepsFull(stackage, direct, order, 0,
+ deps_hash, deps, false, indented_deps, no_recursion_on_wet);
+@@ -1795,7 +1795,7 @@ Rosstackage::gatherDeps(Stackage* stackage, bool direct,
+ void
+ _gatherDepsFull(Stackage* stackage, bool direct,
+ traversal_order_t order, int depth,
+- std::tr1::unordered_set<Stackage*>& deps_hash,
++ boost::unordered_set<Stackage*>& deps_hash,
+ std::vector<Stackage*>& deps,
+ bool get_indented_deps,
+ std::vector<std::string>& indented_deps,
+@@ -1881,7 +1881,7 @@ _gatherDepsFull(Stackage* stackage, bool direct,
+ void
+ Rosstackage::gatherDepsFull(Stackage* stackage, bool direct,
+ traversal_order_t order, int depth,
+- std::tr1::unordered_set<Stackage*>& deps_hash,
++ boost::unordered_set<Stackage*>& deps_hash,
+ std::vector<Stackage*>& deps,
+ bool get_indented_deps,
+ std::vector<std::string>& indented_deps,
+@@ -2068,7 +2068,7 @@ Rosstackage::writeCache()
+ {
+ char *rpp = getenv("ROS_PACKAGE_PATH");
+ fprintf(cache, "#ROS_PACKAGE_PATH=%s\n", (rpp ? rpp : ""));
+- for(std::tr1::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.begin();
++ for(boost::unordered_map<std::string, Stackage*>::const_iterator it = stackages_.begin();
+ it != stackages_.end();
+ ++it)
+ fprintf(cache, "%s\n", it->second->path_.c_str());
+diff --git a/src/utils.cpp b/src/utils.cpp
+index 97a557a..f41a00e 100644
+--- a/src/utils.cpp
++++ b/src/utils.cpp
+@@ -28,7 +28,7 @@
+ #include <string>
+ #include <vector>
+ #include <boost/algorithm/string.hpp>
+-#include <boost/tr1/unordered_set.hpp>
++#include <boost/unordered_set.hpp>
+
+ #include "utils.h"
+
+@@ -41,7 +41,7 @@ deduplicate_tokens(const std::string& instring,
+ std::string& outstring)
+ {
+ std::vector<std::string> vec;
+- std::tr1::unordered_set<std::string> set;
++ boost::unordered_set<std::string> set;
+ boost::split(vec, instring,
+ boost::is_any_of("\t "),
+ boost::token_compress_on);
diff --git a/dev-ros/rospack/files/gentoo.patch b/dev-ros/rospack/files/gentoo.patch
new file mode 100644
index 000000000000..7090d7b02dd7
--- /dev/null
+++ b/dev-ros/rospack/files/gentoo.patch
@@ -0,0 +1,18 @@
+Index: rospack-2.3.1/src/rospack.cpp
+===================================================================
+--- rospack-2.3.1.orig/src/rospack.cpp
++++ rospack-2.3.1/src/rospack.cpp
+@@ -191,6 +191,13 @@ class Stackage
+ break;
+ }
+ }
++
++ // On Gentoo we move package.xml to /usr/share/ros_packages/... but need to keep standard stuff in /usr/share, so correct this here.
++ try {
++ fs::path p = fs::canonical("../../" + name_, path_);
++ path_ = p.string();
++ }
++ catch(fs::filesystem_error& e) {};
+ }
+
+ bool isStack() const
diff --git a/dev-ros/rospack/metadata.xml b/dev-ros/rospack/metadata.xml
new file mode 100644
index 000000000000..38f7385bd7d2
--- /dev/null
+++ b/dev-ros/rospack/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ros@gentoo.org</email>
+ <name>Gentoo ROS Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ros/rospack</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ros/rospack/rospack-2.4.2.ebuild b/dev-ros/rospack/rospack-2.4.2.ebuild
new file mode 100644
index 000000000000..0e082cdfb01d
--- /dev/null
+++ b/dev-ros/rospack/rospack-2.4.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+ROS_REPO_URI="https://github.com/ros/rospack"
+KEYWORDS="~amd64 ~arm"
+
+inherit ros-catkin
+
+DESCRIPTION="Retrieves information about ROS packages available on the filesystem"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/tinyxml2:=
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ >=dev-ros/cmake_modules-0.4.1
+ test? (
+ dev-cpp/gtest
+ dev-python/nose
+ )"
+
+PATCHES=(
+ "${FILESDIR}/gentoo.patch"
+ "${FILESDIR}/boost165.patch"
+)
diff --git a/dev-ros/rospack/rospack-9999.ebuild b/dev-ros/rospack/rospack-9999.ebuild
new file mode 100644
index 000000000000..18b9f633ad3f
--- /dev/null
+++ b/dev-ros/rospack/rospack-9999.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+ROS_REPO_URI="https://github.com/ros/rospack"
+KEYWORDS="~amd64 ~arm"
+
+inherit ros-catkin
+
+DESCRIPTION="Retrieves information about ROS packages available on the filesystem"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/tinyxml2:=
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ >=dev-ros/cmake_modules-0.4.1
+ test? (
+ dev-cpp/gtest
+ dev-python/nose
+ )"
+
+PATCHES=(
+ "${FILESDIR}/gentoo.patch"
+)