dev-ros/ros_environment: Still honour CMAKE_PREFIX_PATH for ROS standard methods.

Closes: https://bugs.gentoo.org/624924
Package-Manager: Portage-2.3.24, Repoman-2.3.6
This commit is contained in:
Alexis Ballier
2018-02-06 17:11:58 +01:00
parent 8b852669d1
commit 004e8fa560
2 changed files with 13 additions and 6 deletions

View File

@@ -1,13 +1,20 @@
Index: ros_environment-9999/env-hooks/1.ros_package_path.sh.em
Support CATKIN_PREFIX_PATH; let CMAKE_PREFIX_PATH come first, so that standard ROS methods still work even if we do not
use them.
Index: ros_environment-1.2.0/env-hooks/1.ros_package_path.sh.em
===================================================================
--- ros_environment-9999.orig/env-hooks/1.ros_package_path.sh.em
+++ ros_environment-9999/env-hooks/1.ros_package_path.sh.em
@@ -4,7 +4,7 @@
--- ros_environment-1.2.0.orig/env-hooks/1.ros_package_path.sh.em
+++ ros_environment-1.2.0/env-hooks/1.ros_package_path.sh.em
@@ -4,8 +4,10 @@
PYTHON_CODE_BUILD_ROS_PACKAGE_PATH=$(cat <<EOF
from __future__ import print_function
import os
-env_name = 'CMAKE_PREFIX_PATH'
+env_name = 'CATKIN_PREFIX_PATH'
paths = [path for path in os.environ[env_name].split(os.pathsep)] if env_name in os.environ and os.environ[env_name] != '' else []
-paths = [path for path in os.environ[env_name].split(os.pathsep)] if env_name in os.environ and os.environ[env_name] != '' else []
+env_names = [ 'CMAKE_PREFIX_PATH', 'CATKIN_PREFIX_PATH' ]
+paths = []
+for env_name in env_names:
+ paths += [path for path in os.environ[env_name].split(os.pathsep)] if env_name in os.environ and os.environ[env_name] != '' else []
workspaces = [path for path in paths if os.path.exists(os.path.join(path, '.catkin'))]
paths = []
for workspace in workspaces: