summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2017-04-23 15:54:10 +0200
committerAlexis Ballier <aballier@gentoo.org>2017-04-23 15:54:32 +0200
commita31fbc56824b5b8c3cedf1be833608ec0cd6b2f5 (patch)
treeecef89c1d1789964b2ef68e7c6f8ec3dafc85237 /dev-ros/rospack
parentmedia-libs/vamp-plugin-sdk: Bump to 2.7.1 (diff)
downloadgentoo-a31fbc56824b5b8c3cedf1be833608ec0cd6b2f5.tar.gz
gentoo-a31fbc56824b5b8c3cedf1be833608ec0cd6b2f5.tar.bz2
gentoo-a31fbc56824b5b8c3cedf1be833608ec0cd6b2f5.zip
dev-ros/rospack: Drop python-single-r1 hack, build libraries linking to different python implementations and install a compat symlink for now.
Package-Manager: Portage-2.3.5, Repoman-2.3.2
Diffstat (limited to 'dev-ros/rospack')
-rw-r--r--dev-ros/rospack/files/multipy.patch40
-rw-r--r--dev-ros/rospack/rospack-2.4.1.ebuild18
-rw-r--r--dev-ros/rospack/rospack-9999.ebuild18
3 files changed, 66 insertions, 10 deletions
diff --git a/dev-ros/rospack/files/multipy.patch b/dev-ros/rospack/files/multipy.patch
new file mode 100644
index 000000000000..8350cc0a8da2
--- /dev/null
+++ b/dev-ros/rospack/files/multipy.patch
@@ -0,0 +1,40 @@
+Install separate libraries linking to different python implementations.
+
+Index: rospack-2.4.1/CMakeLists.txt
+===================================================================
+--- rospack-2.4.1.orig/CMakeLists.txt
++++ rospack-2.4.1/CMakeLists.txt
+@@ -23,28 +23,28 @@ endif()
+
+ include_directories(include ${TinyXML2_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS})
+
+-add_library(rospack
++add_library(rospack-py${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
+ src/rospack.cpp
+ ${backcompat_source}
+ src/rospack_cmdline.cpp
+ src/utils.cpp
+ )
+-target_link_libraries(rospack ${TinyXML2_LIBRARIES} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES})
++target_link_libraries(rospack-py${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} ${TinyXML2_LIBRARIES} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES})
+
+ add_executable(rospackexe src/rospack_main.cpp)
+ # Set the name, and make it a "global" executable
+ set_target_properties(rospackexe PROPERTIES
+ OUTPUT_NAME rospack
+ RUNTIME_OUTPUT_DIRECTORY ${CATKIN_DEVEL_PREFIX}/bin)
+-target_link_libraries(rospackexe rospack ${Boost_LIBRARIES})
++target_link_libraries(rospackexe rospack-py${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} ${Boost_LIBRARIES})
+ add_executable(rosstackexe src/rosstack_main.cpp)
+-target_link_libraries(rosstackexe rospack ${Boost_LIBRARIES})
++target_link_libraries(rosstackexe rospack-py${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} ${Boost_LIBRARIES})
+ # Set the name, and make it a "global" executable
+ set_target_properties(rosstackexe PROPERTIES
+ OUTPUT_NAME rosstack
+ RUNTIME_OUTPUT_DIRECTORY ${CATKIN_DEVEL_PREFIX}/bin)
+
+-install(TARGETS rospack rospackexe rosstackexe
++install(TARGETS rospack-py${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} rospackexe rosstackexe
+ ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+ LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+ RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION})
diff --git a/dev-ros/rospack/rospack-2.4.1.ebuild b/dev-ros/rospack/rospack-2.4.1.ebuild
index b7223c710003..7d49abfd9591 100644
--- a/dev-ros/rospack/rospack-2.4.1.ebuild
+++ b/dev-ros/rospack/rospack-2.4.1.ebuild
@@ -5,13 +5,10 @@ EAPI=5
ROS_REPO_URI="https://github.com/ros/rospack"
KEYWORDS="~amd64 ~arm"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
inherit ros-catkin
-# Do it that way to avoid ros-catkin pulling in python-r1
-PYTHON_COMPAT=( python{2_7,3_4} )
-inherit python-single-r1
-
DESCRIPTION="Retrieves information about ROS packages available on the filesystem"
LICENSE="BSD"
@@ -30,4 +27,15 @@ DEPEND="${RDEPEND}
dev-python/nose
)"
-PATCHES=( "${FILESDIR}/gentoo.patch" )
+PATCHES=(
+ "${FILESDIR}/gentoo.patch"
+ "${FILESDIR}/multipy.patch"
+)
+
+src_install() {
+ ros-catkin_src_install
+ # Assume greatest alphabetically is what we want as default implementation
+ for i in "${ED}"/usr/$(get_libdir)/librospack*.so ; do
+ dosym $(basename "${i}") /usr/$(get_libdir)/librospack.so
+ done
+}
diff --git a/dev-ros/rospack/rospack-9999.ebuild b/dev-ros/rospack/rospack-9999.ebuild
index b7223c710003..7d49abfd9591 100644
--- a/dev-ros/rospack/rospack-9999.ebuild
+++ b/dev-ros/rospack/rospack-9999.ebuild
@@ -5,13 +5,10 @@ EAPI=5
ROS_REPO_URI="https://github.com/ros/rospack"
KEYWORDS="~amd64 ~arm"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
inherit ros-catkin
-# Do it that way to avoid ros-catkin pulling in python-r1
-PYTHON_COMPAT=( python{2_7,3_4} )
-inherit python-single-r1
-
DESCRIPTION="Retrieves information about ROS packages available on the filesystem"
LICENSE="BSD"
@@ -30,4 +27,15 @@ DEPEND="${RDEPEND}
dev-python/nose
)"
-PATCHES=( "${FILESDIR}/gentoo.patch" )
+PATCHES=(
+ "${FILESDIR}/gentoo.patch"
+ "${FILESDIR}/multipy.patch"
+)
+
+src_install() {
+ ros-catkin_src_install
+ # Assume greatest alphabetically is what we want as default implementation
+ for i in "${ED}"/usr/$(get_libdir)/librospack*.so ; do
+ dosym $(basename "${i}") /usr/$(get_libdir)/librospack.so
+ done
+}