summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/python-crypto.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index bad774aa03..7084c3a4ec 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -61,6 +61,7 @@
#:use-module (gnu packages swig)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (srfi srfi-1))
@@ -1060,6 +1061,53 @@ through the Engine interface.")
(propagated-inputs
`(("python2-typing" ,python2-typing))))))
+(define-public python-pykeepass
+ (package
+ (name "python-pykeepass")
+ (version "3.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ ;; Source tarball on PyPI doesn't include tests.
+ (uri (git-reference
+ (url "https://github.com/libkeepass/pykeepass")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wxbfpy7467mlnfsvmh685fhfnq4fki9y7yc9cylp30r5n3hisaj"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'make-kdbx-writable
+ ;; Tests have to write to the .kdbx files in the test directory.
+ (lambda _
+ (with-directory-excursion "tests"
+ (for-each make-file-writable (find-files "."))
+ #t)))
+ (add-before 'build 'patch-requirements
+ (lambda _
+ ;; Update requirements from dependency==version
+ ;; to dependency>=version.
+ (substitute* "setup.py"
+ (("==") ">="))
+ #t)))))
+ (propagated-inputs
+ `(("python-argon2-cffi" ,python-argon2-cffi)
+ ("python-construct" ,python-construct)
+ ("python-dateutil" ,python-dateutil)
+ ("python-future" ,python-future)
+ ("python-lxml" ,python-lxml)
+ ("python-pycryptodome" ,python-pycryptodome)))
+ (home-page "https://github.com/libkeepass/pykeepass")
+ (synopsis "Python library to interact with keepass databases")
+ (description
+ "This library allows you to write entries to a KeePass database. It
+supports KDBX3 and KDBX4.")
+ ;; There are no copyright headers in the source code. The LICENSE file
+ ;; indicates GPL3.
+ (license license:gpl3+)))
+
(define-public python-pylibscrypt
(package
(name "python-pylibscrypt")