From: Jelle Licht <jlicht@fsfe.org>
To: Tobias Kortkamp <tobias.kortkamp@gmail.com>, 60003@debbugs.gnu.org
Subject: [bug#60003] [PATCH 3/3] gnu: Add pass-import.
Date: Thu, 05 Jan 2023 16:21:09 +0100 [thread overview]
Message-ID: <878rih2eje.fsf@fsfe.org> (raw)
In-Reply-To: <fd7915fd85f98a5c55d8099f92122e6ce8f5c0c0.1670844319.git.tobias.kortkamp@gmail.com>
Hello Tobias,
Tobias Kortkamp <tobias.kortkamp@gmail.com> writes:
> * gnu/packages/password-utils.scm (pass-import): New variable.
> ---
> gnu/packages/password-utils.scm | 71 +++++++++++++++++++++++++++++++++
> 1 file changed, 71 insertions(+)
>
> diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
> index aab0a3f2a4..79781ed9e6 100644
> --- a/gnu/packages/password-utils.scm
> +++ b/gnu/packages/password-utils.scm
> @@ -38,6 +38,7 @@
> ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
> ;;; Copyright © 2022 ( <paren@disroot.org>
> ;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
> +;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -101,6 +102,7 @@ (define-module (gnu packages password-utils)
> #:use-module (gnu packages perl)
> #:use-module (gnu packages pkg-config)
> #:use-module (gnu packages python)
> + #:use-module (gnu packages python-crypto)
> #:use-module (gnu packages python-web)
> #:use-module (gnu packages python-xyz)
> #:use-module (gnu packages readline)
> @@ -1492,3 +1494,72 @@ (define-public xkcdpass
> license:lgpl2.0 ;finnish word list
> license:lgpl2.1 ;portuguese word list
> license:mpl1.1)))) ;portuguese word list
> +
> +(define-public pass-import
> + (package
> + (name "pass-import")
> + (version "3.4")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append "https://github.com/roddhjav/pass-import"
> + "/releases/download/" version "/pass-import-"
You missed a "v" here; could you make it "download/v" instead? That works for
me, with the provided base32 hash.
> + version ".tar.gz"))
> + (sha256
> + (base32 "18vh97h3bmspwqhb9xjkapk3p8hy4rxhazrcc06f6pdz8rb6rxxp"))))
> + (build-system python-build-system)
> + (arguments
> + (list #:phases
> + #~(modify-phases %standard-phases
> + (add-after 'unpack 'patch-paths
> + (lambda* (#:key inputs #:allow-other-keys)
> + (substitute* '("import.bash")
> + (("python3")
> + #$(file-append python-wrapper "/bin/python")))
Perhaps someone more experienced with our python-packages can still
weigh in, but wouldn't the following work here as well?
--8<---------------cut here---------------start------------->8---
(("python3")
(search-input-file inputs "/bin/python3")))
--8<---------------cut here---------------end--------------->8---
> + (substitute* '("setup.py")
> + (("base = '/usr'")
> + (string-append "base = '" #$output "'"))
> + (("sys\\.prefix")
> + (string-append "'" #$output "'")))
> + (substitute* '("tests/imports/test_parse.py")
> + ;; requires running D-Bus session
> + (("test_import_gnome_keyring") "disabled_test_import_gnome_keyring")
> + ;; requires lastpass
> + (("test_import_lastpass") "disabled_test_import_lastpass"))
> + (substitute* '("tests/exports/test_lastpass.py")
> + (("test_import_lastpass") "disabled_test_import_lastpass")
> + (("test_lastpass_exist") "disabled_test_lastpass_exist")
> + (("test_lastpass_insert") "disabled_test_lastpass_insert")
> + (("test_lastpass_show") "disabled_test_lastpass_show")
> + (("test_lastpass_list") "disabled_test_lastpass_list")
> + (("test_lastpass_isvalid") "disabled_test_lastpass_isvalid"))))
Nit: in this phase you seem to patch paths and disable tests. Consider splitting
it up into two phases.
I still run into some test failures:
--8<---------------cut here---------------start------------->8---
Ran 135 tests in 12.145s
FAILED (failures=6, errors=1, skipped=10)
Test failed: <unittest.runner.TextTestResult run=135 errors=1 failures=6>
error: Test failed: <unittest.runner.TextTestResult run=135 errors=1 failures=6>
Password-pwned-1
Password-pwned-2
Password-pwned-3
Password-pwned-4
Password-pwned-5
Password-pwned-6
Password-pwned-7
--8<---------------cut here---------------end--------------->8---
> + (add-after 'install 'wrap-extension
> + (lambda _
> + (let ((pylib (string-append #$output "/lib/python"
> + #$(version-major+minor
> + (package-version python))
> + "/site-packages"))
> + (extension (string-append #$output
> + "/lib/password-store/extensions/import.bash")))
This line seems to make `./pre-inst-env guix lint pass-import' unhappy,
as it is too wide.
> + (wrap-program extension
> + (list "GUIX_PYTHONPATH" ":"
> + 'prefix
> + (list (getenv "GUIX_PYTHONPATH")
> + pylib)))))))))
> + (inputs (list gnupg
> + password-store
> + python-cryptography
> + python-defusedxml
> + python-magic
> + python-pyaml
> + python-pykeepass
> + python-requests
> + python-secretstorage
> + python-zxcvbn))
> + (home-page "https://github.com/roddhjav/pass-import")
> + (synopsis
> + "Pass extension for importing data from many password managers")
> + (description
> + "This package provides a pass extension for importing data from many password
> +managers. @command{pimport} can be used to export data to other password managers
> +like gopass or keepassxc too.")
Consider removing superfluous 'too'.
Thanks again!
- Jelle
next prev parent reply other threads:[~2023-01-05 15:22 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-12 11:46 [bug#60003] [PATCH 0/3] gnu: Add pass-import Tobias Kortkamp
2022-12-12 11:49 ` [bug#60003] [PATCH 1/3] gnu: python-construct: Update to 2.10.68 Tobias Kortkamp
2022-12-12 11:49 ` [bug#60003] [PATCH 2/3] gnu: python-pykeepass: Update to 4.0.3 Tobias Kortkamp
2022-12-12 11:49 ` [bug#60003] [PATCH 3/3] gnu: Add pass-import Tobias Kortkamp
2023-01-05 15:21 ` Jelle Licht [this message]
2023-01-11 11:55 ` Tobias Kortkamp
2023-02-02 13:13 ` Jelle Licht
2023-02-03 17:25 ` [bug#60003] [PATCH 0/3] " Jonathan Brielmaier
2023-05-22 9:48 ` Tobias Kortkamp
2023-05-22 9:45 ` [bug#60003] [PATCH v2 1/2] gnu: python-pykeepass: Update to 4.0.4 Tobias Kortkamp
2023-05-22 9:45 ` [bug#60003] [PATCH v2 2/2] gnu: Add pass-import Tobias Kortkamp
2024-04-18 18:52 ` [bug#60003] Built docs using pandoc Abhishek Cherath
[not found] <40ad2d0262052c5ddac3c957391b2ac2df9fede2.1673440963.git.tobias.kortkamp@gmail.com>
2023-01-11 12:44 ` [bug#60003] [PATCH 3/3] gnu: Add pass-import Tobias Kortkamp
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878rih2eje.fsf@fsfe.org \
--to=jlicht@fsfe.org \
--cc=60003@debbugs.gnu.org \
--cc=tobias.kortkamp@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).