# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( python3_8 python3_9 python3_10 python3_11 ) inherit distutils-r1 git-r3 DESCRIPTION="A distributed, collaborative spam detection and filtering network" HOMEPAGE="https://github.com/SpamExperts/pyzor" EGIT_REPO_URI="https://github.com/SpamExperts/pyzor" EGIT_BRANCH="master" LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" IUSE="doc gdbm gevent pyzord redis test" # The test suite is py2-only RESTRICT="test" # The mysql-python library is always required for the MySQL engine. We # depend on it conditionally here because otherwise repoman will balk at # the potential conflict between PYTHON_TARGETS and USE=mysql. But as a # result, if you try to use the MySQL engine with python-3.x, it just # won't work because you'll be missing the library. RDEPEND=" pyzord? ( gdbm? ( $(python_gen_impl_dep 'gdbm') ) redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) gevent? ( dev-python/gevent[${PYTHON_USEDEP}] ) )" DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) test? ( ${RDEPEND} )" # TODO: maybe upstream would support skipping tests for which the # dependencies are missing? REQUIRED_USE="pyzord? ( || ( gdbm redis ) ) test? ( gdbm redis )" #PATCHES=( # "${FILESDIR}/65.patch" #) python_test() { PYTHONPATH=. "${PYTHON}" ./tests/unit/__init__.py } python_compile_all() { use doc && emake -C docs html } python_install_all() { use doc && HTML_DOCS=( docs/.build/html/. ) distutils-r1_python_install_all } src_install() { distutils-r1_src_install if use pyzord; then dodir /usr/sbin mv "${D}"/usr/bin/pyzord* "${ED}/usr/sbin" \ || die "failed to relocate pyzord" else rm "${D}"/usr/bin/pyzord* || die "failed to remove pyzord" fi }