Gentoo Archives: gentoo-dev

From: wireless <wireless@×××××××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] New eclass: ros-catkin.eclass, new USE_EXPAND: ROS_MESSAGES, new categories: dev-ros and ros-meta for review.
Date: Tue, 22 Sep 2015 15:32:50
Message-Id: 560174AC.7000808@tampabay.rr.com
In Reply to: Re: [gentoo-dev] New eclass: ros-catkin.eclass, new USE_EXPAND: ROS_MESSAGES, new categories: dev-ros and ros-meta for review. by Alexis Ballier
1 On 09/22/2015 03:26 AM, Alexis Ballier wrote:
2 > On Thu, 17 Sep 2015 18:36:06 +0200
3 > Alexis Ballier <aballier@g.o> wrote:
4 >
5 >> Hi all,
6 >>
7 >> As part of an effort of bringing ros (http://www.ros.org/) to Gentoo,
8 >> I've come up with the following design:
9 >>
10 >> ros-catkin.eclass that is a template, merging all common code for
11 >> catkinized ros packages.
12 >>
13 >> ROS_MESSAGES will be a new USE_EXPANDed variable: ROS is message
14 >> based, processes write and listen to some topic, and a topic is typed
15 >> with a message. Messages are defined by simple text files but are then
16 >> pre-processed for easy usage in C++, Python & co.
17 >>
18 >> Several packages are usually bundled in a single repository, with a
19 >> meta-package pulling all the others. Hence, I came with two new
20 >> categories: dev-ros for single packages, ros-meta for those
21 >> meta-packages.
22 >>
23 >> Some numbers:
24 >> /bin/ls ros-meta | wc -l
25 >> 52
26 >> /bin/ls dev-ros | wc -l
27 >> 350
28 >>
29 >>
30 >> I think maybe half of them are in a state that they can be added to
31 >> gentoo-x86.
32 >>
33 >>
34 >> ebuild example:
35 >>
36 >> $ cat roslib-1.12.2.ebuild
37 >> # Copyright 1999-2014 Gentoo Foundation
38 >> # Distributed under the terms of the GNU General Public License v2
39 >> # $Header: $
40 >>
41 >> EAPI=5
42 >>
43 >> ROS_REPO_URI="https://github.com/ros/ros"
44 >> KEYWORDS="~amd64 ~arm"
45 >> PYTHON_COMPAT=( python{2_7,3_3,3_4} )
46 >> ROS_SUBDIR=core/${PN}
47 >>
48 >> inherit ros-catkin
49 >>
50 >> DESCRIPTION="Base dependencies and support libraries for ROS"
51 >> LICENSE="BSD"
52 >> SLOT="0"
53 >> IUSE=""
54 >>
55 >> RDEPEND="
56 >> dev-python/rospkg[${PYTHON_USEDEP}]
57 >> dev-libs/boost:=[threads]
58 >> dev-ros/rospack
59 >> "
60 >> DEPEND="${RDEPEND}
61 >> test? ( dev-ros/rosmake ros-meta/ros )"
62 >>
63 >>
64 >>
65 >>
66 >>
67 >> Eclass inlined at the end.
68 >>
69 >> Best regards,
70 >>
71 >> Alexis.
72 >
73 >
74 > Since there hasn't been comments in a few days, I'm proceeding with the
75 > above plan. (with hasufel's eclass review taken into account of course)
76 >
77 > Alexis.
78
79 Hi Alexis.
80
81 As a gentoo user, an ebuild hacker and engineer, I'd suggest you
82 include a wiki page for gentoo users, to document the gentoo specific
83 issues. I'm a big fan of the new gentoo wiki. Access to either a
84 'virtual robot', or where to purchase devices that use ROS, would at
85 least greatly facilitate folks to participate with ROS robotics codes.
86 Include links to the main ROS repos, and relevant other urls.
87 For example; one of the common things missing in such projects is
88 an example linux kernel, stripped to optimize only the size and
89 performance of the ROS devices and software. Showing this kernel .config
90 would be keen. At list discussion why some of the key kernel configs
91 are select is sorely missing in the world of robotic and UAVs, imho.
92
93 You may also what to include 'hooks' to relevant and commonly used
94 embedded boards with ROS hardware. I am working on clustering for gentoo
95 using mesos + zookeeper + apache-spark (we have 2/3 in overlays now).
96 Lots of robotic work now attempts to use the power of the cluster over
97 an Rf link and/or use many robots computational resources, as a mere
98 node in a cluster.
99
100
101 I for one have been looking for such a project, if It combines
102 robotics issues with (UAV) issues. After all, all UAVs are robots, with
103 additional constraints.
104
105
106 hth,
107 James

Replies