summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/psycopg')
-rw-r--r--dev-python/psycopg/Manifest6
-rw-r--r--dev-python/psycopg/metadata.xml1
-rw-r--r--dev-python/psycopg/psycopg-2.9.4.ebuild (renamed from dev-python/psycopg/psycopg-2.9.3.ebuild)18
-rw-r--r--dev-python/psycopg/psycopg-2.9.9.ebuild58
-rw-r--r--dev-python/psycopg/psycopg-3.0.15.ebuild73
-rw-r--r--dev-python/psycopg/psycopg-3.0.16.ebuild73
-rw-r--r--dev-python/psycopg/psycopg-3.1.19.ebuild109
7 files changed, 180 insertions, 158 deletions
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
index e6d4340a4c28..3e5262cd27d1 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -1,3 +1,3 @@
-DIST psycopg-3.0.15.gh.tar.gz 384815 BLAKE2B feed19f8482767de12a549530b8fbef5cd374636f1b1e84b2746f23379760bf3b75fbbaed64b8d45d120b84a1e56b4ce6fe26bf29fb13e6fd20eb39e4aebad9a SHA512 65c0e081821ca580f56495073ca69fa38e98888ff3531dc55faacec647cfeafcc74767c53a7d3edbeea1e5bbc557ba08fbc089be8b6bc73963cbb459b029e313
-DIST psycopg-3.0.16.gh.tar.gz 386693 BLAKE2B c6c0bd9832e65180e7de76b04ef7c81f4c2d0981894d090b933ce0efaaafdf6b62d1d71a4c70c7c9b848b67e576a71953116925f9e991a4ed99b53067e24cbba SHA512 655e01bb00972dacae590f2e8ce5948226acb827b55099e7f362fdee9210f07b755f4da10d2fadd468aa95eaa3f72e7658a1ab26870d4ac159ee266ce1f8140c
-DIST psycopg2-2.9.3.tar.gz 380611 BLAKE2B 78099da7378dcfa8b7f28aae4d533a7e890cdb7ae4c0cc718a9411e630fd07b56f074760fc29de8fe08fe727328cca39414a5f297fb92ed2f7471a24e633d18d SHA512 048184d1d162a371fc0fba711448a6fa8a6aac193421f4484c7f7b91c39065d5b632fa34fc15a901eca055d597302b1f9e38330b248ed0e4653dcdc544b0d660
+DIST psycopg-3.1.19.gh.tar.gz 507073 BLAKE2B c10e2ba83f4a3bb0646d86c0f1311ae43e3fafbf9eb8ae91f8a77941dd2ef21d22c5fdeca724399bbcf5f7f010f5a3b0f78979720efec8f25613abbe568dabc9 SHA512 a7d02570632a28080ffd99fa492c2f1af623e7ca55e57e8c5d4664aff4d033ae85fc21cfbb1f85a90c48e01944ed1be68e857b5cb34c0547b51ca465bac0a361
+DIST psycopg2-2.9.4.tar.gz 384017 BLAKE2B 4bc0afcc890c8a257c1ccd5c6e4e5301857a80f8b1428aa46c1473c9e18f5d2914a2e592c13336b06106217bb334d9b0321835bdd123f1627cbeb29dedf97bf7 SHA512 259088e42e0ab0d8a1a0ccf04f5e560f32c6179b4a0a0059e91bcf269baa8f4b0f1f949c332c640a2438c927a29b2c144078a861f8e18ba9c764da7c93c73b8d
+DIST psycopg2-2.9.9.tar.gz 384926 BLAKE2B 8418fca1329703cedfc86be74d85cae5133a0604bb8a21fa43e5359a46626d38ef227d0cd8fbbeb497e2db517a469d7f3e86b74ef9163617a547e999073a6b4c SHA512 a691fd09762221e854861dedce37b05e5354e0701feea470a6d5046960056ef02a8c9ecfa751adeba485271ea7d5834643b7d3a3c3f3270087f5ed9c68509f5f
diff --git a/dev-python/psycopg/metadata.xml b/dev-python/psycopg/metadata.xml
index 5a372b79afcf..4c34b048b797 100644
--- a/dev-python/psycopg/metadata.xml
+++ b/dev-python/psycopg/metadata.xml
@@ -6,6 +6,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">psycopg/psycopg</remote-id>
<remote-id type="pypi">psycopg</remote-id>
<remote-id type="pypi">psycopg2</remote-id>
</upstream>
diff --git a/dev-python/psycopg/psycopg-2.9.3.ebuild b/dev-python/psycopg/psycopg-2.9.4.ebuild
index 1f51cddf6b8b..98afb8486b53 100644
--- a/dev-python/psycopg/psycopg-2.9.3.ebuild
+++ b/dev-python/psycopg/psycopg-2.9.4.ebuild
@@ -1,29 +1,29 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-inherit distutils-r1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="psycopg2"
+PYTHON_COMPAT=( python3_{10..12} )
-MY_PN="${PN}2"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="PostgreSQL database adapter for Python"
HOMEPAGE="https://www.psycopg.org https://pypi.org/project/psycopg2/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
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 ~x86-solaris"
+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] )"
+ test? ( >=dev-db/postgresql-8.1[server] )
+"
python_prepare_all() {
if use debug; then
diff --git a/dev-python/psycopg/psycopg-2.9.9.ebuild b/dev-python/psycopg/psycopg-2.9.9.ebuild
new file mode 100644
index 000000000000..bfe4780d91d5
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.9.9.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 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..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="
+ https://www.psycopg.org/
+ https://pypi.org/project/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() {
+ if use debug; then
+ sed -i 's/^\(define=\)/\1PSYCOPG_DEBUG,/' setup.cfg || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+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}"
+}
diff --git a/dev-python/psycopg/psycopg-3.0.15.ebuild b/dev-python/psycopg/psycopg-3.0.15.ebuild
deleted file mode 100644
index a3964c006ce6..000000000000
--- a/dev-python/psycopg/psycopg-3.0.15.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-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
-"
-S=${WORKDIR}/${P}/psycopg
-
-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 ~x86-solaris"
-
-DEPEND="
- >=dev-db/postgresql-8.1:*
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/backports-zoneinfo-0.2.0[${PYTHON_USEDEP}]
- ' 3.8)
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-3.10[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-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
- # TODO, relying on undefined ordering in Python?
- tests/test_dns_srv.py::test_srv
-)
-
-src_test() {
- # tests are lurking in top-level directory
- cd .. || 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
-}
diff --git a/dev-python/psycopg/psycopg-3.0.16.ebuild b/dev-python/psycopg/psycopg-3.0.16.ebuild
deleted file mode 100644
index 1b13ee04516b..000000000000
--- a/dev-python/psycopg/psycopg-3.0.16.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-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
-"
-S=${WORKDIR}/${P}/psycopg
-
-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 ~x86-solaris"
-
-DEPEND="
- >=dev-db/postgresql-8.1:*
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/backports-zoneinfo-0.2.0[${PYTHON_USEDEP}]
- ' 3.8)
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-3.10[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-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
- # TODO, relying on undefined ordering in Python?
- tests/test_dns_srv.py::test_srv
-)
-
-src_test() {
- # tests are lurking in top-level directory
- cd .. || 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
-}
diff --git a/dev-python/psycopg/psycopg-3.1.19.ebuild b/dev-python/psycopg/psycopg-3.1.19.ebuild
new file mode 100644
index 000000000000..d1c0ba870de9
--- /dev/null
+++ b/dev-python/psycopg/psycopg-3.1.19.ebuild
@@ -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..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 ~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
+}