summaryrefslogtreecommitdiff
path: root/dev-ros/roslaunch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ros/roslaunch')
-rw-r--r--dev-ros/roslaunch/Manifest16
-rw-r--r--dev-ros/roslaunch/files/40roslaunch1
-rw-r--r--dev-ros/roslaunch/files/roscore.confd1
-rwxr-xr-xdev-ros/roslaunch/files/roscore.initd24
-rw-r--r--dev-ros/roslaunch/files/roscore.xml.in13
-rw-r--r--dev-ros/roslaunch/files/roslaunch.confd2
-rwxr-xr-xdev-ros/roslaunch/files/roslaunch.initd37
-rw-r--r--dev-ros/roslaunch/files/timeout.patch18
-rw-r--r--dev-ros/roslaunch/metadata.xml11
-rw-r--r--dev-ros/roslaunch/roslaunch-1.13.0.ebuild63
-rw-r--r--dev-ros/roslaunch/roslaunch-1.13.1.ebuild63
-rw-r--r--dev-ros/roslaunch/roslaunch-1.13.2.ebuild63
-rw-r--r--dev-ros/roslaunch/roslaunch-9999.ebuild63
13 files changed, 375 insertions, 0 deletions
diff --git a/dev-ros/roslaunch/Manifest b/dev-ros/roslaunch/Manifest
new file mode 100644
index 000000000000..cdee19fdc03a
--- /dev/null
+++ b/dev-ros/roslaunch/Manifest
@@ -0,0 +1,16 @@
+AUX 40roslaunch 41 SHA256 c4eb16ca4c2983b10e553fc99f13d3b1f88f012f7d110c267d6af7a13ecb904f SHA512 1b32e0967267e2d6f40583f3463e989f52ff2aeb243fd3b96647e946c95bab553a0b969407579ea3b700234fd554ff23a4208562ffb741c0a5a47a42da28525a WHIRLPOOL e41da9830f0b3675ffd9d3c15611d84bb2175f655d2cd01447ad30f5f3fecf196825f70be9f306e0ad1d9d054b60bbc2876ed9d0667216ce4bff521f0094fecf
+AUX roscore.confd 9 SHA256 72b95e5818f8164b7db8590d893c1cd4ed28bb7c353673b3876b877528d1e032 SHA512 91af98d3c1f567572e0d995b68f268cefe8abaff46b58499fdd11845809947e858c8d133c6b4428115f0a62db6eb847495bf462619a7fa7c233bf3a97dc9f0bc WHIRLPOOL 5eddb0c652c8407875d5c2aa096b7aeb1da274fd395a9c6a90f89ccce695f089820ddbf75a05219e830a9603e98ec660382fd5c32f8d78f0b4a3e427f5b82258
+AUX roscore.initd 536 SHA256 ffb34f4c147abb438aa9da2fb9459dc678d051a11381a3737c70ced9a1cd7aaa SHA512 b46522a0da35f9ad5c009bbb8cedc17b79986ee833042cc3991a1b4f61f89f7065c8c49a48ac5544c06b5c7dbdbcfac197df99b8811d4a9d4a36b0003806572b WHIRLPOOL 41cb3cc4586ab82a2b7617edf2824691ed8e5262cf5df9ec3f1cc16b8c586d5113ab4ea2424ff68dd6cae5464b16133169b7f2aa988739d427cd4453db1d096b
+AUX roscore.xml.in 347 SHA256 0724e25434a9a2fda7e3e4b426bd80f4caf9dcc244f5c49bbe3f2c37a8cce475 SHA512 fff18b8f4ffdf3f3e6cdc3b33cdb386dabaab769f3bac995cb3c29243c8380b13898cd5892026e9dee459f88f4f05886c052696b2f081fbbb393ade148fda0f6 WHIRLPOOL d6ce8f9b708ca6bb5f9b2300bcf7b9f6a4cc73bce655b995b444b0567d1907858e6cbff7941d2b7937833ac11db6f5a1b7de3f33a1bc859b02dfb83a0eb741e0
+AUX roslaunch.confd 46 SHA256 c87a2f90fa3c623909bd35fdeec745736242af22feabfb92d3fc9095986b9b5e SHA512 0a86b0beb7b4bad2c01f3814070d27a3c85a99629ab26fa3aa6cce19d178d500c912665b152403cf7301f210e3cf9e6bd03103c3654b1ef61dae165ba5ac704d WHIRLPOOL d19f31c4eae6fd1c3db2d260dbab7806cd0c90cee3b8a225a64957aba4bd2577dea39aff2324a2d0a3d3ee198ee2be911057dee03528c18f8823f687052c5c4a
+AUX roslaunch.initd 918 SHA256 ed0cf6dbfcf2b17e94c7ed6d80ecb3ec1eede630aaeb13320f44a3420fb1b821 SHA512 af14f8f53ce2aba8f430dd244e577832543a632508eb388717671e26b38b139da6312800ce3b71a799dd7ffb5c6f2f8323be3c51c478444aaaa25568c9bcfa52 WHIRLPOOL d98c2d1e2ca8c5ba459f95f4d3b200c5d0a053c27de684df15e3286c7d451cccae5ae8e5452bbfcdd1e5e68609f6dbda1453f32dc0e3cf4b96647b5316902060
+AUX timeout.patch 623 SHA256 e691ea55b6c57fadd9e21c20af58a736b191f7c0bde420b840c363f4f67f407a SHA512 56ded8178faab6d74245479afe013fbffc984037263cae502ec411ce5e681efa6a8d11fc3b2083673df3e69a011db0c2e0992c5900fa5409338f7be84b0ea843 WHIRLPOOL cfe840cba088ca4aedc51b2885a89b2072095437df71fe8de6036fbf461048225dbfbebc4af7f3de8bac9b7aff040d41344163b3524a0a16f65bc49c2b8db0fd
+DIST ros_comm-1.13.0.tar.gz 974811 SHA256 01eee591e0462e267da5c01537faf609c11497b578d4426818919514a8589ea6 SHA512 8cd0f8cb40d51293946a87da0614921150aa87d168e0d38981f0b7eef3c0f514f14ff613efd192c9c898b3a90fedd0cba21a9f337a197377fd946f427369c60b WHIRLPOOL 6054aca71a7afb0a202b2b8e7baf9b06c51e41f86da0959909bfe130a63a88c684a385b7ef6f9ed8ce2c7c766d6ef78ef83fd8bd97b0cc519717087050122307
+DIST ros_comm-1.13.1.tar.gz 1005522 SHA256 da0797365fb88a41005219079bd034e7e04218b75f28d0275d6e5327be3bc903 SHA512 92248a91d7b7b6defd8607d70e5a09c43c9bc242cfc5574acd5b08c3f9b765144c848c0f72551bb2e19789a345c31f43ed420a9e3e7fbe38bf47adeb7c52a9d7 WHIRLPOOL 746e56a5ebc9e500eb7e333c88259aa20d7685930f30a8bf71982f1cef9c7c14ac28d758adbd13d89b66ca6e1ec01816ce6541fe8817b188bf05e3f477914a4a
+DIST ros_comm-1.13.2.tar.gz 1007451 SHA256 d1c054d77cf61372377a5eac415a2c1da2c7732c43220160ab752ea93294b4e3 SHA512 eac7ee469bbdb622bc69e5239dea7e7dc97bec7b7e51a8ee49f18756cba753387e884ccd651e201e01985d23f908828c7ae94c311889557caeb742ddcad2e1b9 WHIRLPOOL 2738e4232521c4cfcac523a6ba8508e7de16bfd407d3c7e29c8cf9d172e816590b600165ebac37187ac462d14fbfe4bcfbc2883aaf65db0f28dec3ceeaa0a113
+EBUILD roslaunch-1.13.0.ebuild 1439 SHA256 ebd44236d02ad259341322ddf476b9bc0974224023e99dba35e2fe783564d8b1 SHA512 4e41004097cae99b8b2876daf760eb4a4238ad5558203e623c45cdc91f966597a0ad3599e52cd8c715bd02c9f17b7b347e7bc85f7de6ecf92697ea56508446fa WHIRLPOOL cf4f8bd1f2af7ac09c374c8dce19a3b25450e8c34a0c6a85eb793ee3e280f7e670386a23737814f6df13aa0ce47848e0b774c1273ba45e951f606e76e518082b
+EBUILD roslaunch-1.13.1.ebuild 1439 SHA256 ebd44236d02ad259341322ddf476b9bc0974224023e99dba35e2fe783564d8b1 SHA512 4e41004097cae99b8b2876daf760eb4a4238ad5558203e623c45cdc91f966597a0ad3599e52cd8c715bd02c9f17b7b347e7bc85f7de6ecf92697ea56508446fa WHIRLPOOL cf4f8bd1f2af7ac09c374c8dce19a3b25450e8c34a0c6a85eb793ee3e280f7e670386a23737814f6df13aa0ce47848e0b774c1273ba45e951f606e76e518082b
+EBUILD roslaunch-1.13.2.ebuild 1439 SHA256 ebd44236d02ad259341322ddf476b9bc0974224023e99dba35e2fe783564d8b1 SHA512 4e41004097cae99b8b2876daf760eb4a4238ad5558203e623c45cdc91f966597a0ad3599e52cd8c715bd02c9f17b7b347e7bc85f7de6ecf92697ea56508446fa WHIRLPOOL cf4f8bd1f2af7ac09c374c8dce19a3b25450e8c34a0c6a85eb793ee3e280f7e670386a23737814f6df13aa0ce47848e0b774c1273ba45e951f606e76e518082b
+EBUILD roslaunch-9999.ebuild 1439 SHA256 ebd44236d02ad259341322ddf476b9bc0974224023e99dba35e2fe783564d8b1 SHA512 4e41004097cae99b8b2876daf760eb4a4238ad5558203e623c45cdc91f966597a0ad3599e52cd8c715bd02c9f17b7b347e7bc85f7de6ecf92697ea56508446fa WHIRLPOOL cf4f8bd1f2af7ac09c374c8dce19a3b25450e8c34a0c6a85eb793ee3e280f7e670386a23737814f6df13aa0ce47848e0b774c1273ba45e951f606e76e518082b
+MISC ChangeLog 4107 SHA256 b8a2976a60776919c0607b8723b529593057cbb7cf98694ac220e09eb3d0c624 SHA512 922c1161b7853cf5a66223646157d0b605d1b46b34f52ccf41fcd0ba9e15041d5e2db094f82c0034b1bec5ac0a6508b4437bca5a1cc1950b130fdd75a1b5a166 WHIRLPOOL b429cf5fa2ce9d8d0031df28ae63e189e160683ece3816e753bb44955911a0a0fc48558bccda16c80c9a48486055d7a499945293af89bfe308f09e63a6ec12a4
+MISC metadata.xml 326 SHA256 968d5ca5c210d9077ce8d32b6d7321aa97b73b1f62463f24b378e7b092957070 SHA512 6f647154c02825982d150588332801ad4c10c75cc5997b7825c0dd0381f48f6a3d09bf88346bc3e075891e77ca43a0a4c9f9c65962fd791085385c4229a1eb45 WHIRLPOOL d6adc09339bfe562a7e13e489309d84ffc4d42ef02928655532584396ec7a0479c1db8f9c3c436784fbae937da3e0e8b3f9a413999aa4e4a26d575bc4b08a325
diff --git a/dev-ros/roslaunch/files/40roslaunch b/dev-ros/roslaunch/files/40roslaunch
new file mode 100644
index 000000000000..1e8f4dadcf29
--- /dev/null
+++ b/dev-ros/roslaunch/files/40roslaunch
@@ -0,0 +1 @@
+ROS_MASTER_URI="http://localhost:11311/"
diff --git a/dev-ros/roslaunch/files/roscore.confd b/dev-ros/roslaunch/files/roscore.confd
new file mode 100644
index 000000000000..3c689cd9bd81
--- /dev/null
+++ b/dev-ros/roslaunch/files/roscore.confd
@@ -0,0 +1 @@
+LC_ALL=C
diff --git a/dev-ros/roslaunch/files/roscore.initd b/dev-ros/roslaunch/files/roscore.initd
new file mode 100755
index 000000000000..3df4be4006b9
--- /dev/null
+++ b/dev-ros/roslaunch/files/roscore.initd
@@ -0,0 +1,24 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after net
+}
+
+start() {
+ ebegin "Starting ROS server roscore"
+ start-stop-daemon --start \
+ --user ros --group ros \
+ -m --pidfile /var/run/roscore.pid \
+ --exec "/usr/bin/roscore" --background
+ eend $? "Failed to start roscore"
+}
+
+stop() {
+ ebegin "Stopping roscore"
+ start-stop-daemon --stop \
+ --pidfile /var/run/roscore.pid \
+ --exec "/usr/bin/roscore"
+ eend $? "Failed to stop roscore"
+}
diff --git a/dev-ros/roslaunch/files/roscore.xml.in b/dev-ros/roslaunch/files/roscore.xml.in
new file mode 100644
index 000000000000..1730d4259781
--- /dev/null
+++ b/dev-ros/roslaunch/files/roscore.xml.in
@@ -0,0 +1,13 @@
+<!--
+ ROS Core Stack definition
+
+ Before making any modifications to this file, please read:
+ http://ros.org/wiki/roscore
+ -->
+<launch>
+ <group ns="/">
+ <param name="rosversion" value="@PKG_VERSION@" />
+ <param name="rosdistro" value="Gentoo" />
+ <node pkg="rosout" type="rosout" name="rosout" respawn="true"/>
+ </group>
+</launch>
diff --git a/dev-ros/roslaunch/files/roslaunch.confd b/dev-ros/roslaunch/files/roslaunch.confd
new file mode 100644
index 000000000000..4d7bd633546b
--- /dev/null
+++ b/dev-ros/roslaunch/files/roslaunch.confd
@@ -0,0 +1,2 @@
+LC_ALL=C
+ROSLAUNCH_FILE="/etc/ros/ros.launch"
diff --git a/dev-ros/roslaunch/files/roslaunch.initd b/dev-ros/roslaunch/files/roslaunch.initd
new file mode 100755
index 000000000000..af38d2abbe68
--- /dev/null
+++ b/dev-ros/roslaunch/files/roslaunch.initd
@@ -0,0 +1,37 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need roscore
+}
+
+checkconfig() {
+ [ -f "${ROSLAUNCH_FILE}" ]
+ eend $? "You need to define ROSLAUNCH_FILE and point it to a correct location (${ROSLAUNCH_FILE} does not exist)"
+}
+
+start() {
+ checkconfig || exit 1
+ ebegin "Waiting for roscore"
+
+ val=${ROS_MASTER_URI#http://}
+ dest=$(echo ${val%/} | tr ':' ' ')
+ while ! echo exit | nc ${dest} &> /dev/null; do sleep 1; done
+
+ ebegin "Starting ROS via roslaunch"
+ start-stop-daemon --start \
+ --user ros --group ros \
+ -m --pidfile /var/run/roslaunch.pid \
+ --exec "/usr/bin/roslaunch" --background \
+ -- ${ROSLAUNCH_FILE}
+ eend $? "Failed to start ROS"
+}
+
+stop() {
+ ebegin "Stopping roslaunch"
+ start-stop-daemon --stop \
+ --pidfile /var/run/roslaunch.pid \
+ --exec "/usr/bin/roslaunch"
+ eend $? "Failed to stop roslaunch"
+}
diff --git a/dev-ros/roslaunch/files/timeout.patch b/dev-ros/roslaunch/files/timeout.patch
new file mode 100644
index 000000000000..169b12813c70
--- /dev/null
+++ b/dev-ros/roslaunch/files/timeout.patch
@@ -0,0 +1,18 @@
+Slow HW like the raspberry pi easily hit this timeout over NFS.
+Increase it to 1 min.
+
+diff --git a/tools/roslaunch/src/roslaunch/launch.py b/tools/roslaunch/src/roslaunch/launch.py
+index 9a3b931..8e33c0c 100644
+--- a/tools/roslaunch/src/roslaunch/launch.py
++++ b/tools/roslaunch/src/roslaunch/launch.py
+@@ -57,8 +57,8 @@ from roslaunch.pmon import start_process_monitor, ProcessListener
+
+ from roslaunch.rlutil import update_terminal_name
+
+-_TIMEOUT_MASTER_START = 10.0 #seconds
+-_TIMEOUT_MASTER_STOP = 10.0 #seconds
++_TIMEOUT_MASTER_START = 60.0 #seconds
++_TIMEOUT_MASTER_STOP = 60.0 #seconds
+
+ _ID = '/roslaunch'
+
diff --git a/dev-ros/roslaunch/metadata.xml b/dev-ros/roslaunch/metadata.xml
new file mode 100644
index 000000000000..21df0d03b028
--- /dev/null
+++ b/dev-ros/roslaunch/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/ros_comm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ros/roslaunch/roslaunch-1.13.0.ebuild b/dev-ros/roslaunch/roslaunch-1.13.0.ebuild
new file mode 100644
index 000000000000..a728c34f206b
--- /dev/null
+++ b/dev-ros/roslaunch/roslaunch-1.13.0.ebuild
@@ -0,0 +1,63 @@
+# 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/ros_comm"
+KEYWORDS="~amd64 ~arm"
+ROS_SUBDIR=tools/${PN}
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
+
+inherit ros-catkin user
+
+DESCRIPTION="Tool for easily launching multiple ROS nodes"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ dev-ros/roslib[${PYTHON_USEDEP}]
+ dev-python/rospkg[${PYTHON_USEDEP}]
+ dev-ros/rosclean[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-ros/rosgraph_msgs[${CATKIN_MESSAGES_PYTHON_USEDEP}]
+ dev-ros/rosparam[${PYTHON_USEDEP}]
+ dev-ros/rosmaster[${PYTHON_USEDEP}]
+ dev-ros/rosout
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-util/rosdep[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-ros/test_rosmaster
+ )"
+PATCHES=( "${FILESDIR}/timeout.patch" )
+
+src_test() {
+ rosdep update
+ ros-catkin_src_test
+}
+
+src_install() {
+ ros-catkin_src_install
+
+ dodir /etc/ros
+ sed -e "s/@PKG_VERSION@/${PV}/" "${FILESDIR}/roscore.xml.in" > "${ED}/etc/ros/roscore.xml" || die
+
+ newinitd "${FILESDIR}/roscore.initd" roscore
+ newconfd "${FILESDIR}/roscore.confd" roscore
+
+ newinitd "${FILESDIR}/roslaunch.initd" roslaunch
+ newconfd "${FILESDIR}/roslaunch.confd" roslaunch
+
+ doenvd "${FILESDIR}/40roslaunch"
+
+ # Needed by test_roslaunch
+ insinto /usr/share/${PN}
+ doins test/xml/noop.launch
+}
+
+pkg_preinst() {
+ enewgroup ros
+ enewuser ros -1 -1 /home/ros ros
+}
diff --git a/dev-ros/roslaunch/roslaunch-1.13.1.ebuild b/dev-ros/roslaunch/roslaunch-1.13.1.ebuild
new file mode 100644
index 000000000000..a728c34f206b
--- /dev/null
+++ b/dev-ros/roslaunch/roslaunch-1.13.1.ebuild
@@ -0,0 +1,63 @@
+# 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/ros_comm"
+KEYWORDS="~amd64 ~arm"
+ROS_SUBDIR=tools/${PN}
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
+
+inherit ros-catkin user
+
+DESCRIPTION="Tool for easily launching multiple ROS nodes"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ dev-ros/roslib[${PYTHON_USEDEP}]
+ dev-python/rospkg[${PYTHON_USEDEP}]
+ dev-ros/rosclean[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-ros/rosgraph_msgs[${CATKIN_MESSAGES_PYTHON_USEDEP}]
+ dev-ros/rosparam[${PYTHON_USEDEP}]
+ dev-ros/rosmaster[${PYTHON_USEDEP}]
+ dev-ros/rosout
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-util/rosdep[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-ros/test_rosmaster
+ )"
+PATCHES=( "${FILESDIR}/timeout.patch" )
+
+src_test() {
+ rosdep update
+ ros-catkin_src_test
+}
+
+src_install() {
+ ros-catkin_src_install
+
+ dodir /etc/ros
+ sed -e "s/@PKG_VERSION@/${PV}/" "${FILESDIR}/roscore.xml.in" > "${ED}/etc/ros/roscore.xml" || die
+
+ newinitd "${FILESDIR}/roscore.initd" roscore
+ newconfd "${FILESDIR}/roscore.confd" roscore
+
+ newinitd "${FILESDIR}/roslaunch.initd" roslaunch
+ newconfd "${FILESDIR}/roslaunch.confd" roslaunch
+
+ doenvd "${FILESDIR}/40roslaunch"
+
+ # Needed by test_roslaunch
+ insinto /usr/share/${PN}
+ doins test/xml/noop.launch
+}
+
+pkg_preinst() {
+ enewgroup ros
+ enewuser ros -1 -1 /home/ros ros
+}
diff --git a/dev-ros/roslaunch/roslaunch-1.13.2.ebuild b/dev-ros/roslaunch/roslaunch-1.13.2.ebuild
new file mode 100644
index 000000000000..a728c34f206b
--- /dev/null
+++ b/dev-ros/roslaunch/roslaunch-1.13.2.ebuild
@@ -0,0 +1,63 @@
+# 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/ros_comm"
+KEYWORDS="~amd64 ~arm"
+ROS_SUBDIR=tools/${PN}
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
+
+inherit ros-catkin user
+
+DESCRIPTION="Tool for easily launching multiple ROS nodes"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ dev-ros/roslib[${PYTHON_USEDEP}]
+ dev-python/rospkg[${PYTHON_USEDEP}]
+ dev-ros/rosclean[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-ros/rosgraph_msgs[${CATKIN_MESSAGES_PYTHON_USEDEP}]
+ dev-ros/rosparam[${PYTHON_USEDEP}]
+ dev-ros/rosmaster[${PYTHON_USEDEP}]
+ dev-ros/rosout
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-util/rosdep[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-ros/test_rosmaster
+ )"
+PATCHES=( "${FILESDIR}/timeout.patch" )
+
+src_test() {
+ rosdep update
+ ros-catkin_src_test
+}
+
+src_install() {
+ ros-catkin_src_install
+
+ dodir /etc/ros
+ sed -e "s/@PKG_VERSION@/${PV}/" "${FILESDIR}/roscore.xml.in" > "${ED}/etc/ros/roscore.xml" || die
+
+ newinitd "${FILESDIR}/roscore.initd" roscore
+ newconfd "${FILESDIR}/roscore.confd" roscore
+
+ newinitd "${FILESDIR}/roslaunch.initd" roslaunch
+ newconfd "${FILESDIR}/roslaunch.confd" roslaunch
+
+ doenvd "${FILESDIR}/40roslaunch"
+
+ # Needed by test_roslaunch
+ insinto /usr/share/${PN}
+ doins test/xml/noop.launch
+}
+
+pkg_preinst() {
+ enewgroup ros
+ enewuser ros -1 -1 /home/ros ros
+}
diff --git a/dev-ros/roslaunch/roslaunch-9999.ebuild b/dev-ros/roslaunch/roslaunch-9999.ebuild
new file mode 100644
index 000000000000..a728c34f206b
--- /dev/null
+++ b/dev-ros/roslaunch/roslaunch-9999.ebuild
@@ -0,0 +1,63 @@
+# 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/ros_comm"
+KEYWORDS="~amd64 ~arm"
+ROS_SUBDIR=tools/${PN}
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
+
+inherit ros-catkin user
+
+DESCRIPTION="Tool for easily launching multiple ROS nodes"
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ dev-ros/roslib[${PYTHON_USEDEP}]
+ dev-python/rospkg[${PYTHON_USEDEP}]
+ dev-ros/rosclean[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-ros/rosgraph_msgs[${CATKIN_MESSAGES_PYTHON_USEDEP}]
+ dev-ros/rosparam[${PYTHON_USEDEP}]
+ dev-ros/rosmaster[${PYTHON_USEDEP}]
+ dev-ros/rosout
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-util/rosdep[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-ros/test_rosmaster
+ )"
+PATCHES=( "${FILESDIR}/timeout.patch" )
+
+src_test() {
+ rosdep update
+ ros-catkin_src_test
+}
+
+src_install() {
+ ros-catkin_src_install
+
+ dodir /etc/ros
+ sed -e "s/@PKG_VERSION@/${PV}/" "${FILESDIR}/roscore.xml.in" > "${ED}/etc/ros/roscore.xml" || die
+
+ newinitd "${FILESDIR}/roscore.initd" roscore
+ newconfd "${FILESDIR}/roscore.confd" roscore
+
+ newinitd "${FILESDIR}/roslaunch.initd" roslaunch
+ newconfd "${FILESDIR}/roslaunch.confd" roslaunch
+
+ doenvd "${FILESDIR}/40roslaunch"
+
+ # Needed by test_roslaunch
+ insinto /usr/share/${PN}
+ doins test/xml/noop.launch
+}
+
+pkg_preinst() {
+ enewgroup ros
+ enewuser ros -1 -1 /home/ros ros
+}