summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-07-09 16:59:44 +0200
committerMichał Górny <mgorny@gentoo.org>2024-07-09 17:30:45 +0200
commit01478d2b293c6ae5dd7308809de9b65259605373 (patch)
tree79745bd4e405b07029a10e9ba04664896995cf90 /dev-python/psycopg
parentdev-util/bootconfig: add version 6.6, 6.9 (diff)
downloadgentoo-01478d2b293c6ae5dd7308809de9b65259605373.tar.gz
gentoo-01478d2b293c6ae5dd7308809de9b65259605373.tar.bz2
gentoo-01478d2b293c6ae5dd7308809de9b65259605373.zip
dev-python/psycopg: Enable py3.13 in :2
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/psycopg')
-rw-r--r--dev-python/psycopg/psycopg-2.9.9-r1.ebuild65
1 files changed, 65 insertions, 0 deletions
diff --git a/dev-python/psycopg/psycopg-2.9.9-r1.ebuild b/dev-python/psycopg/psycopg-2.9.9-r1.ebuild
new file mode 100644
index 000000000000..ff0b6852789f
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.9.9-r1.ebuild
@@ -0,0 +1,65 @@
+# 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
+PYPI_PN="psycopg2"
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="
+ https://www.psycopg.org/
+ https://github.com/psycopg/psycopg2/
+ https://pypi.org/project/psycopg2/
+"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-db/postgresql-8.1:*"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? ( >=dev-db/postgresql-8.1[server] )
+"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # fix for py3.13
+ sed -e 's:_PyInterpreterState_Get:PyInterpreterState_Get:' \
+ -i psycopg/utils.c || die
+ # broken by different encoding of IPv4-mapped addresses
+ sed -e 's:test_\(cidr\|inet\)_adapt:_&:' \
+ -i tests/test_ipaddress.py || die
+
+ if use debug; then
+ sed -i 's/^\(define=\)/\1PSYCOPG_DEBUG,/' setup.cfg || die
+ fi
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ # TODO: random port
+ pg_ctl -w -D "${T}"/pgsql start \
+ -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" psycopg2_test || die
+
+ local -x PSYCOPG2_TESTDB_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" -c "
+import tests
+tests.unittest.main(defaultTest='tests.test_suite')
+" --verbose || die "Tests fail with ${EPYTHON}"
+}