public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Joonas Niilola" <juippis@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/elasticsearch-py/
Date: Tue,  2 May 2023 17:07:21 +0000 (UTC)	[thread overview]
Message-ID: <1683047238.cc08ec3429a5054d293a9863beb2c839207b1ea3.juippis@gentoo> (raw)

commit:     cc08ec3429a5054d293a9863beb2c839207b1ea3
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Fri Apr  7 00:15:52 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue May  2 17:07:18 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc08ec34

dev-python/elasticsearch-py: add 8.7.0

Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-python/elasticsearch-py/Manifest               |   2 +
 .../elasticsearch-py/elasticsearch-py-8.7.0.ebuild | 139 +++++++++++++++++++++
 2 files changed, 141 insertions(+)

diff --git a/dev-python/elasticsearch-py/Manifest b/dev-python/elasticsearch-py/Manifest
index 3582052ef939..4451a623c8e3 100644
--- a/dev-python/elasticsearch-py/Manifest
+++ b/dev-python/elasticsearch-py/Manifest
@@ -1,2 +1,4 @@
 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-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

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/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
+}


             reply	other threads:[~2023-05-02 17:07 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-02 17:07 Joonas Niilola [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-07-24 18:48 [gentoo-commits] repo/gentoo:master commit in: dev-python/elasticsearch-py/ Michał Górny
2023-07-24 18:48 Michał Górny
2023-07-24 18:48 Michał Górny
2023-07-09  4:35 Sam James
2023-07-09  4:35 Sam James
2023-06-20 12:02 Jakov Smolić
2023-06-11  8:49 Joonas Niilola
2023-06-11  8:49 Joonas Niilola
2023-05-02 17:07 Joonas Niilola
2023-05-02 17:07 Joonas Niilola
2023-04-05 15:58 Michał Górny
2023-04-05 14:27 Arthur Zamarin
2023-04-05 14:27 Arthur Zamarin
2023-02-18  7:16 Sam James
2023-02-18  7:16 Sam James
2022-09-26  6:15 Michał Górny
2022-09-25 23:58 Sam James
2022-09-25 23:58 Sam James
2022-08-25 19:25 Arthur Zamarin
2021-11-05 19:16 Michał Górny
2021-11-05 17:33 Sam James
2021-11-05 14:57 Jakov Smolić
2021-10-10 23:45 Sam James
2021-10-05 13:37 Joonas Niilola
2021-10-05 13:37 Joonas Niilola
2021-10-02 12:46 Joonas Niilola
2021-04-11 11:23 Michał Górny
2021-04-11 11:11 Sam James
2021-04-11 11:06 Sam James
2021-03-09  9:44 Sam James
2021-02-21 13:20 David Seifert
2020-12-11 14:51 Michał Górny
2020-12-10 19:31 Thomas Deutschmann
2020-06-28 20:44 Agostino Sarubbo
2020-06-28 20:27 Agostino Sarubbo
2020-06-06  2:08 Aaron Bauman
2020-04-01 14:38 Joonas Niilola
2020-03-27  8:58 Michał Górny
2020-02-05 13:00 Michał Górny
2020-01-24  6:54 Joonas Niilola
2020-01-24  6:54 Joonas Niilola
2020-01-24  6:54 Joonas Niilola
2020-01-24  6:54 Joonas Niilola
2019-10-28 14:43 Joonas Niilola
2019-10-28 14:43 Joonas Niilola
2019-08-19 17:06 Joonas Niilola
2019-08-19 17:06 Joonas Niilola
2019-08-16 13:50 Michał Górny
2018-11-17 14:27 Mikle Kolyada
2018-11-15 15:48 Thomas Deutschmann
2018-09-28 10:45 Michał Górny
2018-09-28 10:45 Michał Górny
2018-09-13 15:34 Thomas Deutschmann
2018-09-13 15:34 Thomas Deutschmann
2018-07-11 10:32 Tony Vroon
2018-07-11 10:32 Tony Vroon
2018-05-11 21:56 Patrice Clement
2018-04-11 22:47 Patrice Clement
2018-02-14 21:55 Michał Górny
2018-02-14 21:55 Michał Górny
2018-02-14 21:55 Michał Górny
2018-01-03 19:02 Michał Górny
2017-11-30 14:47 Patrice Clement
2017-11-30 14:47 Patrice Clement
2017-11-30 14:47 Patrice Clement
2017-11-06 11:41 Manuel Rüger
2017-10-29 21:08 Thomas Deutschmann
2017-05-25 10:44 Agostino Sarubbo
2017-05-24 13:27 Michał Górny
2017-05-24 13:27 Michał Górny
2017-05-19 10:52 Michał Górny
2017-05-19  9:46 Manuel Rüger
2017-05-18 22:25 Michał Górny
2017-05-17 16:37 Patrick Lauer
2017-05-15 13:49 Manuel Rüger
2017-03-16 21:57 Göktürk Yüksek
2017-03-16 21:57 Göktürk Yüksek
2017-02-10 20:25 Göktürk Yüksek
2017-02-10 20:25 Göktürk Yüksek
2016-12-27 17:38 Göktürk Yüksek
2016-12-26 11:23 Aaron Bauman
2016-11-28 11:10 Patrick Lauer
2016-10-28 19:45 Patrick Lauer
2016-10-02 12:59 Göktürk Yüksek
2016-09-02  5:26 Patrick Lauer
2016-08-30 19:07 David Seifert
2016-08-23 19:00 David Seifert
2016-08-23 19:00 David Seifert
2016-08-23 19:00 David Seifert
2016-08-23 19:00 David Seifert
2016-04-18 16:16 Ian Delaney
2016-03-18 11:08 Patrick Lauer
2016-03-17 14:27 Patrick Lauer
2016-01-13 14:10 Patrice Clement
2015-11-23  7:53 Ian Delaney
2015-11-14 16:54 Markus Meier
2015-11-11 17:10 Ian Delaney
2015-11-10 16:08 Ian Delaney
2015-11-09  9:50 Ian Delaney
2015-10-26 19:36 Justin Lecher
2015-10-26 17:43 Richard Farina
2015-10-26 14:18 Ian Delaney
2015-10-26  3:47 Ian Delaney
2015-10-19 13:32 Ian Delaney
2015-08-20  4:45 Zac Medico

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1683047238.cc08ec3429a5054d293a9863beb2c839207b1ea3.juippis@gentoo \
    --to=juippis@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox