How about something like case ${EAPI} in 5) : ;; *) die "EAPI=${EAPI:-0} is not supported" ;; esac
to force people to stay up2date... then you can also drop most of those redunant "|| die"s for EAPI functions > > IUSE="test" > RDEPEND=" > dev-util/catkin${CATKIN_PYTHON_USEDEP} > dev-python/empy${CATKIN_PYTHON_USEDEP} > " > DEPEND="${RDEPEND}" > > if [ -n "${CATKIN_DO_PYTHON_MULTIBUILD}" ] ; then > RDEPEND="${RDEPEND} dev-lang/python-exec:2" > fi > > # @ECLASS-VARIABLE: CATKIN_HAS_MESSAGES > # @DESCRIPTION: > # Set it to a non-empty value before inherit to tell the eclass the package > has messages to build. > # Messages will be built based on ROS_MESSAGES USE_EXPANDed variable. > > # @ECLASS-VARIABLE: CATKIN_MESSAGES_TRANSITIVE_DEPS > # @DESCRIPTION: > # Some messages have dependencies on other messages. > # In that case, CATKIN_MESSAGES_TRANSITIVE_DEPS should contain a > space-separated list of atoms > # representing those dependencies. The eclass uses it to ensure proper > dependencies on these packages. > if [ -n "${CATKIN_HAS_MESSAGES}" ] ; then > IUSE="${IUSE} +ros_messages_python +ros_messages_cxx ros_messages_eus > ros_messages_lisp" > RDEPEND="${RDEPEND} > ros_messages_cxx? ( dev-ros/gencpp:=${CATKIN_PYTHON_USEDEP} > ) > ros_messages_eus? ( dev-ros/geneus:=${CATKIN_PYTHON_USEDEP} > ) > ros_messages_python? ( dev-ros/genpy:=${CATKIN_PYTHON_USEDEP} > ) > ros_messages_lisp? ( dev-ros/genlisp:=${CATKIN_PYTHON_USEDEP} > ) > dev-ros/message_runtime > " > DEPEND="${DEPEND} ${RDEPEND} > dev-ros/message_generation > dev-ros/genmsg${CATKIN_PYTHON_USEDEP} > " > if [ -n "${CATKIN_MESSAGES_TRANSITIVE_DEPS}" ] ; then > for i in ${CATKIN_MESSAGES_TRANSITIVE_DEPS} ; do > > ds="${i}[ros_messages_python?,ros_messages_cxx?,ros_messages_lisp?,ros_messages_eus?] > ros_messages_python? ( ${i}[${PYTHON_USEDEP}] )" > RDEPEND="${RDEPEND} ${ds}" > DEPEND="${DEPEND} ${ds}" > done > fi > fi > Keep in mind what this implies when you change these dependencies without bumping the ebuilds that use them. > > # @FUNCTION: ros-catkin_src_test_internal > # @DESCRIPTION: > # Decorator around cmake-utils_src_test to ensure tests are built before > running them. > ros-catkin_src_test_internal() { > cd "${BUILD_DIR}" here is definitely a "|| die" missing, alternatively emake -C "${BUILD_DIR}" ... should work too and it seems cmake-utils_src_test already switches to "${BUILD_DIR}" (with missing error handling, lol) > > # @FUNCTION: ros-catkin_src_install_with_python > # @DESCRIPTION: > # Decorator around cmake-utils_src_install to ensure python scripts are > properly handled w.r.t. python-exec2. > ros-catkin_src_install_with_python() { > python_export PYTHON_SCRIPTDIR > cmake-utils_src_install > if [ ! -f "${T}/.catkin_python_symlinks_generated" -a -d > "${D}/${PYTHON_SCRIPTDIR}" ]; 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" touch can fail too, e.g. if the directory does not exist, so "|| die" seems to make sense too