# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy ) ES_VERSION="6.0.0" inherit distutils-r1 # tests fail in chroot # https://github.com/elastic/elasticsearch/issues/12018 RESTRICT="test" MY_PN=${PN/-py/} DESCRIPTION="official Python low-level client for Elasticsearch" HOMEPAGE="https://github.com/elastic/elasticsearch-py" SRC_URI="https://github.com/elasticsearch/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz test? ( https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}.tar.gz )" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="examples doc test" RDEPEND=">=dev-python/urllib3-1.21.1[${PYTHON_USEDEP}] /dev/null if [[ $? -eq 0 ]]; then einfo "Elasticsearch started" es_started=1 eend 0 break elif grep -q 'BindException\[Address already in use\]' "${ES_LOG}" 2>/dev/null; then eend 1 eerror "Elasticsearch already running" die "Cannot start Elasticsearch for tests" else einfo "Waiting for Elasticsearch" eend 1 sleep 2 continue fi done [[ $es_started -eq 0 ]] && die "Elasticsearch failed to start" export TEST_ES_SERVER="localhost:${ES_PORT}" esetup.py test || die pkill -F ${PID} } python_compile_all() { emake -C docs -j1 man $(usex doc html "") } python_install_all() { use doc && HTML_DOCS=( docs/_build/html/. ) use examples && dodoc -r example doman docs/_build/man/* distutils-r1_python_install_all }