mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-06 02:17:34 -08:00
dev-python/pymongo: Bump to 4.11.1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
parent
c47a87e2e2
commit
73650cf0e0
@ -1,4 +1,5 @@
|
||||
DIST mongo-python-driver-4.10.1.gh.tar.gz 1957402 BLAKE2B 66f7c166af7c7467ca7cb20266d313e453ab485516c17e8eda5a4771b4818778c00ad314e7bd5868a95f2045f879a73617f64549db634257f1abbc7a9a095181 SHA512 200bda479cd951beef6234a15120a043b4399cadd8ef2fda69bfcd6904e1e0e43d179626092dc81d89f48806768bf8147c55108c91620920f5544f712bf3be51
|
||||
DIST mongo-python-driver-4.11.1.gh.tar.gz 2111810 BLAKE2B 120168770b1f4a61f7f6327bb7b933e1bf848871ed7a6cb152837a95b438b17236e6b10b1fe54fc29a0791d8ad785033b2d726129dae69e9403ff5b1e3c2b929 SHA512 64f7d2baa90c23f3b5d91192cc4bcc6d3199f81b6b2844c19a1059779a5e6681a45e65872452230b6c1c8c193749324eb30af75f080f8830f9642f575da80bf9
|
||||
DIST mongo-python-driver-4.11.gh.tar.gz 2111008 BLAKE2B 0f65410b5eead108dec0016c23c3e004251ab2db04f3a7b2a31a8757abdddf526cea695400c8cdf2bb4f7fc8c711ee4d2e5f883d0db8b309843a71e194e75016 SHA512 454109e9c9da8fec6785f50e34dfe253f9fd1a82d69cadd5c0366590c6ca6aeac180f16a0e011f855e72c6a949a0cf06f477c7396d4c9f4da6f936646a5d8c20
|
||||
DIST mongo-python-driver-4.7.2.gh.tar.gz 1548375 BLAKE2B a40dbe153f36cdf2836583aa0116f447d08376ce7980a09d0f21cea37a34ab318e5ff0b34b7fe1721cf7fc5d5443a1dbe0982d59cb941b0da8a4a99abdc7b19d SHA512 1de8bd14301e365eb53252dedaaaf8c9056dd534662543e2a500511e5f5f67a69e1f11a8a8575efdbd8852bb47b632d59762f66024d32973d20dc17c4448b9be
|
||||
DIST mongo-python-driver-4.8.0.gh.tar.gz 1550149 BLAKE2B 9462480b17f3da54918883fbcb28a4324e6a00a9c2c34b16267ebcd378170f7fd34ec7290f7a0e3c4c38a5f1f803428cb6a0c64a562d956b3a19c37130697012 SHA512 17513a278187424fea1876d288651e385be759f23eebceca8d04a15182b15ffd64956193bb53e4a90e8b2197c2ebbade274737091f5d2e5fb4398539674c41df
|
||||
|
||||
237
dev-python/pymongo/pymongo-4.11.1.ebuild
Normal file
237
dev-python/pymongo/pymongo-4.11.1.ebuild
Normal file
@ -0,0 +1,237 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_USE_PEP517=hatchling
|
||||
PYTHON_COMPAT=( pypy3 python3_{10..13} )
|
||||
|
||||
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 ~loong ~mips ~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="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
|
||||
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
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
distutils-r1_src_prepare
|
||||
# we do not want hatch-requirements-txt and its ton of NIH deps
|
||||
sed -i -e '/requirements/d' pyproject.toml || die
|
||||
}
|
||||
|
||||
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
|
||||
export NO_EXT=1
|
||||
else
|
||||
export PYMONGO_C_EXT_MUST_BUILD=1
|
||||
unset NO_EXT
|
||||
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/asynchronous/test_client.py::AsyncClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
|
||||
test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_logging
|
||||
test/asynchronous/test_client.py::AsyncClientUnitTest::test_detected_environment_warning
|
||||
test/asynchronous/test_client.py::TestClient::test_service_name_from_kwargs
|
||||
test/asynchronous/test_client.py::TestClient::test_srv_max_hosts_kwarg
|
||||
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
|
||||
|
||||
# hangs?
|
||||
test/asynchronous/test_grid_file.py::AsyncTestGridFile::test_small_chunks
|
||||
|
||||
# broken async tests?
|
||||
test/asynchronous/test_encryption.py
|
||||
)
|
||||
|
||||
local run_separately=(
|
||||
# need to run some tests separately and then restart mongodb
|
||||
# to prevent it from crashing
|
||||
# https://bugs.gentoo.org/934389
|
||||
# note that this list must not overlap with EPYTEST_DESELECT
|
||||
test/test_bulk.py
|
||||
test/test_change_stream.py
|
||||
test/test_collection.py
|
||||
test/test_crud_unified.py
|
||||
test/test_gridfs.py
|
||||
)
|
||||
local run_separately2=(
|
||||
test/test_command_monitoring.py
|
||||
test/test_connection_monitoring.py
|
||||
test/test_cursor.py
|
||||
test/test_database.py
|
||||
test/test_grid_file.py
|
||||
)
|
||||
local run_separately3=(
|
||||
test/test_gridfs_bucket.py
|
||||
test/test_monitoring.py
|
||||
)
|
||||
local run_separately_async=(
|
||||
test/asynchronous/test_database.py
|
||||
test/asynchronous/test_grid_file.py
|
||||
)
|
||||
|
||||
if ! use test-full; then
|
||||
# .invalid is guaranteed to return NXDOMAIN per RFC 6761
|
||||
local -x DB_IP=mongodb.invalid
|
||||
epytest -p asyncio
|
||||
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
|
||||
|
||||
local stage failed=
|
||||
for stage in {1..6}; do
|
||||
# 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 async=( -p asyncio -m default_async )
|
||||
local def=( -p asyncio -m "default or encryption" )
|
||||
case ${stage} in
|
||||
1)
|
||||
nonfatal epytest "${def[@]}" "${run_separately[@]}" || failed=1
|
||||
;;
|
||||
2)
|
||||
nonfatal epytest "${def[@]}" "${run_separately2[@]}" || failed=1
|
||||
;;
|
||||
3)
|
||||
nonfatal epytest "${def[@]}" "${run_separately3[@]}" || failed=1
|
||||
;;
|
||||
4)
|
||||
EPYTEST_DESELECT+=(
|
||||
"${run_separately[@]}"
|
||||
"${run_separately2[@]}"
|
||||
"${run_separately3[@]}"
|
||||
)
|
||||
nonfatal epytest "${def[@]}" || failed=1
|
||||
;;
|
||||
5)
|
||||
nonfatal epytest "${async[@]}" "${run_separately_async[@]}" || failed=1
|
||||
;;
|
||||
6)
|
||||
EPYTEST_DESELECT+=(
|
||||
"${run_separately_async[@]}"
|
||||
)
|
||||
nonfatal epytest "${async[@]}" || failed=1
|
||||
;;
|
||||
esac
|
||||
|
||||
mongod --dbpath "${dbpath}" --shutdown || die
|
||||
done
|
||||
|
||||
[[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
|
||||
|
||||
rm -rf "${dbpath}" || die
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user