public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-ros/rospack/files/, dev-ros/rospack/
@ 2017-04-23 13:54 Alexis Ballier
  0 siblings, 0 replies; only message in thread
From: Alexis Ballier @ 2017-04-23 13:54 UTC (permalink / raw
  To: gentoo-commits

commit:     a31fbc56824b5b8c3cedf1be833608ec0cd6b2f5
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 23 13:54:10 2017 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Sun Apr 23 13:54:32 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a31fbc56

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

 dev-ros/rospack/files/multipy.patch  | 40 ++++++++++++++++++++++++++++++++++++
 dev-ros/rospack/rospack-2.4.1.ebuild | 18 +++++++++++-----
 dev-ros/rospack/rospack-9999.ebuild  | 18 +++++++++++-----
 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 00000000000..8350cc0a8da
--- /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 b7223c71000..7d49abfd959 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 b7223c71000..7d49abfd959 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
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2017-04-23 13:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-23 13:54 [gentoo-commits] repo/gentoo:master commit in: dev-ros/rospack/files/, dev-ros/rospack/ Alexis Ballier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox