commit: d1b29b24e31291d618d4bb71eb20a05d3d93b94c Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Mon Jul 1 02:48:04 2024 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Mon Jul 1 02:48:04 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1b29b24
dev-python/psycopg: Bump to 3.2.0 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> dev-python/psycopg/Manifest | 1 + dev-python/psycopg/psycopg-3.2.0.ebuild | 111 ++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+) diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest index 3e5262cd27d1..4f6dde1efc28 100644 --- a/dev-python/psycopg/Manifest +++ b/dev-python/psycopg/Manifest @@ -1,3 +1,4 @@ DIST psycopg-3.1.19.gh.tar.gz 507073 BLAKE2B c10e2ba83f4a3bb0646d86c0f1311ae43e3fafbf9eb8ae91f8a77941dd2ef21d22c5fdeca724399bbcf5f7f010f5a3b0f78979720efec8f25613abbe568dabc9 SHA512 a7d02570632a28080ffd99fa492c2f1af623e7ca55e57e8c5d4664aff4d033ae85fc21cfbb1f85a90c48e01944ed1be68e857b5cb34c0547b51ca465bac0a361 +DIST psycopg-3.2.0.gh.tar.gz 549161 BLAKE2B 33997b5ee2f4f814561f83f92e9db4b61664f0ac84f6ff3bfd057d1cf9039a5e169478c8f40deb97e07433cf1481bfa7f4f79765158ec968ff6ab74b5aa6d14e SHA512 4466390a33f55eca73e1d490aca98ad7bb0e4c55b166d8956e1c940f5ea71c7cb07ba5602276f7510b2368d6c0c0e6eacac8d4ae67f465fd07afc4c75283f3c1 DIST psycopg2-2.9.4.tar.gz 384017 BLAKE2B 4bc0afcc890c8a257c1ccd5c6e4e5301857a80f8b1428aa46c1473c9e18f5d2914a2e592c13336b06106217bb334d9b0321835bdd123f1627cbeb29dedf97bf7 SHA512 259088e42e0ab0d8a1a0ccf04f5e560f32c6179b4a0a0059e91bcf269baa8f4b0f1f949c332c640a2438c927a29b2c144078a861f8e18ba9c764da7c93c73b8d DIST psycopg2-2.9.9.tar.gz 384926 BLAKE2B 8418fca1329703cedfc86be74d85cae5133a0604bb8a21fa43e5359a46626d38ef227d0cd8fbbeb497e2db517a469d7f3e86b74ef9163617a547e999073a6b4c SHA512 a691fd09762221e854861dedce37b05e5354e0701feea470a6d5046960056ef02a8c9ecfa751adeba485271ea7d5834643b7d3a3c3f3270087f5ed9c68509f5f diff --git a/dev-python/psycopg/psycopg-3.2.0.ebuild b/dev-python/psycopg/psycopg-3.2.0.ebuild new file mode 100644 index 000000000000..1bcf3b3ac2e0 --- /dev/null +++ b/dev-python/psycopg/psycopg-3.2.0.ebuild @@ -0,0 +1,111 @@ +# 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 distutils-r1 + +DESCRIPTION="PostgreSQL database adapter for Python" +HOMEPAGE=" + https://www.psycopg.org/psycopg3/ + https://github.com/psycopg/psycopg/ + https://pypi.org/project/psycopg/ +" +SRC_URI=" + https://github.com/psycopg/psycopg/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="+native-extensions" + +DEPEND=" + native-extensions? ( + >=dev-db/postgresql-8.1:= + ) + !native-extensions? ( + >=dev-db/postgresql-8.1:* + ) +" +RDEPEND=" + ${DEPEND} + >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.10) + ) + test? ( + >=dev-db/postgresql-8.1[server] + >=dev-python/anyio-4.0[${PYTHON_USEDEP}] + >=dev-python/dnspython-2.1[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_compile() { + # Python code + ctypes backend + cd psycopg || die + distutils-r1_python_compile + + # optional C backend + if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then + local DISTUTILS_USE_PEP517=standalone + cd ../psycopg_c || die + distutils-r1_python_compile + fi + cd .. || die +} + +src_test() { + rm -r psycopg{,_c} || die + + initdb -D "${T}"/pgsql || die + # TODO: random port + pg_ctl -w -D "${T}"/pgsql start \ + -o "-h '' -k '${T}'" || die + createdb -h "${T}" test || die + + local -x PSYCOPG_TEST_DSN="host=${T} dbname=test" + distutils-r1_src_test + + pg_ctl -w -D "${T}"/pgsql stop || die +} + +python_test() { + local EPYTEST_DESELECT=( + # tests for the psycopg_pool package + tests/pool + # some broken mypy magic + tests/test_module.py::test_version + tests/test_module.py::test_version_c + tests/test_typing.py + tests/crdb/test_typing.py + # TODO, relying on undefined ordering in Python? + tests/test_dns_srv.py::test_srv + ) + + local impls=( python ) + if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then + impls+=( c ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PSYCOPG_IMPL + for PSYCOPG_IMPL in "${impls[@]}"; do + einfo "Testing with ${PSYCOPG_IMPL} implementation ..." + # leak and timing tests are fragile whereas slow tests are slow + epytest -p anyio -k "not leak" \ + -m "not timing and not slow and not flakey" + done +}