diff options
Diffstat (limited to 'dev-util/catkin')
-rw-r--r-- | dev-util/catkin/Manifest | 17 | ||||
-rw-r--r-- | dev-util/catkin/catkin-0.7.11.ebuild | 119 | ||||
-rw-r--r-- | dev-util/catkin/catkin-0.7.12.ebuild | 119 | ||||
-rw-r--r-- | dev-util/catkin/catkin-0.7.14.ebuild | 119 | ||||
-rw-r--r-- | dev-util/catkin/catkin-9999.ebuild | 119 | ||||
-rw-r--r-- | dev-util/catkin/files/40catkin | 3 | ||||
-rw-r--r-- | dev-util/catkin/files/catkin_prefix_path.patch | 76 | ||||
-rw-r--r-- | dev-util/catkin/files/catkin_prefix_path_util_py.patch | 40 | ||||
-rw-r--r-- | dev-util/catkin/files/distutils.patch | 13 | ||||
-rw-r--r-- | dev-util/catkin/files/etc.patch | 16 | ||||
-rw-r--r-- | dev-util/catkin/files/gnuinstalldirs.patch | 15 | ||||
-rw-r--r-- | dev-util/catkin/files/package_xml.patch | 37 | ||||
-rw-r--r-- | dev-util/catkin/files/sitedir.patch | 15 | ||||
-rw-r--r-- | dev-util/catkin/files/tests.patch | 40 | ||||
-rw-r--r-- | dev-util/catkin/metadata.xml | 11 |
15 files changed, 759 insertions, 0 deletions
diff --git a/dev-util/catkin/Manifest b/dev-util/catkin/Manifest new file mode 100644 index 000000000000..73241e6eee07 --- /dev/null +++ b/dev-util/catkin/Manifest @@ -0,0 +1,17 @@ +AUX 40catkin 89 BLAKE2B d8a24606f095c6afdbc9141a47fa250bd931b53f9e32ce885a7e1dee33013968e8e401404c187d8afb6660bbb3528888c43b46e473f5dd96b53cf9af04d24d42 SHA512 bc0fc727177f071c48b2177adceaa0f5578a55bb05a65035871d83c7b217d86ef7f6c8585264971d0c8957652a8a60dbdb674600087800433823190e577744db +AUX catkin_prefix_path.patch 3297 BLAKE2B 60027c9564b6013f885bdd1f695e7279459cbf499536f381806116ef3d9d66a8507faa39008ee95d1d5662ec667dbe8ca3c1b284f0dd0fe561217a4876bfe960 SHA512 22c6e2440e1d7e48c46c0ad7f2006d621942b9c75d1d126ef1e110b36da321b79152aae8bf4d82c18250ce6da3337c697733ba130c1b2f116282ccb954d8d13f +AUX catkin_prefix_path_util_py.patch 2134 BLAKE2B 2c358c1e7e9b2cdb2b889b70ca5644f3823b7d1ef0af597d7f7f0a6de9ef7697d41ce74964f5e0d95deb9d2bc9e1afaf4665fb48cb76258c552483cbdc68374a SHA512 68b375ed46f7d25ece3e723fb6d41ba3f89bd27ef44f11d74427f63d615e043ab02de4ac806d77059db8a0d12671f0602df16a2b318b9d6e36671cd1491ce2b0 +AUX distutils.patch 798 BLAKE2B aeb6d364c8fa565e662686f723fe782bb6d3b2a17c0a1b243090515290258586e0df79699a32ec0eeb5834628dc885566c296055c4062826c03014a809b8cb01 SHA512 de281d0039515c4621d161c778520c4306897426c5692f46b4440326b6246502e64f90f121eaff8741775bafcb4213b2817468354db8c5b3c1250a2fce42d36d +AUX etc.patch 654 BLAKE2B 0ec3289f09983127f60ce4e1a93ad82b9c928fffe3dc820dc3ffc33c4cbedf794d3e49dbe646c83f884072ad949ebdbbe334cced9fdaa3448b5b219669019913 SHA512 8e6026dac6d79fc30056a7c598a99ca4cafcad442eec2eb2f48219b184d610e4d5da5faea5284dd078101b4ef761533d034aba49fd1af95f7f365887bbf22739 +AUX gnuinstalldirs.patch 714 BLAKE2B 32364640271a4868d5a92fcc9ca803df8067ecda2c89c69eb88c168bab4acc099ef2a7efd3c56a77e34acef2ad308780b69c66eb49c272e4d3b1b776d1b4c594 SHA512 38e6e0a220f20a7909a760b558997086bac9dc4919158d58dc41e5dd7d3bf22b8eb9a48cb05503c594dfa0a9e4bdb70e8eec121f45f777fc7821ec6e3678b600 +AUX package_xml.patch 1588 BLAKE2B 15a11031b704f307778e8cb85438851bfa38a2784abee9c544a10fa4e61036ffb45a391f40eacd7f97ec92abf060a1afc790d87cc1cfa40ddc07561db14c027f SHA512 7d6e1cb0076681c6cbb1332b05e6cd33bae4f780939e00412fd4b022f71b0418a4ff4f8e13d06f42fd21225e78d058818d680fef691dad4412d75ea0f0ef9f5e +AUX sitedir.patch 884 BLAKE2B ba051cbd046971d3b6327755b0de83c03b3a441a3e47e7d791e653bcd0b7ed3373752367a4ecfb8570a6b5d7c6fb3ae006f0c516909646d7ba7142f20b352217 SHA512 c619b6bcfa007f90464146767ea5b1aed4dad79d16bcc7daa573df14dcaa6eeb2ff96eb9d838d3bbfd0480b87d5538ffaf31dc059e25224d425f3786523b475d +AUX tests.patch 1640 BLAKE2B cc0d89a779ad056806b1c721709c1318278cb836e539042071e83acaa0aaffed9c316ed482a821219c9c074c71ea15bad343a7f63b887b9b266982fe4afe7f71 SHA512 a53ff72bf5302107241d43a0daa8ff18c50b6e69c0e1ecf2a841ace8d37fe7f3e8cb4202b666ad3bdda1bcb7d79f39244308542e1992b9af94d97bcec7086913 +DIST catkin-0.7.11.tar.gz 206933 BLAKE2B cda31e3d097516ce830060a2323956ec27c4113d161e95ab55564c00209e23d894e2acf3bf11b78e19538d4d8ff4c85814362a89bca58700da5fb609fb708fb8 SHA512 71810a80c1ac4334fdaed176285bee6bcb0443529debecf421723881e3d6316f41d4ed07c5eafa55515ba9d8143d5dc5fb683eda5ad54e52fda5c24085c44c96 +DIST catkin-0.7.12.tar.gz 211602 BLAKE2B ee5b9e57601847f79a2e7c49bb9b38974b0385a1c524c70cc549511d31b9fe8d03bf95e254b9c40a420fad990da40bf9c5d29f198ae42bd772c54a89cdc532b9 SHA512 ada496fae0959330b369c8a29daf9c575fcc94c3ee7e27e0180614fc49912450b23163622759975e588ffcdd49180e5f2fc8351e02bf1aef9b1f2db92811dbd6 +DIST catkin-0.7.14.tar.gz 203422 BLAKE2B 22f27066054db9d35aaee216603c778a70a1941ab067ba6bfb42d25c6c90dc3fe3efb19167328dcbb008d21b9f7987cce4d3af44fe8368a1fda369432b383401 SHA512 4d17d2fd9c69d04d90a2aff4d48ac6cbdec052856af18cd4b3fb72cb7b3159651b606cd36ef653b9097ee7c23e036709afc019a95bb0ab34c29f51aad4d17d21 +EBUILD catkin-0.7.11.ebuild 3139 BLAKE2B bc6d94dc8ecc6939cf87c49afefcb74f664c9283b38735303265ca392472d8457f7a7c58f30ccbbfd2adc8f3682effb716acf4772f920245da3bf9d545ec3b32 SHA512 8b7e0b4e54866abf40d87daa43a16ed396afec17674b6d09898bf794a326f44fcbf8cb5836184f35e245ae34e488bd99a8ae01137bec2e60fae56d65577f0f3c +EBUILD catkin-0.7.12.ebuild 3139 BLAKE2B bc6d94dc8ecc6939cf87c49afefcb74f664c9283b38735303265ca392472d8457f7a7c58f30ccbbfd2adc8f3682effb716acf4772f920245da3bf9d545ec3b32 SHA512 8b7e0b4e54866abf40d87daa43a16ed396afec17674b6d09898bf794a326f44fcbf8cb5836184f35e245ae34e488bd99a8ae01137bec2e60fae56d65577f0f3c +EBUILD catkin-0.7.14.ebuild 3139 BLAKE2B bc6d94dc8ecc6939cf87c49afefcb74f664c9283b38735303265ca392472d8457f7a7c58f30ccbbfd2adc8f3682effb716acf4772f920245da3bf9d545ec3b32 SHA512 8b7e0b4e54866abf40d87daa43a16ed396afec17674b6d09898bf794a326f44fcbf8cb5836184f35e245ae34e488bd99a8ae01137bec2e60fae56d65577f0f3c +EBUILD catkin-9999.ebuild 3139 BLAKE2B 6a79b59b3737995740a010bd564765f4e8ee5ef527c6a65d7100335047e774c81a46e54cd2e142903c50ca6a8dc82c52fbe4522aad7e41c58ad419da0b256e26 SHA512 6376d7edca6f7fea19baf69d9e42f0a75692f9104e9881415e96cfcb8cb2f2a6652901ac01c485f6e7ca1951a454e05439c67b8b36bf92ba8147566e7e006b01 +MISC metadata.xml 324 BLAKE2B 393e10af3d1bef82391a91bbf6382d9d1cafcdfe8a681b3a24844427cee1e3aa36f27ffd0a37a65b8a476ce0b3f2a860f546adc32c480164c69f66673bb0b5f4 SHA512 598dc8dd4427079a7eeca415c192ec39e99e53bc41c06796d2355b8858363b71ee8f038646c61ddd82d27451eb48c6f93b47489cdb04ae7c8663a6b46c4f9b94 diff --git a/dev-util/catkin/catkin-0.7.11.ebuild b/dev-util/catkin/catkin-0.7.11.ebuild new file mode 100644 index 000000000000..6f125a7d7fb0 --- /dev/null +++ b/dev-util/catkin/catkin-0.7.11.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2018 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.12.ebuild b/dev-util/catkin/catkin-0.7.12.ebuild new file mode 100644 index 000000000000..6f125a7d7fb0 --- /dev/null +++ b/dev-util/catkin/catkin-0.7.12.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2018 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.14.ebuild b/dev-util/catkin/catkin-0.7.14.ebuild new file mode 100644 index 000000000000..6f125a7d7fb0 --- /dev/null +++ b/dev-util/catkin/catkin-0.7.14.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2018 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> |