From f20958f66a5e97c92cc44354e07e3e3089dfc23d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 2 May 2023 23:23:40 +0100 Subject: gentoo auto-resync : 02:05:2023 - 23:23:39 --- .../elasticsearch-py/elasticsearch-py-8.7.0.ebuild | 139 +++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 dev-python/elasticsearch-py/elasticsearch-py-8.7.0.ebuild (limited to 'dev-python/elasticsearch-py/elasticsearch-py-8.7.0.ebuild') diff --git a/dev-python/elasticsearch-py/elasticsearch-py-8.7.0.ebuild b/dev-python/elasticsearch-py/elasticsearch-py-8.7.0.ebuild new file mode 100644 index 000000000000..007cbecd25a8 --- /dev/null +++ b/dev-python/elasticsearch-py/elasticsearch-py-8.7.0.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) +inherit distutils-r1 + +DESCRIPTION="Official Elasticsearch client library for Python" +HOMEPAGE=" + https://ela.st/es-python + https://github.com/elastic/elasticsearch-py + https://pypi.org/project/elasticsearch/ +" +# Use bundled jdk for the test elasticsearch as there is no convenient way to ensure system jdk17 is used +SRC_URI=" + https://github.com/elastic/elasticsearch-py/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + test? ( + amd64? ( https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${PV}-linux-x86_64.tar.gz ) + ) +" + +LICENSE="Apache-2.0" +SLOT="0/$(ver_cut 1)" +KEYWORDS="~amd64 ~x86" + +RESTRICT=" + !amd64? ( test ) + !test? ( test ) +" + +RDEPEND=" + >=dev-python/aiohttp-3[${PYTHON_USEDEP}] =dev-python/elastic-transport-8[${PYTHON_USEDEP}] =dev-python/requests-2.4[${PYTHON_USEDEP}] "${ES_DIR}/config/elasticsearch.yml" <<-EOF || die + # Run elasticsearch on custom port + http.port: ${es_port} + cluster.routing.allocation.disk.threshold_enabled: false + bootstrap.memory_lock: true + node.attr.testattr: test + repositories.url.allowed_urls: http://snapshot.test* + action.destructive_requires_name: false + ingest.geoip.downloader.enabled: false + + xpack.license.self_generated.type: basic + xpack.security.enabled: true + xpack.security.http.ssl.enabled: false + EOF + + # Set password in keystore + printf "y\n${ELASTIC_PASSWORD}\n" | ${ES_DIR}/bin/elasticsearch-keystore add "bootstrap.password" || die + + local es_instance="gentoo-py-test" + local es_log="${ES_DIR}/logs/${es_instance}.log" + local es_temp="${T}/es_temp" + local pid="${ES_DIR}/elasticsearch.pid" + + mkdir ${es_temp} || die + + ebegin "Starting Elasticsearch for ${EPYTHON}" + + # start local instance of elasticsearch + "${ES_DIR}"/bin/elasticsearch -d -p "${pid}" \ + -Ecluster.name="${es_instance}" -Epath.repo="${es_temp}" || die + + local i es_started=0 + for i in {1..20}; do + grep -q "started" ${es_log} 2> /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" + sleep 2 + continue + fi + done + + [[ ${es_started} -eq 0 ]] && die "Elasticsearch failed to start" + + distutils-r1_src_test + + pkill -F ${pid} || die +} -- cgit v1.2.3