diff options
author | 2018-03-18 11:13:33 -0400 | |
---|---|---|
committer | 2018-03-23 19:34:26 -0400 | |
commit | 4d3fe7a396ce39cfe22c324b03d4b48fd359da77 (patch) | |
tree | 5639019837b1f258db2bd6b215f757d463ba41c0 /dev-python/pyzor/pyzor-1.0.0-r1.ebuild | |
parent | media-gfx/potrace: drop vulnerable wrt bug #626820 (diff) | |
download | gentoo-4d3fe7a396ce39cfe22c324b03d4b48fd359da77.tar.gz gentoo-4d3fe7a396ce39cfe22c324b03d4b48fd359da77.tar.bz2 gentoo-4d3fe7a396ce39cfe22c324b03d4b48fd359da77.zip |
dev-python/pyzor: new revision to fix some open bugs.
Lots of changes all at once:
* Update to EAPI=6.
* Remove an old pkg_postinst() notice about a relocated executable.
* Add IUSE=gdbm to make the gdbm daemon backend optional.
* Only require a (gdbm, mysql, redis) backend with USE=pyzord.
* Add a patch submitted upstream (by me) to fix a unicode crash.
* Require sphinx with USE=doc (bug 636752).
* Remove version constraints on redis-py and gevent (bug 643692).
* Use HOMEPAGE to make SRC_URI fit on one line.
* Add die() to "mv" and "rm" commands in src_install.
* Removed seemingly-unnecessary DISTUTILS_IN_SOURCE_BUILD=1.
* Added myself to metadata.xml as a maintainer.
* Improved the back-end database engine USE flag descriptions.
Bug: https://bugs.gentoo.org/636752
Bug: https://bugs.gentoo.org/643692
Package-Manager: Portage-2.3.19, Repoman-2.3.6
Diffstat (limited to 'dev-python/pyzor/pyzor-1.0.0-r1.ebuild')
-rw-r--r-- | dev-python/pyzor/pyzor-1.0.0-r1.ebuild | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/dev-python/pyzor/pyzor-1.0.0-r1.ebuild b/dev-python/pyzor/pyzor-1.0.0-r1.ebuild new file mode 100644 index 000000000000..14e1ee840724 --- /dev/null +++ b/dev-python/pyzor/pyzor-1.0.0-r1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_4,3_5} ) + +inherit distutils-r1 + +MY_PV="1-0-0" +DESCRIPTION="A distributed, collaborative spam detection and filtering network" +HOMEPAGE="https://github.com/SpamExperts/pyzor" +SRC_URI="${HOMEPAGE}/archive/release-${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" + +IUSE="doc gdbm gevent mysql pyzord redis 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') ) + mysql? ( $(python_gen_cond_dep \ + 'dev-python/mysql-python[${PYTHON_USEDEP}]' python2_7) ) + 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 mysql redis ) ) + test? ( gdbm mysql redis )" +S="${WORKDIR}/${PN}-release-${MY_PV}" + +PATCHES=( "${FILESDIR}/read-stdin-as-binary-in-get_input_msg.patch" ) + +python_test() { + # The suite is py2 friendly only + if ! python_is_python3; then + PYTHONPATH=. "${PYTHON}" ./tests/unit/__init__.py + fi +} + +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 +} |