Message ID | 87y1tmujj2.fsf@ngraves.fr |
---|---|
State | Accepted |
Headers | show |
Series | [bug#58386,v2] gnu: Add passage. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git-branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
Hi Nicolas, Nicolas Graves 写道: > Just as a reminder, this patch cannot be merged before 58340. Thanks, I realised that after I sent it. I'll treat (and close) them as one bug for this reply. I've pushed all 3 patches as ac553ba68e535810085dd838e48e4fa6ac553e67 et al with the following mods: > * gnu/packages/password-utils.scm (passage): New variable. I fixed up the commit message to match the name, and addressed the following ‘guix lint’ warnings: pass-age@1.7.4a0: no article allowed at the beginning of the synopsis age@1.0.0: sentences in description should be followed by two spaces Whilst there, I turned @code{age-encryption.org/v1} into a full @url{}, and fixed up upstream's ‘config’ & ‘UNIX’ slang. > * gnu/packages/golang.scm > (age): New variable. > (go-filippo-io-cmd-age): New variable. > (go-filippo-io-cmd-age-keygen): New variable. ^^ Our changelogs are never indented, you'd write: > * gnu/packages/golang.scm (age, go-filippo-io-cmd-age) > (go-filippo-io-cmd-age-keygen): New variables. …but in this case, I was bold and removed the two go-filippo-io-cmd-age* packages completely. I moved ‘age’ to (gnu packages password-utils). The partial recursion in the go-* variants made me nervous (and would probably prevent the move, although I didn't try). If these variants are needed for something, it's not pass-age, and we can review them separately if/when needed. Is that acceptable? > I would think that choices need to be made Princip(al)ly: the choice to reuse an existing package name was FiloSottile's, for the sake of a pun. Much as I like bad puns, I think that's rather rude. It's not hard to search for free package names, e.g., [0]. > that this one would not annoy a lot. Technically: it would silently replace users' games with some encryption tool. That's problematic even if those users are few. Similarly: had the game been added after this ‘passage’, I would have grumpily agreed to ‘passage-game’ :-) But it wasn't. But: I think your ’pass-age’ solution is perfect. Thanks! FiloSottile should consider it. Kind regards, T G-R [0]: https://repology.org/project/passage/versions
Tobias Geerinckx-Rice via Guix-patches via 写道: > …but in this case, I was bold and removed the two > go-filippo-io-cmd-age* packages completely. Grr. And of course, whilst migrating pass-age's propagated-inputs to regular ones (propagation is evil and should be avoided whenever possible), I see I've been looking at the wrong ‘age’. Y'know. The one that does have a ‘/bin/age’ in it. Yep, I'm back, T G-R
Closing as a duplicate of #58386. When sending patch rerolls, use ‘--to=NNN@debbugs.gnu.org’ (NOT the default guix-patches@gnu.org) to avoid opening a new bug number. Kind regards, T G-R
Hey Tobias,
> Y'know. The one that does have a ‘/bin/age’ in it.
In the current version, it seems that the age-keygen binary is not in
the bin output. Both commands "age" and "age-keygen" are necessary,
hence the way I tried to package that with propagated inputs.
Thanks for your reviews, let me know if I can help.
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 8e29bef484..36b0ae7537 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2022 ( <paren@disroot.org> +;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,6 +58,7 @@ (define-module (gnu packages password-utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system python) @@ -589,6 +591,42 @@ (define-public password-store through the pass command.") (license license:gpl2+))) +(define-public pass-age + (package + (inherit password-store) + (name "pass-age") + (version "1.7.4a0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FiloSottile/passage") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17899whffnpqqx9x1nx2b8bfxbxlh1pwlglqa0kznl0cn6sb37ql")))) + (build-system copy-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'rename-script + (lambda _ + (rename-file "src/password-store.sh" + "src/passage")))) + #:install-plan + '(("src/passage" "/bin/") + ("src/completion/pass.bash-completion" + "/share/bash-completion/completions/") + ("src/completion/pass.zsh-completion" + "/share/zsh/site-functions/")))) + (propagated-inputs + (list util-linux git qrencode sed tree age)) + (home-page "https://github.com/FiloSottile/passage") + (synopsis "An encrypted password manager") + (description "This package provides an encrypted password manager, forked +from the @code{password-store} package. Files are encrypted with the +@command{age} encryption package with small explicit keys.") + (license license:gpl2+))) + (define-public pass-otp (package (name "pass-otp")