GNU bug report logs - #58340
Age encryption

Previous Next

Package: guix-patches;

Reported by: Nicolas Graves <ngraves <at> ngraves.fr>

Date: Thu, 6 Oct 2022 17:06:02 UTC

Severity: normal

Done: Tobias Geerinckx-Rice <me <at> tobias.gr>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 58340 in the body.
You can then email your comments to 58340 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#58340; Package guix-patches. (Thu, 06 Oct 2022 17:06:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nicolas Graves <ngraves <at> ngraves.fr>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 06 Oct 2022 17:06:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: guix-patches <at> gnu.org
Subject: Age encryption
Date: Thu, 06 Oct 2022 19:05:32 +0200
Hi guix!

Here's a few patches to package the encryption tool age.
I'm probably going to send some other derived tools (passage notably).

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#58340; Package guix-patches. (Thu, 06 Oct 2022 17:10:02 GMT) Full text and rfc822 format available.

Message #8 received at 58340 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 58340 <at> debbugs.gnu.org
Cc: ngraves <at> ngraves.fr
Subject: [PATCH 1/2] gnu: Add go-filippo-io-edwards25519.
Date: Thu,  6 Oct 2022 19:09:07 +0200
* gnu/packages/golang.scm (go-filippo-io-edwards25519): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 4a4c706509..e8132eb138 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -926,6 +926,29 @@ (define-public go-std-1.17 (make-go-std go-1.17))
 (define-public go-std-1.18 (make-go-std go-1.18))
 (define-public go-std-1.19 (make-go-std go-1.19))
 
+(define-public go-filippo-io-edwards25519
+  (package
+    (name "go-filippo-io-edwards25519")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/FiloSottile/edwards25519")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "01m8hpaj0cwp250f7b0din09cf8j6j5y631grx67qfhvfrmwr1zr"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "filippo.io/edwards25519"))
+    (home-page "https://filippo.io/edwards25519")
+    (synopsis "Group logic for the twisted Edwards curve")
+    (description
+     "This package implements the edwards25519 elliptic curve in Go, exposing
+the necessary APIs to build a wide array of higher-level primitives.")
+    (license license:bsd-3)))
+
 (define-public go-0xacab-org-leap-shapeshifter
   (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
         (revision "12"))
-- 
2.37.3





Information forwarded to guix-patches <at> gnu.org:
bug#58340; Package guix-patches. (Thu, 06 Oct 2022 17:10:02 GMT) Full text and rfc822 format available.

Message #11 received at 58340 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 58340 <at> debbugs.gnu.org
Cc: ngraves <at> ngraves.fr
Subject: [PATCH 2/2] gnu: Add age and its modules.
Date: Thu,  6 Oct 2022 19:09:08 +0200
* gnu/packages/golang.scm
  (age): New variable.
  (go-filippo-io-cmd-age): New variable.
  (go-filippo-io-cmd-age-keygen): New variable.
---
 gnu/packages/golang.scm | 50 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e8132eb138..7559e3ef9d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -35,6 +35,7 @@
 ;;; Copyright © 2021 Lu Hui <luhux76 <at> gmail.com>
 ;;; Copyright © 2022 Pier-Hugues Pellerin <phpellerin <at> gmail.com>
 ;;; Copyright © 2022 muradm <mail <at> muradm.net>
+;;; Copyright © 2022 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -949,6 +950,55 @@ (define-public go-filippo-io-edwards25519
 the necessary APIs to build a wide array of higher-level primitives.")
     (license license:bsd-3)))
 
+(define-public age
+  (package
+    (name "age")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/FiloSottile/age")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "19fz68n262kvg2ssw4r6nik30zk6g6cy7rdi0fm05czwigqrdz1i"))))
+    (build-system go-build-system)
+    (arguments `(#:import-path "filippo.io/age"))
+    (propagated-inputs
+     (list go-filippo-io-cmd-age
+           go-filippo-io-cmd-age-keygen))
+    (home-page "https://filippo.io/age")
+    (synopsis "Secure file encryption tool, format, and Go library")
+    (description
+     "This package implements file encryption according to the
+@code{age-encryption.org/v1} specification. It features small explicit keys,
+no config options, and UNIX-style composability.")
+    (license license:bsd-3)))
+
+(define-public go-filippo-io-cmd-age
+  (package
+    (inherit age)
+    (name "go-filippo-io-cmd-age")
+    (propagated-inputs
+     (list go-golang-org-x-sys
+           go-golang-org-x-term
+           go-golang-org-x-crypto
+           go-filippo-io-edwards25519))
+    (arguments
+     `(#:import-path "filippo.io/age/cmd/age"
+       #:unpack-path "filippo.io/age"
+       #:install-source? #f))))
+
+(define-public go-filippo-io-cmd-age-keygen
+  (package
+    (inherit go-filippo-io-cmd-age)
+    (name "go-filippo-io-cmd-age-keygen")
+    (arguments
+     `(#:import-path "filippo.io/age/cmd/age-keygen"
+       #:unpack-path "filippo.io/age"
+       #:install-source? #f))))
+
 (define-public go-0xacab-org-leap-shapeshifter
   (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
         (revision "12"))
-- 
2.37.3





Information forwarded to guix-patches <at> gnu.org:
bug#58340; Package guix-patches. (Thu, 13 Oct 2022 21:10:02 GMT) Full text and rfc822 format available.

Message #14 received at 58340 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 58340 <at> debbugs.gnu.org
Cc: ngraves <at> ngraves.fr
Subject: [PATCH v2 1/2] gnu: Add go-filippo-io-edwards25519.
Date: Thu, 13 Oct 2022 23:09:44 +0200
* gnu/packages/golang.scm (go-filippo-io-edwards25519): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 53d1e38c28..f404adc646 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -927,6 +927,29 @@ (define-public go-std-1.17 (make-go-std go-1.17))
 (define-public go-std-1.18 (make-go-std go-1.18))
 (define-public go-std-1.19 (make-go-std go-1.19))
 
+(define-public go-filippo-io-edwards25519
+  (package
+    (name "go-filippo-io-edwards25519")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/FiloSottile/edwards25519")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "01m8hpaj0cwp250f7b0din09cf8j6j5y631grx67qfhvfrmwr1zr"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "filippo.io/edwards25519"))
+    (home-page "https://filippo.io/edwards25519")
+    (synopsis "Group logic for the twisted Edwards curve")
+    (description
+     "This package implements the edwards25519 elliptic curve in Go, exposing
+the necessary APIs to build a wide array of higher-level primitives.")
+    (license license:bsd-3)))
+
 (define-public go-0xacab-org-leap-shapeshifter
   (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
         (revision "12"))
-- 
2.38.0





Information forwarded to guix-patches <at> gnu.org:
bug#58340; Package guix-patches. (Thu, 13 Oct 2022 21:11:01 GMT) Full text and rfc822 format available.

Message #17 received at 58340 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 58340 <at> debbugs.gnu.org
Cc: ngraves <at> ngraves.fr
Subject: [PATCH v2] gnu: Add age and its modules.
Date: Thu, 13 Oct 2022 23:10:31 +0200
* gnu/packages/golang.scm
  (age): New variable.
  (go-filippo-io-cmd-age): New variable.
  (go-filippo-io-cmd-age-keygen): New variable.
---
 gnu/packages/golang.scm | 51 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index f404adc646..b9ac942702 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -36,6 +36,7 @@
 ;;; Copyright © 2022 Pier-Hugues Pellerin <phpellerin <at> gmail.com>
 ;;; Copyright © 2022 muradm <mail <at> muradm.net>
 ;;; Copyright © 2022 Dhruvin Gandhi <contact <at> dhruvin.dev>
+;;; Copyright © 2022 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -950,6 +951,56 @@ (define-public go-filippo-io-edwards25519
 the necessary APIs to build a wide array of higher-level primitives.")
     (license license:bsd-3)))
 
+(define-public age
+  (package
+    (name "age")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/FiloSottile/age")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "19fz68n262kvg2ssw4r6nik30zk6g6cy7rdi0fm05czwigqrdz1i"))))
+    (build-system go-build-system)
+    (arguments `(#:import-path "filippo.io/age"))
+    (inputs
+     (list go-golang-org-x-sys
+           go-golang-org-x-term
+           go-golang-org-x-crypto
+           go-filippo-io-edwards25519))
+    (propagated-inputs
+     (list go-filippo-io-cmd-age
+           go-filippo-io-cmd-age-keygen))
+    (home-page "https://filippo.io/age")
+    (synopsis "Secure file encryption tool, format, and Go library")
+    (description
+     "This package implements file encryption according to the
+@code{age-encryption.org/v1} specification. It features small explicit keys,
+no config options, and UNIX-style composability.")
+    (license license:bsd-3)))
+
+(define-public go-filippo-io-cmd-age
+  (package
+    (inherit age)
+    (name "go-filippo-io-cmd-age")
+    (propagated-inputs '())
+    (arguments
+     `(#:import-path "filippo.io/age/cmd/age"
+       #:unpack-path "filippo.io/age"
+       #:install-source? #f))))
+
+(define-public go-filippo-io-cmd-age-keygen
+  (package
+    (inherit go-filippo-io-cmd-age)
+    (name "go-filippo-io-cmd-age-keygen")
+    (arguments
+     `(#:import-path "filippo.io/age/cmd/age-keygen"
+       #:unpack-path "filippo.io/age"
+       #:install-source? #f))))
+
 (define-public go-0xacab-org-leap-shapeshifter
   (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
         (revision "12"))
-- 
2.38.0





Reply sent to Tobias Geerinckx-Rice <me <at> tobias.gr>:
You have taken responsibility. (Wed, 19 Oct 2022 19:41:01 GMT) Full text and rfc822 format available.

Notification sent to Nicolas Graves <ngraves <at> ngraves.fr>:
bug acknowledged by developer. (Wed, 19 Oct 2022 19:41:01 GMT) Full text and rfc822 format available.

Message #22 received at 58340-done <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: 58386-done <at> debbugs.gnu.org, 58340-done <at> debbugs.gnu.org
Subject: Re: [PATCH v2] gnu: Add passage.
Date: Wed, 19 Oct 2022 19:17:33 +0200
[Message part 1 (text/plain, inline)]
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 <at> 1.7.4a0: no article allowed at the beginning of the 
 synopsis
 age <at> 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

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#58340; Package guix-patches. (Wed, 19 Oct 2022 19:54:02 GMT) Full text and rfc822 format available.

Message #25 received at 58340-done <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 58386-done <at> debbugs.gnu.org, Nicolas Graves <ngraves <at> ngraves.fr>,
 guix-patches <at> gnu.org, 58340-done <at> debbugs.gnu.org
Subject: Re: bug#58386: [PATCH v2] gnu: Add passage.
Date: Wed, 19 Oct 2022 21:49:50 +0200
[Message part 1 (text/plain, inline)]
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
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#58340; Package guix-patches. (Sat, 22 Oct 2022 07:52:01 GMT) Full text and rfc822 format available.

Message #28 received at 58340 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 58340 <at> debbugs.gnu.org, 58386 <at> debbugs.gnu.org
Subject: Re: bug#58386: [PATCH v2] gnu: Add passage.
Date: Sat, 22 Oct 2022 09:51:02 +0200
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




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 19 Nov 2022 12:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 157 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.