dev-ros/roslib: Patch env hooks to work better on Gentoo.
authorAlexis Ballier <aballier@gentoo.org>
Sat, 11 Mar 2017 09:13:57 +0000 (10:13 +0100)
committerAlexis Ballier <aballier@gentoo.org>
Sat, 11 Mar 2017 09:14:08 +0000 (10:14 +0100)
Use env python instead of hardcoder python version at build time. Honour CATKIN_PREFIX_PATH.

Package-Manager: Portage-2.3.4, Repoman-2.3.2

dev-ros/roslib/files/envhook.patch [new file with mode: 0644]
dev-ros/roslib/roslib-1.14.0-r1.ebuild [moved from dev-ros/roslib/roslib-1.14.0.ebuild with 93% similarity]
dev-ros/roslib/roslib-9999.ebuild

diff --git a/dev-ros/roslib/files/envhook.patch b/dev-ros/roslib/files/envhook.patch
new file mode 100644 (file)
index 0000000..d4e24e9
--- /dev/null
@@ -0,0 +1,34 @@
+Use env python for running python so that it uses the proper version on Gentoo.
+Honour CATKIN_PREFIX_PATH gentoo addition.
+
+Index: roslib/env-hooks/10.ros.sh.em
+===================================================================
+--- roslib.orig/env-hooks/10.ros.sh.em
++++ roslib/env-hooks/10.ros.sh.em
+@@ -1,8 +1,5 @@
+ # generated from ros/env-hooks/10.ros.sh.em
+-# scrub old ROS bin dirs, to avoid accidentally finding the wrong executables
+-export PATH="`@(PYTHON_EXECUTABLE) -c \"import os; print(os.pathsep.join([x for x in \\\"$PATH\\\".split(os.pathsep) if not any([d for d in ['cturtle', 'diamondback', 'electric', 'fuerte'] if d in x])]))\"`"
+-
+ @{
+ # This is a build-time environment variable which allows a build engineer to override the expected
+ # ROS_DISTRO value for a workspace, for example to deliberately use a newer version of roslib with
+@@ -19,7 +16,7 @@ export ROS_DISTRO=@(ROS_DISTRO)
+ 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 []
+ workspaces = [path for path in paths if os.path.exists(os.path.join(path, '.catkin'))]
+ paths = []
+@@ -38,7 +35,7 @@ for workspace in workspaces:
+ print(os.pathsep.join(paths))
+ EOF
+ )
+-export ROS_PACKAGE_PATH="`@(PYTHON_EXECUTABLE) -c \"$PYTHON_CODE_BUILD_ROS_PACKAGE_PATH\"`"
++export ROS_PACKAGE_PATH="`/usr/bin/env python -c \"$PYTHON_CODE_BUILD_ROS_PACKAGE_PATH\"`"
+ @[if DEVELSPACE]@
+ # env variables in develspace
similarity index 93%
rename from dev-ros/roslib/roslib-1.14.0.ebuild
rename to dev-ros/roslib/roslib-1.14.0-r1.ebuild
index 0ba96a53071ebefdefc53ad0b109186bcdb1b8bd..1866c312cfe9efa01eb35673236fedce5f098ab5 100644 (file)
@@ -25,3 +25,4 @@ DEPEND="${RDEPEND}
                dev-cpp/gtest
                dev-python/nose[${PYTHON_USEDEP}]
        )"
+PATCHES=( "${FILESDIR}/envhook.patch" )
index 0ba96a53071ebefdefc53ad0b109186bcdb1b8bd..1866c312cfe9efa01eb35673236fedce5f098ab5 100644 (file)
@@ -25,3 +25,4 @@ DEPEND="${RDEPEND}
                dev-cpp/gtest
                dev-python/nose[${PYTHON_USEDEP}]
        )"
+PATCHES=( "${FILESDIR}/envhook.patch" )