summaryrefslogtreecommitdiff
path: root/dev-util/catkin
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
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-util/catkin')
-rw-r--r--dev-util/catkin/Manifest16
-rw-r--r--dev-util/catkin/catkin-0.7.6-r1.ebuild119
-rw-r--r--dev-util/catkin/catkin-0.7.7.ebuild119
-rw-r--r--dev-util/catkin/catkin-9999.ebuild119
-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
-rw-r--r--dev-util/catkin/metadata.xml11
14 files changed, 639 insertions, 0 deletions
diff --git a/dev-util/catkin/Manifest b/dev-util/catkin/Manifest
new file mode 100644
index 000000000000..d48f2b7f4348
--- /dev/null
+++ b/dev-util/catkin/Manifest
@@ -0,0 +1,16 @@
+AUX 40catkin 89 SHA256 f755fcdd5f362f89e6154f3b98aa31f3aa685b691807612bd4738b95cab969cd SHA512 bc0fc727177f071c48b2177adceaa0f5578a55bb05a65035871d83c7b217d86ef7f6c8585264971d0c8957652a8a60dbdb674600087800433823190e577744db WHIRLPOOL 88cce64ef3f8d2f47ae072c3fd49ab8808f0a914c30be8e4fced78681099128d239fe491bcb6d59a65f3f59429234dc67918b8a0c4cdcbf87eb201bbc8754c6a
+AUX catkin_prefix_path.patch 3297 SHA256 d7cf7b90306e0d519963e359ee664a6e91ce4113278ca7eaf60e88d84652c511 SHA512 22c6e2440e1d7e48c46c0ad7f2006d621942b9c75d1d126ef1e110b36da321b79152aae8bf4d82c18250ce6da3337c697733ba130c1b2f116282ccb954d8d13f WHIRLPOOL f3daa029040eb5bd8f979603a70557cf83d093c9180faf811ffd73f5966f097c62c9bb03184ff5fa5a5c76e568fd039937b80c4e0fb3d3e1d520c098bc736b8e
+AUX catkin_prefix_path_util_py.patch 2134 SHA256 85e7b034f9909983753bb125162053d704df7f3e9dc8186223022ef47b5fc721 SHA512 68b375ed46f7d25ece3e723fb6d41ba3f89bd27ef44f11d74427f63d615e043ab02de4ac806d77059db8a0d12671f0602df16a2b318b9d6e36671cd1491ce2b0 WHIRLPOOL baf9a6f2a63cf1f97c8d0bda9f294f016ca50566b0034997f483b84860bdd4142a94b2d9393e4c1b0aacbab6551a547772271483c9c66038f721538d584050b8
+AUX distutils.patch 798 SHA256 11fb65f6609bb6a1577eb234606842bf01636e7b3ee2509f9e026dff57cc06a3 SHA512 de281d0039515c4621d161c778520c4306897426c5692f46b4440326b6246502e64f90f121eaff8741775bafcb4213b2817468354db8c5b3c1250a2fce42d36d WHIRLPOOL 902d30c5b83eb98fe77f2880189eca51513876be7bd3c5cf53a3ec62f2bb0059b979c72ae7f2cea16f7e4e15313e360614049b6b3f69c13057287fc910b85e8c
+AUX etc.patch 654 SHA256 6542c4931e1c183a57daecd0e9f15d498cc207c11a281319ce44f00fc1c96aa0 SHA512 8e6026dac6d79fc30056a7c598a99ca4cafcad442eec2eb2f48219b184d610e4d5da5faea5284dd078101b4ef761533d034aba49fd1af95f7f365887bbf22739 WHIRLPOOL 4b33b217ce4d5301510696cd37d3fc38ce5fa7f3c6b569e7f7d1e81635dfabd28aad13d6c2e8b6051cc07efdf642e979988077e9a16b55a360a10a1514197593
+AUX gnuinstalldirs.patch 714 SHA256 6507d9373c18c47fac20ced890d521e16d1124b0bf132c27e4800e54d188461f SHA512 38e6e0a220f20a7909a760b558997086bac9dc4919158d58dc41e5dd7d3bf22b8eb9a48cb05503c594dfa0a9e4bdb70e8eec121f45f777fc7821ec6e3678b600 WHIRLPOOL c9a9db173a5d0d1a9b8894621cd5b13d01d17995e4690b9e615b7cce94c0078627016a263c4ad616ca2bd5da55c2fb8eaa4a10d23fc13643b0649e333176e83c
+AUX package_xml.patch 1588 SHA256 ffa9b960b25cc8578b04fbe18a16522a870f9d7a329485de555abd3cdec22c5d SHA512 7d6e1cb0076681c6cbb1332b05e6cd33bae4f780939e00412fd4b022f71b0418a4ff4f8e13d06f42fd21225e78d058818d680fef691dad4412d75ea0f0ef9f5e WHIRLPOOL c1bd12c9dae614e1ea83f7a4226b09a763e595d84d35bddacfe985c55b738b9531591ef360af8c5ac7847c562b9557600b840bb47a4595aec0364f0daf48f417
+AUX sitedir.patch 884 SHA256 0e0537eaab38dd872153e4179f45074a01e2186b83d59f2f0be75d503f4bae31 SHA512 c619b6bcfa007f90464146767ea5b1aed4dad79d16bcc7daa573df14dcaa6eeb2ff96eb9d838d3bbfd0480b87d5538ffaf31dc059e25224d425f3786523b475d WHIRLPOOL 2f896cb3884996746dd789bd3176d2a9534254aac6743ae368e8902e662e96954e348429f2895cf60d52b3cbbf80ab6fd35de5a9a343b179fccb781c2a064aba
+AUX tests.patch 1640 SHA256 ea0258bc61eec6c03dbd2bcea2640abe9b95677882b169f39879551090867ee1 SHA512 a53ff72bf5302107241d43a0daa8ff18c50b6e69c0e1ecf2a841ace8d37fe7f3e8cb4202b666ad3bdda1bcb7d79f39244308542e1992b9af94d97bcec7086913 WHIRLPOOL bf990fb921745c627d77a3d46d55bf9ce3420c80eba76052fcc631bb1963f7e56b1268ed1605cce9968773c969d49246cd73a8ed778d1701b2b76595c0dc083a
+DIST catkin-0.7.6.tar.gz 202970 SHA256 468725aadfd6b615cd7d7a75fca37777db987b6ad63f73062c3273bd96d380d6 SHA512 9f4ddef3cdef0f81aeb2abe27db797318f813e184d457f6f81439d3b539efe2e2726da7eda8359a803848c5e5f8a2f8fd291b6f2a00a16a06112d084c1ec14ce WHIRLPOOL 863f477d54dd2ed297ea94776102fd31ad68cba3550e2a17a3218acda889c0b1071c9df73f16224fc75445742294df46ba6a7eae20019bb01974bde17db9fab8
+DIST catkin-0.7.7.tar.gz 203773 SHA256 0ab4efd1d42fc586ace5a37aba3c4266cff31593b39b7abe3ab6ced6b160e92f SHA512 616ff6a34ab52d50e383acdcebe66aa8f4ac1515ed3c654d75f32cdfe86ee3b87b17872ea2068ea5ddc5f35b73b5cf53c84c6e386d89ad2c8270228f1c446d01 WHIRLPOOL 40c901f74e39e6239d0967ce997d6ebc011063ed0208123d20e057a3bbd53e4dd7b70c6e8c4bfb31d7f0ae9e57292e17343565b68b9c441a5c10f7ff1dee6117
+EBUILD catkin-0.7.6-r1.ebuild 3139 SHA256 404f7d51614d4917c3ffe225d4edcae03183a4af37e0d511d7d97aefc54a8618 SHA512 6376d7edca6f7fea19baf69d9e42f0a75692f9104e9881415e96cfcb8cb2f2a6652901ac01c485f6e7ca1951a454e05439c67b8b36bf92ba8147566e7e006b01 WHIRLPOOL 7fb37095e7523ddc4c35d346f8173c6091f6437e752de87bb0014a35c672369c22358a1f95cdb23f93bf0d4f4e01f462bfe52b9df990e094b62708cd820cf61d
+EBUILD catkin-0.7.7.ebuild 3139 SHA256 404f7d51614d4917c3ffe225d4edcae03183a4af37e0d511d7d97aefc54a8618 SHA512 6376d7edca6f7fea19baf69d9e42f0a75692f9104e9881415e96cfcb8cb2f2a6652901ac01c485f6e7ca1951a454e05439c67b8b36bf92ba8147566e7e006b01 WHIRLPOOL 7fb37095e7523ddc4c35d346f8173c6091f6437e752de87bb0014a35c672369c22358a1f95cdb23f93bf0d4f4e01f462bfe52b9df990e094b62708cd820cf61d
+EBUILD catkin-9999.ebuild 3139 SHA256 404f7d51614d4917c3ffe225d4edcae03183a4af37e0d511d7d97aefc54a8618 SHA512 6376d7edca6f7fea19baf69d9e42f0a75692f9104e9881415e96cfcb8cb2f2a6652901ac01c485f6e7ca1951a454e05439c67b8b36bf92ba8147566e7e006b01 WHIRLPOOL 7fb37095e7523ddc4c35d346f8173c6091f6437e752de87bb0014a35c672369c22358a1f95cdb23f93bf0d4f4e01f462bfe52b9df990e094b62708cd820cf61d
+MISC ChangeLog 5990 SHA256 a018d7be6b058ebfb6830438fedb99c62f5308fef6e3c0578bd69d09c312cbab SHA512 16d316ec40a72e54831a46f067d6c96e2af30e9ec3462f41a31ba0f6381161bbd67b32e052850acc989debf5ab7ac52a4f4087916133a109342a561b237d9960 WHIRLPOOL 284b9f907c2d313b17a76b4e4bc7e87e512854a52b520b59eb95b86ac603a5725c807a01f95b86515a705e7715578627f55ec2426c1ab47fd0461cd40d098c39
+MISC metadata.xml 324 SHA256 76d2cb422285dc8034108df724a94ec65a1d54886954d9ed835abae02d78df48 SHA512 598dc8dd4427079a7eeca415c192ec39e99e53bc41c06796d2355b8858363b71ee8f038646c61ddd82d27451eb48c6f93b47489cdb04ae7c8663a6b46c4f9b94 WHIRLPOOL fceca90068856e6ddaa7e39a1a14129f6bcb3e711bb91980b5bc7f79ef0bc950df3d3540309affff519115a91d060351b36e14af034aeffc2adbe2a1fa6e9bc0
diff --git a/dev-util/catkin/catkin-0.7.6-r1.ebuild b/dev-util/catkin/catkin-0.7.6-r1.ebuild
new file mode 100644
index 000000000000..eb49a4b8c816
--- /dev/null
+++ b/dev-util/catkin/catkin-0.7.6-r1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/catkin"
+fi
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
+
+inherit ${SCM} cmake-utils python-r1 python-utils-r1
+
+DESCRIPTION="Cmake macros and associated python code used to build some parts of ROS"
+HOMEPAGE="http://wiki.ros.org/catkin"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ros/catkin/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-python/catkin_pkg[${PYTHON_USEDEP}]
+ dev-python/empy[${PYTHON_USEDEP}]
+ dev-util/cmake
+"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] dev-python/mock[${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}/tests.patch"
+ "${FILESDIR}/distutils.patch"
+ "${FILESDIR}/catkin_prefix_path.patch"
+ "${FILESDIR}/gnuinstalldirs.patch"
+ "${FILESDIR}/catkin_prefix_path_util_py.patch"
+ "${FILESDIR}/package_xml.patch"
+ "${FILESDIR}/etc.patch"
+ "${FILESDIR}/sitedir.patch"
+)
+
+src_prepare() {
+ # fix libdir
+ sed -i \
+ -e 's:LIBEXEC_DESTINATION lib:LIBEXEC_DESTINATION libexec:' \
+ -e 's:}/lib:}/${CMAKE_INSTALL_LIBDIR}:' \
+ -e 's:DESTINATION lib):DESTINATION ${CMAKE_INSTALL_LIBDIR}):' \
+ -e 's:DESTINATION lib/:DESTINATION ${CMAKE_INSTALL_LIBDIR}/:' \
+ -e 's:PYTHON_INSTALL_DIR lib:PYTHON_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}:' \
+ cmake/*.cmake || die
+ cmake-utils_src_prepare
+}
+
+catkin_src_configure_internal() {
+ local sitedir="$(python_get_sitedir)"
+ mycmakeargs+=(
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_INSTALL_DIR="${sitedir#${EPREFIX}/usr/}"
+ )
+ python_export PYTHON_SCRIPTDIR
+ cmake-utils_src_configure
+}
+
+src_configure() {
+ export PYTHONPATH="${S}/python"
+ local mycmakeargs=(
+ "$(cmake-utils_use test CATKIN_ENABLE_TESTING)"
+ "-DCATKIN_BUILD_BINARY_PACKAGE=ON"
+ )
+ python_foreach_impl catkin_src_configure_internal
+}
+
+src_compile() {
+ python_foreach_impl cmake-utils_src_compile
+}
+
+src_test() {
+ unset PYTHON_SCRIPTDIR
+ python_foreach_impl cmake-utils_src_test
+}
+
+catkin_src_install_internal() {
+ python_export PYTHON_SCRIPTDIR
+ cmake-utils_src_install
+ if [ ! -f "${T}/.catkin_python_symlinks_generated" ]; then
+ dodir /usr/bin
+ for i in "${D}/${PYTHON_SCRIPTDIR}"/* ; do
+ dosym ../lib/python-exec/python-exec2 "/usr/bin/${i##*/}" || die
+ done
+ touch "${T}/.catkin_python_symlinks_generated"
+ fi
+}
+
+src_install() {
+ python_foreach_impl catkin_src_install_internal
+
+ doenvd "${FILESDIR}/40catkin"
+
+ # needed to be considered as a workspace
+ touch "${ED}/usr/.catkin"
+}
+
+pkg_postinst() {
+ ewarn "Starting from version 0.7.1-r2, dev-util/catkin changed the"
+ ewarn "installation path for package.xml files on Gentoo."
+ ewarn "In order for ROS to work properly, you will need to reinstall ROS"
+ ewarn "packages that have it installed in the old location:"
+ ewarn " emerge -1O /usr/share/*/package.xml"
+ ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=595004 for more details."
+}
diff --git a/dev-util/catkin/catkin-0.7.7.ebuild b/dev-util/catkin/catkin-0.7.7.ebuild
new file mode 100644
index 000000000000..eb49a4b8c816
--- /dev/null
+++ b/dev-util/catkin/catkin-0.7.7.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/catkin"
+fi
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
+
+inherit ${SCM} cmake-utils python-r1 python-utils-r1
+
+DESCRIPTION="Cmake macros and associated python code used to build some parts of ROS"
+HOMEPAGE="http://wiki.ros.org/catkin"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ros/catkin/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-python/catkin_pkg[${PYTHON_USEDEP}]
+ dev-python/empy[${PYTHON_USEDEP}]
+ dev-util/cmake
+"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] dev-python/mock[${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}/tests.patch"
+ "${FILESDIR}/distutils.patch"
+ "${FILESDIR}/catkin_prefix_path.patch"
+ "${FILESDIR}/gnuinstalldirs.patch"
+ "${FILESDIR}/catkin_prefix_path_util_py.patch"
+ "${FILESDIR}/package_xml.patch"
+ "${FILESDIR}/etc.patch"
+ "${FILESDIR}/sitedir.patch"
+)
+
+src_prepare() {
+ # fix libdir
+ sed -i \
+ -e 's:LIBEXEC_DESTINATION lib:LIBEXEC_DESTINATION libexec:' \
+ -e 's:}/lib:}/${CMAKE_INSTALL_LIBDIR}:' \
+ -e 's:DESTINATION lib):DESTINATION ${CMAKE_INSTALL_LIBDIR}):' \
+ -e 's:DESTINATION lib/:DESTINATION ${CMAKE_INSTALL_LIBDIR}/:' \
+ -e 's:PYTHON_INSTALL_DIR lib:PYTHON_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}:' \
+ cmake/*.cmake || die
+ cmake-utils_src_prepare
+}
+
+catkin_src_configure_internal() {
+ local sitedir="$(python_get_sitedir)"
+ mycmakeargs+=(
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_INSTALL_DIR="${sitedir#${EPREFIX}/usr/}"
+ )
+ python_export PYTHON_SCRIPTDIR
+ cmake-utils_src_configure
+}
+
+src_configure() {
+ export PYTHONPATH="${S}/python"
+ local mycmakeargs=(
+ "$(cmake-utils_use test CATKIN_ENABLE_TESTING)"
+ "-DCATKIN_BUILD_BINARY_PACKAGE=ON"
+ )
+ python_foreach_impl catkin_src_configure_internal
+}
+
+src_compile() {
+ python_foreach_impl cmake-utils_src_compile
+}
+
+src_test() {
+ unset PYTHON_SCRIPTDIR
+ python_foreach_impl cmake-utils_src_test
+}
+
+catkin_src_install_internal() {
+ python_export PYTHON_SCRIPTDIR
+ cmake-utils_src_install
+ if [ ! -f "${T}/.catkin_python_symlinks_generated" ]; then
+ dodir /usr/bin
+ for i in "${D}/${PYTHON_SCRIPTDIR}"/* ; do
+ dosym ../lib/python-exec/python-exec2 "/usr/bin/${i##*/}" || die
+ done
+ touch "${T}/.catkin_python_symlinks_generated"
+ fi
+}
+
+src_install() {
+ python_foreach_impl catkin_src_install_internal
+
+ doenvd "${FILESDIR}/40catkin"
+
+ # needed to be considered as a workspace
+ touch "${ED}/usr/.catkin"
+}
+
+pkg_postinst() {
+ ewarn "Starting from version 0.7.1-r2, dev-util/catkin changed the"
+ ewarn "installation path for package.xml files on Gentoo."
+ ewarn "In order for ROS to work properly, you will need to reinstall ROS"
+ ewarn "packages that have it installed in the old location:"
+ ewarn " emerge -1O /usr/share/*/package.xml"
+ ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=595004 for more details."
+}
diff --git a/dev-util/catkin/catkin-9999.ebuild b/dev-util/catkin/catkin-9999.ebuild
new file mode 100644
index 000000000000..eb49a4b8c816
--- /dev/null
+++ b/dev-util/catkin/catkin-9999.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/ros/catkin"
+fi
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy{,3} )
+
+inherit ${SCM} cmake-utils python-r1 python-utils-r1
+
+DESCRIPTION="Cmake macros and associated python code used to build some parts of ROS"
+HOMEPAGE="http://wiki.ros.org/catkin"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ros/catkin/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-python/catkin_pkg[${PYTHON_USEDEP}]
+ dev-python/empy[${PYTHON_USEDEP}]
+ dev-util/cmake
+"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] dev-python/mock[${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}/tests.patch"
+ "${FILESDIR}/distutils.patch"
+ "${FILESDIR}/catkin_prefix_path.patch"
+ "${FILESDIR}/gnuinstalldirs.patch"
+ "${FILESDIR}/catkin_prefix_path_util_py.patch"
+ "${FILESDIR}/package_xml.patch"
+ "${FILESDIR}/etc.patch"
+ "${FILESDIR}/sitedir.patch"
+)
+
+src_prepare() {
+ # fix libdir
+ sed -i \
+ -e 's:LIBEXEC_DESTINATION lib:LIBEXEC_DESTINATION libexec:' \
+ -e 's:}/lib:}/${CMAKE_INSTALL_LIBDIR}:' \
+ -e 's:DESTINATION lib):DESTINATION ${CMAKE_INSTALL_LIBDIR}):' \
+ -e 's:DESTINATION lib/:DESTINATION ${CMAKE_INSTALL_LIBDIR}/:' \
+ -e 's:PYTHON_INSTALL_DIR lib:PYTHON_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}:' \
+ cmake/*.cmake || die
+ cmake-utils_src_prepare
+}
+
+catkin_src_configure_internal() {
+ local sitedir="$(python_get_sitedir)"
+ mycmakeargs+=(
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_INSTALL_DIR="${sitedir#${EPREFIX}/usr/}"
+ )
+ python_export PYTHON_SCRIPTDIR
+ cmake-utils_src_configure
+}
+
+src_configure() {
+ export PYTHONPATH="${S}/python"
+ local mycmakeargs=(
+ "$(cmake-utils_use test CATKIN_ENABLE_TESTING)"
+ "-DCATKIN_BUILD_BINARY_PACKAGE=ON"
+ )
+ python_foreach_impl catkin_src_configure_internal
+}
+
+src_compile() {
+ python_foreach_impl cmake-utils_src_compile
+}
+
+src_test() {
+ unset PYTHON_SCRIPTDIR
+ python_foreach_impl cmake-utils_src_test
+}
+
+catkin_src_install_internal() {
+ python_export PYTHON_SCRIPTDIR
+ cmake-utils_src_install
+ if [ ! -f "${T}/.catkin_python_symlinks_generated" ]; then
+ dodir /usr/bin
+ for i in "${D}/${PYTHON_SCRIPTDIR}"/* ; do
+ dosym ../lib/python-exec/python-exec2 "/usr/bin/${i##*/}" || die
+ done
+ touch "${T}/.catkin_python_symlinks_generated"
+ fi
+}
+
+src_install() {
+ python_foreach_impl catkin_src_install_internal
+
+ doenvd "${FILESDIR}/40catkin"
+
+ # needed to be considered as a workspace
+ touch "${ED}/usr/.catkin"
+}
+
+pkg_postinst() {
+ ewarn "Starting from version 0.7.1-r2, dev-util/catkin changed the"
+ ewarn "installation path for package.xml files on Gentoo."
+ ewarn "In order for ROS to work properly, you will need to reinstall ROS"
+ ewarn "packages that have it installed in the old location:"
+ ewarn " emerge -1O /usr/share/*/package.xml"
+ ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=595004 for more details."
+}
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
diff --git a/dev-util/catkin/metadata.xml b/dev-util/catkin/metadata.xml
new file mode 100644
index 000000000000..f8e179b359ba
--- /dev/null
+++ b/dev-util/catkin/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ros@gentoo.org</email>
+ <name>Gentoo ROS Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ros/catkin</remote-id>
+ </upstream>
+</pkgmetadata>