GNU bug report logs - #52610
[PATCH 00/42] Revising sequoia packaging and update to 1.6

Previous Next

Package: guix-patches;

Reported by: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

Date: Sat, 18 Dec 2021 20:51:03 UTC

Severity: normal

Tags: patch

Merged with 52609, 52611, 52612, 52613, 52614, 52615, 52616, 52617, 52618, 52619, 52620, 52621, 52622, 52623, 52624, 52625, 52626, 52627, 52628, 52629, 52630, 52631, 52632, 52633, 52634, 52635, 52636, 52637, 52638, 52639, 52640, 52641, 52642, 52643, 52644, 52645

Done: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

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 52610 in the body.
You can then email your comments to 52610 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#52610; Package guix-patches. (Sat, 18 Dec 2021 20:51:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 18 Dec 2021 20:51:03 GMT) Full text and rfc822 format available.

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

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 00/42] Revising sequoia packaging and update to 1.6
Date: Sat, 18 Dec 2021 21:49:11 +0100
This implements the following changes I announced some weeks ago, see
<https://lists.gnu.org/archive/html/guix-devel/2021-11/msg00221.html>.
It also updates each sequoia package to its current version.

* Move all sequoia related crates in to sequoia.scm. As of now these are only
  rust-sequoia-openpgp-0.9, rust-sequoia-rfc2822-0.9 and there is only on
  package depending on them rust-libpijul-0.12

* bufferedreader, rust-nettle and other crates from the sequoia project but
  not having "sequoia" (or such) in the name would be kept in crates-io.scm

* In sequoia.scm there would be all sequoia crates, with the app packages
  named without "rust-" prefix ("sequoia-sq", …)

* The current "sequoia" package will become a "wrapper", just propagating (or
  copying, what ever is more common in guix) the other packages which have an
  actual output.

Hartmut Goebel (42):
  gnu: rust-nettle: Update to 7.0.2.
  gnu: rust-criterion-0.3: Update to 0.3.4.
  gnu: rust-serde-1: Update to 1.0.126.
  gnu: rust-serde-derive-1: Update to 1.0.126.
  gnu: rust-wasm-bindgen-futures-0.4: Update to 0.4.24.
  gnu: rust-wasm-bindgen-test-0.3: Update to 0.3.24.
  gnu: rust-wasm-bindgen-test-macro-0.3: Update to 0.3.24.
  gnu: rust-wasm-bindgen-0.2: Update to 0.2.74.
  gnu: rust-wasm-bindgen-backend-0.2: Update to 0.2.74.
  gnu: rust-wasm-bindgen-macro-0.2: Update to 0.2.74.
  gnu: rust-wasm-bindgen-macro-support-0.2: Update to 0.2.74.
  gnu: rust-wasm-bindgen-shared-0.2: Update to 0.2.74.
  gnu: rust-js-sys-0.3: Update to 0.3.51.
  gnu: rust-web-sys-0.3: Update to 0.3.51.
  gnu: rust-version-compare 0.0.11: Fix variable name.
  gnu: Add rust-ttf-parser-0.12.
  gnu: Add rust-gif-0.11.
  gnu: Add rust-fallible-collections-0.3.
  gnu: Add rust-target-lexicon-0.11.
  gnu: Add rust-dcv-color-primitives-0.1.
  gnu: Add rust-cfg-expr-0.7.
  gnu: Add rust-system-deps-3.
  gnu: Add rust-pathfinder-simd-0.5.
  gnu: Add rust-pathfinder-geometry-0.5.
  gnu: Add rust-freetype-0.7.
  gnu: Add rust-font-kit-0.10.
  gnu: Add rust-plotters-backend-0.3.
  gnu: Add rust-plotters-bitmap-0.3.
  gnu: Add rust-plotters-svg-0.3.
  gnu: Add rust-plotters-0.3.
  gnu: Add rust-buffered-reader-1.
  gnu: Add rust-xxhash-rust-0.8.
  gnu: Add rust-sequoia-openpgp-1.
  gnu: Add rust-sequoia-net-0.23.
  gnu: Add rust-sequoia-ipc-0.25.
  gnu: Add rust-sequoia-autocrypt-0.23.
  gnu: Add sequoia-sq.
  gnu: Add sequoia-sqv.
  gnu: Add libsequoia.
  gnu: sequoia: Change into a meta-package and update to 1.6.0.
  gnu: rust-sequoia-openpgp-0.9: Move to (gnu packages sequoia).
  gnu: rust-sequoia-rfc2822-0.9: Move to (gnu packages sequoia).

 gnu/local.mk                                  |   2 +
 gnu/packages/crates-io.scm                    | 652 ++++++++++++------
 .../patches/libsequoia-fix-ffi-Makefile.patch |  32 +
 .../patches/libsequoia-remove-store.patch     | 432 ++++++++++++
 gnu/packages/sequoia.scm                      | 600 ++++++++++++----
 5 files changed, 1399 insertions(+), 319 deletions(-)
 create mode 100644 gnu/packages/patches/libsequoia-fix-ffi-Makefile.patch
 create mode 100644 gnu/packages/patches/libsequoia-remove-store.patch

-- 
2.30.2





Information forwarded to guix-patches <at> gnu.org:
bug#52610; Package guix-patches. (Sat, 18 Dec 2021 20:52:02 GMT) Full text and rfc822 format available.

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

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 37/42] gnu: Add sequoia-sq.
Date: Sat, 18 Dec 2021 21:49:48 +0100
* gnu/packages/sequoia.scm (sequoia-sq): New variable.
---
 gnu/packages/sequoia.scm | 51 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm
index f228caf734..802feaba4f 100644
--- a/gnu/packages/sequoia.scm
+++ b/gnu/packages/sequoia.scm
@@ -248,6 +248,57 @@ version 3 compatibility) have been left out.  The developers have also updated
 some OpenPGP defaults to avoid foot guns (e.g., they selected modern algorithm
 defaults).
 
+This Guix package is built to use the nettle cryptographic library.")
+    (license license:lgpl2.0+)))
+
+(define-public sequoia-sq
+  (package
+    (name "sequoia-sq")
+    (version "0.25.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "sequoia-sq" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0j26vpp98i7zwwhqsvwj0zknj4s0s0ilfqpynj1vgd5laanhyr0d"))))
+    (build-system cargo-build-system)
+    (inputs
+     (list nettle openssl))
+    (native-inputs
+     (list clang pkg-config))
+    (arguments
+     `(#:tests? #f  ;; tests require data-files not provided in the package
+       #:install-source? #f
+       #:cargo-inputs
+       (("rust-anyhow" ,rust-anyhow-1)
+        ("rust-buffered-reader" ,rust-buffered-reader-1)
+        ("rust-chrono" ,rust-chrono-0.4)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-itertools" ,rust-itertools-0.9)
+        ("rust-rpassword" ,rust-rpassword-5)
+        ("rust-sequoia-autocrypt" ,rust-sequoia-autocrypt-0.23)
+        ("rust-sequoia-net" ,rust-sequoia-net-0.23)
+        ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)
+        ("rust-tempfile" ,rust-tempfile-3)
+        ("rust-term-size" ,rust-term-size-0.3)
+        ("rust-tokio" ,rust-tokio-0.2))
+       #:cargo-development-inputs
+       (("rust-assert-cli" ,rust-assert-cli-0.6))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-other-crypto-features
+           (lambda _
+             (substitute* "Cargo.toml"
+               (("^crypto-cng =" line) (string-append "# " line))
+               (("^crypto-rust =" line) (string-append "# " line)))
+             #t)))))
+    (home-page "https://sequoia-pgp.org/")
+    (synopsis "Command-line frontend for Sequoia OpenPGP")
+    (description "This package provides the command-line frontend for Sequoia
+OpenPGP.
+
 This Guix package is built to use the nettle cryptographic library.")
     (license license:lgpl2.0+)))
 
-- 
2.30.2





Information forwarded to guix-patches <at> gnu.org:
bug#52610; Package guix-patches. (Sat, 18 Dec 2021 20:52:02 GMT) Full text and rfc822 format available.

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

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 38/42] gnu: Add sequoia-sqv.
Date: Sat, 18 Dec 2021 21:49:49 +0100
* gnu/packages/sequoia.scm (sequoia-sqv): New variable.
---
 gnu/packages/sequoia.scm | 44 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm
index 802feaba4f..70ac2e89cd 100644
--- a/gnu/packages/sequoia.scm
+++ b/gnu/packages/sequoia.scm
@@ -299,6 +299,50 @@ This Guix package is built to use the nettle cryptographic library.")
     (description "This package provides the command-line frontend for Sequoia
 OpenPGP.
 
+This Guix package is built to use the nettle cryptographic library.")
+    (license license:lgpl2.0+)))
+
+(define-public sequoia-sqv
+  (package
+    (name "sequoia-sqv")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "sequoia-sqv" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0nrfjn64fm038x5dssipf7jxi27z741m5n5a7zsa9768zab1hr9d"))))
+    (build-system cargo-build-system)
+    (inputs
+     (list nettle openssl))
+    (native-inputs
+     (list clang pkg-config))
+    (arguments
+     `(#:tests? #f  ;; tests require data-files not provided in the package
+       #:install-source? #f
+       #:cargo-inputs
+       (("rust-anyhow" ,rust-anyhow-1)
+        ("rust-chrono" ,rust-chrono-0.4)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1))
+       #:cargo-development-inputs
+       (("rust-assert-cli" ,rust-assert-cli-0.6))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-other-crypto-features
+           (lambda _
+             (substitute* "Cargo.toml"
+               (("^crypto-cng =" line) (string-append "# " line))
+               (("^crypto-rust =" line) (string-append "# " line)))
+             #t)))))
+    (home-page "https://sequoia-pgp.org/")
+    (synopsis "Simple OpenPGP signature verification program")
+    (description "@code{sqv} verifies detached OpenPGP signatures.  It is a
+replacement for @code{gpgv}.  Unlike @code{gpgv}, it can take additional
+constraints on the signature into account.
+
 This Guix package is built to use the nettle cryptographic library.")
     (license license:lgpl2.0+)))
 
-- 
2.30.2





Information forwarded to guix-patches <at> gnu.org:
bug#52610; Package guix-patches. (Sat, 18 Dec 2021 20:52:03 GMT) Full text and rfc822 format available.

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

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 42/42] gnu: rust-sequoia-rfc2822-0.9: Move to (gnu packages
 sequoia).
Date: Sat, 18 Dec 2021 21:49:53 +0100
* gnu/packages/crates-io.scm (rust-sequoia-rfc2822-0.9): Move package to ...
* gnu/packages/sequoia.scm: ... here. [arguments]<skip-build?> Add.
  <cargo-development-inputs>: Remove. [description] Reformat and add markup.
---
 gnu/packages/crates-io.scm | 39 --------------------------------------
 gnu/packages/sequoia.scm   | 28 +++++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2fb35277a4..5d62156abe 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -46923,45 +46923,6 @@ formats:
 fragment of code.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-sequoia-rfc2822-0.9
-  (package
-    (name "rust-sequoia-rfc2822")
-    (version "0.9.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "sequoia-rfc2822" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1aj34i6862718m162rqfv69fkmvdw063s6ws7hbp42n73gb08p5c"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-failure" ,rust-failure-0.1)
-        ("rust-lalrpop" ,rust-lalrpop-0.17)
-        ("rust-lalrpop-util" ,rust-lalrpop-util-0.17))
-       #:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-quickcheck" ,rust-quickcheck-0.8)
-        ("rust-rand" ,rust-rand-0.6))))
-    (home-page "https://sequoia-pgp.org/")
-    (synopsis "RFC 2822 name-addr parser")
-    (description
-     "Currently, this crate only recognizes the RFC 2822 name-addr and
-addr-spec productions, i.e., things of the form:
-
-Name (Comment) <email@@example.org>
-
-and
-
-email@@example.org
-
-Although the above appear simple to parse, RFC 2822's whitespace and comment
-rules are rather complex.  This crate implements the whole grammar." )
-    (license license:gpl3)))
-
 (define-public rust-serde-1
   (package
     (name "rust-serde")
diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm
index 3db85a9eba..bbab42bff8 100644
--- a/gnu/packages/sequoia.scm
+++ b/gnu/packages/sequoia.scm
@@ -283,6 +283,34 @@ This Guix package is built to use the nettle cryptographic library.")
         ("rust-sequoia-rfc2822" ,rust-sequoia-rfc2822-0.9)
         ("rust-time" ,rust-time-0.1))))))
 
+(define-public rust-sequoia-rfc2822-0.9
+  (package
+    (name "rust-sequoia-rfc2822")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sequoia-rfc2822" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1aj34i6862718m162rqfv69fkmvdw063s6ws7hbp42n73gb08p5c"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-failure" ,rust-failure-0.1)
+        ("rust-lalrpop" ,rust-lalrpop-0.17)
+        ("rust-lalrpop-util" ,rust-lalrpop-util-0.17))))
+    (home-page "https://sequoia-pgp.org/")
+    (synopsis "RFC 2822 name-addr parser")
+    (description "Currently, this crate only recognizes the RFC 2822 name-addr
+and addr-spec productions, i.e., things of the form: @code{Name (Comment)
+<email@@example.org>} and @code{email@@example.org}
+
+Although the above appear simple to parse, RFC 2822's whitespace and comment
+rules are rather complex.  This crate implements the whole grammar." )
+    (license license:gpl3)))
+
 (define-public sequoia-sq
   (package
     (name "sequoia-sq")
-- 
2.30.2





Information forwarded to guix-patches <at> gnu.org:
bug#52610; Package guix-patches. (Sat, 18 Dec 2021 20:52:03 GMT) Full text and rfc822 format available.

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

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 41/42] gnu: rust-sequoia-openpgp-0.9: Move to (gnu packages
 sequoia).
Date: Sat, 18 Dec 2021 21:49:52 +0100
* gnu/packages/crates-io.scm (rust-sequoia-openpgp-0.9): Move package to ...
* gnu/packages/sequoia.scm: ... here. Inherit from
  rust-sequoia-openpgp-1. [arguments]<skip-build?> add,
  <cargo-development-inputs>: Remove.
---
 gnu/packages/crates-io.scm | 52 +-------------------------------------
 gnu/packages/sequoia.scm   | 32 +++++++++++++++++++++++
 2 files changed, 33 insertions(+), 51 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index af194df56b..2fb35277a4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -73,6 +73,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages rust)
   #:use-module (gnu packages rust-apps)
+  #:use-module (gnu packages sequoia)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages ssh)
@@ -46922,57 +46923,6 @@ formats:
 fragment of code.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-sequoia-openpgp-0.9
-  (package
-    (name "rust-sequoia-openpgp")
-    (version "0.9.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "sequoia-openpgp" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "007h2pi7lcph5jf5bxjydm7hjwjai33yk6dic3cxknki22lxlkfw"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-base64" ,rust-base64-0.9)
-        ("rust-buffered-reader" ,rust-buffered-reader-0.9)
-        ("rust-bzip2" ,rust-bzip2-0.3)
-        ("rust-failure" ,rust-failure-0.1)
-        ("rust-flate2" ,rust-flate2-1)
-        ("rust-idna" ,rust-idna-0.1)
-        ("rust-lalrpop" ,rust-lalrpop-0.17)
-        ("rust-lalrpop-util" ,rust-lalrpop-util-0.17)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-memsec" ,rust-memsec-0.5)
-        ("rust-nettle" ,rust-nettle-5)
-        ("rust-quickcheck" ,rust-quickcheck-0.8)
-        ("rust-rand" ,rust-rand-0.6)
-        ("rust-sequoia-rfc2822" ,rust-sequoia-rfc2822-0.9)
-        ("rust-time" ,rust-time-0.1))
-       #:cargo-development-inputs
-       (("rust-rpassword" ,rust-rpassword-3))))
-    (native-inputs
-     (list pkg-config))
-    (inputs
-     (list clang nettle))
-    (home-page "https://sequoia-pgp.org/")
-    (synopsis "OpenPGP data types and associated machinery")
-    (description
-     "This crate aims to provide a complete implementation of OpenPGP as
-defined by RFC 4880 as well as some extensions (e.g., RFC 6637, which
-describes ECC cryptography) for OpenPGP.  This includes support for unbuffered
-message processing.
-
-A few features that the OpenPGP community considers to be deprecated (e.g.,
-version 3 compatibility) have been left out.  We have also updated some
-OpenPGP defaults to avoid foot guns (e.g., we selected modern algorithm
-defaults).  If some functionality is missing, please file a bug report.")
-    (license license:gpl3)))
-
 (define-public rust-sequoia-rfc2822-0.9
   (package
     (name "rust-sequoia-rfc2822")
diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm
index 16488ca073..3db85a9eba 100644
--- a/gnu/packages/sequoia.scm
+++ b/gnu/packages/sequoia.scm
@@ -251,6 +251,38 @@ defaults).
 This Guix package is built to use the nettle cryptographic library.")
     (license license:lgpl2.0+)))
 
+(define-public rust-sequoia-openpgp-0.9
+  (package
+    (inherit rust-sequoia-openpgp-1)
+    (name "rust-sequoia-openpgp")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sequoia-openpgp" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "007h2pi7lcph5jf5bxjydm7hjwjai33yk6dic3cxknki22lxlkfw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-base64" ,rust-base64-0.9)
+        ("rust-buffered-reader" ,rust-buffered-reader-0.9)
+        ("rust-bzip2" ,rust-bzip2-0.3)
+        ("rust-failure" ,rust-failure-0.1)
+        ("rust-flate2" ,rust-flate2-1)
+        ("rust-idna" ,rust-idna-0.1)
+        ("rust-lalrpop" ,rust-lalrpop-0.17)
+        ("rust-lalrpop-util" ,rust-lalrpop-util-0.17)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-memsec" ,rust-memsec-0.5)
+        ("rust-nettle" ,rust-nettle-5)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-rand" ,rust-rand-0.6)
+        ("rust-sequoia-rfc2822" ,rust-sequoia-rfc2822-0.9)
+        ("rust-time" ,rust-time-0.1))))))
+
 (define-public sequoia-sq
   (package
     (name "sequoia-sq")
-- 
2.30.2





Information forwarded to guix-patches <at> gnu.org:
bug#52610; Package guix-patches. (Sat, 18 Dec 2021 20:52:04 GMT) Full text and rfc822 format available.

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

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 40/42] gnu: sequoia: Change into a meta-package and update to
 1.6.0.
Date: Sat, 18 Dec 2021 21:49:51 +0100
* gnu/packages/sequoia.scm (sequoia): Update to 1.6.0.
  Change into a meta-package for all sequoia related binaries.
  [source, native-inputs]: Remove.
  [build-system]: Use trivial-build-system.
  [inputs]: Replace with list of packages to be merged.
  [arguments]: Replace by a trivial build step.
  [synopsis, description]: Adopt to being a meta-package.
  [license]: Adjust to license change of project.
---
 gnu/packages/sequoia.scm | 211 ++++++++-------------------------------
 1 file changed, 40 insertions(+), 171 deletions(-)

diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm
index 811beb823a..16488ca073 100644
--- a/gnu/packages/sequoia.scm
+++ b/gnu/packages/sequoia.scm
@@ -19,12 +19,14 @@
 
 (define-module (gnu packages sequoia)
   #:use-module (guix build-system cargo)
+  #:use-module (guix build-system trivial)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (gnu packages)
+  #:use-module (gnu packages base)  ; glibc
   #:use-module (gnu packages check) ;; python-pytest
   #:use-module (gnu packages crates-io)
   #:use-module (gnu packages libffi) ;; python-cffi
@@ -35,8 +37,6 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz) ;; python-setuptools
   #:use-module (gnu packages rust)
-  #:use-module (gnu packages serialization)
-  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tls))
 
 (define-public rust-sequoia-autocrypt-0.23
@@ -469,176 +469,45 @@ even go away.")
 (define-public sequoia
   (package
     (name "sequoia")
-    (version "1.1.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://gitlab.com/sequoia-pgp/sequoia.git")
-             (commit (string-append "openpgp/v" version))))
-       (sha256
-        (base32 "0knkm0nw1h4ww51vks4jnnp1yc45llfi7j0i70f6vf2bcknnbmci"))
-       (file-name (git-file-name name version))))
-    (build-system cargo-build-system)
+    (version "1.6.0")
+    (source #f)
+    (build-system trivial-build-system)
     (outputs '("out" "python"))
-    (native-inputs
-     (list clang pkg-config python-pytest python-pytest-runner
-           python-wrapper))
     (inputs
-     (list capnproto
-           gmp
-           nettle
-           openssl
-           python
-           python-cffi
-           sqlite))
+     `(("glibc" ,glibc)  ;; for ldconfig in make-dynamic-linker-cache
+       ("libsequoia" ,libsequoia)
+       ("libsequoia:python" ,libsequoia "python")
+       ("sequoia-sq" ,sequoia-sq)
+       ("sequoia-sqv" ,sequoia-sqv)))
     (arguments
-     `(#:tests? #f ;; building the tests requires 9.7GB total
-       #:rust ,rust
-       #:cargo-inputs
-       (("rust-anyhow" ,rust-anyhow-1)
-        ("rust-backtrace" ,rust-backtrace-0.3)
-        ("rust-base64" ,rust-base64-0.13)
-        ;;("rust-buffered-reader" included
-        ("rust-bzip2" ,rust-bzip2-0.4)
-        ("rust-capnp" ,rust-capnp-0.13)
-        ("rust-capnp-rpc" ,rust-capnp-rpc-0.13)
-        ("rust-capnpc" ,rust-capnpc-0.13)
-        ("rust-chrono" ,rust-chrono-0.4)  ;; for sqv, sop
-        ("rust-clap" ,rust-clap-2)        ;; for sqv
-        ("rust-colored" ,rust-colored-1.9.1)
-        ("rust-crossterm" ,rust-crossterm-0.13)
-        ("rust-ctor" ,rust-ctor-0.1)
-        ("rust-dirs" ,rust-dirs-2)
-        ("rust-dyn-clone" ,rust-dyn-clone-1)
-        ("rust-ed25519-dalek" ,rust-ed25519-dalek-1)
-        ("rust-eax" ,rust-eax-0.3)
-        ;;("rust-failure" included
-        ("rust-filetime" ,rust-filetime-0.2)
-        ("rust-flate2" ,rust-flate2-1)
-        ("rust-fs2" ,rust-fs2-0.4)
-        ("rust-futures" ,rust-futures-0.3)
-        ("rust-futures-util" ,rust-futures-util-0.3)
-        ("rust-http" ,rust-http-0.2)
-        ("rust-hyper" ,rust-hyper-0.13)
-        ("rust-hyper-tls" ,rust-hyper-tls-0.4)
-        ("rust-idna" ,rust-idna-0.2)
-        ("rust-itertools" ,rust-itertools-0.9) ;; for sq
-        ("rust-lalrpop" ,rust-lalrpop-0.19)
-        ("rust-lalrpop-util" ,rust-lalrpop-util-0.19)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-memsec" ,rust-memsec-0.6)
-        ("rust-native-tls" ,rust-native-tls-0.2)
-        ("rust-nettle" ,rust-nettle-7)
-        ("rust-num-bigint-dig" ,rust-num-bigint-dig-0.6)
-        ("rust-parity-tokio-ipc" ,rust-parity-tokio-ipc-0.4)
-        ("rust-percent-encoding" ,rust-percent-encoding-2)
-        ("rust-prettytable-rs" ,rust-prettytable-rs-0.8)  ;; for sq
-        ("rust-proc-macro2" ,rust-proc-macro2-1)
-        ("rust-quickcheck" ,rust-quickcheck-0.9)
-        ("rust-rand" ,rust-rand-0.7)
-        ("rust-regex" ,rust-regex-1)
-        ("rust-rusqlite" ,rust-rusqlite-0.24)
-        ("rust-sha1collisiondetection" ,rust-sha1collisiondetection-0.2)
-        ("rust-socket2", rust-socket2-0.3)
-        ("rust-structopt" ,rust-structopt-0.3) ;; for sop
-        ("rust-tempfile" ,rust-tempfile-3) ;; for sq
-        ("rust-thiserror" ,rust-thiserror-1)
-        ("rust-tokio" ,rust-tokio-0.2)
-        ("rust-tokio-core" ,rust-tokio-core-0.1)
-        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1)
-        ("rust-url" ,rust-url-2)
-        ("rust-win-crypto-ng" ,rust-win-crypto-ng-0.4)
-        ("rust-winapi" ,rust-winapi-0.3)
-        ("rust-zbase32" ,rust-zbase32-0.1))
-       #:cargo-development-inputs
-       (("rust-assert-cli" ,rust-assert-cli-0.6) ;; dev-dep for for sq, sqv
-        ("rust-bindgen" ,rust-bindgen-0.51) ;; FIXME for nettle-sys and rusqlite
-        ;;("rust-lalrpop" ,rust-lalrpop-0.19)
-        ("rust-quickcheck" ,rust-quickcheck-0.9)
-        ("rust-rand" ,rust-rand-0.7)
-        ("rust-rpassword" ,rust-rpassword-5))
-       #:phases
-       (modify-phases %standard-phases
-         ;; Run make instead of using the rust build system, as
-         ;; suggested by the installation instructions
-         (replace 'build (lambda _ (invoke "make" "build-release") #t))
-         (delete 'package)  ;; cargo can't package a multi-crate workspace
-         (replace 'check
-           (lambda* (#:key tests?  #:allow-other-keys)
-             (if tests?
-                 (invoke "make" "check")
-                 #t)))
-         (replace 'install (lambda _ (invoke "make" "install") #t))
-         (add-after 'unpack 'fix-rand-dependency
-           (lambda _
-             (substitute* "ipc/Cargo.toml"
-               ;; required: enable rand::rngs::OsRng in rand >= 0.8
-               (("(^rand =.*,) default-features = false(.*)" _ a b)
-                (string-append a " features = [\"getrandom\"]" b)))
-             #t))
-         (add-after 'unpack 'fix-permissions
-           (lambda _
-             (chmod "sq/src/sq-usage.rs" #o644)
-             (chmod "sqv/src/sqv-usage.rs" #o644)
-             #t))
-         (add-after 'unpack 'fix-environment
-           (lambda* (#:key outputs #:allow-other-keys)
-             ;; adjust prefix
-             (setenv "PREFIX" (assoc-ref outputs "out"))
-             ;; fix install script detection
-             (setenv "INSTALL" "install")
-             #t))
-         (add-after 'unpack 'fix-fo-python-output
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (pyout (assoc-ref outputs "python")))
-               (substitute* "ffi/lang/python/Makefile"
-                 ;; adjust prefix for python package
-                 (("PREFIX\\s*\\??=.*")
-                  (string-append "PREFIX = " pyout "\n"))
-                 ;; fix rpath to include the main package
-                 (("\\WLDFLAGS=" text)
-                  (string-append text "'-Wl,-rpath=" out "/lib '"))
-                 ;; make setuptools install into the prefix, see
-                 ;; guix/build/python-build-system.scm for explanation
-                 (("\\ssetup.py\\s+install\\s")
-                  " setup.py install --root=/ --single-version-externally-managed "))
-               #t)))
-         (add-after 'unpack 'fix-pkgconfig-file-substitutes
-           ;; preempt Makefiles replacing PREFIX by pwd
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (substitute* "ffi/sequoia.pc.in"
-                 (("PREFIX") out))
-               (substitute* "openpgp-ffi/sequoia-openpgp.pc.in"
-                 (("PREFIX") out))
-               #t)))
-         (add-after 'unpack 'keep-SOURCE_DATE_EPOCH
-           (lambda _
-               ;; preempt Makefiles replacing SOURCE_DATE_EPOCH
-               (substitute* "Makefile"
-                 (("SOURCE_DATE_EPOCH\\s=" line)
-                  (string-append "#" line)))
-             #t))
-         (add-after 'unpack 'set-missing-env-vars
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; FIXME: why do we need to set this here?
-             (setenv "LIBCLANG_PATH"
-                     (string-append (assoc-ref inputs "clang") "/lib"))
-             #t))
-         (add-after 'unpack 'unpin-deps
-           (lambda _
-             ;; As the comment in that file explains, upstream encourages
-             ;; unpinning, as the pinned version is only to make sure the crate
-             ;; compiles on older versions of rustc
-             (substitute* '("openpgp/Cargo.toml" "sq/Cargo.toml")
-               (("= \"=") "= \""))
-             #t)))))
+     `(#:modules ((guix build utils) (guix build gnu-build-system)
+                  (guix build gremlin) (guix elf))
+       #:builder
+       (begin
+         (use-modules (guix build utils) (guix build gnu-build-system))
+         (let ((make-dynamic-linker-cache
+                (assoc-ref %standard-phases 'make-dynamic-linker-cache))
+               (ld.so.cache
+                (string-append (assoc-ref %outputs "out") "/etc/ld.so.cache")))
+           (copy-recursively (assoc-ref %build-inputs "libsequoia")
+                             (assoc-ref %outputs "out"))
+           (copy-recursively (assoc-ref %build-inputs "sequoia-sq")
+                             (assoc-ref %outputs "out"))
+           (delete-file ld.so.cache)
+           (copy-recursively (assoc-ref %build-inputs "sequoia-sqv")
+                             (assoc-ref %outputs "out"))
+           (delete-file ld.so.cache)
+           (copy-recursively (assoc-ref %build-inputs "libsequoia:python")
+                             (assoc-ref %outputs "python"))
+           (setenv "PATH"
+                   (string-append (getenv "PATH") ":"
+                                  (assoc-ref %build-inputs "glibc") "/sbin"))
+           (make-dynamic-linker-cache #:outputs %outputs)
+         #t))))
     (home-page "https://sequoia-pgp.org")
-    (synopsis "New OpenPGP implementation")
-    (description "Sequoia is a new OpenPGP implementation.  It consists of
-several crates, providing both a low-level and a high-level API for dealing
-with OpenPGP data.")
-    (license license:gpl2+)))
+    (synopsis "New OpenPGP implementation (meta-package)")
+    (description "Sequoia is a new OpenPGP implementation, written in Rust,
+consisting of several Rust crates/packages.  This Guix meta-package combines
+these packages into a single one for convenience.  Anyhow, you should not
+depend other packages on this one avoid excessive compile-times for users.")
+    (license license:lgpl2.0+)))
-- 
2.30.2





Information forwarded to guix-patches <at> gnu.org:
bug#52610; Package guix-patches. (Sat, 18 Dec 2021 20:52:04 GMT) Full text and rfc822 format available.

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

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 39/42] gnu: Add libsequoia.
Date: Sat, 18 Dec 2021 21:49:50 +0100
* gnu/packages/sequoia.scm (sequoia-package-origin): New variable.
  (libsequoia): New variable.
* gnu/packages/patches/sequoia-fix-ffi-Makefile.patch,
  gnu/packages/patches/sequoia-remove-store.patch New files.
* gnu/local.mk (dist_patch_DATA): Add them.
---
 gnu/local.mk                                  |   2 +
 .../patches/libsequoia-fix-ffi-Makefile.patch |  32 ++
 .../patches/libsequoia-remove-store.patch     | 432 ++++++++++++++++++
 gnu/packages/sequoia.scm                      | 120 +++++
 4 files changed, 586 insertions(+)
 create mode 100644 gnu/packages/patches/libsequoia-fix-ffi-Makefile.patch
 create mode 100644 gnu/packages/patches/libsequoia-remove-store.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 33e108c752..598a85f512 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1785,6 +1785,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/sendgmail-accept-ignored-gsuite-flag.patch	\
   %D%/packages/patches/sendgmail-remove-domain-restriction.patch	\
   %D%/packages/patches/seq24-rename-mutex.patch			\
+  %D%/packages/patches/libsequoia-fix-ffi-Makefile.patch	\
+  %D%/packages/patches/libsequoia-remove-store.patch		\
   %D%/packages/patches/serf-python3.patch			\
   %D%/packages/patches/shakespeare-spl-fix-grammar.patch		\
   %D%/packages/patches/sharutils-CVE-2018-1000097.patch		\
diff --git a/gnu/packages/patches/libsequoia-fix-ffi-Makefile.patch b/gnu/packages/patches/libsequoia-fix-ffi-Makefile.patch
new file mode 100644
index 0000000000..21f5a1e4df
--- /dev/null
+++ b/gnu/packages/patches/libsequoia-fix-ffi-Makefile.patch
@@ -0,0 +1,32 @@
+From ed641d2048d131e077f54043764741b7e7b7fe03 Mon Sep 17 00:00:00 2001
+From: Hartmut Goebel <hartmut.goebel <at> pep.security>
+Date: Tue, 7 Dec 2021 16:42:43 +0100
+Subject: [PATCH] ffi: Update Makefile, remove rule remaining from store
+ removal.
+
+---
+ ffi/Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/ffi/Makefile b/ffi/Makefile
+index a5540db3..07328589 100644
+--- a/ffi/Makefile
++++ b/ffi/Makefile
+@@ -62,7 +62,6 @@ build-release:
+ 	    $(CARGO) build $(CARGO_FLAGS) --release --package sequoia-ffi
+ 	$(MAKE) -Clang/python build-release
+ 	$(call sequoia_pc,$(CARGO_TARGET_DIR)/release,true)
+-	$(MAKE) -C../store build-release
+ 
+ .PHONY: install
+ install: build-release
+@@ -82,7 +82,6 @@ install: build-release
+ 		$(DESTDIR)$(PREFIX)/lib/libsequoia_ffi.$(_SEQ_LIB_EXT)
+ 	$(INSTALL) $(CARGO_TARGET_DIR)/release/libsequoia_ffi.a \
+ 		$(DESTDIR)$(PREFIX)/lib/libsequoia_ffi.a
+-	$(MAKE) -C../store install
+ 	# Now the bindings.
+ 	$(MAKE) -Clang/python install
+ 
+-- 
+
diff --git a/gnu/packages/patches/libsequoia-remove-store.patch b/gnu/packages/patches/libsequoia-remove-store.patch
new file mode 100644
index 0000000000..e7e1a91ee3
--- /dev/null
+++ b/gnu/packages/patches/libsequoia-remove-store.patch
@@ -0,0 +1,432 @@
+Shortend version of
+From 351ad5e5e2dd67f427b7eb2e4d5d0b35d90ffaf7 Mon Sep 17 00:00:00 2001
+From: Justus Winter <justus <at> sequoia-pgp.org>
+Date: Wed, 24 Nov 2021 15:09:34 +0100
+Subject: [PATCH] store: Drop crate.
+
+  - The store has never been really used, and never reached a maturity
+    where it was useful.  And, we're on the verge of replacing it with
+    the Shared PGP Certificate Directory.
+---
+ Cargo.toml                               |    1 -
+ ffi/Cargo.toml                           |    4 +-
+ ffi/include/sequoia.h                    |    1 -
+ ffi/include/sequoia/store.h              |  409 ------
+ ffi/lang/python/sequoia/__init__.py      |    1 -
+ ffi/lang/python/sequoia/prelude.py       |    1 -
+ ffi/lang/python/sequoia/sequoia_build.py |    3 +-
+ ffi/lang/python/sequoia/store.py         |  246 ----
+ ffi/lang/python/tests/test_store.py      |   47 -
+ ffi/src/lib.rs                           |    2 -
+ ffi/src/store.rs                         |  659 ----------
+ 25 files changed, 3 insertions(+), 5064 deletions(-)
+ delete mode 100644 ffi/include/sequoia/store.h
+ delete mode 100644 ffi/lang/python/sequoia/store.py
+ delete mode 100644 ffi/lang/python/tests/test_store.py
+ delete mode 100644 ffi/src/store.rs
+
+diff --git a/Cargo.toml b/Cargo.toml
+index a4f48520..a573ddbf 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -10,7 +10,6 @@ members = [
+     "openpgp",
+     "openpgp-ffi",
+     "sq",
+-    "store",
+ ]
+ 
+ [profile.release]
+diff --git a/ffi/Cargo.toml b/ffi/Cargo.toml
+index 53ddaf68..2ec84e6e 100644
+--- a/ffi/Cargo.toml
++++ b/ffi/Cargo.toml
+@@ -24,7 +24,6 @@ maintenance = { status = "actively-developed" }
+ [dependencies]
+ sequoia-ffi-macros = { path = "../ffi-macros", version = "0.22" }
+ sequoia-openpgp = { path = "../openpgp", version = "1.0.0", default-features = false }
+-sequoia-store = { path = "../store", version = "0.22", default-features = false }
+ sequoia-net = { path = "../net", version = "0.23", default-features = false }
+ sequoia-ipc = { path = "../ipc", version = "0.26", default-features = false }
+ anyhow = "1.0.18"
+@@ -42,10 +41,9 @@ crate-type = ["cdylib", "staticlib"]
+ bench = false
+ 
+ [features]
+-default = ["sequoia-openpgp/default", "sequoia-store/default"]
++default = ["sequoia-openpgp/default"]
+ crypto-nettle = ["sequoia-openpgp/crypto-nettle"]
+ crypto-cng = ["sequoia-openpgp/crypto-cng"]
+ compression = ["sequoia-openpgp/compression"]
+ compression-deflate = ["sequoia-openpgp/compression-deflate"]
+ compression-bzip2 = ["sequoia-openpgp/compression-bzip2"]
+-background-services = ["sequoia-store/background-services"]
+diff --git a/ffi/include/sequoia.h b/ffi/include/sequoia.h
+index 8c62ba8f..c32a2f3e 100644
+--- a/ffi/include/sequoia.h
++++ b/ffi/include/sequoia.h
+@@ -5,6 +5,5 @@
+ #include <sequoia/core.h>
+ #include <sequoia/openpgp.h>
+ #include <sequoia/net.h>
+-#include <sequoia/store.h>
+ 
+ #endif
+diff --git a/ffi/lang/python/sequoia/__init__.py b/ffi/lang/python/sequoia/__init__.py
+index 4f84346e..fc170e20 100644
+--- a/ffi/lang/python/sequoia/__init__.py
++++ b/ffi/lang/python/sequoia/__init__.py
+@@ -4,5 +4,4 @@ from . import (
+     openpgp,
+     core,
+     net,
+-    store,
+ )
+diff --git a/ffi/lang/python/sequoia/prelude.py b/ffi/lang/python/sequoia/prelude.py
+index 42b0156a..61efbab0 100644
+--- a/ffi/lang/python/sequoia/prelude.py
++++ b/ffi/lang/python/sequoia/prelude.py
+@@ -3,4 +3,3 @@ from .error import *
+ from .openpgp import *
+ from .core import *
+ from .net import *
+-from .store import *
+diff --git a/ffi/lang/python/sequoia/sequoia_build.py b/ffi/lang/python/sequoia/sequoia_build.py
+index a3ce2786..058f1380 100644
+--- a/ffi/lang/python/sequoia/sequoia_build.py
++++ b/ffi/lang/python/sequoia/sequoia_build.py
+@@ -14,8 +14,7 @@ defs = "".join(l
+                               open(join(pgp_inc, "openpgp/serialize.h")).readlines(),
+                               open(join(pgp_inc, "openpgp.h")).readlines(),
+                               open(join(sq_inc, "core.h")).readlines(),
+-                              open(join(sq_inc, "net.h")).readlines(),
+-                              open(join(sq_inc, "store.h")).readlines())
++                              open(join(sq_inc, "net.h")).readlines())
+                if not l.startswith('#'))
+ 
+ defs = defs.replace("INT_MAX", "{}".format(1<<31))
+diff --git a/ffi/lang/python/sequoia/store.py b/ffi/lang/python/sequoia/store.py
+deleted file mode 100644
+index 57d1b18f..00000000
+--- a/ffi/lang/python/sequoia/store.py
++++ /dev/null
+@@ -1,246 +0,0 @@
+-from _sequoia import ffi, lib
+-
+-from .error import Error
+-from .glue import _str, _static_str, SQObject, sq_iterator, sq_time
+-from .net import NetworkPolicy
+-from .openpgp import Fingerprint, Cert
+-
+-class Store(object):
+-    @classmethod
+-    def log(cls, ctx):
+-        yield from sq_iterator(
+-            ffi.gc(
+-                lib.sq_store_server_log(ctx.ref()),
+-                lib.sq_log_iter_free),
+-            lib.sq_log_iter_next,
+-            lambda x: Log(x, context=ctx))
+-
+-    @classmethod
+-    def list_keys(cls, ctx):
+-        def next_fn(i):
+-            fpp = ffi.new("pgp_fingerprint_t[1]")
+-            key = lib.sq_key_iter_next(i, fpp)
+-            if key == ffi.NULL:
+-                return ffi.NULL
+-            else:
+-                return (Fingerprint(fpp[0], ctx),
+-                        Key(key, ctx))
+-
+-        yield from sq_iterator(
+-            ffi.gc(
+-                lib.sq_store_list_keys(ctx.ref()),
+-                lib.sq_key_iter_free),
+-            next_fn)
+-
+-class Mapping(SQObject):
+-    _del = lib.sq_mapping_free
+-
+-    # Keys used for communications.
+-    REALM_CONTACTS = _static_str(lib.SQ_REALM_CONTACTS)
+-
+-    # Keys used for signing software updates.
+-    REALM_SOFTWARE_UPDATES = _static_str(lib.SQ_REALM_SOFTWARE_UPDATES)
+-
+-    @classmethod
+-    def open(cls, ctx, network_policy=NetworkPolicy.Encrypted, realm=REALM_CONTACTS, name="default"):
+-        return Mapping(lib.sq_mapping_open(ctx.ref(), network_policy.value,
+-                                        realm.encode(), name.encode()),
+-                        context=ctx)
+-
+-
+-    def add(self, label, fingerprint):
+-        return Binding(lib.sq_mapping_add(self.context().ref(), self.ref(),
+-                                        label.encode(), fingerprint.ref()),
+-                       context=self.context())
+-
+-    def import_(self, label, cert):
+-        return Cert(lib.sq_mapping_import(self.context().ref(), self.ref(),
+-                                       label.encode(), cert.ref()),
+-                   context=self.context())
+-
+-    def lookup(self, label):
+-        return Binding(lib.sq_mapping_lookup(self.context().ref(), self.ref(),
+-                                           label.encode()),
+-                       self.context())
+-
+-    def delete(self):
+-        if lib.sq_mapping_delete(self.ref()):
+-            raise Error._last(self.context())
+-        super(Mapping, self)._delete(skip_free=True)
+-
+-    def iter(self):
+-        def next_fn(i):
+-            labelp = ffi.new("char *[1]")
+-            fpp = ffi.new("pgp_fingerprint_t[1]")
+-            binding = lib.sq_binding_iter_next(i, labelp, fpp)
+-            if binding == ffi.NULL:
+-                return ffi.NULL
+-            else:
+-                return (_str(labelp[0]),
+-                        Fingerprint(fpp[0], self.context()),
+-                        Binding(binding, self.context()))
+-
+-        yield from sq_iterator(
+-            ffi.gc(
+-                lib.sq_mapping_iter(self.context().ref(), self.ref()),
+-                lib.sq_binding_iter_free),
+-            next_fn)
+-
+-    def log(self):
+-        yield from sq_iterator(
+-            ffi.gc(
+-                lib.sq_mapping_log(self.context().ref(), self.ref()),
+-                lib.sq_log_iter_free),
+-            lib.sq_log_iter_next,
+-            lambda x: Log(x, context=self.context()))
+-
+-class Binding(SQObject):
+-    _del = lib.sq_binding_free
+-
+-    def stats(self):
+-        return Stats(lib.sq_binding_stats(self.context().ref(), self.ref()),
+-                     self.context())
+-
+-    def key(self):
+-        return Key(lib.sq_binding_key(self.context().ref(), self.ref()),
+-                   self.context())
+-
+-    def cert(self):
+-        return Cert(lib.sq_binding_cert(self.context().ref(), self.ref()),
+-                   self.context())
+-
+-    def import_(self, cert):
+-        return Cert(lib.sq_binding_import(self.context().ref(), self.ref(), cert),
+-                   self.context())
+-
+-    def rotate(self, cert):
+-        return Cert(lib.sq_binding_rotate(self.context().ref(), self.ref(), cert),
+-                   self.context())
+-
+-    def delete(self):
+-        if lib.sq_binding_delete(self.ref()):
+-            raise Error._last(self.context())
+-        super(Binding, self)._delete(skip_free=True)
+-
+-    def log(self):
+-        yield from sq_iterator(
+-            ffi.gc(
+-                lib.sq_binding_log(self.context().ref(), self.ref()),
+-                lib.sq_log_iter_free),
+-            lib.sq_log_iter_next,
+-            lambda x: Log(x, context=self.context()))
+-
+-class Key(SQObject):
+-    _del = lib.sq_key_free
+-
+-    def stats(self):
+-        return Stats(lib.sq_key_stats(self.context().ref(), self.ref()),
+-                     self.context())
+-
+-    def cert(self):
+-        return Cert(lib.sq_key_cert(self.context().ref(), self.ref()),
+-                   self.context())
+-
+-    def import_(self, cert):
+-        return Cert(lib.sq_key_import(self.context().ref(), self.ref(), cert),
+-                   self.context())
+-
+-    def log(self):
+-        yield from sq_iterator(
+-            ffi.gc(
+-                lib.sq_key_log(self.context().ref(), self.ref()),
+-                lib.sq_log_iter_free),
+-            lib.sq_log_iter_next)
+-
+-
+-class Stats(SQObject):
+-    _del = lib.sq_stats_free
+-    def __init__(self, o, context=None):
+-        super(Stats, self).__init__(o, context=context)
+-        self.encryption = Stamps(ffi.addressof(o, "encryption"))
+-        self.verification = Stamps(ffi.addressof(o, "verification"))
+-
+-    @property
+-    def created(self):
+-        return sq_time(self.ref().created)
+-
+-    @property
+-    def updated(self):
+-        return sq_time(self.ref().updated)
+-
+-    def __str__(self):
+-        return \
+-            "Stats{{created={}, updated={}, encryption={}, verification={}}}" \
+-            .format(self.created, self.updated, self.encryption,
+-                    self.verification)
+-
+-class Stamps(SQObject):
+-    @property
+-    def count(self):
+-        return self.ref().count
+-
+-    @property
+-    def first(self):
+-        return sq_time(self.ref().first)
+-
+-    @property
+-    def last(self):
+-        return sq_time(self.ref().last)
+-
+-    def __str__(self):
+-        return "Stamps{{count={}, first={}, last={}}}".format(
+-            self.count, self.first, self.last)
+-
+-class Log(SQObject):
+-    _del = lib.sq_log_free
+-
+-    @property
+-    def timestamp(self):
+-        return sq_time(self.ref().timestamp)
+-
+-    @property
+-    def store(self):
+-        if self.ref().store == ffi.NULL:
+-            return None
+-        else:
+-            return Store(self.ref().store, context=self.context(),
+-                         owner=self)
+-
+-    @property
+-    def binding(self):
+-        if self.ref().binding == ffi.NULL:
+-            return None
+-        else:
+-            return Binding(self.ref().binding, context=self.context(),
+-                           owner=self)
+-
+-    @property
+-    def key(self):
+-        if self.ref().key == ffi.NULL:
+-            return None
+-        else:
+-            return Key(self.ref().key, context=self.context(),
+-                       owner=self)
+-
+-    @property
+-    def slug(self):
+-        return ffi.string(self.ref().slug).decode()
+-
+-    @property
+-    def status(self):
+-        return ffi.string(self.ref().status).decode()
+-
+-    @property
+-    def error(self):
+-        if self.ref().error == ffi.NULL:
+-            return None
+-        else:
+-            return ffi.string(self.ref().error).decode()
+-
+-    def __str__(self):
+-        if self.error:
+-            return "{}: {}: {}: {}".format(
+-                self.timestamp, self.slug, self.status, self.error)
+-        else:
+-            return "{}: {}: {}".format(
+-                self.timestamp, self.slug, self.status)
+diff --git a/ffi/lang/python/tests/test_store.py b/ffi/lang/python/tests/test_store.py
+deleted file mode 100644
+index 7b06cc1a..00000000
+--- a/ffi/lang/python/tests/test_store.py
++++ /dev/null
+@@ -1,47 +0,0 @@
+-from sequoia.prelude import Context, Store, Mapping, Fingerprint
+-
+-def test_open():
+-    c = Context(ephemeral=True)
+-    Mapping.open(c)
+-
+-def test_add():
+-    c = Context(ephemeral=True)
+-    s = Mapping.open(c)
+-    fp = Fingerprint.from_hex("7DCA58B54EB143169DDEE15F247F6DABC84914FE")
+-    s.add("Ἀριστοτέλης", fp)
+-
+-def test_iterate():
+-    c = Context(ephemeral=True)
+-    s = Mapping.open(c)
+-    fp = Fingerprint.from_hex("7DCA58B54EB143169DDEE15F247F6DABC84914FE")
+-    s.add("Ἀριστοτέλης", fp)
+-    l = list(s.iter())
+-    assert len(l) == 1
+-    l = list(Store.list_keys(c))
+-    assert len(l) == 1
+-    fpi, key = l[0]
+-    assert fpi == fp
+-
+-def test_logs():
+-    c = Context(ephemeral=True)
+-    s = Mapping.open(c)
+-    fp = Fingerprint.from_hex("7DCA58B54EB143169DDEE15F247F6DABC84914FE")
+-    b = s.add("Ἀριστοτέλης", fp)
+-    l = list(s.iter())
+-    assert len(l) == 1
+-
+-    # global logs
+-    logs = list(Store.log(c))
+-    assert len(logs) > 0
+-
+-    # per store logs
+-    logs = list(s.log())
+-    assert len(logs) > 0
+-
+-    # per binding logs
+-    logs = list(b.log())
+-    assert len(logs) > 0
+-
+-    # per key logs
+-    logs = list(b.key().log())
+-    assert len(logs) > 0
+diff --git a/ffi/src/lib.rs b/ffi/src/lib.rs
+index 40e3672e..9b4577eb 100644
+--- a/ffi/src/lib.rs
++++ b/ffi/src/lib.rs
+@@ -130,7 +130,6 @@ pub(crate) use crate::openpgp::{
+     MoveResultIntoRaw,
+     Maybe,
+     maybe_time,
+-    to_time_t,
+ };
+ 
+ /* Error handling with implicit context.  */
+@@ -146,5 +145,4 @@ macro_rules! ffi_make_fry_from_ctx {
+ pub mod core;
+ pub mod error;
+ pub mod net;
+-pub mod store;
+ 
+GitLab
+
diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm
index 70ac2e89cd..811beb823a 100644
--- a/gnu/packages/sequoia.scm
+++ b/gnu/packages/sequoia.scm
@@ -346,6 +346,126 @@ constraints on the signature into account.
 This Guix package is built to use the nettle cryptographic library.")
     (license license:lgpl2.0+)))
 
+(define (sequoia-package-origin version)
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://gitlab.com/sequoia-pgp/sequoia.git")
+          (commit (string-append "openpgp/v" version))))
+    (sha256
+     (base32 "1cq1xgvllbpii5hfl3wlia2ayznpvhv8lq8g8ygwxga86ijg98lq"))
+    (file-name (git-file-name "sequoia" version))
+    (patches (search-patches "libsequoia-remove-store.patch"
+                             "libsequoia-fix-ffi-Makefile.patch"))))
+
+(define-public libsequoia
+  (package
+    (name "libsequoia")
+    (version "0.22.0")
+    (source (sequoia-package-origin "1.6.0"))
+    (build-system cargo-build-system)
+    (outputs '("out" "python"))
+    (native-inputs
+     (list clang pkg-config python-pytest python-pytest-runner
+           python-wrapper))
+    (inputs
+     (list gmp nettle openssl python python-cffi))
+    (arguments
+     `(#:tests? #f ;; TODO make python tests find the shared object file
+       #:cargo-inputs
+       (("rust-anyhow" ,rust-anyhow-1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-memsec" ,rust-memsec-0.6)
+        ("rust-native-tls" ,rust-native-tls-0.2)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)  ;; for ffi-macros
+        ("rust-quote" ,rust-quote-1)  ;; for ffi-macros
+        ("rust-sequoia-ipc" ,rust-sequoia-ipc-0.26)
+        ("rust-sequoia-net" ,rust-sequoia-net-0.23)
+        ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)
+        ("rust-sha2" ,rust-sha2-0.8)  ;; for ffi-macros
+        ("rust-tokio" ,rust-tokio-1.8))
+       #:cargo-development-inputs
+       (("rust-filetime" ,rust-filetime-0.2))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'set-PREFIX
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (setenv "PREFIX" out)
+               #t)))
+         (replace 'build
+           (lambda _
+             (invoke "make" "-C" "openpgp-ffi" "build-release")
+             (invoke "make" "-C" "ffi" "build-release")))
+         (delete 'package)  ;; cargo can't package a multi-crate workspace
+         (replace 'check
+           (lambda* (#:key tests?  #:allow-other-keys)
+             (if tests?
+                 (begin
+                   (invoke "make" "-C" "openpgp-ffi" "check")
+                   (invoke "make" "-C" "ffi" "check"))
+                 #t)))
+         (replace 'install
+           (lambda _
+             (invoke "make" "-C" "openpgp-ffi" "install")
+             (invoke "make" "-C" "ffi" "install")))
+         (add-after 'configure 'fix-build-environment
+           (lambda _
+             (delete-file "Cargo.toml")
+             (symlink "../.cargo" "openpgp-ffi/.cargo")
+             (symlink "../.cargo" "ffi/.cargo")
+             (for-each delete-file-recursively
+                       (find-files "guix-vendor" "^sequoia-[0-9]+\\.*"
+                                   #:directories? #t))
+             #t))
+         (add-after 'unpack 'fix-for-python-output
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (pyout (assoc-ref outputs "python")))
+               (substitute* "ffi/lang/python/Makefile"
+                 ;; adjust prefix for python package
+                 (("PREFIX\\s*\\??=.*")
+                  (string-append "PREFIX = " pyout "\n"))
+                 ;; fix rpath to include the main package
+                 (("\\WLDFLAGS=" text)
+                  (string-append text "'-Wl,-rpath=" out "/lib '"))
+                 ;; make setuptools install into the prefix, see
+                 ;; guix/build/python-build-system.scm for explanation
+                 (("\\ssetup.py\\s+install\\s")
+                  " setup.py install --root=/ --single-version-externally-managed "))
+               #t)))
+         (add-after 'unpack 'fix-Makefiles
+           (lambda _
+             (substitute* '("openpgp-ffi/Makefile")
+               (("^check-headers: force-build") "check-headers:"))))
+         (add-after 'unpack 'remove-other-crypto-features
+           (lambda _
+             (substitute* '("openpgp-ffi/Cargo.toml" "ffi/Cargo.toml")
+               (("^crypto-cng =" line) (string-append "# " line))
+               (("^crypto-rust =" line) (string-append "# " line)))
+             #t))
+         (add-after 'unpack 'fix-missing-feature
+           (lambda _
+             (substitute* '("ffi/Cargo.toml")
+               (("^(tokio = .* features = \\[)" line)
+                (string-append line "\"net\", ")))
+             #t))
+         (add-after 'unpack 'unbundle-crates
+           (lambda _
+             (substitute* '("openpgp-ffi/Cargo.toml" "ffi/Cargo.toml")
+               (("path = \"\\.\\./(openpgp|store|net|ipc)\",") ""))
+             #t)))))
+    (home-page "https://sequoia-pgp.org")
+    (synopsis "C/FFI interfaces for Sequoia-PGP")
+    (description "This package provides a C and FFI interface to both the
+low-level and a high-level API of Sequoia-PGP.
+
+Use with caution: This is an \"unofficial\" package, which are not officially
+released, but part of the Sequoia-PGP v1.6.0 archive.  So this package might
+even go away.")
+    (license license:lgpl2.0+)))
+
 (define-public sequoia
   (package
     (name "sequoia")
-- 
2.30.2





Merged 52610. Request was from Mathieu Othacehe <mathieu <at> meije.i-did-not-set--mail-host-address--so-tickle-me> to control <at> debbugs.gnu.org. (Sun, 19 Dec 2021 15:19:02 GMT) Full text and rfc822 format available.

Merged 52609 52610. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:11:03 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:02 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:02 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:02 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:03 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:03 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:04 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:04 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:05 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:05 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:06 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:06 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:07 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:08 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:09 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:10 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:11 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:11 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:12 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:13 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:15 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:16 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:17 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:18 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52634 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:19 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52634 52635 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:21 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52634 52635 52636 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:22 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52634 52635 52636 52637 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:24 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52634 52635 52636 52637 52638 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:25 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52634 52635 52636 52637 52638 52639 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:27 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52634 52635 52636 52637 52638 52639 52640 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:28 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52634 52635 52636 52637 52638 52639 52640 52641 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:30 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52634 52635 52636 52637 52638 52639 52640 52641 52642 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:32 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52634 52635 52636 52637 52638 52639 52640 52641 52642 52643 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:33 GMT) Full text and rfc822 format available.

Merged 52609 52610 52611 52612 52613 52614 52615 52616 52617 52618 52619 52620 52621 52622 52623 52624 52625 52626 52627 52628 52629 52630 52631 52632 52633 52634 52635 52636 52637 52638 52639 52640 52641 52642 52643 52644 52645. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 21 Dec 2021 08:13:35 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#52610; Package guix-patches. (Thu, 30 Dec 2021 00:28:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
Cc: 52610 <at> debbugs.gnu.org
Subject: Re: [bug#52610] [PATCH 00/42] Revising sequoia packaging and update
 to 1.6
Date: Thu, 30 Dec 2021 01:27:11 +0100
Hello

Hartmut Goebel <h.goebel <at> crazy-compilers.com> writes:

> This implements the following changes I announced some weeks ago, see
> <https://lists.gnu.org/archive/html/guix-devel/2021-11/msg00221.html>.
> It also updates each sequoia package to its current version.
>
> * Move all sequoia related crates in to sequoia.scm. As of now these are only
>   rust-sequoia-openpgp-0.9, rust-sequoia-rfc2822-0.9 and there is only on
>   package depending on them rust-libpijul-0.12
>
> * bufferedreader, rust-nettle and other crates from the sequoia project but
>   not having "sequoia" (or such) in the name would be kept in crates-io.scm
>
> * In sequoia.scm there would be all sequoia crates, with the app packages
>   named without "rust-" prefix ("sequoia-sq", …)
>
> * The current "sequoia" package will become a "wrapper", just propagating (or
>   copying, what ever is more common in guix) the other packages which have an
>   actual output.

Nice.

Note that some patches are not necessary anymore (e.g., updating
rust-criterion-0.3).

Also, please remove trailing #t in packages definitions (snippets and
phases) and make sequoia use new package style (e.g., $#sequoia-sqv
instead of (assoc-ref %build-inputs "sequoia-sqv") and $#output instead
of (assoc-ref %outputs "out")).

Otherwise, LGTM.

Regards,
-- 
Nicolas Goaziou




Information forwarded to guix-patches <at> gnu.org:
bug#52610; Package guix-patches. (Thu, 30 Dec 2021 20:42:01 GMT) Full text and rfc822 format available.

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

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Cc: 52610 <at> debbugs.gnu.org
Subject: Re: [bug#52610] [PATCH 00/42] Revising sequoia packaging and update
 to 1.6
Date: Thu, 30 Dec 2021 21:41:46 +0100
Updated and pushed as bf7ed7c9f2083e5bf81fffa41e2e7213817d5acd.
Thanks for the review

It took me quite some time to figure out how toe use the new gexp/ungexp 
since documentation and examples are rare. So now we have an example how 
to use gexp and cargo-inputs :-)
-- 

Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel <at> crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |





Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:01 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:01 GMT) Full text and rfc822 format available.

Message #106 received at 52610-close <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 52610-close <at> debbugs.gnu.org
Subject: Re: [bug#52610] [PATCH 00/42] Revising sequoia packaging and update
 to 1.6
Date: Thu, 30 Dec 2021 21:42:08 +0100




Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:01 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:02 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:02 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:02 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:02 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:02 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:02 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:02 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:02 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:02 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:02 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:03 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:03 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:03 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:03 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:03 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:03 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:03 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:03 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:03 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:04 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:04 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:04 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:04 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:04 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:04 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:04 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:04 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:04 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:04 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:05 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:05 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:05 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:05 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:05 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:05 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:05 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:05 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:05 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:05 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:06 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:06 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:06 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:06 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:06 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:06 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:06 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:06 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:06 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:06 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:07 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:07 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:07 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:07 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:07 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:07 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:07 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:07 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:07 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:07 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:08 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:08 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:08 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:08 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:08 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:08 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:08 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:08 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:08 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:09 GMT) Full text and rfc822 format available.

Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Thu, 30 Dec 2021 20:43:09 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Thu, 30 Dec 2021 20:43:09 GMT) Full text and rfc822 format available.

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

This bug report was last modified 2 years and 85 days ago.

Previous Next


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