dev-python/psycopg: Bump to 3.1.18

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2024-02-05 04:34:54 +01:00
parent 6b7c69d819
commit 54e23ea0f7
2 changed files with 110 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
DIST psycopg-3.1.16.gh.tar.gz 502759 BLAKE2B 6c0b912c2a93425ddbed842a437e042b58ec859b3cf163aa7cd45a0db21084fea58945b40028e0491460b7d4da6648cfc361e1434d43ec7ab71af91f1a0c4c86 SHA512 d6cfcc848c089ef79c817bf271bcbad7078cdacacef4ab26e882fdbe55c90ac12644e7ee0af22f4cf1fa759033e94ee54c812bca7b517b84cda77276557e8ca8
DIST psycopg-3.1.17.gh.tar.gz 503318 BLAKE2B 43c0c5ef0be20c9415c7dbe3b2ff242f30341d055bcf00ff4f9d9926c5c95df3bf10735e338c37f9e805562544637e75fd9edd5dbf71d67b42d04eea19e5c82e SHA512 d9f0ce05be71d67dbd7d1abad548befcdc229b53de93d5c08a52cae287d6f5293de6ede380c9ffc25ffa4d935782e90e9b04783f1c4c1fb88cb9ffd7016aabd5
DIST psycopg-3.1.18.gh.tar.gz 503513 BLAKE2B 35e5e4cb4e5355189b387fd17e1b51d4baf08f130cc5418f9f3cb58d6baf097953b4f6a7df31579a1d87e5269e110c4476d865fe12416e2fe62abbb52e0c141c SHA512 1e27eec49f3ae99f1fec68816dff3974aa9b1f526df45ccca295c7c6703cc309ca4f8f65d7e3450b628906a938c65f8cbd1a1f3cb6a41b6e51dc5e220985af39
DIST psycopg2-2.9.4.tar.gz 384017 BLAKE2B 4bc0afcc890c8a257c1ccd5c6e4e5301857a80f8b1428aa46c1473c9e18f5d2914a2e592c13336b06106217bb334d9b0321835bdd123f1627cbeb29dedf97bf7 SHA512 259088e42e0ab0d8a1a0ccf04f5e560f32c6179b4a0a0059e91bcf269baa8f4b0f1f949c332c640a2438c927a29b2c144078a861f8e18ba9c764da7c93c73b8d
DIST psycopg2-2.9.9.tar.gz 384926 BLAKE2B 8418fca1329703cedfc86be74d85cae5133a0604bb8a21fa43e5359a46626d38ef227d0cd8fbbeb497e2db517a469d7f3e86b74ef9163617a547e999073a6b4c SHA512 a691fd09762221e854861dedce37b05e5354e0701feea470a6d5046960056ef02a8c9ecfa751adeba485271ea7d5834643b7d3a3c3f3270087f5ed9c68509f5f

View File

@@ -0,0 +1,109 @@
# 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..12} )
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.1[${PYTHON_USEDEP}]
"
BDEPEND="
native-extensions? (
dev-python/cython[${PYTHON_USEDEP}]
dev-python/tomli[${PYTHON_USEDEP}]
)
test? (
>=dev-db/postgresql-8.1[server]
dev-python/anyio[${PYTHON_USEDEP}]
dev-python/dnspython[${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
}