From c0edb37b21652d83ea55166192466b0cf1aee648 Mon Sep 17 00:00:00 2001
From: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Date: Fri, 15 Feb 2013 15:50:50 +0100
Subject: [PATCH] catkin: simplify and use catkin class

* Use configuration options instead of patches
* Use relative paths in CMake installation files
* Use catkin class

Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
---
 ...use-relative-paths-in-PKG_CFG_EXTRAS.patch | 57 +++++++++++++++++++
 ...use-curent-path-for-catkin_EXTRA_DIR.patch | 35 ++++++++++++
 ...kin-change_default_for_debsetuptools.patch | 20 -------
 ...tkin-remove_assertion_for_rt_library.patch | 21 -------
 recipes-ros/catkin/catkin_0.5.58.bb           | 34 +++++------
 5 files changed, 109 insertions(+), 58 deletions(-)
 create mode 100644 recipes-ros/catkin/catkin/0001-catkin_package-use-relative-paths-in-PKG_CFG_EXTRAS.patch
 create mode 100644 recipes-ros/catkin/catkin/0002-catkinConfig-use-curent-path-for-catkin_EXTRA_DIR.patch
 delete mode 100644 recipes-ros/catkin/catkin/catkin-change_default_for_debsetuptools.patch
 delete mode 100644 recipes-ros/catkin/catkin/catkin-remove_assertion_for_rt_library.patch

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
new file mode 100644
index 0000000..780437a
--- /dev/null
+++ b/recipes-ros/catkin/catkin/0001-catkin_package-use-relative-paths-in-PKG_CFG_EXTRAS.patch
@@ -0,0 +1,57 @@
+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/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
new file mode 100644
index 0000000..12d2cab
--- /dev/null
+++ b/recipes-ros/catkin/catkin/0002-catkinConfig-use-curent-path-for-catkin_EXTRA_DIR.patch
@@ -0,0 +1,35 @@
+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/catkin-change_default_for_debsetuptools.patch b/recipes-ros/catkin/catkin/catkin-change_default_for_debsetuptools.patch
deleted file mode 100644
index 5b2f4f5..0000000
--- a/recipes-ros/catkin/catkin/catkin-change_default_for_debsetuptools.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -cr a/cmake/python.cmake b/cmake/python.cmake
-*** a/cmake/python.cmake	2012-12-22 03:30:48.000000000 +0100
---- b/cmake/python.cmake	2013-01-11 09:25:35.790346760 +0100
-***************
-*** 6,12 ****
-  set(PYTHON_VERSION_XDOTY ${PYTHON_VERSION_XDOTY} CACHE STRING "Python version")
-  
-  #This should be resolved automatically one day...
-! option(SETUPTOOLS_DEB_LAYOUT "ON for debian style python packages layout" ON)
-  
-  if(APPLE OR MSVC)
-    set(SETUPTOOLS_DEB_LAYOUT OFF)
---- 6,12 ----
-  set(PYTHON_VERSION_XDOTY ${PYTHON_VERSION_XDOTY} CACHE STRING "Python version")
-  
-  #This should be resolved automatically one day...
-! option(SETUPTOOLS_DEB_LAYOUT "ON for debian style python packages layout" OFF)
-  
-  if(APPLE OR MSVC)
-    set(SETUPTOOLS_DEB_LAYOUT OFF)
diff --git a/recipes-ros/catkin/catkin/catkin-remove_assertion_for_rt_library.patch b/recipes-ros/catkin/catkin/catkin-remove_assertion_for_rt_library.patch
deleted file mode 100644
index 8042ce0..0000000
--- a/recipes-ros/catkin/catkin/catkin-remove_assertion_for_rt_library.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -crB a/cmake/tools/rt.cmake b/cmake/tools/rt.cmake
-*** a/cmake/tools/rt.cmake	2012-12-22 03:30:48.000000000 +0100
---- b/cmake/tools/rt.cmake	2013-01-31 08:09:48.789321920 +0100
-***************
-*** 39,45 ****
-      set(RT_LIBRARY rt CACHE FILEPATH "Hacked find of rt for cmake < 2.8.4")
-    else()
-      find_library(RT_LIBRARY rt)
-!     assert_file_exists(${RT_LIBRARY} "RT Library")
-    endif()
-    #message(STATUS "RT_LIBRARY: ${RT_LIBRARY}")
-  endif()
---- 39,45 ----
-      set(RT_LIBRARY rt CACHE FILEPATH "Hacked find of rt for cmake < 2.8.4")
-    else()
-      find_library(RT_LIBRARY rt)
-!     #assert_file_exists(${RT_LIBRARY} "RT Library")
-    endif()
-    #message(STATUS "RT_LIBRARY: ${RT_LIBRARY}")
-  endif()
-Only in b/cmake/tools: rt.cmake~
diff --git a/recipes-ros/catkin/catkin_0.5.58.bb b/recipes-ros/catkin/catkin_0.5.58.bb
index b3785d4..b4d74e5 100644
--- a/recipes-ros/catkin/catkin_0.5.58.bb
+++ b/recipes-ros/catkin/catkin_0.5.58.bb
@@ -3,26 +3,26 @@ SECTION = "devel"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5"
 
-SRC_URI = "https://github.com/ros/catkin/archive/0.5.58.tar.gz;downloadfile=catkin_0.5.58.tar.gz \
-  file://catkin-change_default_for_debsetuptools.patch \
-  file://catkin-remove_assertion_for_rt_library.patch \
-"
+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[md5sum] = "e4df85e60dc792af9324334547cc76aa"
 SRC_URI[sha256sum] = "dd99cc04eeaf16a13185dd0a2f576939fa997dfb16a40ba45068c4d2ebbcb44b"
 
-# DEPENDS = "python-setuptools"
-DEPENDS = "python-empy-native python-catkin-pkg-native python"
+inherit catkin
 
-EXTRA_OECMAKE = "-DSETUPTOOLS_DEB_LAYOUT=OFF"
+FILES_${PN}-dev += "\
+    ${datadir}/eigen/cmake \
+    ${datadir}/ros/cmake \
+    ${prefix}/.catkin \
+    ${prefix}/.rosinstall \
+    ${prefix}/_setup_util.py \
+    ${prefix}/env.sh \
+    ${prefix}/setup.* \
+    "
 
 BBCLASSEXTEND += "native"
-inherit cmake pythonnative python-dir
-
-FILES_${PN} += "${libdir}/${PYTHON_DIR}/* ${PYTHON_SITEPACKAGES_DIR}/*"
-# FILES_${PN}-dev += "${libdir}/${PYTHON_DIR}/* ${PYTHON_SITEPACKAGES_DIR}/*"
-
-export BUILD_SYS
-export HOST_SYS
-export STAGING_LIBDIR
-export STAGING_INCDIR
-
-- 
GitLab