diff --git a/Makefile b/Makefile
index 829c3ee7d4ada0c3ddd1397c938a3934fea250c3..0842d9a785f1aec84b184e450940b2f3b30e5a8a 100644
--- a/Makefile
+++ b/Makefile
@@ -53,6 +53,7 @@ SUBDIR+=	ros-genmsg
 SUBDIR+=	ros-genpy
 SUBDIR+=	ros-langs-dev
 SUBDIR+=	ros-langs
+SUBDIR+=	ros-rx
 SUBDIR+=	ros-std-msgs
 SUBDIR+=	roscpp-core
 SUBDIR+=	rospack
diff --git a/ros-rx/DESCR b/ros-rx/DESCR
new file mode 100644
index 0000000000000000000000000000000000000000..2d5a8d9f281f54330f02aff5ae037e4dbaf305f6
--- /dev/null
+++ b/ros-rx/DESCR
@@ -0,0 +1,9 @@
+The rx stack contains GUI-related tools for using ROS, including:
+
+ . rxbag: ROS bag recording, playback and visualization
+
+ . rxgraph: ROS graph visualization
+
+ . rxplot: ROS topic data visualization
+
+ . rxconsole: ROS/rosout logging output
diff --git a/ros-rx/Makefile b/ros-rx/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..f27059ed757d4bb221b5c6fc6df31611f1e45ffc
--- /dev/null
+++ b/ros-rx/Makefile
@@ -0,0 +1,25 @@
+# robotpkg Makefile for:	middleware/ros-comm
+# Created:			Anthony Mallet on Tue,  9 Oct 2012
+#
+
+ROS_PKG=		rx
+ROS_VERSION=		1.8.9
+
+CATEGORIES=		graphics
+ROS_COMMENT=		GUI tools
+HOMEPAGE=		http://www.ros.org/wiki/rx
+
+include ../../wip/ros18-base/Makefile.common
+
+SUBST_CLASSES+=		py-distsetup
+
+include ../../wip/catkin/depend.mk
+include ../../wip/ros-comm/depend.mk
+include ../../wip/ros-core/depend.mk
+include ../../wip/rospack/depend.mk
+include ../../mk/sysdep/graphviz.mk
+include ../../mk/sysdep/py-matplotlib.mk
+include ../../mk/sysdep/py-wxpython.mk
+include ../../mk/sysdep/python.mk
+include ../../mk/sysdep/wxwidgets.mk
+include ../../mk/robotpkg.mk
diff --git a/ros-rx/PLIST b/ros-rx/PLIST
new file mode 100644
index 0000000000000000000000000000000000000000..5f418c919eab8afaa841e739f1f6753fbbd21448
--- /dev/null
+++ b/ros-rx/PLIST
@@ -0,0 +1,227 @@
+@comment Wed Oct 10 11:57:18 CEST 2012
+bin/rxbag
+bin/rxconsole
+bin/rxgraph
+bin/rxloggerlevel
+bin/rxplot
+lib/librxtools.so
+lib/pkgconfig/wxpython_swig_interface.pc
+${PYTHON_SITELIB}/rx-1.7.2-py${PYTHON_VERSION}.egg-info
+${PYTHON_SITELIB}/rxbag/__init__.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/bag_helper.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/bag_helper${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/bag_helper${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/player.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/player${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/player${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/plugin/__init__.py
+${PYTHON_SITELIB}/rxbag/plugin/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/plugin/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/plugin/message_view.py
+${PYTHON_SITELIB}/rxbag/plugin/${PYTHON_PYCACHE}/message_view${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/plugin/${PYTHON_PYCACHE}/message_view${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/plugin/timeline_renderer.py
+${PYTHON_SITELIB}/rxbag/plugin/${PYTHON_PYCACHE}/timeline_renderer${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/plugin/${PYTHON_PYCACHE}/timeline_renderer${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/plugin/topic_message_view.py
+${PYTHON_SITELIB}/rxbag/plugin/${PYTHON_PYCACHE}/topic_message_view${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/plugin/${PYTHON_PYCACHE}/topic_message_view${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/plugins.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/plugins${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/plugins${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/raw_view.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/raw_view${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/raw_view${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/recorder.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/recorder${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/recorder${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/rxbag_app.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/rxbag_app${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/rxbag_app${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/rxbag_main.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/rxbag_main${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/rxbag_main${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/timeline.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/timeline${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/timeline${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/timeline_cache.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/timeline_cache${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/timeline_cache${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/timeline_popup_menu.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/timeline_popup_menu${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/timeline_popup_menu${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/timeline_status_bar.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/timeline_status_bar${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/timeline_status_bar${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/timeline_toolbar.py
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/timeline_toolbar${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/${PYTHON_PYCACHE}/timeline_toolbar${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/util/__init__.py
+${PYTHON_SITELIB}/rxbag/util/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/util/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/util/base_frame.py
+${PYTHON_SITELIB}/rxbag/util/${PYTHON_PYCACHE}/base_frame${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/util/${PYTHON_PYCACHE}/base_frame${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxbag/util/progress_meter.py
+${PYTHON_SITELIB}/rxbag/util/${PYTHON_PYCACHE}/progress_meter${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxbag/util/${PYTHON_PYCACHE}/progress_meter${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxgraph/__init__.py
+${PYTHON_SITELIB}/rxgraph/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxgraph/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxgraph/dotcode.py
+${PYTHON_SITELIB}/rxgraph/${PYTHON_PYCACHE}/dotcode${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxgraph/${PYTHON_PYCACHE}/dotcode${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxgraph/impl.py
+${PYTHON_SITELIB}/rxgraph/${PYTHON_PYCACHE}/impl${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxgraph/${PYTHON_PYCACHE}/impl${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxgraph/viewer.py
+${PYTHON_SITELIB}/rxgraph/${PYTHON_PYCACHE}/viewer${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxgraph/${PYTHON_PYCACHE}/viewer${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxtools/__init__.py
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxtools/_rxtoolscpp.so
+${PYTHON_SITELIB}/rxtools/cppwidgets.py
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/cppwidgets${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/cppwidgets${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxtools/rosplot.py
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/rosplot${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/rosplot${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxtools/rxplot.py
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/rxplot${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/rxplot${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxtools/rxplot_main.py
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/rxplot_main${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/rxplot_main${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxtools/rxtoolscpp.py
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/rxtoolscpp${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/rxtoolscpp${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/rxtools/vizutil.py
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/vizutil${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/rxtools/${PYTHON_PYCACHE}/vizutil${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/wxPython_swig_interface/__init__.py
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/wxPython_swig_interface/_app_ex.py
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/_app_ex${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/_app_ex${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/wxPython_swig_interface/_core_ex.py
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/_core_ex${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/_core_ex${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/wxPython_swig_interface/_event_ex.py
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/_event_ex${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/_event_ex${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/wxPython_swig_interface/_intl_ex.py
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/_intl_ex${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/_intl_ex${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/wxPython_swig_interface/_xrc_ex.py
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/_xrc_ex${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/wxPython_swig_interface/${PYTHON_PYCACHE}/_xrc_ex${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/xdot/__init__.py
+${PYTHON_SITELIB}/xdot/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/xdot/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/xdot/wxxdot.py
+${PYTHON_SITELIB}/xdot/${PYTHON_PYCACHE}/wxxdot${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/xdot/${PYTHON_PYCACHE}/wxxdot${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/xdot/xdot.py
+${PYTHON_SITELIB}/xdot/${PYTHON_PYCACHE}/xdot${PYTHON_TAG}.pyc
+${PYTHON_SITELIB}/xdot/${PYTHON_PYCACHE}/xdot${PYTHON_TAG}.pyo
+share/rx/stack.xml
+share/rxbag//icons/end.png
+share/rxbag//icons/fastforward.png
+share/rxbag//icons/fastforward_active.png
+share/rxbag//icons/navigate_first.png
+share/rxbag//icons/navigate_last.png
+share/rxbag//icons/navigate_next.png
+share/rxbag//icons/navigate_previous.png
+share/rxbag//icons/play.png
+share/rxbag//icons/play_active.png
+share/rxbag//icons/record.png
+share/rxbag//icons/record_inactive.png
+share/rxbag//icons/rewind.png
+share/rxbag//icons/rewind_active.png
+share/rxbag//icons/start.png
+share/rxbag//icons/stop.png
+share/rxbag//icons/stop_active.png
+share/rxbag//icons/thumbnails.png
+share/rxbag//icons/thumbnails_off.png
+share/rxbag//icons/zoom.png
+share/rxbag//icons/zoom_in.png
+share/rxbag//icons/zoom_out.png
+share/rxbag/bin/rxbag
+share/rxbag/icons/end.png
+share/rxbag/icons/fastforward.png
+share/rxbag/icons/fastforward_active.png
+share/rxbag/icons/navigate_first.png
+share/rxbag/icons/navigate_last.png
+share/rxbag/icons/navigate_next.png
+share/rxbag/icons/navigate_previous.png
+share/rxbag/icons/play.png
+share/rxbag/icons/play_active.png
+share/rxbag/icons/record.png
+share/rxbag/icons/record_inactive.png
+share/rxbag/icons/rewind.png
+share/rxbag/icons/rewind_active.png
+share/rxbag/icons/start.png
+share/rxbag/icons/stop.png
+share/rxbag/icons/stop_active.png
+share/rxbag/icons/thumbnails.png
+share/rxbag/icons/thumbnails_off.png
+share/rxbag/icons/zoom.png
+share/rxbag/icons/zoom_in.png
+share/rxbag/icons/zoom_out.png
+share/rxbag/manifest.xml
+share/rxgraph/bin/rxgraph
+share/rxgraph/manifest.xml
+share/rxtools//icons/add-16.png
+share/rxtools//icons/delete-filter-16.png
+share/rxtools//icons/pause-16.png
+share/rxtools//icons/play-16.png
+share/rxtools//icons/stop-16.png
+share/rxtools/bin/rxconsole
+share/rxtools/bin/rxloggerlevel
+share/rxtools/bin/rxplot
+share/rxtools/icons/add-16.png
+share/rxtools/icons/delete-filter-16.png
+share/rxtools/icons/pause-16.png
+share/rxtools/icons/play-16.png
+share/rxtools/icons/stop-16.png
+share/rxtools/manifest.xml
+share/rxtools/src/rxtools//init_roscpp.h
+share/rxtools/src/rxtools//logger_level_panel.h
+share/rxtools/src/rxtools//rosout_filter.h
+share/rxtools/src/rxtools//rosout_generated.h
+share/rxtools/src/rxtools//rosout_list_control.h
+share/rxtools/src/rxtools//rosout_panel.h
+share/rxtools/src/rxtools//rosout_setup_dialog.h
+share/rxtools/src/rxtools//rosout_severity_filter.h
+share/rxtools/src/rxtools//rosout_severity_filter_control.h
+share/rxtools/src/rxtools//rosout_text_filter.h
+share/rxtools/src/rxtools//rosout_text_filter_control.h
+share/rxtools/src/rxtools//topic_display.h
+share/rxtools/src/rxtools//topic_display_dialog.h
+share/rxtools/src/rxtools//topic_display_generated.h
+share/rxtools/src/rxtools/init_roscpp.h
+share/rxtools/src/rxtools/logger_level_panel.h
+share/rxtools/src/rxtools/rosout_filter.h
+share/rxtools/src/rxtools/rosout_generated.h
+share/rxtools/src/rxtools/rosout_list_control.h
+share/rxtools/src/rxtools/rosout_panel.h
+share/rxtools/src/rxtools/rosout_setup_dialog.h
+share/rxtools/src/rxtools/rosout_severity_filter.h
+share/rxtools/src/rxtools/rosout_severity_filter_control.h
+share/rxtools/src/rxtools/rosout_text_filter.h
+share/rxtools/src/rxtools/rosout_text_filter_control.h
+share/rxtools/src/rxtools/topic_display.h
+share/rxtools/src/rxtools/topic_display_dialog.h
+share/rxtools/src/rxtools/topic_display_generated.h
+share/wxPython_swig_interface/manifest.xml
+share/wxpython_swig_interface/cmake/rx_wxPython-extras.cmake
+share/wxpython_swig_interface/cmake/wxpython_swig_interface-config-version.cmake
+share/wxpython_swig_interface/cmake/wxpython_swig_interface-config.cmake
+share/xdot/bin/dot_viewer.py
+share/xdot/bin/${PYTHON_PYCACHE}/dot_viewer${PYTHON_TAG}.pyc
+share/xdot/bin/${PYTHON_PYCACHE}/dot_viewer${PYTHON_TAG}.pyo
+share/xdot/manifest.xml
diff --git a/ros-rx/distinfo b/ros-rx/distinfo
new file mode 100644
index 0000000000000000000000000000000000000000..4649b4889283ee0c71aaa929a1fe5e064f754798
--- /dev/null
+++ b/ros-rx/distinfo
@@ -0,0 +1,3 @@
+SHA1 (ros-fuerte-rx_1.8.9.orig.tar.gz) = 65d6ccab4ffabad5a44e1a36804ac16ec8f5879c
+RMD160 (ros-fuerte-rx_1.8.9.orig.tar.gz) = 641de48544c887e106d7deb3eca183960b124984
+Size (ros-fuerte-rx_1.8.9.orig.tar.gz) = 563206 bytes