unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#43939] [PATCH 1/3] gnu: Add python-pykeepass.
@ 2020-10-12  3:38 Vinicius Monego
  2020-10-12  3:42 ` [bug#43939] [PATCH 2/3] gnu: libpwquality: Enable Python binding Vinicius Monego
  2020-10-18 21:32 ` bug#43939: [PATCH 1/3] gnu: Add python-pykeepass Marius Bakke
  0 siblings, 2 replies; 6+ messages in thread
From: Vinicius Monego @ 2020-10-12  3:38 UTC (permalink / raw)
  To: 43939; +Cc: Vinicius Monego

* 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(+)

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")
-- 
2.20.1





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#43939] [PATCH 2/3] gnu: libpwquality: Enable Python binding.
  2020-10-12  3:38 [bug#43939] [PATCH 1/3] gnu: Add python-pykeepass Vinicius Monego
@ 2020-10-12  3:42 ` Vinicius Monego
  2020-10-12  3:42   ` [bug#43939] [PATCH 3/3] gnu: Add passwordsafe Vinicius Monego
  2020-10-18 21:35   ` [bug#43939] [PATCH 2/3] gnu: libpwquality: Enable Python binding Marius Bakke
  2020-10-18 21:32 ` bug#43939: [PATCH 1/3] gnu: Add python-pykeepass Marius Bakke
  1 sibling, 2 replies; 6+ messages in thread
From: Vinicius Monego @ 2020-10-12  3:42 UTC (permalink / raw)
  To: 43939; +Cc: Vinicius Monego

* gnu/packages/password-utils.scm (libpwquality)[arguments]: Enable Python binding.
[native-inputs]: Add python-minimal-wrapper.
---
 gnu/packages/password-utils.scm | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 85dbeef28f..e22d147468 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -28,6 +28,7 @@
 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org>
 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -381,8 +382,17 @@ them out, at the source.")
                 "13hw532fmzc5xjpy75d74rlfdlxf2a8ibb4hyy9c0s92wsgf0qsj"))))
     (build-system gnu-build-system)
     (arguments
-     ;; XXX: have RUNPATH issue.
-     '(#:configure-flags '("--disable-python-bindings")))
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'set-LDFLAGS
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (setenv "LDFLAGS"
+                     (string-append
+                      "-Wl,-rpath="
+                      (assoc-ref outputs "out") "/lib"))
+             #t)))))
+    (native-inputs
+     `(("python" ,python-minimal-wrapper)))
     (inputs
      `(("cracklib" ,cracklib)))
     (synopsis "Password quality checker")
-- 
2.20.1





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#43939] [PATCH 3/3] gnu: Add passwordsafe.
  2020-10-12  3:42 ` [bug#43939] [PATCH 2/3] gnu: libpwquality: Enable Python binding Vinicius Monego
@ 2020-10-12  3:42   ` Vinicius Monego
  2020-10-18 21:38     ` Marius Bakke
  2020-10-18 21:35   ` [bug#43939] [PATCH 2/3] gnu: libpwquality: Enable Python binding Marius Bakke
  1 sibling, 1 reply; 6+ messages in thread
From: Vinicius Monego @ 2020-10-12  3:42 UTC (permalink / raw)
  To: 43939; +Cc: Vinicius Monego

* gnu/packages/gnome.scm (passwordsafe): New variable.
---
 gnu/packages/gnome.scm | 54 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index bb4e64347e..e6cdb44a4d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10344,6 +10344,60 @@ photo-booth-like software, such as Cheese.")
 apply fancy special effects and lets you share the fun with others.")
     (license license:gpl2+)))
 
+(define-public passwordsafe
+  (package
+    (name "passwordsafe")
+    (version "3.99.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.gnome.org/World/PasswordSafe")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0pi2l4gwf8paxm858mxrcsk5nr0c0zw5ycax40mghndb6b1qmmhf"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((prog (string-append (assoc-ref outputs "out")
+                                        "/bin/gnome-passwordsafe"))
+                   (pylib (string-append (assoc-ref outputs "out")
+                                         "/lib/python"
+                                         ,(version-major+minor
+                                           (package-version python))
+                                         "/site-packages")))
+               (wrap-program prog
+                 `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+               #t))))))
+    (native-inputs
+     `(("desktop-file-utils" ,desktop-file-utils)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("gtk+" ,gtk+)
+       ("libhandy" ,libhandy-0.0)
+       ("libpwquality" ,libpwquality)
+       ("python-pygobject" ,python-pygobject)
+       ("python-pykeepass" ,python-pykeepass)))
+    (home-page "https://gitlab.gnome.org/World/PasswordSafe")
+    (synopsis "Password manager for the GNOME desktop")
+    (description
+     "Password Safe is a password manager which makes use of the KeePass v4
+format.  It integrates perfectly with the GNOME desktop and provides an easy
+and uncluttered interface for the management of password databases.")
+    (license license:gpl3)))
+
 (define-public sound-juicer
   (package
     (name "sound-juicer")
-- 
2.20.1





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#43939: [PATCH 1/3] gnu: Add python-pykeepass.
  2020-10-12  3:38 [bug#43939] [PATCH 1/3] gnu: Add python-pykeepass Vinicius Monego
  2020-10-12  3:42 ` [bug#43939] [PATCH 2/3] gnu: libpwquality: Enable Python binding Vinicius Monego
@ 2020-10-18 21:32 ` Marius Bakke
  1 sibling, 0 replies; 6+ messages in thread
From: Marius Bakke @ 2020-10-18 21:32 UTC (permalink / raw)
  To: Vinicius Monego, 43939-done; +Cc: Vinicius Monego

[-- Attachment #1: Type: text/plain, Size: 408 bytes --]

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!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 507 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#43939] [PATCH 2/3] gnu: libpwquality: Enable Python binding.
  2020-10-12  3:42 ` [bug#43939] [PATCH 2/3] gnu: libpwquality: Enable Python binding Vinicius Monego
  2020-10-12  3:42   ` [bug#43939] [PATCH 3/3] gnu: Add passwordsafe Vinicius Monego
@ 2020-10-18 21:35   ` Marius Bakke
  1 sibling, 0 replies; 6+ messages in thread
From: Marius Bakke @ 2020-10-18 21:35 UTC (permalink / raw)
  To: Vinicius Monego, 43939-done; +Cc: Vinicius Monego

[-- Attachment #1: Type: text/plain, Size: 309 bytes --]

Vinicius Monego <monego@posteo.net> writes:

> * gnu/packages/password-utils.scm (libpwquality)[arguments]: Enable Python binding.
> [native-inputs]: Add python-minimal-wrapper.

I changed this to 'python-wrapper' and committed.  The python-minimal
variants exists mostly to solve a bootstrap cycle.

Thanks!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 507 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#43939] [PATCH 3/3] gnu: Add passwordsafe.
  2020-10-12  3:42   ` [bug#43939] [PATCH 3/3] gnu: Add passwordsafe Vinicius Monego
@ 2020-10-18 21:38     ` Marius Bakke
  0 siblings, 0 replies; 6+ messages in thread
From: Marius Bakke @ 2020-10-18 21:38 UTC (permalink / raw)
  To: Vinicius Monego, 43939-done; +Cc: Vinicius Monego

[-- Attachment #1: Type: text/plain, Size: 211 bytes --]

Vinicius Monego <monego@posteo.net> writes:

> * gnu/packages/gnome.scm (passwordsafe): New variable.

[...]

> +    (license license:gpl3)))

I changed to GPL3+ since no explicit version is mentioned.

Thanks!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 507 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-10-18 21:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-12  3:38 [bug#43939] [PATCH 1/3] gnu: Add python-pykeepass Vinicius Monego
2020-10-12  3:42 ` [bug#43939] [PATCH 2/3] gnu: libpwquality: Enable Python binding Vinicius Monego
2020-10-12  3:42   ` [bug#43939] [PATCH 3/3] gnu: Add passwordsafe Vinicius Monego
2020-10-18 21:38     ` Marius Bakke
2020-10-18 21:35   ` [bug#43939] [PATCH 2/3] gnu: libpwquality: Enable Python binding Marius Bakke
2020-10-18 21:32 ` bug#43939: [PATCH 1/3] gnu: Add python-pykeepass Marius Bakke

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).