commit: f0eef9dc18b9c294f37150df5ac3317c8b7b26f6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu May 1 02:34:17 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu May 1 02:54:37 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0eef9dc
dev-python/psycopg: Bump to 3.2.7
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/psycopg/Manifest | 1 +
dev-python/psycopg/psycopg-3.2.7.ebuild | 120 ++++++++++++++++++++++++++++++++
2 files changed, 121 insertions(+)
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
index d5dcb447a646..53c1f61689fd 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -1,2 +1,3 @@
DIST psycopg-3.2.6.gh.tar.gz 558574 BLAKE2B
a994f6fb3ee85c42371b848d0947858897a9a1f7256486aa964c8c7634b198b9229a53626c526cb85218a8468308dd9e7e605c1fc1058a08c7fb7183aed83b8d
SHA512
99472813c9b6542611b15f0dd52d418a7e3f01cf0447a9a58c1d4135249fb526ca25f7569cc5d7d8a2a99184dccca52f485ee9cc9514e6ada1ebd526f8d62305
+DIST psycopg-3.2.7.gh.tar.gz 562235 BLAKE2B
26f661b9072e2db610ee237dc4a794636ba44a17de3248f018787ed46c34b8087115a91bf2fd06c817c15ba1e2d3da93120f6fd23fcc164d90154928e7d2f1cc
SHA512
76f7e8a515b6a7925811a5451eea2fa827b7ba52976faff0dd67c79e8354e83969176a504c1b34993c8a81f0b5ee9cdaf2461acbfc6a047884d47480b08dfc77
DIST psycopg2-2.9.10.tar.gz 385672 BLAKE2B
4a3ad64f406c427b785ffeb85f6520aa67ed04de2d1749eb22d8275146b71ba451f7c04c9ead401d6f7a273781492cd6a5a36beba68b36b1e5203ee75f7df503
SHA512
d0916f6a645b5e87f89f2463dc22fad78340a85fbff320d099bf429a42557f40d3a4eebdc670768469aef1e9fcee60123767bfe49e1186e8574f95bfd6f46900
diff --git a/dev-python/psycopg/psycopg-3.2.7.ebuild
b/dev-python/psycopg/psycopg-3.2.7.ebuild
new file mode 100644
index 000000000000..81d2d087c1c9
--- /dev/null
+++ b/dev-python/psycopg/psycopg-3.2.7.ebuild
@@ -0,0 +1,120 @@
+# 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 pypy3_11 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 ~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
+ )
+
+ 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 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
+}