summaryrefslogtreecommitdiff
path: root/dev-python/elasticsearch-py
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-07-09 10:24:33 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-07-09 10:24:33 +0100
commitca85c13c0f9c4f9af191bc9a46a7bc274e1d25bf (patch)
treeabdc3a1a0b92472802acf004b02b8706b10ba2ea /dev-python/elasticsearch-py
parent49307b439ea0ae14beb0772de83e70297ae8356c (diff)
gentoo auto-resync : 09:07:2023 - 10:24:32
Diffstat (limited to 'dev-python/elasticsearch-py')
-rw-r--r--dev-python/elasticsearch-py/Manifest3
-rw-r--r--dev-python/elasticsearch-py/elasticsearch-py-8.8.2.ebuild144
2 files changed, 147 insertions, 0 deletions
diff --git a/dev-python/elasticsearch-py/Manifest b/dev-python/elasticsearch-py/Manifest
index 8d31114db35a..c1ccdd01d500 100644
--- a/dev-python/elasticsearch-py/Manifest
+++ b/dev-python/elasticsearch-py/Manifest
@@ -1,10 +1,13 @@
DIST elasticsearch-8.6.2-linux-x86_64.tar.gz 581745209 BLAKE2B c5d76e8fd2b7b28d50a0b81950c5d824f5000d3239efef9c3312e153829f09d98ba1394dceff2f147c29e2cd24be2ea4aaf0e0dc830e51989b87c8c7b48e3b3c SHA512 4c5ea98af53861d6c7f06f855f3bd4f4f52136d8149347e43f633a23ba56d3237f6ff7346bf849090f4e52b28fc21c98df8d9b0f0f845a330834367705cd366a
DIST elasticsearch-8.7.0-linux-x86_64.tar.gz 596104472 BLAKE2B bf2d6d6f810abd6e586681882f7eb01728167c6fd56ff927b08388bc3f4f5d342f0d903db1306880d70efc27c1ed7c53ba25d9517c55f4fa228744fdb7e3695b SHA512 7ac6ee5e2e2ccee1ebb20a1c94992b90e879b8b37273d59ae1496b1e8ae5499ae1b6ddce8cea7dda3b63e7e45352735b2bd3328ad0fdd6d6aadb020de21eb894
DIST elasticsearch-8.8.0-linux-x86_64.tar.gz 596757716 BLAKE2B 78867b59fddd8efdc63cbe914d968a500d5c1351bd97abb7fb868ca5af8945d7b8d4e2116f3b7daafa4ec1c675deec15dfad25cd4545efd694a6663d2590bccb SHA512 4af771a03371605ce82964300c78dd54d5f8ca3b1237c6480818f595a56deaceace842fdade433636ef53a0e55142477e82e9c1157e7e33ca3f46d86beca44e8
+DIST elasticsearch-8.8.2-linux-x86_64.tar.gz 597172402 BLAKE2B 65fa55de5282cefcb75d6dfc2af2f48ead1faa53674168c349451526f805417bc0744e6542fe5df0bb443a51b65ba48470e0fa0aa3704e95cb72ad90d324963b SHA512 4a63bb3c4cc69573be6a6ee6fae69adec2da5e33c048fa2aba8ee8842e2aef6ef82b6fd22cfb2145e307c46e6ddf40654a49e8bdab0f8672d88dac07a50e4743
DIST elasticsearch-py-8.6.2.gh.tar.gz 517674 BLAKE2B c498f1e1efaea4c24f595f7e496f576372d6075da107b2f84a7d4a42c02de4e00d1459df6f965384f5880b4d8f910c4a7a49a773cb38361618ca7a74e5c4ec5a SHA512 53c03c9c8da4eb303e8f9cd5752bbef5a360d1e1a6fea4e98a8d576299f2ae4175c1da09429049cedf53a78bf86a4647fe4f4f9c7735a5a29977ada7db49e5fb
DIST elasticsearch-py-8.7.0.gh.tar.gz 523141 BLAKE2B bbc6c59e921c5e8db3b7815a3086abe42690733d6719dcf3e167a521b1e7b38e68bf29ff2b1e0e48839be36c11feb9cb5bd9da507c35f508063ccfe9f3c24c59 SHA512 8f28d51cde600069692c8bef810e7949165a5f7a3ec440513a5f69e5c392ecb928dbd0317a9424d1845f523230a421e7d53db41a03b1bd3cc232c4b04ee0c894
DIST elasticsearch-py-8.8.0.gh.tar.gz 526860 BLAKE2B 81d747c6ff3a552bcb279bc6ae4ede6a20c9516610f375dc11183eb38b759b4a8b4a9d0af9747300f483f3df403d918d938e50ae8bec91d09b67b7e81b11a114 SHA512 8bbbbfdcb658b648f2b3c7bd41c0d83cc66385eb8e5a118714c146c7ee8fb247f606098cc3ddacb679e009495dc8dbc0e3159fb0cae38ee49399e27c868940f1
+DIST elasticsearch-py-8.8.2.gh.tar.gz 527409 BLAKE2B e7768150e22995b4ae4a5b0898a252c46e90b224e8c4132a7035d726db9367facfe2cd006c0d319454c61c075d180776f567e45791d731bf1fc1d40a78d284a2 SHA512 5e5610425fe3727b817fbeafb411fa3e455a1f08c4992774c95c93c5b0d01880198d39febb18baee7a1da85bd126d9679fb6a2aac4602df8ec49cfff0b5bd3be
EBUILD elasticsearch-py-8.6.2.ebuild 4325 BLAKE2B f3200827867c13017c74734d0ebba831e36fa42f854b67e7b4959b762947c1c698fac94041f467269eafa09d0793de508cb8d99e17551f49135704a51b38be86 SHA512 c06187a989f99e670a17f682d1a24c6191c18c80b2038545dc508971c00913c0c5402c8323291c38b2becef26a3470e764f6cc6f224c6a588407d2ef476c64be
EBUILD elasticsearch-py-8.7.0.ebuild 4325 BLAKE2B f3200827867c13017c74734d0ebba831e36fa42f854b67e7b4959b762947c1c698fac94041f467269eafa09d0793de508cb8d99e17551f49135704a51b38be86 SHA512 c06187a989f99e670a17f682d1a24c6191c18c80b2038545dc508971c00913c0c5402c8323291c38b2becef26a3470e764f6cc6f224c6a588407d2ef476c64be
EBUILD elasticsearch-py-8.8.0.ebuild 4307 BLAKE2B 4563f3c1c0edb4a841dad357c9dbcf44f8769957227719a4f91aaabc028fc77fe8dbf48803ed32fb5ccda0befec098a88c791d7105e1683d1c4d9331d5b8cdc4 SHA512 aec8dd87ada9e9a87ea4b98ba3fc0f5298217bf9ee0c96ebf320e3001b39bf0c75159297b38fd7a2b7b7c244e6d1096ee15749ed1df82ca4eef407b7dfba4bb6
+EBUILD elasticsearch-py-8.8.2.ebuild 4308 BLAKE2B 8f115c0219b3c5344245f8b60eca6494ecfdd387655408f8617b84534c23f9d6d0efdfc1727631ab2ee04c5baa9c013685e16a086535704b585f242e575609b8 SHA512 321961fa3119e11958893f6e6155af673c3b44979811c1bdcc8407ea5d4f3d35a334f9b4f9069013e36157d0e801ee4e1112bf3c99f6d9a10ff365472cb7d867
MISC metadata.xml 539 BLAKE2B b15f1ab67ea9d0f0d9c3f980751c01196eac3a7b33c14425710d061112c5cb58c5b9c3c5a9b45f6b40189f58a6f708afc5d038c374ac679b5b4c485a60333c12 SHA512 b8730bb4338ea38108cca19919cbd2f2e03ffa0db9c7f8070bf04053ffdebc7fdebcf6460d10f5fed29e6f317f88854bca1a7c5fdb194d643cb8124848668e14
diff --git a/dev-python/elasticsearch-py/elasticsearch-py-8.8.2.ebuild b/dev-python/elasticsearch-py/elasticsearch-py-8.8.2.ebuild
new file mode 100644
index 000000000000..215cd5318a9b
--- /dev/null
+++ b/dev-python/elasticsearch-py/elasticsearch-py-8.8.2.ebuild
@@ -0,0 +1,144 @@
+# 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_{10..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? (
+ elibc_glibc? (
+ 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 )
+ !elibc_glibc? ( test )
+ !test? ( test )
+"
+
+RDEPEND="
+ >=dev-python/aiohttp-3[${PYTHON_USEDEP}] <dev-python/aiohttp-4[${PYTHON_USEDEP}]
+ >=dev-python/elastic-transport-8[${PYTHON_USEDEP}] <dev-python/elastic-transport-9[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.4[${PYTHON_USEDEP}] <dev-python/requests-3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/mapbox-vector-tile[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ dev-python/unasync[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # REST api tests are a black hole for effort. It downloads the tests so its an ever moving target
+ # It also requires effort to blacklist tests for apis which are license restricted.
+ "test_elasticsearch/test_server/test_rest_api_spec.py"
+ # Counting deprecation warnings from python is bound to fail even if all are fixed in this package
+ # Not worth it
+ "test_elasticsearch/test_client/test_deprecated_options.py"
+)
+
+distutils_enable_sphinx docs/sphinx dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+src_prepare() {
+ # Replace added pytest options with setting asyncio_mode to auto.
+ # Test suite hasnt set asyncio parameters so its needed here.
+ sed -i '/[tool:pytest]/,/^$/ { s/addopts.*/asyncio_mode = auto/ }' setup.cfg || die
+
+ default
+}
+
+src_test() {
+ local es_port="25124"
+
+ export ES_DIR="${WORKDIR}/elasticsearch-${PV}"
+ export ES_INSTANCE="gentoo-es-py-test"
+ export ELASTIC_PASSWORD="changeme"
+ export ELASTICSEARCH_URL="https://elastic:${ELASTIC_PASSWORD}@localhost:${es_port}"
+
+ # Default behavior sets these depending on available memory.
+ # On my system its not reliable and leads to an instant OOM :D
+ # So lets add a reasonable limit
+ export ES_JAVA_OPTS="-Xmx4g"
+
+ cat > "${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
+}