diff --git a/recipes-ros/catkin/catkin/0001-catkin_package-use-relative-paths-in-PKG_CFG_EXTRAS.patch b/recipes-ros/catkin/catkin/0001-catkin_package-use-relative-paths-in-PKG_CFG_EXTRAS.patch
deleted file mode 100644
index 780437af4bb61c78ef322f3b6833c8caf2eb66cd..0000000000000000000000000000000000000000
--- a/recipes-ros/catkin/catkin/0001-catkin_package-use-relative-paths-in-PKG_CFG_EXTRAS.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 812453c0fcd2db5b562b568c8e844a2b7764dc4e Mon Sep 17 00:00:00 2001
-From: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
-Date: Thu, 14 Feb 2013 11:46:34 +0100
-Subject: [PATCH 1/2] catkin_package: use relative paths in PKG_CFG_EXTRAS
-
----
- cmake/catkin_package.cmake         |    6 +++---
- cmake/templates/pkgConfig.cmake.in |    6 +++++-
- 2 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/cmake/catkin_package.cmake b/cmake/catkin_package.cmake
-index 73fc5bb..ee107c7 100644
---- a/cmake/catkin_package.cmake
-+++ b/cmake/catkin_package.cmake
-@@ -284,13 +284,13 @@ function(_catkin_package)
-         ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/${extra}.develspace.context.cmake.py
-         ${em_template}
-         ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
--      list(APPEND PKG_CFG_EXTRAS ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
-+      list(APPEND PKG_CFG_EXTRAS ${extra})
-     elseif(EXISTS ${base}.in)
-       configure_file(${base}.in
-         ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra}
-         @ONLY
-       )
--      list(APPEND PKG_CFG_EXTRAS ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
-+      list(APPEND PKG_CFG_EXTRAS ${extra})
-     else()
-       message(FATAL_ERROR "catkin_package() could not find CFG_EXTRAS file.  Either 'cmake/${extra}', 'cmake/${extra}.em', 'cmake/${extra}.develspace.em' or 'cmake/${extra}.in' must exist.")
-     endif()
-@@ -376,7 +376,7 @@ function(_catkin_package)
-     else()
-       message(FATAL_ERROR "catkin_package() could not find CFG_EXTRAS file.  Either 'cmake/${extra}', 'cmake/${extra}.em', 'cmake/${extra}.installspace.em' or 'cmake/${extra}.in' must exist.")
-     endif()
--    list(APPEND PKG_CFG_EXTRAS ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
-+    list(APPEND PKG_CFG_EXTRAS ${extra})
-   endforeach()
-   install(FILES
-     ${installable_cfg_extras}
-diff --git a/cmake/templates/pkgConfig.cmake.in b/cmake/templates/pkgConfig.cmake.in
-index 6ed4f96..8e451de 100644
---- a/cmake/templates/pkgConfig.cmake.in
-+++ b/cmake/templates/pkgConfig.cmake.in
-@@ -155,5 +155,9 @@ if(@PROJECT_NAME@_LIBRARIES)
- endif()
- 
- foreach(extra @PKG_CFG_EXTRAS@)
--  include(${extra})
-+  if(IS_ABSOLUTE ${extra})
-+    include(${extra})
-+  else()
-+    include(${CMAKE_CURRENT_LIST_DIR}/${extra})
-+  endif()
- endforeach()
--- 
-1.7.0.4
-
diff --git a/recipes-ros/catkin/catkin/0001-pkgConfig.cmake-use-filenames-in-PKG_CFG_EXTRAS.patch b/recipes-ros/catkin/catkin/0001-pkgConfig.cmake-use-filenames-in-PKG_CFG_EXTRAS.patch
new file mode 100644
index 0000000000000000000000000000000000000000..4f5d2ba7eaf2bd238cc0c80ed17f020dcb412f8d
--- /dev/null
+++ b/recipes-ros/catkin/catkin/0001-pkgConfig.cmake-use-filenames-in-PKG_CFG_EXTRAS.patch
@@ -0,0 +1,85 @@
+From 0f10cb9e60b4556e80535c4d67183f056520f4ab Mon Sep 17 00:00:00 2001
+From: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
+Date: Tue, 26 Feb 2013 16:46:27 +0100
+Subject: [PATCH 1/2] pkgConfig.cmake: use filenames in PKG_CFG_EXTRAS
+
+Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
+---
+ cmake/catkin_package.cmake         |   16 ++++++++++------
+ cmake/templates/pkgConfig.cmake.in |    4 +++-
+ 2 files changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/cmake/catkin_package.cmake b/cmake/catkin_package.cmake
+index 7c37d03..c758dae 100644
+--- a/cmake/catkin_package.cmake
++++ b/cmake/catkin_package.cmake
+@@ -328,7 +328,7 @@ function(_catkin_package)
+         ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/${extra}.develspace.context.cmake.py
+         ${em_template}
+         ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
+-      list(APPEND PKG_CFG_EXTRAS ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
++      list(APPEND PKG_CFG_EXTRAS ${extra})
+     elseif(EXISTS ${base}.in OR EXISTS ${base}.develspace.in)
+       if(EXISTS ${base}.develspace.in)
+         set(in_template ${base}.develspace.in)
+@@ -339,9 +339,13 @@ function(_catkin_package)
+         ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra}
+         @ONLY
+       )
+-      list(APPEND PKG_CFG_EXTRAS ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
++      list(APPEND PKG_CFG_EXTRAS ${extra})
+     elseif(EXISTS ${base})
+-      list(APPEND PKG_CFG_EXTRAS ${base})
++      configure_file(${base}
++        ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra}
++        COPYONLY
++      )
++      list(APPEND PKG_CFG_EXTRAS ${extra})
+     elseif(NOT EXISTS ${base}.installspace.em AND NOT EXISTS ${base}.installspace.in)
+       message(FATAL_ERROR "catkin_package() could not find CFG_EXTRAS file.  Either 'cmake/${extra}.develspace.em', 'cmake/${extra}.em', 'cmake/${extra}.develspace.in', 'cmake/${extra}.in', 'cmake/${extra}' or a variant specific to the installspace must exist.")
+     endif()
+@@ -430,7 +434,7 @@ function(_catkin_package)
+         ${em_template}
+         ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/installspace/${extra})
+       list(APPEND installable_cfg_extras ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/installspace/${extra})
+-      list(APPEND PKG_CFG_EXTRAS ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
++      list(APPEND PKG_CFG_EXTRAS ${extra})
+     elseif(EXISTS ${base}.in OR EXISTS ${base}.installspace.in)
+       if(EXISTS ${base}.installspace.in)
+         set(in_template ${base}.installspace.in)
+@@ -442,10 +446,10 @@ function(_catkin_package)
+         @ONLY
+       )
+       list(APPEND installable_cfg_extras ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/installspace/${extra})
+-      list(APPEND PKG_CFG_EXTRAS ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
++      list(APPEND PKG_CFG_EXTRAS ${extra})
+     elseif(EXISTS ${base})
+       list(APPEND installable_cfg_extras ${base})
+-      list(APPEND PKG_CFG_EXTRAS ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
++      list(APPEND PKG_CFG_EXTRAS ${extra})
+     elseif(NOT EXISTS ${base}.develspace.em AND NOT EXISTS ${base}.develspace.in)
+       message(FATAL_ERROR "catkin_package() could not find CFG_EXTRAS file.  Either 'cmake/${extra}.installspace.em', 'cmake/${extra}.em', 'cmake/${extra}.installspace.in', 'cmake/${extra}.in', 'cmake/${extra}'or a variant specific to the develspace must exist.")
+     endif()
+diff --git a/cmake/templates/pkgConfig.cmake.in b/cmake/templates/pkgConfig.cmake.in
+index 03e8a1c..0ee9231 100644
+--- a/cmake/templates/pkgConfig.cmake.in
++++ b/cmake/templates/pkgConfig.cmake.in
+@@ -70,6 +70,8 @@ else()
+   set(@PROJECT_NAME@_PREFIX ${@PROJECT_NAME@_INSTALL_PREFIX})
+ endif()
+ 
++set(@PROJECT_NAME@_EXTRAS_DIR ${CMAKE_CURRENT_LIST_DIR})
++
+ # warn when using a deprecated package
+ if(NOT "@PROJECT_DEPRECATED@" STREQUAL "")
+   set(_msg "WARNING: package '@PROJECT_NAME@' is deprecated")
+@@ -165,5 +167,5 @@ if(@PROJECT_NAME@_LIBRARIES)
+ endif()
+ 
+ foreach(extra @PKG_CFG_EXTRAS@)
+-  include(${extra})
++  include(${@PROJECT_NAME@_EXTRAS_DIR}/${extra})
+ endforeach()
+-- 
+1.7.0.4
+
diff --git a/recipes-ros/catkin/catkin/0002-catkinConfig-use-curent-path-for-catkin_EXTRA_DIR.patch b/recipes-ros/catkin/catkin/0002-catkinConfig-use-curent-path-for-catkin_EXTRA_DIR.patch
deleted file mode 100644
index 12d2cabf9a096ff49ae8143af265ec7bc5fbaf7b..0000000000000000000000000000000000000000
--- a/recipes-ros/catkin/catkin/0002-catkinConfig-use-curent-path-for-catkin_EXTRA_DIR.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From fcdeade11a2d2e882512fcbaa0ea32bc0d5fd6d0 Mon Sep 17 00:00:00 2001
-From: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
-Date: Fri, 15 Feb 2013 13:06:36 +0100
-Subject: [PATCH 2/2] catkinConfig: use curent path for catkin_EXTRA_DIR
-
-Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
----
- cmake/catkin_package.cmake |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cmake/catkin_package.cmake b/cmake/catkin_package.cmake
-index ee107c7..8b2bf2c 100644
---- a/cmake/catkin_package.cmake
-+++ b/cmake/catkin_package.cmake
-@@ -255,7 +255,7 @@ function(_catkin_package)
-   # prepend library path of this workspace
-   set(PKG_CONFIG_LIB_PATHS ${lib_paths})
-   list(INSERT PKG_CONFIG_LIB_PATHS 0 ${PROJECT_SPACE_DIR}/lib)
--  set(PKG_CMAKE_DIR ${PROJECT_SPACE_DIR}/share/${PROJECT_NAME}/cmake)
-+  set(PKG_CMAKE_DIR "\${CMAKE_CURRENT_LIST_DIR}")
-   if("${PROJECT_NAME}" STREQUAL "catkin")
-     set(PKG_CMAKE_DIR "${catkin_EXTRAS_DIR}")
-   endif()
-@@ -336,7 +336,7 @@ function(_catkin_package)
-   # prepend library path of this workspace
-   set(PKG_CONFIG_LIB_PATHS ${lib_paths})
-   list(INSERT PKG_CONFIG_LIB_PATHS 0 ${PROJECT_SPACE_DIR}/lib)
--  set(PKG_CMAKE_DIR ${PROJECT_SPACE_DIR}/share/${PROJECT_NAME}/cmake)
-+  set(PKG_CMAKE_DIR "\${CMAKE_CURRENT_LIST_DIR}")
- 
-   # ensure that output folder exists
-   file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/installspace)
--- 
-1.7.0.4
-
diff --git a/recipes-ros/catkin/catkin/0002-catkin_package.cmake-use-PROJECT_NAME-_EXTRAS_DIR-fo.patch b/recipes-ros/catkin/catkin/0002-catkin_package.cmake-use-PROJECT_NAME-_EXTRAS_DIR-fo.patch
new file mode 100644
index 0000000000000000000000000000000000000000..11b702b2d8c52224e5ce87a2b35278c9ddddf58c
--- /dev/null
+++ b/recipes-ros/catkin/catkin/0002-catkin_package.cmake-use-PROJECT_NAME-_EXTRAS_DIR-fo.patch
@@ -0,0 +1,52 @@
+From 11807c9e751f53781419cfc5503e2544aac354d8 Mon Sep 17 00:00:00 2001
+From: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
+Date: Tue, 26 Feb 2013 16:51:30 +0100
+Subject: [PATCH 2/2] catkin_package.cmake: use ${PROJECT_NAME}_EXTRAS_DIR for PKG_CMAKE_DIR
+
+Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
+---
+ cmake/catkinConfig.cmake.in |    2 +-
+ cmake/catkin_package.cmake  |    7 ++-----
+ 2 files changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/cmake/catkinConfig.cmake.in b/cmake/catkinConfig.cmake.in
+index f265b59..2b4fafa 100644
+--- a/cmake/catkinConfig.cmake.in
++++ b/cmake/catkinConfig.cmake.in
+@@ -11,7 +11,7 @@
+ #    contains the include dirs / library dirs / libraries of the searched component <comp>.
+ 
+ if(CATKIN_TOPLEVEL_FIND_PACKAGE OR NOT CATKIN_TOPLEVEL)
+-  set(catkin_EXTRAS_DIR "@PKG_CMAKE_DIR@")
++  set(catkin_EXTRAS_DIR ${CMAKE_CURRENT_LIST_DIR})
+ 
+   # prevent multiple inclusion from repeated find_package() calls in non-workspace context
+   # as long as this variable is in the scope the variables from all.cmake are also, so no need to be evaluated again
+diff --git a/cmake/catkin_package.cmake b/cmake/catkin_package.cmake
+index c758dae..b1b7811 100644
+--- a/cmake/catkin_package.cmake
++++ b/cmake/catkin_package.cmake
+@@ -294,10 +294,7 @@ function(_catkin_package)
+   # prepend library path of this workspace
+   set(PKG_CONFIG_LIB_PATHS ${lib_paths})
+   list(INSERT PKG_CONFIG_LIB_PATHS 0 ${PROJECT_SPACE_DIR}/lib)
+-  set(PKG_CMAKE_DIR ${PROJECT_SPACE_DIR}/share/${PROJECT_NAME}/cmake)
+-  if("${PROJECT_NAME}" STREQUAL "catkin")
+-    set(PKG_CMAKE_DIR "${catkin_EXTRAS_DIR}")
+-  endif()
++  set(PKG_CMAKE_DIR "\${${PROJECT_NAME}_EXTRAS_DIR}")
+ 
+   if(NOT PROJECT_SKIP_PKG_CONFIG_GENERATION)
+     # ensure that output folder exists
+@@ -398,7 +395,7 @@ function(_catkin_package)
+   # prepend library path of this workspace
+   set(PKG_CONFIG_LIB_PATHS ${lib_paths})
+   list(INSERT PKG_CONFIG_LIB_PATHS 0 ${PROJECT_SPACE_DIR}/lib)
+-  set(PKG_CMAKE_DIR ${PROJECT_SPACE_DIR}/share/${PROJECT_NAME}/cmake)
++  set(PKG_CMAKE_DIR "\${${PROJECT_NAME}_EXTRAS_DIR}")
+ 
+   if(NOT PROJECT_SKIP_PKG_CONFIG_GENERATION)
+     # ensure that output folder exists
+-- 
+1.7.0.4
+
diff --git a/recipes-ros/catkin/catkin_0.5.58.bb b/recipes-ros/catkin/catkin_git.bb
similarity index 56%
rename from recipes-ros/catkin/catkin_0.5.58.bb
rename to recipes-ros/catkin/catkin_git.bb
index b4d74e54fbd6cef1f9ebae0453d9277f7d63d58d..666844ea7cb218500a513e671c496c5d7636f1fd 100644
--- a/recipes-ros/catkin/catkin_0.5.58.bb
+++ b/recipes-ros/catkin/catkin_git.bb
@@ -5,13 +5,15 @@ LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc
 
 DEPENDS = "cmake python-empy python-catkin-pkg"
 
-SRC_URI = "https://github.com/ros/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
-           file://0001-catkin_package-use-relative-paths-in-PKG_CFG_EXTRAS.patch \
-           file://0002-catkinConfig-use-curent-path-for-catkin_EXTRA_DIR.patch \
+SRC_URI = "git://github.com/ros/${BPN}.git \
+           file://0001-pkgConfig.cmake-use-filenames-in-PKG_CFG_EXTRAS.patch \
+           file://0002-catkin_package.cmake-use-PROJECT_NAME-_EXTRAS_DIR-fo.patch \
            "
 
-SRC_URI[md5sum] = "e4df85e60dc792af9324334547cc76aa"
-SRC_URI[sha256sum] = "dd99cc04eeaf16a13185dd0a2f576939fa997dfb16a40ba45068c4d2ebbcb44b"
+SRCREV = "cbe6a0ce3ac6d13914d3b4b010148f72e7984149"
+PV = "0.5.63+gitr${SRCPV}"
+
+S = "${WORKDIR}/git"
 
 inherit catkin