From fb4fcdca2bba74ae4293d4c4674c12d0f3f3d9cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20F=C3=B6rster?= Date: Thu, 27 Jun 2024 00:17:37 +0200 Subject: [PATCH] [dev-python/pymongocrypt] bump, check tests still needed --- dev-python/pymongocrypt/Manifest | 2 +- .../pymongocrypt-1.10.0-no-req-text.patch | 22 +++ .../files/pymongocrypt-1.9.2-hatchling.patch | 59 ------- .../pymongocrypt/pymongocrypt-1.10.0.ebuild | 42 +++++ .../pymongocrypt/pymongocrypt-1.9.2.ebuild | 161 ------------------ 5 files changed, 65 insertions(+), 221 deletions(-) create mode 100644 dev-python/pymongocrypt/files/pymongocrypt-1.10.0-no-req-text.patch delete mode 100644 dev-python/pymongocrypt/files/pymongocrypt-1.9.2-hatchling.patch create mode 100644 dev-python/pymongocrypt/pymongocrypt-1.10.0.ebuild delete mode 100644 dev-python/pymongocrypt/pymongocrypt-1.9.2.ebuild diff --git a/dev-python/pymongocrypt/Manifest b/dev-python/pymongocrypt/Manifest index 64baa17..e3375e9 100644 --- a/dev-python/pymongocrypt/Manifest +++ b/dev-python/pymongocrypt/Manifest @@ -1 +1 @@ -DIST pymongocrypt-1.9.2.tar.gz 49997 BLAKE2B f35ad1a0dddc3277c1b79c53f40466235f83cc1a2cea00198d1e705411ee640825c6600739c2950c99b8acb91fff07db5f8a94f3700c219d9262f5749bea5d6b SHA512 0ba48f58cce130e6da4cf7a39cce946f57b4130ca328672f04693a8ddf36bbeec5b6d4eec3bc1eb10c4a40c6d22dc6f944226532ae73583788f2fe0ffd46cd7d +DIST pymongocrypt-1.10.0.tar.gz 61900 BLAKE2B 9d9c389eefcd3f0507767f64721de9bbb7f9bb64a67e5aa1d86d6b8ff5e0b50dd0530e5e184c57dc1aa2ba81b78d62b90096c4a172ba4747f5644e0751b89cc0 SHA512 871ff411aad44bba080feb03808ba10731a3f7ea9829fa7ff08bc2947899b444f6c5fcd94e5b614c0b20175e1190a8fe4e4b5f87bf4bf98c1613a2ba37775b5c diff --git a/dev-python/pymongocrypt/files/pymongocrypt-1.10.0-no-req-text.patch b/dev-python/pymongocrypt/files/pymongocrypt-1.10.0-no-req-text.patch new file mode 100644 index 0000000..f3af3e0 --- /dev/null +++ b/dev-python/pymongocrypt/files/pymongocrypt-1.10.0-no-req-text.patch @@ -0,0 +1,22 @@ +--- a/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 ++++ b/pyproject.toml 2024-06-27 00:04:16.829810520 +0200 +@@ -1,5 +1,5 @@ + [build-system] +-requires = ["hatchling>1.24","hatch-requirements-txt>=0.4.1"] ++requires = ["hatchling>1.24"] + build-backend = "hatchling.build" + + [project] +@@ -49,12 +49,6 @@ + # Used to call hatch_build.py + [tool.hatch.build.hooks.custom] + +-[tool.hatch.metadata.hooks.requirements_txt] +-files = ["requirements.txt"] +- +-[tool.hatch.metadata.hooks.requirements_txt.optional-dependencies] +-test = ["requirements-test.txt"] +- + [tool.ruff.lint] + select = [ + "E", "F", "W", # flake8 diff --git a/dev-python/pymongocrypt/files/pymongocrypt-1.9.2-hatchling.patch b/dev-python/pymongocrypt/files/pymongocrypt-1.9.2-hatchling.patch deleted file mode 100644 index 9ce650a..0000000 --- a/dev-python/pymongocrypt/files/pymongocrypt-1.9.2-hatchling.patch +++ /dev/null @@ -1,59 +0,0 @@ -adapted from upstream dadf22c1ce1501f8fef8d6f2adbf9f2eb9dd3eca - ---- a/pyproject.toml 2024-05-28 20:44:03.000000000 +0200 -+++ b/pyproject.toml 2024-06-18 17:12:03.000000000 +0200 -@@ -1,6 +1,6 @@ - [build-system] --requires = ["setuptools>=63.0", "wheel"] --build-backend = "setuptools.build_meta" -+requires = ["hatchling>1.24"] -+build-backend = "hatchling.build" - - [project] - name = "pymongocrypt" -@@ -49,11 +49,5 @@ - [project.urls] - Homepage = "https://github.com/mongodb/libmongocrypt/tree/master/bindings/python" - --[tool.setuptools.dynamic] --version = {attr = "pymongocrypt.version.__version__"} -- --[tool.setuptools.packages.find] --include = ["pymongocrypt"] -- --[tool.setuptools.package-data] --pymongocrypt=['*.dll', '*.so', '*.dylib'] -+[tool.hatch.version] -+path = "pymongocrypt/version.py" ---- a/setup.py 2024-05-28 20:44:03.000000000 +0200 -+++ b/dev/null 2024-04-07 00:22:51.151700697 +0200 -@@ -1,29 +0,0 @@ --import sys --from setuptools import setup -- --# Make our Windows and macOS wheels platform specific because we embed --# libmongocrypt. On Linux we ship manylinux2010 wheels which cannot do this or --# else auditwheel raises the following error: --# RuntimeError: Invalid binary wheel, found the following shared --# library/libraries in purelib folder: --# libmongocrypt.so --# The wheel has to be platlib compliant in order to be repaired by auditwheel. --cmdclass = {} --if sys.platform in ('win32', 'darwin'): -- try: -- from wheel.bdist_wheel import bdist_wheel as _bdist_wheel -- class bdist_wheel(_bdist_wheel): -- def finalize_options(self): -- _bdist_wheel.finalize_options(self) -- self.root_is_pure = False -- def get_tag(self): -- python, abi, plat = _bdist_wheel.get_tag(self) -- # Our python source is py3 compatible. -- python, abi = 'py3', 'none' -- return python, abi, plat -- cmdclass['bdist_wheel'] = bdist_wheel -- except ImportError: -- # Version of wheel is too old, use None to fail a bdist_wheel attempt. -- cmdclass['bdist_wheel'] = None -- --setup(cmdclass=cmdclass) diff --git a/dev-python/pymongocrypt/pymongocrypt-1.10.0.ebuild b/dev-python/pymongocrypt/pymongocrypt-1.10.0.ebuild new file mode 100644 index 0000000..d51d507 --- /dev/null +++ b/dev-python/pymongocrypt/pymongocrypt-1.10.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( pypy3 python3_{10..12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python bindings for libmongocrypt" +HOMEPAGE=" + https://github.com/mongodb/libmongocrypt/ + https://pypi.org/project/pymongocrypt +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + dev-libs/libmongocrypt + dev-python/cffi[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + +" +BDEPEND=" + test? ( + dev-python/pymongo[${PYTHON_USEDEP}] + dev-python/pymongo-auth-aws[${PYTHON_USEDEP}] + dev-python/respx[${PYTHON_USEDEP}] + dev-python/unasync[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/${P}-no-req-text.patch" +) + +distutils_enable_tests pytest diff --git a/dev-python/pymongocrypt/pymongocrypt-1.9.2.ebuild b/dev-python/pymongocrypt/pymongocrypt-1.9.2.ebuild deleted file mode 100644 index 7381430..0000000 --- a/dev-python/pymongocrypt/pymongocrypt-1.9.2.ebuild +++ /dev/null @@ -1,161 +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..12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Python bindings for libmongocrypt" -HOMEPAGE=" - https://github.com/mongodb/libmongocrypt/ - https://pypi.org/project/pymongocrypt -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" - -RDEPEND=" - dev-libs/libmongocrypt - dev-python/cffi[${PYTHON_USEDEP}] - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/packaging[${PYTHON_USEDEP}] - dev-python/httpx[${PYTHON_USEDEP}] - -" -BDEPEND=" - test? ( - dev-python/cffi[${PYTHON_USEDEP}] - dev-python/pymongo[${PYTHON_USEDEP}] - dev-python/respx[${PYTHON_USEDEP}] - dev-python/unasync[${PYTHON_USEDEP}] - ) -" - -# adjust after 1.9.2 -PATCHES=( - "${FILESDIR}/${P}-hatchling.patch" -) - -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 -#}