diff options
Diffstat (limited to 'dev-python/pymongo')
-rw-r--r-- | dev-python/pymongo/Manifest | 14 | ||||
-rw-r--r-- | dev-python/pymongo/pymongo-4.10.1.ebuild | 228 | ||||
-rw-r--r-- | dev-python/pymongo/pymongo-4.11.1.ebuild | 2 | ||||
-rw-r--r-- | dev-python/pymongo/pymongo-4.11.3.ebuild (renamed from dev-python/pymongo/pymongo-4.11.2.ebuild) | 0 | ||||
-rw-r--r-- | dev-python/pymongo/pymongo-4.11.ebuild | 237 | ||||
-rw-r--r-- | dev-python/pymongo/pymongo-4.7.2.ebuild | 180 | ||||
-rw-r--r-- | dev-python/pymongo/pymongo-4.8.0.ebuild | 205 |
7 files changed, 4 insertions, 862 deletions
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest index f428a95f8fbc..b6ae65ffc07e 100644 --- a/dev-python/pymongo/Manifest +++ b/dev-python/pymongo/Manifest @@ -1,13 +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.2.gh.tar.gz 2112201 BLAKE2B 261dcdacab32b516db4f980947dbf73005c9b972186c3720100495707bc96ed21ec4a8b251c1278f9b315d011ba87a6976e0033c768164abf7228efb061d703c SHA512 210a868c8e6dff923b03683e457085d631153bec2b6ddef85407c04c3f4399bb235331e3851b1193d9a2bed46a77f273ccb5ebf0fde437693a141a7a81673ce9 -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 -EBUILD pymongo-4.10.1.ebuild 6858 BLAKE2B adade6fd0fca5a17b98aa90f9d1c914cfa61a2cd9b303ed30e561a83bd53f0cadac92847b401de039b3cf38f2d5b33bb4583c0ec3c88b13b2fd42bcdae35a043 SHA512 7be791293a29b142b6513cc6ee50f25311c87cbba5a937c09f0dfd8f4a1d4bdb050f603bb5b90c39ff723b105100c45566f432c33ca95324b609d77a6e269cd4 -EBUILD pymongo-4.11.1.ebuild 7068 BLAKE2B 31030b7b7af35bb7de5b30e7cb2da11af8995e5bc323a8ac78c536900c5cc0c083ac925b0b4942f947195a3487f4ea70ab8146e9229056b2dfa9da2e0dd74431 SHA512 2a901bbb2ab9488f770d1b3bfcb64bb8863d6efd844bdef98e6099f298b8b047c6ef0e5df9925171cf9caec6beb4122d583a6515a2604baaa4c052318afff1bf -EBUILD pymongo-4.11.2.ebuild 7075 BLAKE2B 3b7e0dbb58b512c759b7c0fd22fd0ada6ef1d780d71039b9371ab50655f71a0344e3cb08474f8f33378ce02dfea2c01bf1ff9cbcb2044e853600f84864316866 SHA512 a9c0eb175868b556c4a7bfc47dd9f492d21f9574a7fee0de7d0c5d2b1f48b95d7333a3e062cadf3631c334e10c5406a95002e902afd000e951dedd5a00a1fa05 -EBUILD pymongo-4.11.ebuild 7066 BLAKE2B b4c5eb835af74e39f51f546d9abdce407336137d15469f4efd79637dbf03cd406991ad9225a7156b9afa9de3e81303aa8c76e920a1c8be7dc3468d6d63c559b2 SHA512 2c0a4b8b674c9fc337220c035369f1e4406ba15addcd8e48f8f127bb75fc88d5d0ef11ba4319a4428e549ced43d18db07f84e45349b8b69931a690d50943f499 -EBUILD pymongo-4.7.2.ebuild 5267 BLAKE2B 1045523964d4f0482bb1fd5c57841684479dae05b9135f873008d41de4163834bbc1d6d0249e183aec0e5f7751ea7740d2dc05ae0ec69048f1b24e5d1f215675 SHA512 3e19264bd6944e334d673ac0303e738dccd61b68e9b9d7e9cdd06eeea811d52cc5206d4e8ff57e88cf928ac5b47cc69a77bd5dc18aab801b2db8dcbe894f4456 -EBUILD pymongo-4.8.0.ebuild 5839 BLAKE2B add017703bd0be4c70abe7791ed3cf19453ab63f04d61e0b8139e6f59677ebaf002118b0e055ac23cb4e56c67033326abb16c73d76827698719e10900cebb90e SHA512 6e4ec05b25bfafd953d8254b6ceaf28fa5784cda21af76a9b27329af2a909aca7d43d242514b1b2dfb7db294e43eee17c15ad26bd73ed0c4fcc382e9cc7205c2 +DIST mongo-python-driver-4.11.3.gh.tar.gz 2112671 BLAKE2B 2c19b974461657b805484ad58bb7a3678950be716cbfc0e68853699560221dc3b8094eb8546e3b42efbc933596ebd98da35cc7a195f9690a02e4ff15855dd292 SHA512 f8e282085467b1ef6272ce13859ef7a88fdce9a674a3c40cf6f7e1352baecd80cf3394904834805e0921ce1c339bbc4ff54d1e33eadba7ee9c5f3f7a05e6fd99 +EBUILD pymongo-4.11.1.ebuild 7067 BLAKE2B a8b7dd6470a35af2c21b4ac9a87c206df3f8fd3d90967c167a666bababd2bb9976e4ea1dd7f6204a8b18052a48ca2133ca255f1120e81027dae9f12d95e0ed01 SHA512 54aaab6526526cd2d634bf7cc4e27aac506d948543d4e52ed7c4dafbe6a5cea0205d4cb8d791c4564ec7715c11f52b2085b340631b7ec16f17fba9f88b2b9800 +EBUILD pymongo-4.11.3.ebuild 7075 BLAKE2B 3b7e0dbb58b512c759b7c0fd22fd0ada6ef1d780d71039b9371ab50655f71a0344e3cb08474f8f33378ce02dfea2c01bf1ff9cbcb2044e853600f84864316866 SHA512 a9c0eb175868b556c4a7bfc47dd9f492d21f9574a7fee0de7d0c5d2b1f48b95d7333a3e062cadf3631c334e10c5406a95002e902afd000e951dedd5a00a1fa05 MISC metadata.xml 880 BLAKE2B 024d83cdf3d8cf94cdc98153a6b429550579d494b053becfe5cda0a7a7f3852632d7155e71116a9ab751e6542fe63985755f4eeb147914bc8dbb1e9fac560434 SHA512 c6110fd18fa7f7819299b5de919bfc0ce407d653115d34d297513ce3a4acd2e16399d6f327c61bc5d4ef8aa6776f84750cff37798415ca4bd59c6fd19961d891 diff --git a/dev-python/pymongo/pymongo-4.10.1.ebuild b/dev-python/pymongo/pymongo-4.10.1.ebuild deleted file mode 100644 index 66314244e2a0..000000000000 --- a/dev-python/pymongo/pymongo-4.10.1.ebuild +++ /dev/null @@ -1,228 +0,0 @@ -# Copyright 1999-2024 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 - ) - - 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 - test/test_gridfs_bucket.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 - 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..5}; 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) - EPYTEST_DESELECT+=( - "${run_separately[@]}" - "${run_separately2[@]}" - ) - nonfatal epytest "${def[@]}" || failed=1 - ;; - 4) - nonfatal epytest "${async[@]}" "${run_separately_async[@]}" || failed=1 - ;; - 5) - 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 -} diff --git a/dev-python/pymongo/pymongo-4.11.1.ebuild b/dev-python/pymongo/pymongo-4.11.1.ebuild index 45983dc2c2e4..09bcb259fbea 100644 --- a/dev-python/pymongo/pymongo-4.11.1.ebuild +++ b/dev-python/pymongo/pymongo-4.11.1.ebuild @@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P} LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 arm ~arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="doc kerberos +native-extensions +test-full" RDEPEND=" diff --git a/dev-python/pymongo/pymongo-4.11.2.ebuild b/dev-python/pymongo/pymongo-4.11.3.ebuild index ce28e987eef6..ce28e987eef6 100644 --- a/dev-python/pymongo/pymongo-4.11.2.ebuild +++ b/dev-python/pymongo/pymongo-4.11.3.ebuild diff --git a/dev-python/pymongo/pymongo-4.11.ebuild b/dev-python/pymongo/pymongo-4.11.ebuild deleted file mode 100644 index 05670517ffe8..000000000000 --- a/dev-python/pymongo/pymongo-4.11.ebuild +++ /dev/null @@ -1,237 +0,0 @@ -# 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 -} diff --git a/dev-python/pymongo/pymongo-4.7.2.ebuild b/dev-python/pymongo/pymongo-4.7.2.ebuild deleted file mode 100644 index 4f13565b34dc..000000000000 --- a/dev-python/pymongo/pymongo-4.7.2.ebuild +++ /dev/null @@ -1,180 +0,0 @@ -# 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..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 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 - ) - 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_change_stream.py - test/test_collation.py - test/test_database.py - test/test_gridfs.py - test/test_gridfs_bucket.py - ) - - 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 - - local stage failed= - for stage in 1 2; 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 - - case ${stage} in - 1) - nonfatal epytest "${run_separately[@]}" || failed=1 - ;; - 2) - EPYTEST_DESELECT+=( "${run_separately[@]}" ) - nonfatal epytest || failed=1 - ;; - esac - - mongod --dbpath "${dbpath}" --shutdown || die - done - - [[ ${failed} ]] && die "Tests fail with ${EPYTHON}" - - rm -rf "${dbpath}" || die -} diff --git a/dev-python/pymongo/pymongo-4.8.0.ebuild b/dev-python/pymongo/pymongo-4.8.0.ebuild deleted file mode 100644 index 61c494acee54..000000000000 --- a/dev-python/pymongo/pymongo-4.8.0.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 1999-2024 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 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? ( - 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/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 - ) - 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 - test/test_gridfs_bucket.py - test/test_gridfs_spec.py - ) - local run_separately2=( - # sigh - test/test_command_monitoring.py - test/test_connection_monitoring.py - test/test_cursor.py - test/test_database.py - test/test_grid_file.py - test/test_monitoring.py - ) - - 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 - - local stage failed= - for stage in 1 2 3; 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 - - case ${stage} in - 1) - nonfatal epytest "${run_separately[@]}" || failed=1 - ;; - 2) - nonfatal epytest "${run_separately2[@]}" || failed=1 - ;; - 3) - EPYTEST_DESELECT+=( - "${run_separately[@]}" - "${run_separately2[@]}" - ) - nonfatal epytest || failed=1 - ;; - esac - - mongod --dbpath "${dbpath}" --shutdown || die - done - - [[ ${failed} ]] && die "Tests fail with ${EPYTHON}" - - rm -rf "${dbpath}" || die -} |