diff options
author | Alfred Wingate <parona@protonmail.com> | 2021-09-09 00:51:59 +0300 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2021-10-05 16:37:37 +0300 |
commit | 73a0af305bb3e3b75f50d5b10d087c48848e1e77 (patch) | |
tree | cfcca762944717c1dbffa0ed471ab54594c88adf /dev-python/elasticsearch-py | |
parent | dev-python/unasync: add unasync for elasticsearch-py (diff) | |
download | gentoo-73a0af305bb3e3b75f50d5b10d087c48848e1e77.tar.gz gentoo-73a0af305bb3e3b75f50d5b10d087c48848e1e77.tar.bz2 gentoo-73a0af305bb3e3b75f50d5b10d087c48848e1e77.zip |
dev-python/elasticsearch-py: add 7.14.1
Package-Manager: Portage-3.0.22, Repoman-3.0.3
Signed-off-by: Alfred Wingate <parona@protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/22248
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'dev-python/elasticsearch-py')
-rw-r--r-- | dev-python/elasticsearch-py/Manifest | 2 | ||||
-rw-r--r-- | dev-python/elasticsearch-py/elasticsearch-py-7.14.1.ebuild | 185 | ||||
-rw-r--r-- | dev-python/elasticsearch-py/metadata.xml | 12 |
3 files changed, 198 insertions, 1 deletions
diff --git a/dev-python/elasticsearch-py/Manifest b/dev-python/elasticsearch-py/Manifest index 29efd733d197..8692b3659673 100644 --- a/dev-python/elasticsearch-py/Manifest +++ b/dev-python/elasticsearch-py/Manifest @@ -1,2 +1,4 @@ +DIST elasticsearch-7.14.1-no-jdk-linux-x86_64.tar.gz 191559419 BLAKE2B c4099d2e7a121b47549b44c081f60cd966a371a01827aa19380d171619cb6ef6f30fd411f75de00d41c6a93df2c899ac9dbc5cf2bf2264d7885ace6a61cf55c3 SHA512 77dca78ba865ae74863b3b2a3cd61e8a8e4478cd02eb020184dbf89fa32cf145a6bbd1d11a1cb88c2236a3b8cdb8b0047e3c0f1a40f609f31b898c905b2c211d DIST elasticsearch-oss-7.7.0-no-jdk-linux-x86_64.tar.gz 73216528 BLAKE2B f0f1a3d3347ea37703e90bd896b24f6e3c58406d9fb20f3607a4d08eee325b5ae293db48d1afdc208468ee775b9085a28f39f2e175b67e4881bfb61d5cb85a9a SHA512 f9b323cff078a0dc856f99efd164775a9cd0718bb0ddb6c4d4817fa53cae71748f1aec5158afa45d4b29076043cbada9743a996e685439436e93d94a9eff2768 +DIST elasticsearch-py-7.14.1.tar.gz 302277 BLAKE2B a4502edbaf1dbca9c687a32f012305fee7520555dd23f05888fcb8b82e2a9ffa3f9c5208320eca4ea8033498cd0a951003b94662b6847da664f302b8c2763004 SHA512 49b4e0cddc210e0d73cb7cb28f38dae4fd0595e22733cf017c41f50731479a1a3672307a119b067a0b5c1de3a138908e337145effd2b66bf930c2d439cd2ce0b DIST elasticsearch-py-7.7.0.tar.gz 128862 BLAKE2B 461b7ac3bc6d96bacdc1e8595c05b4dfd3e6bad2d2d11eecaedcb3b7e96c7390fe26c47b7095b3b1e8500872cfef689a749bd7103bef352680a2cf3ef7dad350 SHA512 6da382c5056f61dde2bf509c902a4ca33548ee937d037dc977e8c8864ebc09385f630b5c99ab8b24b69390773a241786495d1c01a5684ea3892d834e7a1550b1 diff --git a/dev-python/elasticsearch-py/elasticsearch-py-7.14.1.ebuild b/dev-python/elasticsearch-py/elasticsearch-py-7.14.1.ebuild new file mode 100644 index 000000000000..9bbee0cf097c --- /dev/null +++ b/dev-python/elasticsearch-py/elasticsearch-py-7.14.1.ebuild @@ -0,0 +1,185 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit distutils-r1 + +DESCRIPTION="Official Python low-level client for Elasticsearch" +HOMEPAGE="https://github.com/elastic/elasticsearch-py" +SRC_URI=" + https://github.com/elastic/elasticsearch-py/archive/v${PV}.tar.gz -> ${P}.tar.gz + test? ( + https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${PV}-no-jdk-linux-x86_64.tar.gz + )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="async doc test" + +PROPERTIES="test_network" +RESTRICT="test" + +RDEPEND=" + dev-python/certifi[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}] + <dev-python/urllib3-2.0.0[${PYTHON_USEDEP}] + async? ( + >=dev-python/aiohttp-3[${PYTHON_USEDEP}] + <dev-python/aiohttp-4[${PYTHON_USEDEP}] + )" +DEPEND=" + test? ( + ${RDEPEND} + >=dev-python/requests-2.0.0[${PYTHON_USEDEP}] + <dev-python/requests-3.0.0[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}] + virtual/jre:* + async? ( + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/unasync[${PYTHON_USEDEP}] + ) + )" + +distutils_enable_sphinx docs/sphinx dev-python/sphinx_rtd_theme +distutils_enable_tests pytest + +src_prepare() { + default_src_prepare + + if use test; then + local es_port="25124" + + export ES_DIR="${WORKDIR}/elasticsearch-${PV}" + export ES_INSTANCE="gentoo-es-py-test" + export ES_JAVA_HOME=$(java-config -g JAVA_HOME || die) + export ELASTIC_PASSWORD="changeme" + export ELASTICSEARCH_URL="https://elastic:${ELASTIC_PASSWORD}@localhost:${es_port}" + + cp -r "${S}/.ci/certs" "${ES_DIR}/config" || die + + cat <<EOF > "${ES_DIR}/config/elasticsearch.yml" || 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: true +xpack.security.http.ssl.verification_mode: certificate +xpack.security.http.ssl.key: certs/testnode.key +xpack.security.http.ssl.certificate: certs/testnode.crt +xpack.security.http.ssl.certificate_authorities: certs/ca.crt +xpack.security.transport.ssl.enabled: true +xpack.security.transport.ssl.verification_mode: certificate +xpack.security.transport.ssl.key: certs/testnode.key +xpack.security.transport.ssl.certificate: certs/testnode.crt +xpack.security.transport.ssl.certificate_authorities: certs/ca.crt +EOF + + # Set password in keystore + printf "y\n${ELASTIC_PASSWORD}\n" | ${ES_DIR}/bin/elasticsearch-keystore add "bootstrap.password" || die + + # Deselect tests which require a non-free license in the server to succeed + EPYTEST_DESELECT+=( + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[token/11_invalidation[{0,1}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[token/10_basic[{1..4}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_record[{1..6}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_influencer[{1..8}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/datafeed_cat_apis[0] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/filter_crud[10] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/preview_data_frame_analytics[{3..5}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/custom_all_field[{0,1}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/data_frame_analytics_crud[{1,5,6,13,29,38,39,40,42,62,76,77,78,80,81,82,83}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/start_data_frame_analytics[{0,1,2,3,4,6,7,8}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_categories[{0,1,2,3,4,5,6,7}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/forecast[{1,2,3,4,5,6}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/explain_data_frame_analytics[{3,5,6,7,8}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/delete_expired_data[{0,1,2,3}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/upgrade_job_snapshot[{0,1}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/inference_processor[{0,1}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_buckets[{0,1,2,3,4,5,6,7,8,9,10,11}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/trained_model_cat_apis[0] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/revert_model_snapshot[{0,1}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/calendar_crud[{0,7,8,12,13,17,18}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/stop_data_frame_analytics[{0,1,2,3,4,5}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get[{0,1,2,3,4}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/preview_datafeed[{0,1,2,3,7,8,9}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/data_frame_analytics_cat_apis[{0,1,2,3}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/reset_job[{0,1}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/ml_anomalies_default_mappings[{0,1}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/get_model_snapshots[{0,1,2,3,4,5,6,7}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/get_datafeeds[{0,1,2,3}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/job_cat_apis[0] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[change_password/11_token[0] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[searchable_snapshots/10_usage[0] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[graph/10_basic[0] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[data_stream/10_data_stream_resolvability[4] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[xpack/20_info[0] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[authenticate/10_field_level_security[0] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[set_security_user/10_small_users_one_index[0] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[terms_enum/10_basic[{0..9}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[security/hidden-index/14_security-tokens-7_read[{0,1,2}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[security/hidden-index/13_security-tokens_read[{0,1,2}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_records[{0..6}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_influencers[{0..8}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[license/20_put_license[{5,7,8}] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[license/30_enterprise_license[0] + test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[token/10_basic[0] + ) + + use async || EPYTEST_DESELECT+=( test_elasticsearch/test_async test_elasticsearch/test_types/async_types.py ) + export EPYTEST_DESELECT + fi +} + +python_test() { + local es_instance="gentoo-py-test" + local es_log="${ES_DIR}/logs/${es_instance}-${EPYTHON}.log" + local es_temp="${T}/es_temp-${EPYTHON}" + local pid="${ES_DIR}/elasticsearch.pid" + + mkdir ${es_temp} || die + + # start local instance of elasticsearch + "${ES_DIR}"/bin/elasticsearch -d -p "${pid}" -Ecluster.name=${es_instance}-${EPYTHON} -Epath.repo=${es_temp}|| die + + local i + local 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" + eend 1 + sleep 2 + continue + fi + done + + [[ $es_started -eq 0 ]] && die "Elasticsearch failed to start" + + epytest + + pkill -F ${pid} || die +} diff --git a/dev-python/elasticsearch-py/metadata.xml b/dev-python/elasticsearch-py/metadata.xml index dd13b4cb486b..94ef681d4bf7 100644 --- a/dev-python/elasticsearch-py/metadata.xml +++ b/dev-python/elasticsearch-py/metadata.xml @@ -1,9 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> + <maintainer type="person" proxied="yes"> + <email>parona@protonmail.com</email> + <name>Alfred Wingate</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <upstream> <remote-id type="github">elastic/elasticsearch-py</remote-id> <remote-id type="pypi">elasticsearch7</remote-id> </upstream> + <use> + <flag name="async">Add async support</flag> + </use> </pkgmetadata> |