unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#58386] Age encryption : passage
@ 2022-10-08 22:42 Nicolas Graves via Guix-patches via
  2022-10-08 22:44 ` [bug#58386] [PATCH 1/2] gnu: passage: Rename package to passage-game Nicolas Graves via Guix-patches via
  0 siblings, 1 reply; 9+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2022-10-08 22:42 UTC (permalink / raw)
  To: 58386


Hi!

Small patch series following https://issues.guix.gnu.org/58340 for
adding the fork of the password-store.

I've made the choice to rename the existing passage game to
passage-game in a first commit, I hope it's OK. 

-- 
Best regards,
Nicolas Graves




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

* [bug#58386] [PATCH 1/2] gnu: passage: Rename package to passage-game.
  2022-10-08 22:42 [bug#58386] Age encryption : passage Nicolas Graves via Guix-patches via
@ 2022-10-08 22:44 ` Nicolas Graves via Guix-patches via
  2022-10-08 22:44   ` [bug#58386] [PATCH 2/2] gnu: Add passage Nicolas Graves via Guix-patches via
  0 siblings, 1 reply; 9+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2022-10-08 22:44 UTC (permalink / raw)
  To: 58386; +Cc: ngraves

* gnu/packages/games.scm (passage): Define in terms of
'deprecated-package'.
(passage-game): New variable, formerly known as "passage".
---
 gnu/packages/games.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 246472c699..3efd5ff626 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -10820,9 +10820,9 @@ (define-public cgoban
 @end itemize")
     (license license:gpl2+)))
 
-(define-public passage
+(define-public passage-game
   (package
-    (name "passage")
+    (name "passage-game")
     (version "4")
     (source
      (origin
-- 
2.38.0





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

* [bug#58386] [PATCH 2/2] gnu: Add passage.
  2022-10-08 22:44 ` [bug#58386] [PATCH 1/2] gnu: passage: Rename package to passage-game Nicolas Graves via Guix-patches via
@ 2022-10-08 22:44   ` Nicolas Graves via Guix-patches via
  2022-10-08 23:05     ` Tobias Geerinckx-Rice via Guix-patches via
  0 siblings, 1 reply; 9+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2022-10-08 22:44 UTC (permalink / raw)
  To: 58386; +Cc: ngraves

* gnu/packages/password-utils.scm (passage): New variable.
---
 gnu/packages/password-utils.scm | 39 +++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 8e29bef484..6bc3b99af4 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,43 @@ (define-public password-store
 through the pass command.")
     (license license:gpl2+)))
 
+(define-public passage
+  (package
+    (inherit password-store)
+    (name "passage")
+    (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)
+    (propagated-inputs
+     (list util-linux git qrencode sed tree age))
+    (build-system copy-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'rename-exe
+                    (lambda _
+                      (rename-file "src/password-store.sh"
+                                   "src/passage"))))
+       #:install-plan
+       (list '("src/passage" "/bin/")
+             '("src/completion/pass.bash-completion"
+               "/share/bash-completion/completions/")
+             '("src/completion/pass.zsh-completion"
+               "/share/zsh/site-functions/"))))
+    (home-page "https://github.com/FiloSottile/passage")
+    (synopsis "A fork of the password-store encrypted password manager")
+    (description "This package provides a fork of the @code{password-store}
+encrypted password manager.  It relies on @code{age} instead of
+@code{gnupg}.")
+    (license license:gpl2+)))
+
 (define-public pass-otp
   (package
     (name "pass-otp")
-- 
2.38.0





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

* [bug#58386] [PATCH 2/2] gnu: Add passage.
  2022-10-08 22:44   ` [bug#58386] [PATCH 2/2] gnu: Add passage Nicolas Graves via Guix-patches via
@ 2022-10-08 23:05     ` Tobias Geerinckx-Rice via Guix-patches via
  2022-10-11 21:39       ` [bug#58386] [PATCH v2] " Nicolas Graves via Guix-patches via
  0 siblings, 1 reply; 9+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2022-10-08 23:05 UTC (permalink / raw)
  To: Nicolas Graves; +Cc: 58386

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

Heyo,

Nicolas Graves via Guix-patches via 写道:
> +(define-public passage

Thanks!

Most points below can be fixed up by a committer, including the 
description, but those tend to sound better when written by an 
actual user.  If you'd like to give it a try.

> +    (build-system copy-build-system)
> +    (propagated-inputs
> +     (list util-linux git qrencode sed tree age))

Super-nitpick: inputs conventionally hang out a bit lower, under 
the arguments field.

> +    (build-system copy-build-system)

Duped.

> +    (arguments
> +     '(#:phases (modify-phases %standard-phases
> +                  (add-after 'unpack 'rename-exe

s/exe/script/ (or sure, executable).

> +                    (lambda _
> +                      (rename-file "src/password-store.sh"
> +                                   "src/passage"))))
> +       #:install-plan
> +       (list '("src/passage" "/bin/")
> +             '("src/completion/pass.bash-completion"
> +               "/share/bash-completion/completions/")

OK, I've been looking at this for an embarrasingly long time 
trying to figure out what you're trying to communicate with '(… 
(list '(…))).  It seems very deliberate.  Any hints?  :-p

> +    (home-page "https://github.com/FiloSottile/passage")
> +    (synopsis "A fork of the password-store encrypted password 
> manager")

Another nitpic^Wcool tip: @command{} & friends work here just as 
well as in the description.  There's no difference.

The text should describe the package, not its ancestry.

> +    (description "This package provides a fork of the 
> @code{password-store}
> +encrypted password manager.  It relies on @code{age} instead of
> +@code{gnupg}.")

Same here.  I know all of these words but what do they mean?

> +    (license license:gpl2+)))

Checked.

> +
>  (define-public pass-otp
>    (package
>      (name "pass-otp")

> I've made the choice to rename the existing passage game to
> passage-game in a first commit, I hope it's OK. 

No, I don't think it is.  Adding this script need not affect other 
packages.

Kind regards,

T G-R

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

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

* [bug#58386] [PATCH v2] gnu: Add passage.
  2022-10-08 23:05     ` Tobias Geerinckx-Rice via Guix-patches via
@ 2022-10-11 21:39       ` Nicolas Graves via Guix-patches via
  2022-10-19 17:17         ` bug#58340: " Tobias Geerinckx-Rice via Guix-patches via
  2022-10-19 19:54         ` bug#58457: " Tobias Geerinckx-Rice via Guix-patches via
  0 siblings, 2 replies; 9+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2022-10-11 21:39 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 58386


* gnu/packages/password-utils.scm (passage): New variable.
---
 gnu/packages/password-utils.scm | 38 +++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

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

Thanks for the review!

> OK, I've been looking at this for an embarrasingly long time
> trying to figure out what you're trying to communicate with '(…
> (list '(…))).  It seems very deliberate.  Any hints?  :-p

Not deliberate, I probably misread the copy-build-system info
manual. Fixed!

> No, I don't think it is.  Adding this script need not affect other
> packages.

I understand, although I would think that choices need to be made and
that this one would not annoy a lot.

Just as a reminder, this patch cannot be merged before 58340.

--
Best regards,
Nicolas Graves




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

* bug#58340: [PATCH v2] gnu: Add passage.
  2022-10-11 21:39       ` [bug#58386] [PATCH v2] " Nicolas Graves via Guix-patches via
@ 2022-10-19 17:17         ` Tobias Geerinckx-Rice via Guix-patches via
  2022-10-19 19:49           ` [bug#58340] bug#58386: " Tobias Geerinckx-Rice via Guix-patches via
  2022-10-19 19:54         ` bug#58457: " Tobias Geerinckx-Rice via Guix-patches via
  1 sibling, 1 reply; 9+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2022-10-19 17:17 UTC (permalink / raw)
  To: Nicolas Graves; +Cc: 58386-done, 58340-done

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

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


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

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

* [bug#58340] bug#58386: [PATCH v2] gnu: Add passage.
  2022-10-19 17:17         ` bug#58340: " Tobias Geerinckx-Rice via Guix-patches via
@ 2022-10-19 19:49           ` Tobias Geerinckx-Rice via Guix-patches via
  2022-10-22  7:51             ` Nicolas Graves via Guix-patches via
  0 siblings, 1 reply; 9+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2022-10-19 19:49 UTC (permalink / raw)
  Cc: 58386-done, ngraves, 58340, 58340-done

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

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

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

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

* bug#58457: [PATCH v2] gnu: Add passage.
  2022-10-11 21:39       ` [bug#58386] [PATCH v2] " Nicolas Graves via Guix-patches via
  2022-10-19 17:17         ` bug#58340: " Tobias Geerinckx-Rice via Guix-patches via
@ 2022-10-19 19:54         ` Tobias Geerinckx-Rice via Guix-patches via
  1 sibling, 0 replies; 9+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2022-10-19 19:54 UTC (permalink / raw)
  To: 58457-done

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

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

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

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

* [bug#58340] bug#58386: [PATCH v2] gnu: Add passage.
  2022-10-19 19:49           ` [bug#58340] bug#58386: " Tobias Geerinckx-Rice via Guix-patches via
@ 2022-10-22  7:51             ` Nicolas Graves via Guix-patches via
  0 siblings, 0 replies; 9+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2022-10-22  7:51 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 58340, 58386


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.

-- 
Best regards,
Nicolas Graves




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

end of thread, other threads:[~2022-10-22  8:20 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-08 22:42 [bug#58386] Age encryption : passage Nicolas Graves via Guix-patches via
2022-10-08 22:44 ` [bug#58386] [PATCH 1/2] gnu: passage: Rename package to passage-game Nicolas Graves via Guix-patches via
2022-10-08 22:44   ` [bug#58386] [PATCH 2/2] gnu: Add passage Nicolas Graves via Guix-patches via
2022-10-08 23:05     ` Tobias Geerinckx-Rice via Guix-patches via
2022-10-11 21:39       ` [bug#58386] [PATCH v2] " Nicolas Graves via Guix-patches via
2022-10-19 17:17         ` bug#58340: " Tobias Geerinckx-Rice via Guix-patches via
2022-10-19 19:49           ` [bug#58340] bug#58386: " Tobias Geerinckx-Rice via Guix-patches via
2022-10-22  7:51             ` Nicolas Graves via Guix-patches via
2022-10-19 19:54         ` bug#58457: " Tobias Geerinckx-Rice via Guix-patches via

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).