summaryrefslogtreecommitdiff
path: root/dev-util/catkin/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-util/catkin/files
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-util/catkin/files')
-rw-r--r--dev-util/catkin/files/40catkin3
-rw-r--r--dev-util/catkin/files/catkin_prefix_path.patch76
-rw-r--r--dev-util/catkin/files/catkin_prefix_path_util_py.patch40
-rw-r--r--dev-util/catkin/files/distutils.patch13
-rw-r--r--dev-util/catkin/files/etc.patch16
-rw-r--r--dev-util/catkin/files/gnuinstalldirs.patch15
-rw-r--r--dev-util/catkin/files/package_xml.patch37
-rw-r--r--dev-util/catkin/files/sitedir.patch15
-rw-r--r--dev-util/catkin/files/tests.patch40
9 files changed, 255 insertions, 0 deletions
diff --git a/dev-util/catkin/files/40catkin b/dev-util/catkin/files/40catkin
new file mode 100644
index 000000000000..469fa37997cc
--- /dev/null
+++ b/dev-util/catkin/files/40catkin
@@ -0,0 +1,3 @@
+CATKIN_PREFIX_PATH=/usr
+ROS_ROOT=/usr/share/ros
+ROS_PACKAGE_PATH=/usr/share/ros_packages
diff --git a/dev-util/catkin/files/catkin_prefix_path.patch b/dev-util/catkin/files/catkin_prefix_path.patch
new file mode 100644
index 000000000000..5c03a45f155b
--- /dev/null
+++ b/dev-util/catkin/files/catkin_prefix_path.patch
@@ -0,0 +1,76 @@
+Allow CATKIN_PREFIX_PATH to override/complement CMAKE_PREFIX_PATH.
+This serves two goals: when SYSROOT!=/, CMAKE_PREFIX_PATH is the same as when
+SYSROOT=/ but we need to find packages in SYSROOT/CMAKE_PREFIX_PATH.
+
+Moreover, this allows to set CATKIN_PREFIX_PATH in global environment so that
+ROS packages are properly configured without needed to source a shellrc file in
+every shell session. This can't be done with CMAKE_PREFIX_PATH which is way too
+generic.
+
+Index: catkin-0.6.16/cmake/all.cmake
+===================================================================
+--- catkin-0.6.16.orig/cmake/all.cmake
++++ catkin-0.6.16/cmake/all.cmake
+@@ -52,7 +52,11 @@ set(CMAKE_PREFIX_PATH_AS_IS ${CMAKE_PREF
+
+ # list of unique catkin workspaces based on CMAKE_PREFIX_PATH
+ set(CATKIN_WORKSPACES "")
+-foreach(path ${CMAKE_PREFIX_PATH})
++if(NOT DEFINED CATKIN_PREFIX_PATH)
++ set(CATKIN_PREFIX_PATH ${CMAKE_PREFIX_PATH})
++endif()
++
++foreach(path ${CATKIN_PREFIX_PATH})
+ if(EXISTS "${path}/.catkin")
+ list(FIND CATKIN_WORKSPACES ${path} _index)
+ if(_index EQUAL -1)
+Index: catkin-0.6.16/python/catkin/workspace.py
+===================================================================
+--- catkin-0.6.16.orig/python/catkin/workspace.py
++++ catkin-0.6.16/python/catkin/workspace.py
+@@ -44,7 +44,7 @@ def get_workspaces():
+ """
+ # get all cmake prefix paths
+ env_name = 'CMAKE_PREFIX_PATH'
+- paths = [path for path in os.environ.get(env_name, '').split(os.pathsep) if path]
++ paths = [path for path in os.environ.get(env_name, '').split(os.pathsep) + os.environ.get('CATKIN_PREFIX_PATH', '').split(os.pathsep) if path]
+ # remove non-workspace paths
+ workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))]
+ return workspaces
+Index: catkin-0.6.16/cmake/catkinConfig.cmake.in
+===================================================================
+--- catkin-0.6.16.orig/cmake/catkinConfig.cmake.in
++++ catkin-0.6.16/cmake/catkinConfig.cmake.in
+@@ -64,6 +64,11 @@ if(catkin_FIND_COMPONENTS)
+
+ # get search paths from CMAKE_PREFIX_PATH (which includes devel space)
+ set(paths "")
++ foreach(path ${CATKIN_PREFIX_PATH})
++ if(IS_DIRECTORY ${path}/share/${component}/cmake)
++ list(APPEND paths ${path}/share/${component}/cmake)
++ endif()
++ endforeach()
+ foreach(path ${CMAKE_PREFIX_PATH})
+ if(IS_DIRECTORY ${path}/share/${component}/cmake)
+ list(APPEND paths ${path}/share/${component}/cmake)
+Index: catkin-0.6.16/cmake/toplevel.cmake
+===================================================================
+--- catkin-0.6.16.orig/cmake/toplevel.cmake
++++ catkin-0.6.16/cmake/toplevel.cmake
+@@ -35,10 +35,15 @@ else()
+ string(REPLACE ":" ";" CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
+ endif()
+ endif()
++ if(NOT DEFINED CATKIN_PREFIX_PATH)
++ if(NOT "$ENV{CATKIN_PREFIX_PATH}" STREQUAL "")
++ string(REPLACE ":" ";" CATKIN_PREFIX_PATH $ENV{CATKIN_PREFIX_PATH})
++ endif()
++ endif()
+
+ # list of catkin workspaces
+ set(catkin_search_path "")
+- foreach(path ${CMAKE_PREFIX_PATH})
++ foreach(path ${CMAKE_PREFIX_PATH} ${CATKIN_PREFIX_PATH})
+ if(EXISTS "${path}/.catkin")
+ list(FIND catkin_search_path ${path} _index)
+ if(_index EQUAL -1)
diff --git a/dev-util/catkin/files/catkin_prefix_path_util_py.patch b/dev-util/catkin/files/catkin_prefix_path_util_py.patch
new file mode 100644
index 000000000000..e667ea9cf59e
--- /dev/null
+++ b/dev-util/catkin/files/catkin_prefix_path_util_py.patch
@@ -0,0 +1,40 @@
+Author: Eric Timmons
+https://bugs.gentoo.org/show_bug.cgi?id=586104
+
+Index: catkin-0.6.16/cmake/templates/_setup_util.py.in
+===================================================================
+--- catkin-0.6.16.orig/cmake/templates/_setup_util.py.in
++++ catkin-0.6.16/cmake/templates/_setup_util.py.in
+@@ -262,7 +262,7 @@
+ sys.exit(1)
+
+ # environment at generation time
+- CMAKE_PREFIX_PATH = '@CMAKE_PREFIX_PATH_AS_IS@'.split(';')
++ CMAKE_PREFIX_PATH = '@CATKIN_PREFIX_PATH@;@CMAKE_PREFIX_PATH_AS_IS@'.split(';')
+ # prepend current workspace if not already part of CPP
+ base_path = os.path.dirname(__file__)
+ if base_path not in CMAKE_PREFIX_PATH:
+Index: catkin-0.7.1/python/catkin/builder.py
+===================================================================
+--- catkin-0.7.1.orig/python/catkin/builder.py
++++ catkin-0.7.1/python/catkin/builder.py
+@@ -1026,6 +1026,7 @@ def build_workspace_isolated(
+ 'CATKIN_LIB_ENVIRONMENT_PATHS': "'lib'",
+ 'CATKIN_PKGCONFIG_ENVIRONMENT_PATHS': "os.path.join('lib', 'pkgconfig')",
+ 'CMAKE_PREFIX_PATH_AS_IS': ';'.join(os.environ['CMAKE_PREFIX_PATH'].split(os.pathsep)),
++ 'CATKIN_PREFIX_PATH': ';'.join(os.environ['CATKIN_PREFIX_PATH'].split(os.pathsep)),
+ 'PYTHON_EXECUTABLE': sys.executable,
+ 'PYTHON_INSTALL_DIR': get_python_install_dir(),
+ }
+Index: catkin-0.7.1/test/unit_tests/test_setup_util.py
+===================================================================
+--- catkin-0.7.1.orig/test/unit_tests/test_setup_util.py
++++ catkin-0.7.1/test/unit_tests/test_setup_util.py
+@@ -14,6 +14,7 @@ data = configure_file(os.path.join(os.pa
+ 'PYTHON_EXECUTABLE': sys.executable,
+ 'PYTHON_INSTALL_DIR': 'pythonX.Y/packages',
+ 'CMAKE_PREFIX_PATH_AS_IS': '',
++ 'CATKIN_PREFIX_PATH':'',
+ })
+ with tempfile.NamedTemporaryFile('w+') as setup_util_file:
+ setup_util_file.write(data)
diff --git a/dev-util/catkin/files/distutils.patch b/dev-util/catkin/files/distutils.patch
new file mode 100644
index 000000000000..292551181b6d
--- /dev/null
+++ b/dev-util/catkin/files/distutils.patch
@@ -0,0 +1,13 @@
+Allow to install scripts in PYTHON_SCRIPTDIR.
+Needed for Gentoo multi-python support.
+
+Index: catkin-0.6.11/cmake/templates/python_distutils_install.sh.in
+===================================================================
+--- catkin-0.6.11.orig/cmake/templates/python_distutils_install.sh.in
++++ catkin-0.6.11/cmake/templates/python_distutils_install.sh.in
+@@ -25,4 +25,4 @@ cd "@INSTALL_CMD_WORKING_DIRECTORY@"
+ build --build-base "@CMAKE_CURRENT_BINARY_DIR@" \
+ install \
+ $DESTDIR_ARG \
+- @SETUPTOOLS_ARG_EXTRA@ --prefix="@CMAKE_INSTALL_PREFIX@" --install-scripts="@CMAKE_INSTALL_PREFIX@/@CATKIN_GLOBAL_BIN_DESTINATION@"
++ @SETUPTOOLS_ARG_EXTRA@ --prefix="@CMAKE_INSTALL_PREFIX@" --install-scripts="${PYTHON_SCRIPTDIR:-@CMAKE_INSTALL_PREFIX@/@CATKIN_GLOBAL_BIN_DESTINATION@}"
diff --git a/dev-util/catkin/files/etc.patch b/dev-util/catkin/files/etc.patch
new file mode 100644
index 000000000000..d95391f54193
--- /dev/null
+++ b/dev-util/catkin/files/etc.patch
@@ -0,0 +1,16 @@
+So that files like python_logging.conf ends up in $EPREFIX/etc.
+https://bugs.gentoo.org/show_bug.cgi?id=598537
+
+Index: catkin-0.7.4/cmake/all.cmake
+===================================================================
+--- catkin-0.7.4.orig/cmake/all.cmake
++++ catkin-0.7.4/cmake/all.cmake
+@@ -163,7 +163,7 @@ unset(_CATKIN_CURRENT_PACKAGE)
+
+ # set global install destinations
+ set(CATKIN_GLOBAL_BIN_DESTINATION bin)
+-set(CATKIN_GLOBAL_ETC_DESTINATION etc)
++set(CATKIN_GLOBAL_ETC_DESTINATION ../etc)
+ set(CATKIN_GLOBAL_INCLUDE_DESTINATION include)
+ set(CATKIN_GLOBAL_LIB_DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ set(CATKIN_GLOBAL_LIBEXEC_DESTINATION libexec)
diff --git a/dev-util/catkin/files/gnuinstalldirs.patch b/dev-util/catkin/files/gnuinstalldirs.patch
new file mode 100644
index 000000000000..795eafc31965
--- /dev/null
+++ b/dev-util/catkin/files/gnuinstalldirs.patch
@@ -0,0 +1,15 @@
+Index: catkin-0.6.16/cmake/all.cmake
+===================================================================
+--- catkin-0.6.16.orig/cmake/all.cmake
++++ catkin-0.6.16/cmake/all.cmake
+@@ -108,6 +108,10 @@ endif()
+ # include CMake functions
+ include(CMakeParseArguments)
+
++# include GNUInstallDirs for LIBDIR
++# https://bugs.gentoo.org/show_bug.cgi?id=566670
++include(GNUInstallDirs)
++
+ # functions/macros: list_append_unique, safe_execute_process
+ # python-integration: catkin_python_setup.cmake, interrogate_setup_dot_py.py, templates/__init__.py.in, templates/script.py.in, templates/python_distutils_install.bat.in, templates/python_distutils_install.sh.in, templates/safe_execute_install.cmake.in
+ foreach(filename
diff --git a/dev-util/catkin/files/package_xml.patch b/dev-util/catkin/files/package_xml.patch
new file mode 100644
index 000000000000..52506ee680e7
--- /dev/null
+++ b/dev-util/catkin/files/package_xml.patch
@@ -0,0 +1,37 @@
+Index: catkin-0.7.6/cmake/catkin_package.cmake
+===================================================================
+--- catkin-0.7.6.orig/cmake/catkin_package.cmake
++++ catkin-0.7.6/cmake/catkin_package.cmake
+@@ -527,4 +527,7 @@ function(_catkin_package)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package.xml
+ DESTINATION share/${PROJECT_NAME}
+ )
++ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package.xml
++ DESTINATION share/ros_packages/${PROJECT_NAME}
++ )
+ endfunction()
+Index: catkin-0.7.6/cmake/all.cmake
+===================================================================
+--- catkin-0.7.6.orig/cmake/all.cmake
++++ catkin-0.7.6/cmake/all.cmake
+@@ -156,7 +156,7 @@ foreach(filename
+ endforeach()
+
+ # output catkin version for debugging
+-_catkin_package_xml(${CMAKE_BINARY_DIR}/catkin/catkin_generated/version DIRECTORY ${catkin_EXTRAS_DIR}/..)
++#_catkin_package_xml(${CMAKE_BINARY_DIR}/catkin/catkin_generated/version DIRECTORY ${catkin_EXTRAS_DIR}/../../ros_packages/catkin)
+ message(STATUS "catkin ${catkin_VERSION}")
+ # ensure that no current package name is set
+ unset(_CATKIN_CURRENT_PACKAGE)
+Index: catkin-0.7.6/cmake/catkin_metapackage.cmake
+===================================================================
+--- catkin-0.7.6.orig/cmake/catkin_metapackage.cmake
++++ catkin-0.7.6/cmake/catkin_metapackage.cmake
+@@ -42,4 +42,7 @@ function(catkin_metapackage)
+ install(FILES ${ARG_DIRECTORY}/package.xml
+ DESTINATION share/${PROJECT_NAME}
+ )
++ install(FILES ${ARG_DIRECTORY}/package.xml
++ DESTINATION share/ros_packages/${PROJECT_NAME}
++ )
+ endfunction()
diff --git a/dev-util/catkin/files/sitedir.patch b/dev-util/catkin/files/sitedir.patch
new file mode 100644
index 000000000000..61fcad29d04a
--- /dev/null
+++ b/dev-util/catkin/files/sitedir.patch
@@ -0,0 +1,15 @@
+Pass --install-lib to setup.py install.
+pypy installs in /usr/site-packages otherwise...
+
+Index: catkin-0.7.6/cmake/templates/python_distutils_install.sh.in
+===================================================================
+--- catkin-0.7.6.orig/cmake/templates/python_distutils_install.sh.in
++++ catkin-0.7.6/cmake/templates/python_distutils_install.sh.in
+@@ -30,4 +30,6 @@ echo_and_run /usr/bin/env \
+ build --build-base "@CMAKE_CURRENT_BINARY_DIR@" \
+ install \
+ $DESTDIR_ARG \
+- @SETUPTOOLS_ARG_EXTRA@ --prefix="@CMAKE_INSTALL_PREFIX@" --install-scripts="${PYTHON_SCRIPTDIR:-@CMAKE_INSTALL_PREFIX@/@CATKIN_GLOBAL_BIN_DESTINATION@}"
++ @SETUPTOOLS_ARG_EXTRA@ --prefix="@CMAKE_INSTALL_PREFIX@" \
++ --install-scripts="${PYTHON_SCRIPTDIR:-@CMAKE_INSTALL_PREFIX@/@CATKIN_GLOBAL_BIN_DESTINATION@}" \
++ --install-lib="@CMAKE_INSTALL_PREFIX@/@PYTHON_INSTALL_DIR@"
diff --git a/dev-util/catkin/files/tests.patch b/dev-util/catkin/files/tests.patch
new file mode 100644
index 000000000000..d78136a8ec13
--- /dev/null
+++ b/dev-util/catkin/files/tests.patch
@@ -0,0 +1,40 @@
+Fix tests.
+Allow them to run even with CATKIN_BUILD_BINARY_PACKAGE set.
+
+Index: catkin-0.6.9/cmake/test/tests.cmake
+===================================================================
+--- catkin-0.6.9.orig/cmake/test/tests.cmake
++++ catkin-0.6.9/cmake/test/tests.cmake
+@@ -40,9 +40,6 @@ if(DEFINED CATKIN_ENABLE_TESTING AND NOT
+ return()
+ endif()
+
+-# do not enable ctest's on the farm, since they are automatically executed by the current rules files
+-# and since the tests have not been build rostests would hang forever
+-if(NOT CATKIN_BUILD_BINARY_PACKAGE)
+ # do not enable ctest's for dry packages, since they have a custom test target which must not be overwritten
+ if(NOT ROSBUILD_init_called)
+ message(STATUS "Call enable_testing()")
+@@ -50,9 +47,6 @@ if(NOT CATKIN_BUILD_BINARY_PACKAGE)
+ else()
+ message(STATUS "Skip enable_testing() for dry packages")
+ endif()
+-else()
+- message(STATUS "Skip enable_testing() when building binary package")
+-endif()
+
+ # allow overriding CATKIN_TEST_RESULTS_DIR when explicitly passed to CMake as a command line argument
+ if(DEFINED CATKIN_TEST_RESULTS_DIR)
+Index: catkin-9999/test/utils.py
+===================================================================
+--- catkin-9999.orig/test/utils.py
++++ catkin-9999/test/utils.py
+@@ -189,6 +189,8 @@ class AbstractCatkinWorkspaceTest(unitte
+ prefix_path = self.installdir
+ args += ["-DCMAKE_PREFIX_PATH=%s" % (prefix_path)]
+
++ args += ["-DCMAKE_INSTALL_LIBDIR=lib"]
++
+ if not os.path.isdir(this_builddir):
+ os.makedirs(this_builddir)
+ cmd = ["cmake", this_srcdir] + args