summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2025-01-17 10:42:04 +0100
committerRicardo Wurmus <rekado@elephly.net>2025-01-20 21:38:02 +0100
commit0e028beceb6f06c86397785e90d8d7bc6e6ba785 (patch)
treef36087a5aabe7c026d721d1bd7fa9cff3aa4c7dc
parent0ffc5b3afbfbdf9619bb5ca71a4e003610d42a73 (diff)
gnu: python-psycopg: Update to 3.2.4.
* gnu/packages/databases.scm (python-psycopg): Update to 3.2.4. [build-system]: Use pyproject-build-system. [arguments]: Simplify phases; restore 'sanity-check. [native-inputs]: Add python-setuptools and python-wheel. Change-Id: Iec2949c7e01e0dff2893181c3a49e8e3a3319446
-rw-r--r--gnu/packages/databases.scm85
1 files changed, 37 insertions, 48 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index e2628d34ca..a758f9924e 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -4366,7 +4366,7 @@ with the @code{psycopg} PostgreSQL driver.")
(define-public python-psycopg
(package
(name "python-psycopg")
- (version "3.1.10")
+ (version "3.2.4")
(source (origin
;; Fetch from git because PyPI contains only cythonized sources.
(method git-fetch)
@@ -4376,54 +4376,41 @@ with the @code{psycopg} PostgreSQL driver.")
(file-name (git-file-name name version))
(sha256
(base32
- "0hqk45wlaflz69cy1r0hbv11bwb89p6hjb7zmgqas26gdhg37n0r"))))
- (build-system python-build-system)
+ "0fb83fhaa3saapqv37901hlv017bj40q0dmkxd79aaq442sjf9w2"))))
+ (build-system pyproject-build-system)
(arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-before 'build 'change-directory
- (lambda _
- (chdir "psycopg")))
- (add-after 'build 'build-c-extensions
- (lambda _
- (with-directory-excursion "../psycopg_c"
- ((assoc-ref %standard-phases 'build)))))
- (add-after 'install 'install-c-extensions
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; For some reason setup.py refuses to install if the
- ;; installation directory is not on PYTHONPATH.
- (setenv "PYTHONPATH" (site-packages inputs outputs))
- (with-directory-excursion "../psycopg_c"
- ((assoc-ref %standard-phases 'install)
- #:inputs inputs
- #:outputs outputs))))
- (add-before 'check 'start-postgresql
- (lambda _
- (let ((dbdir (string-append (getcwd) "/../pgdir")))
- (invoke "initdb" "-D" dbdir)
- (invoke "pg_ctl" "-D" dbdir
- "-o" (string-append "-k " dbdir)
- "-l" (string-append dbdir "/db.log")
- "start")
-
- (invoke "psql" "-h" dbdir "-d" "postgres"
- "-c" "CREATE DATABASE nixbld;"))))
- (replace 'check
- (lambda* (#:key inputs tests? #:allow-other-keys)
- (when tests?
- (setenv "TZDIR" (search-input-directory inputs
- "share/zoneinfo"))
- (with-directory-excursion ".."
- (invoke "pytest" "-vv"
- "-o" "asyncio_mode=auto"
- ;; FIXME: Many of the typing tests are failing,
- ;; conveniently tagged as slow...
- "-k" "not slow")))))
- ;; The sanity check phase attempts loading the C extension
- ;; before the Python library, which results in the following:
- ;; <ImportError: the psycopg package should be imported
- ;; before psycopg_c>.
- (delete 'sanity-check))))
+ (list
+ #:test-flags
+ '(list "-o" "asyncio_mode=auto"
+ ;; FIXME: Many of the typing tests are failing,
+ ;; conveniently tagged as slow...
+ "-k" "not slow" "..")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'change-directory
+ (lambda _ (chdir "psycopg")))
+ (add-after 'build 'build-c-extensions
+ (lambda _
+ (with-directory-excursion "../psycopg_c"
+ ((assoc-ref %standard-phases 'build)))))
+ (add-after 'install 'install-c-extensions
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (with-directory-excursion "../psycopg_c"
+ ((assoc-ref %standard-phases 'install)
+ #:inputs inputs #:outputs outputs))))
+ (add-before 'check 'start-postgresql
+ (lambda* (#:key inputs tests? #:allow-other-keys)
+ (when tests?
+ (setenv "TZDIR" (search-input-directory inputs
+ "share/zoneinfo"))
+ (let ((dbdir (string-append (getcwd) "/../pgdir")))
+ (invoke "initdb" "-D" dbdir)
+ (invoke "pg_ctl" "-D" dbdir
+ "-o" (string-append "-k " dbdir)
+ "-l" (string-append dbdir "/db.log")
+ "start")
+ (invoke "psql" "-h" dbdir "-d" "postgres"
+ "-c" "CREATE DATABASE nixbld;"))))))))
(native-inputs
(list python-cython-3
python-mypy
@@ -4431,7 +4418,9 @@ with the @code{psycopg} PostgreSQL driver.")
python-pytest
python-pytest-asyncio
python-anyio
+ python-setuptools
python-tenacity
+ python-wheel
pproxy
tzdata-for-tests))
(inputs