# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( python3_{6,7,8} ) DISTUTILS_USE_SETUPTOOLS=bdepend ES_VERSION="7.7.0" inherit distutils-r1 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-oss-${ES_VERSION}-no-jdk-linux-x86_64.tar.gz )" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="amd64 x86" IUSE="doc test" # tests fail in chroot # https://github.com/elastic/elasticsearch/issues/12018 RESTRICT="test" RDEPEND="dev-python/certifi[${PYTHON_USEDEP}] >=dev-python/urllib3-1.21.1[${PYTHON_USEDEP}]" DEPEND="${RDEPEND} dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}] test? ( >=dev-python/requests-2.0.0[${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 ELASTICSEARCH_HOST="localhost:${es_port}" nosetests -v || die pkill -F ${pid} || die } python_install_all() { use doc && HTML_DOCS=( docs/_build/html/. ) doman docs/_build/man/* distutils-r1_python_install_all }