gnu: Add python-zodb.

* gnu/packages/python-web.scm (python-zodb): New variable.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
Troy Figiel 2024-01-21 22:13:52 +01:00 committed by Sharlatan Hellseher
parent 36da1ad73d
commit e22175655d
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -2760,6 +2760,57 @@ (define-public python-zconfig
configuration-intensive applications.") configuration-intensive applications.")
(license license:zpl2.1))) (license license:zpl2.1)))
(define-public python-zodb
(package
(name "python-zodb")
(version "5.8.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ZODB" version))
(sha256
(base32 "1pv4w8mnx6j4xvkcjbkh99pv8ljby7g9f7zjq7zhdmk06sykmiy6"))))
(build-system pyproject-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(begin
;; This test does not work after installing the
;; package, since it expects the ZODB source code
;; to reside in the src/ directory.
(delete-file-recursively
"src/ZODB/tests/testdocumentation.py")
(invoke "zope-testrunner" "-vv" "--test-path=src"
"--all"))
(format #t "test suite not run~%")))))))
(propagated-inputs (list python-btrees
python-persistent
python-zconfig
python-six
python-transaction
python-zc-lockfile
python-zodbpickle
python-zope-interface))
(native-inputs (list python-manuel python-zope-testing
python-zope-testrunner))
(home-page "http://zodb-docs.readthedocs.io")
(synopsis "Object-oriented database for Python")
(description
"@code{ZODB} provides an object-oriented and @acronym{ACID,
Atomicity Consistency Isolation Durability} compliant database for Python with
a high degree of transparency. @code{ZODB} is an object-oriented database,
not an object-relational mapping. This comes with several advantaged:
@itemize
@item no separate language for database operations
@item very little impact on your code to make objects persistent
@item no database mapper that partially hides the database.
@item almost no seam between code and database.
@end itemize")
(license license:zpl2.1)))
(define-public python-zodbpickle (define-public python-zodbpickle
(package (package
(name "python-zodbpickle") (name "python-zodbpickle")