diff mbox series

[bug#43939,1/3] gnu: Add python-pykeepass.

Message ID 20201012033849.56024-1-monego@posteo.net
State Accepted
Headers show
Series [bug#43939,1/3] gnu: Add python-pykeepass. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Vinicius Monego Oct. 12, 2020, 3:38 a.m. UTC
* gnu/packages/python-crypto.scm (python-pykeepass): New variable.
---
v3.2.1 was released recently but it introduces a breaking change that will only be fixed in the next version of Password Safe.
See https://gitlab.gnome.org/World/PasswordSafe/-/issues/163.
 gnu/packages/python-crypto.scm | 48 ++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

Comments

Marius Bakke Oct. 18, 2020, 9:32 p.m. UTC | #1
Vinicius Monego <monego@posteo.net> writes:

> * gnu/packages/python-crypto.scm (python-pykeepass): New variable.

[...]

> +    ;; There are no copyright headers in the source code.  The LICENSE file
> +    ;; indicates GPL3.
> +    (license license:gpl3)))

In cases like these (when no explicit version is mentioned), we use
GPL3+.  See section 14 of the GPLv3.

I made this change and committed, thanks!
diff mbox series

Patch

diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index f39695a850..b01f5bb173 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")