From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 7834A1581FD for ; Tue, 09 Sep 2025 03:23:08 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 5E51B341042 for ; Tue, 09 Sep 2025 03:23:08 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 6FF63110584; Tue, 09 Sep 2025 03:22:33 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 6421F110584 for ; Tue, 09 Sep 2025 03:22:33 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 1A189340F29 for ; Tue, 09 Sep 2025 03:22:33 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id D1756396B for ; Tue, 09 Sep 2025 03:22:29 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1757388144.558e26cc5f819d8b6aad7e2b1ef15fd66075ef2d.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/psycopg/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-python/psycopg/Manifest dev-python/psycopg/psycopg-3.2.10.ebuild X-VCS-Directories: dev-python/psycopg/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: 558e26cc5f819d8b6aad7e2b1ef15fd66075ef2d X-VCS-Branch: master Date: Tue, 09 Sep 2025 03:22:29 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: cf75c1f0-b270-4470-97e1-1dea0f186a0c X-Archives-Hash: d467f5da77d8bac2a1b5f7ffaf2160ce commit: 558e26cc5f819d8b6aad7e2b1ef15fd66075ef2d Author: Michał Górny gentoo org> AuthorDate: Tue Sep 9 03:02:22 2025 +0000 Commit: Michał Górny gentoo org> CommitDate: Tue Sep 9 03:22:24 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=558e26cc dev-python/psycopg: Bump to 3.2.10 Signed-off-by: Michał Górny gentoo.org> dev-python/psycopg/Manifest | 1 + dev-python/psycopg/psycopg-3.2.10.ebuild | 116 +++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest index 4661e50070da..2a6fcad428b8 100644 --- a/dev-python/psycopg/Manifest +++ b/dev-python/psycopg/Manifest @@ -1,2 +1,3 @@ +DIST psycopg-3.2.10.gh.tar.gz 572879 BLAKE2B 20950385767bdb3d9d1553919424b8a80343f8a611de619da2888197ca2a139e5e2837e0521762d605b17ec3c1ee2bb73088a21709856f32351490588260f37e SHA512 aca15ce2563b3aa03d53c13ecd6a0f3a17e267a6214e899dc7aad8867dc944503c3cd23aec766903cff083df2c860d1c3a888539c684d38444b2a9af4781252a DIST psycopg-3.2.9.gh.tar.gz 565735 BLAKE2B 5b9b16e5e310214bdbf12198a7b8d9d86ed7b7e947a33c7333fe79bca946b76f09c60ea25960d3cf3f99423598a65ce33b53bd6dc10a9c68a930a46068b54fd6 SHA512 3e455852dd19c9639a8ee18773486295ea76f9a16146997be9dd4f3f6350257440e0d8fff9494acb79e95f04e74c0c14ec7968694fe329abeb74edcfb297d4dd DIST psycopg2-2.9.10.tar.gz 385672 BLAKE2B 4a3ad64f406c427b785ffeb85f6520aa67ed04de2d1749eb22d8275146b71ba451f7c04c9ead401d6f7a273781492cd6a5a36beba68b36b1e5203ee75f7df503 SHA512 d0916f6a645b5e87f89f2463dc22fad78340a85fbff320d099bf429a42557f40d3a4eebdc670768469aef1e9fcee60123767bfe49e1186e8574f95bfd6f46900 diff --git a/dev-python/psycopg/psycopg-3.2.10.ebuild b/dev-python/psycopg/psycopg-3.2.10.ebuild new file mode 100644 index 000000000000..34dc439ec467 --- /dev/null +++ b/dev-python/psycopg/psycopg-3.2.10.ebuild @@ -0,0 +1,116 @@ +# 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} + >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] +" +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 + ) + + 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 +}