From 0c32b8d51e5879a763fea7d3a16afcca7b548dc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Tue, 2 Dec 2025 08:33:11 +0100 Subject: [PATCH] dev-python/psycopg: Bump to 3.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- dev-python/psycopg/Manifest | 1 + dev-python/psycopg/psycopg-3.3.0.ebuild | 123 ++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 dev-python/psycopg/psycopg-3.3.0.ebuild diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest index 2ba681400ef9..2b204ffa557a 100644 --- a/dev-python/psycopg/Manifest +++ b/dev-python/psycopg/Manifest @@ -3,5 +3,6 @@ DIST psycopg-3.2.11.gh.tar.gz 577490 BLAKE2B f0575616ba664335651612fb14328cd99c2 DIST psycopg-3.2.12.gh.tar.gz 582058 BLAKE2B be6732c9d8c0395e8875c0fcd679628b35b0b0454ade4ca7e447fd45b833e5a2617134ea876b01bdab2a0bac44e6074827b12d04039cc097bf8a38dcd3c5a138 SHA512 911d8f246e055b43be273bb9c41c6bda0c4ac55ba5c11cd2c80d2bea54d354893bfee64797bc55a823bb834e6792c31f139ea5e18196bfc6a64273d13f940f8b DIST psycopg-3.2.13.gh.tar.gz 585567 BLAKE2B 244c9b51ae88dfafb235c65cec69b556ab624d6185680813548afa704916cabbf12129ba574079a98ee59f3621cf86d5a36aa2f61681b2819dc853043a9966c3 SHA512 db657b2fcf25a7dddcb30db154de97be164e48c9f88d9b7a4407f8e8e4f12d02efd0fb1ff2c3e6d0576d4ec06b8e1442c0dcc1734c88ca3171043060fafef68b DIST psycopg-3.2.9.gh.tar.gz 565735 BLAKE2B 5b9b16e5e310214bdbf12198a7b8d9d86ed7b7e947a33c7333fe79bca946b76f09c60ea25960d3cf3f99423598a65ce33b53bd6dc10a9c68a930a46068b54fd6 SHA512 3e455852dd19c9639a8ee18773486295ea76f9a16146997be9dd4f3f6350257440e0d8fff9494acb79e95f04e74c0c14ec7968694fe329abeb74edcfb297d4dd +DIST psycopg-3.3.0.gh.tar.gz 607828 BLAKE2B 494ce84ffaaecafccb353697198077d7bb60f9ed17171bb3946f5501c8e67d1e240fa08f228bdc9f61988c9c6487930df49112be7f658d1b8e3146c8aa95f729 SHA512 48a184e2629d7317c9a6b80addf5405feac4ba0f477c12c5ee9bc826bc132c8874020b62c28df9ba92e2655edf15daa2a619c9961cbe71dd2ad7d5b9580c6389 DIST psycopg2-2.9.10.tar.gz 385672 BLAKE2B 4a3ad64f406c427b785ffeb85f6520aa67ed04de2d1749eb22d8275146b71ba451f7c04c9ead401d6f7a273781492cd6a5a36beba68b36b1e5203ee75f7df503 SHA512 d0916f6a645b5e87f89f2463dc22fad78340a85fbff320d099bf429a42557f40d3a4eebdc670768469aef1e9fcee60123767bfe49e1186e8574f95bfd6f46900 DIST psycopg2-2.9.11.tar.gz 379598 BLAKE2B 78608a2b4a9b1db9ba9873ce01b84f898489de8ff6db5522ecc2fa68606b0ef8cdab7f137c86cf840509c9161b329a2efc1e1aadc494b565226099e8651372ab SHA512 44f7b03d958dc62822be8a8c38d738c4016c3a1f860c824158b78ba0a23f04ca63377171b22a14e38b76df868458ede25f29e4643197912adb2f1a1db8c0d5c0 diff --git a/dev-python/psycopg/psycopg-3.3.0.ebuild b/dev-python/psycopg/psycopg-3.3.0.ebuild new file mode 100644 index 000000000000..f3416b240927 --- /dev/null +++ b/dev-python/psycopg/psycopg-3.3.0.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2025 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_11 python3_{11..14} ) + +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 ~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} + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] + ' 3.11 3.12) +" +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + ) + test? ( + >=dev-db/postgresql-8.1[server] + >=dev-python/dnspython-2.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( anyio ) +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 + # requires pproxy? + tests/test_waiting.py::test_remote_closed + tests/test_waiting.py::test_wait_remote_closed + tests/test_waiting_async.py::test_remote_closed + tests/test_waiting_async.py::test_wait_remote_closed + ) + + case ${ARCH} in + arm|x86) + EPYTEST_DESELECT+=( + # TODO + tests/types/test_numpy.py::test_classes_identities + ) + ;; + esac + + local impls=( python ) + if use native-extensions && [[ ${EPYTHON} != pypy3* ]]; then + impls+=( c ) + fi + + 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 -k "not leak" \ + -m "not timing and not slow and not flakey" + done +}