dev-util/ply: Fix SRC_URI
[gentoo.git] / dev-util / catkin / catkin-9999.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 SCM=""
7 if [ "${PV#9999}" != "${PV}" ] ; then
8         SCM="git-r3"
9         EGIT_REPO_URI="https://github.com/ros/catkin"
10 fi
11
12 PYTHON_COMPAT=( python{3_6,3_7,3_8} )
13
14 inherit ${SCM} cmake-utils python-r1 python-utils-r1
15
16 DESCRIPTION="Cmake macros and associated python code used to build some parts of ROS"
17 HOMEPAGE="http://wiki.ros.org/catkin"
18 if [ "${PV#9999}" != "${PV}" ] ; then
19         SRC_URI=""
20         KEYWORDS=""
21 else
22         SRC_URI="https://github.com/ros/catkin/archive/${PV}.tar.gz -> ${P}.tar.gz"
23         KEYWORDS="~amd64 ~arm"
24 fi
25
26 LICENSE="BSD"
27 SLOT="0"
28 IUSE="test"
29 RESTRICT="!test? ( test )"
30 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
31
32 RDEPEND="
33         ${PYTHON_DEPS}
34         dev-python/catkin_pkg[${PYTHON_USEDEP}]
35         dev-python/empy[${PYTHON_USEDEP}]
36         dev-util/cmake
37 "
38 DEPEND="${RDEPEND}
39         test? ( dev-python/nose[${PYTHON_USEDEP}] dev-python/mock[${PYTHON_USEDEP}] )"
40 BDEPEND="
41         dev-util/cmake
42 "
43
44 PATCHES=(
45         "${FILESDIR}/tests.patch"
46         "${FILESDIR}/catkin_prefix_path.patch"
47         "${FILESDIR}/gnuinstalldirs.patch"
48         "${FILESDIR}/catkin_prefix_path_util_py_v2.patch"
49         "${FILESDIR}/package_xml.patch"
50         "${FILESDIR}/etc.patch"
51         "${FILESDIR}/egginfo.patch"
52 )
53
54 src_prepare() {
55         # fix libdir
56         sed -i \
57                 -e 's:LIBEXEC_DESTINATION lib:LIBEXEC_DESTINATION libexec:' \
58                 -e 's:}/lib:}/${CMAKE_INSTALL_LIBDIR}:' \
59                 -e 's:DESTINATION lib):DESTINATION ${CMAKE_INSTALL_LIBDIR}):' \
60                 -e 's:DESTINATION lib/:DESTINATION ${CMAKE_INSTALL_LIBDIR}/:' \
61                 -e 's:PYTHON_INSTALL_DIR lib:PYTHON_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}:' \
62                 cmake/*.cmake || die
63         cmake-utils_src_prepare
64 }
65
66 catkin_src_configure_internal() {
67         local sitedir="$(python_get_sitedir)"
68         mycmakeargs+=(
69                 -DPYTHON_EXECUTABLE="${PYTHON}"
70                 -DPYTHON_INSTALL_DIR="${sitedir#${EPREFIX}/usr/}"
71         )
72         python_export PYTHON_SCRIPTDIR
73         cmake-utils_src_configure
74 }
75
76 src_configure() {
77         export PYTHONPATH="${S}/python"
78         local mycmakeargs=(
79                 "-DCATKIN_ENABLE_TESTING=$(usex test)"
80                 "-DCATKIN_BUILD_BINARY_PACKAGE=ON"
81                 )
82         python_foreach_impl catkin_src_configure_internal
83 }
84
85 src_compile() {
86         python_foreach_impl cmake-utils_src_compile
87 }
88
89 src_test() {
90         unset PYTHON_SCRIPTDIR
91         python_foreach_impl cmake-utils_src_test
92 }
93
94 catkin_src_install_internal() {
95         python_export PYTHON_SCRIPTDIR
96         cmake-utils_src_install
97         if [ ! -f "${T}/.catkin_python_symlinks_generated" ]; then
98                 dodir /usr/bin
99                 for i in "${D}/${PYTHON_SCRIPTDIR}"/* ; do
100                         dosym ../lib/python-exec/python-exec2 "/usr/bin/${i##*/}"
101                 done
102                 touch "${T}/.catkin_python_symlinks_generated"
103         fi
104 }
105
106 src_install() {
107         python_foreach_impl catkin_src_install_internal
108
109         doenvd "${FILESDIR}/40catkin"
110
111         # needed to be considered as a workspace
112         touch "${ED}/usr/.catkin"
113
114         python_foreach_impl python_optimize
115 }
116
117 pkg_postinst() {
118         ewarn "Starting from version 0.7.1-r2, dev-util/catkin changed the"
119         ewarn "installation path for package.xml files on Gentoo."
120         ewarn "In order for ROS to work properly, you will need to reinstall ROS"
121         ewarn "packages that have it installed in the old location:"
122         ewarn "         emerge -1O /usr/share/*/package.xml"
123         ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=595004 for more details."
124 }