From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1628731-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id C8D3F1581D3
	for <garchives@archives.gentoo.org>; Wed,  8 May 2024 04:57:12 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 8857BE2A18;
	Wed,  8 May 2024 04:57:10 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id B300BE2A1A
	for <gentoo-commits@lists.gentoo.org>; Wed,  8 May 2024 04:57:09 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id A0778343023
	for <gentoo-commits@lists.gentoo.org>; Wed,  8 May 2024 04:57:08 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 08AD91A42
	for <gentoo-commits@lists.gentoo.org>; Wed,  8 May 2024 04:57:07 +0000 (UTC)
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" <mgorny@gentoo.org>
Message-ID: <1715141849.024c2a90a0700e87637331be3ec9f507149f4e17.mgorny@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pymongo/
X-VCS-Repository: repo/gentoo
X-VCS-Files: dev-python/pymongo/Manifest dev-python/pymongo/pymongo-4.7.2.ebuild
X-VCS-Directories: dev-python/pymongo/
X-VCS-Committer: mgorny
X-VCS-Committer-Name: Michał Górny
X-VCS-Revision: 024c2a90a0700e87637331be3ec9f507149f4e17
X-VCS-Branch: master
Date: Wed,  8 May 2024 04:57:07 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: a13ddfc2-25ff-4f2c-9fc4-6ae5df1d9696
X-Archives-Hash: c04c4075b98f8947c03d89c558c7a1c3

commit:     024c2a90a0700e87637331be3ec9f507149f4e17
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May  8 04:08:50 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May  8 04:17:29 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=024c2a90

dev-python/pymongo: Bump to 4.7.2

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pymongo/Manifest             |   1 +
 dev-python/pymongo/pymongo-4.7.2.ebuild | 159 ++++++++++++++++++++++++++++++++
 2 files changed, 160 insertions(+)

diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index 6bfcedfb1fbd..11402fd5bbef 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,3 +1,4 @@
 DIST mongo-python-driver-4.6.3.gh.tar.gz 1494158 BLAKE2B bc876e121364154940b2aa92049089a3b3ea4a40ea7f785012c7f2d65840d9ef6cfc7413c832712ba2b06b2030438d598dc52cbd71190524cd90d5bafa06e745 SHA512 a6911a1619663e068f2d239e1d0a74bfad7347f40f8e5044f6a09802ac83ee3cc962722ff3cdcd7af1a2ffdb3f1a170d98620b83be2c9463d66fecca01b99543
 DIST mongo-python-driver-4.7.0.gh.tar.gz 1548372 BLAKE2B 48bdddf66ab083836035dec6be4a5a227e49ef6f47493de684f3216c6b1a4231f37b674f0c527476c616809049325369a268e4f48b08317157be1a396f046fe4 SHA512 5cf80e938160cdfc7fd90494bd6e6c210a7176179f8bf1d0c1c139959e06f05efe295bf415eb816fec9bdaf245a9fe5d514b82a75441e2c13cc4d9f65c53724c
 DIST mongo-python-driver-4.7.1.gh.tar.gz 1548181 BLAKE2B 7d78112b7afaf71726c56672ce4298999e0c8fcb79ac314df86e6abf92d7f721c88a9245785f559c6c3969a33ffef2391abb3f926919628c56a6849ec6a98359 SHA512 d8824c17f035b741920f9be110f7963c1636c8268c67738a03bcf573194f2a6286001c44b14c99f53407c6e546d46400e8a4d4a3d007f737a29d2c495d49e300
+DIST mongo-python-driver-4.7.2.gh.tar.gz 1548375 BLAKE2B a40dbe153f36cdf2836583aa0116f447d08376ce7980a09d0f21cea37a34ab318e5ff0b34b7fe1721cf7fc5d5443a1dbe0982d59cb941b0da8a4a99abdc7b19d SHA512 1de8bd14301e365eb53252dedaaaf8c9056dd534662543e2a500511e5f5f67a69e1f11a8a8575efdbd8852bb47b632d59762f66024d32973d20dc17c4448b9be

diff --git a/dev-python/pymongo/pymongo-4.7.2.ebuild b/dev-python/pymongo/pymongo-4.7.2.ebuild
new file mode 100644
index 000000000000..9f363c52e2f0
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.7.2.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit check-reqs distutils-r1
+
+MY_P=mongo-python-driver-${PV}
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="
+	https://github.com/mongodb/mongo-python-driver/
+	https://pypi.org/project/pymongo/
+"
+SRC_URI="
+	https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
+		-> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc kerberos +native-extensions +test-full"
+
+RDEPEND="
+	<dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
+	kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+	test? (
+		test-full? (
+			>=dev-db/mongodb-2.6.0
+		)
+	)
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+reqcheck() {
+	if use test && use test-full; then
+		# During the tests, database size reaches 1.5G.
+		local CHECKREQS_DISK_BUILD=1536M
+
+		check-reqs_${1}
+	fi
+}
+
+pkg_pretend() {
+	reqcheck pkg_pretend
+}
+
+pkg_setup() {
+	reqcheck pkg_setup
+}
+
+python_compile() {
+	# causes build errors to be fatal
+	local -x TOX_ENV_NAME=whatever
+	local DISTUTILS_ARGS=()
+	# unconditionally implicitly disabled on pypy3
+	if ! use native-extensions; then
+		DISTUTILS_ARGS+=( --no_ext )
+	else
+		export PYMONGO_C_EXT_MUST_BUILD=1
+	fi
+
+	distutils-r1_python_compile
+}
+
+python_test() {
+	rm -rf bson pymongo || die
+
+	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+	local EPYTEST_DESELECT=(
+		# network-sandbox
+		test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+		test/test_client.py::ClientUnitTest::test_detected_environment_logging
+		test/test_client.py::ClientUnitTest::test_detected_environment_warning
+		test/test_client.py::TestClient::test_service_name_from_kwargs
+		test/test_client.py::TestClient::test_srv_max_hosts_kwarg
+		test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
+		test/test_srv_polling.py
+		test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
+		test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
+		test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
+		test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
+		test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
+		test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
+		test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
+
+		# broken regularly by changes in mypy
+		test/test_typing.py::TestMypyFails::test_mypy_failures
+
+		# fragile to timing? fails because we're getting too many logs
+		test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
+	)
+
+	if ! use test-full; then
+		# .invalid is guaranteed to return NXDOMAIN per RFC 6761
+		local -x DB_IP=mongodb.invalid
+		epytest
+		return
+	fi
+
+	# Yes, we need TCP/IP for that...
+	local -x DB_IP=127.0.0.1
+	local -x DB_PORT=27000
+
+	local dbpath=${TMPDIR}/mongo.db
+	local logpath=${TMPDIR}/mongod.log
+
+	# Now, the hard part: we need to find a free port for mongod.
+	# We're just trying to run it random port numbers and check the log
+	# for bind errors. It shall be noted that 'mongod --fork' does not
+	# return failure when it fails to bind.
+
+	mkdir -p "${dbpath}" || die
+	while true; do
+		ebegin "Trying to start mongod on port ${DB_PORT}"
+
+		LC_ALL=C \
+		mongod --dbpath "${dbpath}" --nojournal \
+			--bind_ip ${DB_IP} --port ${DB_PORT} \
+			--unixSocketPrefix "${TMPDIR}" \
+			--logpath "${logpath}" --fork \
+		&& sleep 2
+
+		# Now we need to check if the server actually started...
+		if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+			# yay!
+			eend 0
+			break
+		elif grep -q 'Address already in use' "${logpath}"; then
+			# ay, someone took our port!
+			eend 1
+			: $(( DB_PORT += 1 ))
+			continue
+		else
+			eend 1
+			eerror "Unable to start mongod for tests. See the server log:"
+			eerror "	${logpath}"
+			die "Unable to start mongod for tests."
+		fi
+	done
+
+	local failed
+	nonfatal epytest || failed=1
+
+	mongod --dbpath "${dbpath}" --shutdown || die
+
+	[[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+	rm -rf "${dbpath}" || die
+}