dev-util/catkin: Bump to 0.8.3.
authorAlexis Ballier <aballier@gentoo.org>
Wed, 13 May 2020 11:21:47 +0000 (13:21 +0200)
committerAlexis Ballier <aballier@gentoo.org>
Wed, 13 May 2020 14:07:03 +0000 (16:07 +0200)
Port to EAPI7.
Add python 3.7/3.8.
Drop pypy.

Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Alexis Ballier <aballier@gentoo.org>
dev-util/catkin/Manifest
dev-util/catkin/catkin-0.8.3.ebuild [new file with mode: 0644]
dev-util/catkin/catkin-9999.ebuild
dev-util/catkin/files/egginfo.patch [new file with mode: 0644]

index d5d5c25f558d3b30ae0fecd353657029db4bafee..dba3fbac5c50c0dcf48125a9b294aedd009cd537 100644 (file)
@@ -1,3 +1,4 @@
 DIST catkin-0.7.14.tar.gz 203422 BLAKE2B 22f27066054db9d35aaee216603c778a70a1941ab067ba6bfb42d25c6c90dc3fe3efb19167328dcbb008d21b9f7987cce4d3af44fe8368a1fda369432b383401 SHA512 4d17d2fd9c69d04d90a2aff4d48ac6cbdec052856af18cd4b3fb72cb7b3159651b606cd36ef653b9097ee7c23e036709afc019a95bb0ab34c29f51aad4d17d21
 DIST catkin-0.7.17.tar.gz 212023 BLAKE2B 901bc5a3e226eaab59917b4d548fe3aacfad602a75e46cbd720f252ffd490c4ff2b170cd158a0c09c047b837d6f097555ba55291dfeedb51951d98f2f0273c34 SHA512 0c6adfda27924a5c9c5360e5e84e082e5cc9a7638a1129fe86f604515d3731f4257f725f80e8e8781200a8a367472224aea537871e56e1859e9f66950a746d45
 DIST catkin-0.7.20.tar.gz 215244 BLAKE2B 06755e87f43d1e97138a6696af05dfd9b9434adcca9d4269c7b93b363b25ac9e8b198a980d7607b6b317f546b7637103dc251213087201ff56c1f12c86892edb SHA512 7258f0d548a92d846c9ad195d5e28a567d3c1b4cd1caabffd58c3fabee66cec8ce3612d3095e6437ac201b4d37fddf8f850775e809ebb7eaaeb99328afaedfc6
+DIST catkin-0.8.3.tar.gz 215988 BLAKE2B 92d7bced93e2d33dafcfd902724f993aa15756139265b5594c15041c333568591193b86e1a4bee8c278f2739dd063f73b6ce675b8ab4fefd312b5daeea414c7a SHA512 14fd03627f3fb339a850ca73e7a49dfeb7312a85416473dff60995ea1d0f1050982929c297751502589a7320dd7eec5d922c86061166f9d475fc1108540db4ae
diff --git a/dev-util/catkin/catkin-0.8.3.ebuild b/dev-util/catkin/catkin-0.8.3.ebuild
new file mode 100644 (file)
index 0000000..c37940e
--- /dev/null
@@ -0,0 +1,124 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+       SCM="git-r3"
+       EGIT_REPO_URI="https://github.com/ros/catkin"
+fi
+
+PYTHON_COMPAT=( python{3_6,3_7,3_8} )
+
+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"
+RESTRICT="!test? ( 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}] )"
+BDEPEND="
+       dev-util/cmake
+"
+
+PATCHES=(
+       "${FILESDIR}/tests.patch"
+       "${FILESDIR}/catkin_prefix_path.patch"
+       "${FILESDIR}/gnuinstalldirs.patch"
+       "${FILESDIR}/catkin_prefix_path_util_py_v2.patch"
+       "${FILESDIR}/package_xml.patch"
+       "${FILESDIR}/etc.patch"
+       "${FILESDIR}/egginfo.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=(
+               "-DCATKIN_ENABLE_TESTING=$(usex test)"
+               "-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##*/}"
+               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"
+
+       python_foreach_impl python_optimize
+}
+
+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."
+}
index bd0fec4e9fa1d52bc65573d5c71acbdc1e132ce7..c37940ea8dfe2b1e99415f007c5a473f128d946f 100644 (file)
@@ -1,7 +1,7 @@
 # Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=5
+EAPI=7
 
 SCM=""
 if [ "${PV#9999}" != "${PV}" ] ; then
@@ -9,9 +9,9 @@ if [ "${PV#9999}" != "${PV}" ] ; then
        EGIT_REPO_URI="https://github.com/ros/catkin"
 fi
 
-PYTHON_COMPAT=( python3_6 pypy3 )
+PYTHON_COMPAT=( python{3_6,3_7,3_8} )
 
-inherit ${SCM} cmake-utils python-r1
+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"
@@ -37,16 +37,18 @@ RDEPEND="
 "
 DEPEND="${RDEPEND}
        test? ( dev-python/nose[${PYTHON_USEDEP}] dev-python/mock[${PYTHON_USEDEP}] )"
+BDEPEND="
+       dev-util/cmake
+"
 
 PATCHES=(
        "${FILESDIR}/tests.patch"
-       "${FILESDIR}/distutils.patch"
        "${FILESDIR}/catkin_prefix_path.patch"
        "${FILESDIR}/gnuinstalldirs.patch"
        "${FILESDIR}/catkin_prefix_path_util_py_v2.patch"
        "${FILESDIR}/package_xml.patch"
        "${FILESDIR}/etc.patch"
-       "${FILESDIR}/sitedir.patch"
+       "${FILESDIR}/egginfo.patch"
 )
 
 src_prepare() {
@@ -74,7 +76,7 @@ catkin_src_configure_internal() {
 src_configure() {
        export PYTHONPATH="${S}/python"
        local mycmakeargs=(
-               "$(cmake-utils_use test CATKIN_ENABLE_TESTING)"
+               "-DCATKIN_ENABLE_TESTING=$(usex test)"
                "-DCATKIN_BUILD_BINARY_PACKAGE=ON"
                )
        python_foreach_impl catkin_src_configure_internal
@@ -108,6 +110,8 @@ src_install() {
 
        # needed to be considered as a workspace
        touch "${ED}/usr/.catkin"
+
+       python_foreach_impl python_optimize
 }
 
 pkg_postinst() {
diff --git a/dev-util/catkin/files/egginfo.patch b/dev-util/catkin/files/egginfo.patch
new file mode 100644 (file)
index 0000000..a33e066
--- /dev/null
@@ -0,0 +1,13 @@
+Index: catkin-0.8.3/cmake/catkin_python_setup.cmake
+===================================================================
+--- catkin-0.8.3.orig/cmake/catkin_python_setup.cmake
++++ catkin-0.8.3/cmake/catkin_python_setup.cmake
+@@ -143,7 +143,7 @@ function(catkin_python_setup)
+   assert(PYTHON_INSTALL_DIR)
+   if(${PROJECT_NAME}_SETUP_PY_SETUP_MODULE STREQUAL "setuptools")
+-    set(SETUPTOOLS_EGG_INFO "egg_info --egg-base ${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_DIR}")
++    set(SETUPTOOLS_EGG_INFO "egg_info --egg-base \${DESTDIR}${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_DIR}")
+   else()
+     set(SETUPTOOLS_EGG_INFO "")
+   endif()