summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/kombu/kombu-3.0.26.ebuild')
-rw-r--r--dev-python/kombu/kombu-3.0.26.ebuild102
1 files changed, 102 insertions, 0 deletions
diff --git a/dev-python/kombu/kombu-3.0.26.ebuild b/dev-python/kombu/kombu-3.0.26.ebuild
new file mode 100644
index 000000000000..0cf37f183a70
--- /dev/null
+++ b/dev-python/kombu/kombu-3.0.26.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="AMQP Messaging Framework for Python"
+HOMEPAGE="http://pypi.python.org/pypi/kombu https://github.com/celery/kombu"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="amqplib doc examples msgpack sqs test"
+
+# couchdb backend support possible via dev-python/couchdb-python
+# ditto dev-python/kazoo(>=1.3.1) and dev-python/beanstalkc
+PY27_GEN_USEDEP=$(python_gen_usedep python2_7)
+PYPY_GEN_USEDEP=$(python_gen_usedep python2_7 pypy)
+RDEPEND=">=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/py-amqp-1.4.6[${PYTHON_USEDEP}]
+ <dev-python/py-amqp-2.0[${PYTHON_USEDEP}]
+ dev-python/pyro:4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/pyzmq-13.1.0[${PYTHON_USEDEP}]' python2_7 python{3_3,3_4})
+ amqplib? ( >=dev-python/amqplib-1.0.2[${PYTHON_USEDEP}] )
+ sqs? ( >=dev-python/boto-2.13.3[${PY27_GEN_USEDEP}] )
+ msgpack? ( >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}] )"
+# Fix to https://github.com/celery/kombu/issues/474 obliges dev-python/pymongo to >=-3.0.2
+DEPEND="${RDEPEND}
+ >=dev-python/setuptools-0.7[${PYTHON_USEDEP}]
+ test? ( >=dev-python/unittest2-0.5.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-0.7.0[${PYPY_GEN_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/redis-py-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/beanstalkc[${PY27_GEN_USEDEP}]
+ dev-python/couchdb-python[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-issuetracker-0.9[${PYTHON_USEDEP}] )"
+
+# kazoo and sqlalchemy are optional packages for tests.
+# Refrain for now, no established demand for it from users
+
+# Req'd for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PY27_REQUSE="$(python_gen_useflags 'python2.7')"
+REQUIRED_USE="sqs? ( ${PY27_REQUSE} )
+ doc? ( ${PY27_REQUSE} amqplib sqs )" # 2 deps in doc build are py2 capable only
+
+PATCHES=( "${FILESDIR}"/${PN}-NA-tests-fix.patch \
+ "${FILESDIR}"/${P}-pymongo-test-fix.patch )
+
+python_prepare_all() {
+ https://github.com/celery/kombu/issues/246
+ sed -e 's:kombu.transports:kombu.transport:' -i funtests/tests/test_django.py
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # Doc build must be done by py2.7
+ # Doc build misses and skips only content re librabbitmq which is not in portage
+ if use doc; then
+ emake -C docs html || die "kombu docs failed installation"
+ fi
+}
+
+python_test() {
+ export DJANGO_SETTINGS_MODULE="django.conf"
+ # https://github.com/celery/kombu/issues/474
+ # tests need </pymongo-3.0; known to cause some breakage
+ if python_is_python3; then
+ 2to3 --no-diffs -w build/lib/kombu/transport/
+ nosetests --py3where=build/lib kombu/tests || die "Tests failed under ${EPYTHON}"
+ else
+ nosetests "${S}"/kombu/tests || die "Tests failed under ${EPYTHON}"
+ # funtests appears to be coded only for py2, a kind of 2nd tier. pypy fails 6.
+ # https://github.com/celery/kombu/issues/411
+ # Fix to https://github.com/celery/kombu/issues/474 breaks the
+ # funtests under >=dev-python/pymongo-3.0.2
+# if [[ "${EPYTHON}" == python2.7 ]]; then
+# pushd funtests > /dev/null
+# esetup.py test
+# popd > /dev/null
+# fi
+ fi
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ distutils-r1_python_install_all
+}