diff --git a/catkin/Makefile b/catkin/Makefile
index ceea45d459a42843276232688ab46eaeca6ed9ff..2b0ea8f1dd7eb9d18d277510f055f4049f706c32 100644
--- a/catkin/Makefile
+++ b/catkin/Makefile
@@ -4,7 +4,6 @@
 
 ROS_PKG=		catkin
 ROS_VERSION=		0.4.5
-ROS_COMMIT=		d4f1f24
 
 CATEGORIES=		devel
 ROS_COMMENT=		low-level build system macros and infrastructure
@@ -14,8 +13,6 @@ LICENSE=		modified-bsd
 
 include ../../wip/ros18-base/Makefile.common
 
-CMAKE_ARGS+=-DSETUPTOOLS_DEB_LAYOUT=OFF
-CMAKE_ARGS+=-DSETUPTOOLS_ARG_EXTRA=""
 CMAKE_ARGS+=-DPYTHON_PACKAGES_DIR=site-packages
 
 CMAKE_ARGS+=-DGTEST_ROOT=${PREFIX.googletest}
diff --git a/catkin/PLIST b/catkin/PLIST
index 58227e4dfd09e100cca3333e4f09151f6502b64e..6822c38319e45cd1f0d6418ab809e2d8216a957c 100644
--- a/catkin/PLIST
+++ b/catkin/PLIST
@@ -18,11 +18,23 @@ etc/catkin/profile.d/00.catkin.zsh
 lib/pkgconfig/catkin.pc
 ${PYTHON_SITELIB}/${PKGNAME}-py${PYTHON_VERSION}.egg-info
 ${PYTHON_SITELIB}/catkin/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyc
-${PYTHON_SITELIB}/catkin/__init__.py
 ${PYTHON_SITELIB}/catkin/${PYTHON_PYCACHE}/__init__${PYTHON_TAG}.pyo
+${PYTHON_SITELIB}/catkin/__init__.py
 setup.bash
 setup.sh
 setup.zsh
+share/catkin/cmake/${PYTHON_PYCACHE}/check_test_ran${PYTHON_TAG}.pyc
+share/catkin/cmake/${PYTHON_PYCACHE}/check_test_ran${PYTHON_TAG}.pyo
+share/catkin/cmake/${PYTHON_PYCACHE}/empy_util${PYTHON_TAG}.pyc
+share/catkin/cmake/${PYTHON_PYCACHE}/empy_util${PYTHON_TAG}.pyo
+share/catkin/cmake/${PYTHON_PYCACHE}/interrogate_setup_dot_py${PYTHON_TAG}.pyc
+share/catkin/cmake/${PYTHON_PYCACHE}/interrogate_setup_dot_py${PYTHON_TAG}.pyo
+share/catkin/cmake/${PYTHON_PYCACHE}/python_version${PYTHON_TAG}.pyc
+share/catkin/cmake/${PYTHON_PYCACHE}/python_version${PYTHON_TAG}.pyo
+share/catkin/cmake/${PYTHON_PYCACHE}/stack_get${PYTHON_TAG}.pyc
+share/catkin/cmake/${PYTHON_PYCACHE}/stack_get${PYTHON_TAG}.pyo
+share/catkin/cmake/${PYTHON_PYCACHE}/update_index${PYTHON_TAG}.pyc
+share/catkin/cmake/${PYTHON_PYCACHE}/update_index${PYTHON_TAG}.pyo
 share/catkin/cmake/Modules/eigen-config-version.cmake
 share/catkin/cmake/Modules/eigen-config.cmake
 share/catkin/cmake/all.cmake
@@ -39,8 +51,6 @@ share/catkin/cmake/catkin_python_setup.cmake
 share/catkin/cmake/catkin_stack.cmake
 share/catkin/cmake/catkin_workspace.cmake
 share/catkin/cmake/check_test_ran.py
-share/catkin/cmake/${PYTHON_PYCACHE}/check_test_ran${PYTHON_TAG}.pyc
-share/catkin/cmake/${PYTHON_PYCACHE}/check_test_ran${PYTHON_TAG}.pyo
 share/catkin/cmake/check_unused_arguments.cmake
 share/catkin/cmake/dummy_main.cpp
 share/catkin/cmake/eigen-config.cmake
@@ -50,13 +60,9 @@ share/catkin/cmake/em/topologically_traverse.cmake.em
 share/catkin/cmake/em_expand.cmake
 share/catkin/cmake/empy.cmake
 share/catkin/cmake/empy_util.py
-share/catkin/cmake/${PYTHON_PYCACHE}/empy_util${PYTHON_TAG}.pyc
-share/catkin/cmake/${PYTHON_PYCACHE}/empy_util${PYTHON_TAG}.pyo
 share/catkin/cmake/find_program_required.cmake
 share/catkin/cmake/install_matching_to_share.cmake
 share/catkin/cmake/interrogate_setup_dot_py.py
-share/catkin/cmake/${PYTHON_PYCACHE}/interrogate_setup_dot_py${PYTHON_TAG}.pyc
-share/catkin/cmake/${PYTHON_PYCACHE}/interrogate_setup_dot_py${PYTHON_TAG}.pyo
 share/catkin/cmake/libraries.cmake
 share/catkin/cmake/log.cmake
 share/catkin/cmake/parse_arguments.cmake
@@ -64,16 +70,12 @@ share/catkin/cmake/platform/lsb.cmake
 share/catkin/cmake/platform/ubuntu.cmake
 share/catkin/cmake/python.cmake
 share/catkin/cmake/python_version.py
-share/catkin/cmake/${PYTHON_PYCACHE}/python_version${PYTHON_TAG}.pyc
-share/catkin/cmake/${PYTHON_PYCACHE}/python_version${PYTHON_TAG}.pyo
 share/catkin/cmake/ros/ros-config.cmake
 share/catkin/cmake/rosbuild_compat.cmake
 share/catkin/cmake/safe_execute_process.cmake
 share/catkin/cmake/set_once.cmake
 share/catkin/cmake/shell.cmake
 share/catkin/cmake/stack_get.py
-share/catkin/cmake/${PYTHON_PYCACHE}/stack_get${PYTHON_TAG}.pyc
-share/catkin/cmake/${PYTHON_PYCACHE}/stack_get${PYTHON_TAG}.pyo
 share/catkin/cmake/stamp.cmake
 share/catkin/cmake/templates/Doxyfile.in
 share/catkin/cmake/templates/__init__.py.in
@@ -107,9 +109,9 @@ share/catkin/cmake/templates/update_project_index.py.in
 share/catkin/cmake/test/download_checkmd5.py
 share/catkin/cmake/test/${PYTHON_PYCACHE}/download_checkmd5${PYTHON_TAG}.pyc
 share/catkin/cmake/test/${PYTHON_PYCACHE}/download_checkmd5${PYTHON_TAG}.pyo
-share/catkin/cmake/test/runtests.py
 share/catkin/cmake/test/${PYTHON_PYCACHE}/runtests${PYTHON_TAG}.pyc
 share/catkin/cmake/test/${PYTHON_PYCACHE}/runtests${PYTHON_TAG}.pyo
+share/catkin/cmake/test/runtests.py
 share/catkin/cmake/tests.cmake
 share/catkin/cmake/tests.cmake.in
 share/catkin/cmake/tools/bz2.cmake
diff --git a/catkin/depend.mk b/catkin/depend.mk
new file mode 100644
index 0000000000000000000000000000000000000000..b8759a20981509de6c1ea07327711058869554a4
--- /dev/null
+++ b/catkin/depend.mk
@@ -0,0 +1,31 @@
+# robotpkg depend.mk for:	sysutils/py-rospkg
+# Created:			Anthony Mallet on Sun, 15 Jul 2012
+#
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH}+
+CATKIN_DEPEND_MK:=	${CATKIN_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=		catkin
+endif
+
+ifeq (+,$(CATKIN_DEPEND_MK)) # ---------------------------------------------
+
+PREFER.catkin?=		robotpkg
+
+DEPEND_USE+=		catkin
+
+DEPEND_METHOD.catkin?=	build
+DEPEND_ABI.catkin?=	catkin>=0.4
+DEPEND_DIR.catkin?=	../../wip/catkin
+
+SYSTEM_SEARCH.catkin=\
+	'lib/pkgconfig/catkin.pc:/Version/s/[^0-9.]//gp'	\
+	'${PYTHON_SYSLIBSEARCH}/catkin/__init__.py'
+
+include ../../mk/sysdep/python.mk
+include ../../mk/sysdep/cmake.mk
+
+endif # CATKIN_DEPEND_MK ---------------------------------------------------
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/catkin/distinfo b/catkin/distinfo
index 3612de707acb634a73b2d57d258dce94810096ab..1f12cc1cc1398184ae4a88e8b25e4bcc299f864b 100644
--- a/catkin/distinfo
+++ b/catkin/distinfo
@@ -1,4 +1,7 @@
-SHA1 (catkin-0.4.5.tar.gz) = 7f0725338a86b7e2bff6d5920b4dd8a8e20ea391
-RMD160 (catkin-0.4.5.tar.gz) = a0c598fcdf7712650358ae8dd440d3de824f06a1
-Size (catkin-0.4.5.tar.gz) = 96515 bytes
+SHA1 (ros-fuerte-catkin_0.4.5.orig.tar.gz) = ce783e55c139f98585442ed2c62f73eaccf79477
+RMD160 (ros-fuerte-catkin_0.4.5.orig.tar.gz) = fe43b5388074db11faca9f02eb8d1a3b556d47b7
+Size (ros-fuerte-catkin_0.4.5.orig.tar.gz) = 95476 bytes
 SHA1 (patch-aa) = 0c660796074e346ea34b897ece20e8ea709a0c51
+SHA1 (patch-ab) = 130e3763fff99e7143192f61e82f6f505d55eae2
+SHA1 (patch-ac) = eb4d0be48eab979aac8620dfc8c88a596891b28e
+SHA1 (patch-ad) = 96dc77c767f164baefc43386ee879e15b9717757
diff --git a/catkin/patches/patch-ab b/catkin/patches/patch-ab
new file mode 100644
index 0000000000000000000000000000000000000000..e9e1ad7831f2cc5d6b83040cb8bb3612d4298824
--- /dev/null
+++ b/catkin/patches/patch-ab
@@ -0,0 +1,13 @@
+Configure nosetests program name
+
+--- cmake/tests.cmake.in~	2012-06-14 00:11:58.000000000 +0200
++++ cmake/tests.cmake.in	2012-10-07 18:22:54.000000000 +0200
+@@ -107,7 +107,7 @@
+ 
+ function(add_nosetests dir)
+   # Check that nosetests is installed.
+-  find_program(nosetests_path nosetests)
++  find_program(nosetests_path @nosetests_path@)
+   if(NOT nosetests_path)
+     # Maybe it has version style naming
+     find_program(nosetests_path nosetests2)
diff --git a/catkin/patches/patch-ac b/catkin/patches/patch-ac
new file mode 100644
index 0000000000000000000000000000000000000000..029e69abf389c828245d0a08f17c792b19727c0e
--- /dev/null
+++ b/catkin/patches/patch-ac
@@ -0,0 +1,17 @@
+Disable '--install-layout' in python packages, this works only on linux/debian
+and we don't care anyway in robotpkg
+
+--- cmake/python.cmake~	2012-06-14 00:11:58.000000000 +0200
++++ cmake/python.cmake	2012-10-07 18:41:41.000000000 +0200
+@@ -8,9 +8,9 @@
+ #This should be resolved automatically one day...
+ option(SETUPTOOLS_DEB_LAYOUT "ON for debian style python packages layout" ON)
+ 
+-if(APPLE OR MSVC)
++#if(APPLE OR MSVC) robotpkg does not care about this (this works only on linux)
+   set(SETUPTOOLS_DEB_LAYOUT OFF)
+-endif()
++#endif()
+ 
+ if(SETUPTOOLS_DEB_LAYOUT)
+   set(PYTHON_PACKAGES_DIR dist-packages CACHE STRING "dist-packages or site-packages")
diff --git a/catkin/patches/patch-ad b/catkin/patches/patch-ad
new file mode 100644
index 0000000000000000000000000000000000000000..1d5cfc3de40c7d0a935a667d163c26b606adfb95
--- /dev/null
+++ b/catkin/patches/patch-ad
@@ -0,0 +1,12 @@
+Do not install patch .orig files
+
+--- CMakeLists.txt~	2012-06-14 00:11:58.000000000 +0200
++++ CMakeLists.txt	2012-10-07 19:02:08.000000000 +0200
+@@ -45,6 +45,7 @@
+   #NOTE the trailing slash here.  You need it.
+   DESTINATION share/catkin/
+   USE_SOURCE_PERMISSIONS
++  PATTERN "*.orig" EXCLUDE
+   )
+ install(FILES
+        ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/tests.cmake