diff options
Diffstat (limited to 'gnu/packages/sequoia.scm')
-rw-r--r-- | gnu/packages/sequoia.scm | 519 |
1 files changed, 345 insertions, 174 deletions
diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm index 067197ffc5..4012940897 100644 --- a/gnu/packages/sequoia.scm +++ b/gnu/packages/sequoia.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019, 2020, 2021 Hartmut Goebel <[email protected]> -;;; Copyright © 2021, 2023 Efraim Flashner <[email protected]> +;;; Copyright © 2021, 2023, 2024 Efraim Flashner <[email protected]> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,25 +36,57 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages nettle) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls)) +(define-public rust-openpgp-cert-d-0.3 + (package + (name "rust-openpgp-cert-d") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "openpgp-cert-d" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1kk2mr4rsib04cygv7jg55wvdxivakggqsfrn4apnaxxl5aknb0c")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-dirs" ,rust-dirs-5) + ("rust-fd-lock" ,rust-fd-lock-3) + ("rust-libc" ,rust-libc-0.2) + ("rust-sha1collisiondetection" ,rust-sha1collisiondetection-0.3) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-walkdir" ,rust-walkdir-2)) + #:cargo-development-inputs (("rust-assert-fs" ,rust-assert-fs-1) + ("rust-predicates" ,rust-predicates-3)))) + (home-page "https://gitlab.com/sequoia-pgp/pgp-cert-d") + (synopsis "Shared OpenPGP Certificate Directory") + (description "This package provides the shared code for a @code{OpenPGP} +Certificate Directory.") + (license license:expat))) + (define-public rust-sequoia-autocrypt-0.25 (package (name "rust-sequoia-autocrypt") - (version "0.25.0") + (version "0.25.1") (source (origin (method url-fetch) (uri (crate-uri "sequoia-autocrypt" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0796mn8kwrpfc8qzliwyyy62mrg2w0j6ax8929jwrkibvwy2axi2")))) + "0ns121ggmx690m8czhc7zbb7rwz0jjv3l5gw4igs6mn1hznc0kz2")))) (build-system cargo-build-system) (arguments `(#:features '("sequoia-openpgp/crypto-nettle") #:cargo-inputs - (("rust-base64" ,rust-base64-0.13) + (("rust-base64" ,rust-base64-0.21) ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)) #:cargo-development-inputs (("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)))) @@ -69,37 +101,34 @@ and decoding of Autocrypt headers and setup messages. Note: Autocrypt is more than just headers; it requires tight integration with the MUA.") (license license:lgpl2.0+))) -(define-public rust-sequoia-cert-store-0.3 +(define-public rust-sequoia-cert-store-0.5 (package (name "rust-sequoia-cert-store") - (version "0.3.2") - (source (origin - (method url-fetch) - (uri (crate-uri "sequoia-cert-store" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0gmkqn2f23i2xwjwmnaj3dx9l4ir74dyylkw1qsxawxd95i8dk02")))) + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "sequoia-cert-store" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1rjakcnhwdvwrm0952rpi9ky8cxvv5bnmylval49s3a087jqcm76")))) (build-system cargo-build-system) (arguments `(#:features '("sequoia-openpgp/crypto-nettle") - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-crossbeam" ,rust-crossbeam-0.8) - ("rust-dirs" ,rust-dirs-5) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-openpgp-cert-d" ,rust-openpgp-cert-d-0.1) - ("rust-rayon" ,rust-rayon-1) - ("rust-rusqlite" ,rust-rusqlite-0.29) - ("rust-sequoia-net" ,rust-sequoia-net-0.27) - ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) - ("rust-smallvec" ,rust-smallvec-1) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-tokio" ,rust-tokio-1)) - #:cargo-development-inputs - (("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) - ("rust-tempfile" ,rust-tempfile-3)))) + #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) + ("rust-crossbeam" ,rust-crossbeam-0.8) + ("rust-dirs" ,rust-dirs-5) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-openpgp-cert-d" ,rust-openpgp-cert-d-0.3) + ("rust-rayon" ,rust-rayon-1) + ("rust-rusqlite" ,rust-rusqlite-0.29) + ("rust-sequoia-net" ,rust-sequoia-net-0.28) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1)) + #:cargo-development-inputs (("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-tempfile" ,rust-tempfile-3)))) (native-inputs (list clang pkg-config)) (inputs @@ -109,92 +138,197 @@ than just headers; it requires tight integration with the MUA.") (description "This package provides a certificate database interface.") (license license:lgpl2.0+))) -(define-public rust-sequoia-ipc-0.30 +(define-public rust-sequoia-ipc-0.33 (package (name "rust-sequoia-ipc") - (version "0.30.1") + (version "0.33.0") (source - (origin - (method url-fetch) - (uri (crate-uri "sequoia-ipc" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1fgqjwaw9rz74y394i3n2a6y2vvy0214daamzswn5ahidhycm3x3")))) + (origin + (method url-fetch) + (uri (crate-uri "sequoia-ipc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0h4b675m6r9r64ibv472fsyqkfh9xbx2wz4jaa4v01ivgsd7k3r1")))) (build-system cargo-build-system) (arguments `(#:features '("sequoia-openpgp/crypto-nettle") - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-buffered-reader" ,rust-buffered-reader-1) - ("rust-capnp-rpc" ,rust-capnp-rpc-0.14) - ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) - ("rust-ctor" ,rust-ctor-0.1) - ("rust-dirs" ,rust-dirs-4) - ("rust-fs2" ,rust-fs2-0.4) - ("rust-futures" ,rust-futures-0.3) - ("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-rand" ,rust-rand-0.8) - ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) - ("rust-socket2" ,rust-socket2-0.4) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-tokio" ,rust-tokio-1) - ("rust-tokio-util" ,rust-tokio-util-0.7) - ("rust-winapi" ,rust-winapi-0.3)) - #:cargo-development-inputs - (("rust-clap" ,rust-clap-3) - ("rust-quickcheck" ,rust-quickcheck-1) - ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) - ("rust-tokio" ,rust-tokio-1)))) + #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) + ("rust-buffered-reader" ,rust-buffered-reader-1) + ("rust-capnp-rpc" ,rust-capnp-rpc-0.19) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) + ("rust-ctor" ,rust-ctor-0.2) + ("rust-dirs" ,rust-dirs-5) + ("rust-fs2" ,rust-fs2-0.4) + ("rust-futures" ,rust-futures-0.3) + ("rust-lalrpop" ,rust-lalrpop-0.17) + ("rust-lalrpop-util" ,rust-lalrpop-util-0.17) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-memsec" ,rust-memsec-0.5) + ("rust-rand" ,rust-rand-0.8) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-socket2" ,rust-socket2-0.5) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-util" ,rust-tokio-util-0.7) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs (("rust-clap" ,rust-clap-4) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-tokio" ,rust-tokio-1)))) (native-inputs (list clang pkg-config)) (inputs (list nettle)) (home-page "https://sequoia-pgp.org/") (synopsis "Interprocess communication infrastructure for Sequoia") - (description "Interprocess communication infrastructure for Sequoia") + (description + "This package provides interprocess communication infrastructure for Sequoia.") (license license:lgpl2.0+))) -(define-public rust-sequoia-net-0.27 +(define-public rust-sequoia-keystore-0.2 (package - (name "rust-sequoia-net") - (version "0.27.0") - (source (origin - (method url-fetch) - (uri (crate-uri "sequoia-net" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0gyk5765hi3s05l64a744f9a4vynfisja92l51az9dpqgfkiw3wn")))) + (name "rust-sequoia-keystore") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "sequoia-keystore" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "11rb2k5v2mc5nf2bafp78nydgcx4gizyxqa9b9lc3d1b73mqv2ad")))) (build-system cargo-build-system) (arguments `(#:features '("sequoia-openpgp/crypto-nettle") #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-base64" ,rust-base64-0.13) - ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-http" ,rust-http-0.2) - ("rust-hyper" ,rust-hyper-0.14) - ("rust-hyper-tls" ,rust-hyper-tls-0.5) - ("rust-libc" ,rust-libc-0.2) - ("rust-native-tls" ,rust-native-tls-0.2) - ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-capnp" ,rust-capnp-0.19) + ("rust-capnpc" ,rust-capnpc-0.19) + ("rust-dirs" ,rust-dirs-5) + ("rust-env-logger" ,rust-env-logger-0.10) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-paste" ,rust-paste-1) + ("rust-sequoia-ipc" ,rust-sequoia-ipc-0.33) + ("rust-sequoia-keystore-backend" ,rust-sequoia-keystore-backend-0.2) + ("rust-sequoia-keystore-softkeys" ,rust-sequoia-keystore-softkeys-0.2) ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) - ("rust-tempfile" ,rust-tempfile-3) ("rust-thiserror" ,rust-thiserror-1) ("rust-tokio" ,rust-tokio-1) - ("rust-trust-dns-client" ,rust-trust-dns-client-0.22) - ("rust-trust-dns-resolver" ,rust-trust-dns-resolver-0.22) - ("rust-url" ,rust-url-2) - ("rust-zbase32" ,rust-zbase32-0.1)) + ("rust-tokio-util" ,rust-tokio-util-0.7)) #:cargo-development-inputs - (("rust-hyper" ,rust-hyper-0.14) - ("rust-rand" ,rust-rand-0.8) - ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)))) + (("rust-dircpy" ,rust-dircpy-0.3) + ("rust-env-logger" ,rust-env-logger-0.10) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-test-log" ,rust-test-log-0.2) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + (native-inputs (list capnproto clang pkg-config)) + (inputs (list nettle)) + (home-page "https://sequoia-pgp.org/") + (synopsis "Sequoia's private key store server") + (description "This package contains sequoia's private key store server.") + (license license:lgpl2.0+))) + +(define-public rust-sequoia-keystore-backend-0.2 + (package + (name "rust-sequoia-keystore-backend") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "sequoia-keystore-backend" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "07v6rc27v0di2v59mixshhc4fkkf1ig0yqkzgqz0v2si4z8slv3s")))) + (build-system cargo-build-system) + (arguments + `(#:features '("sequoia-openpgp/crypto-nettle") + #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) + ("rust-blanket" ,rust-blanket-0.3) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-thiserror" ,rust-thiserror-1)) + #:cargo-development-inputs + (("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)))) + (native-inputs (list clang pkg-config)) + (inputs (list nettle)) + (home-page "https://sequoia-pgp.org/") + (synopsis "Traits for private key store backends") + (description "This package contains traits for private key store backends.") + (license license:lgpl2.0+))) + +(define-public rust-sequoia-keystore-softkeys-0.2 + (package + (name "rust-sequoia-keystore-softkeys") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "sequoia-keystore-softkeys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "151f1ai0bxvab8fi314qcybilv4vq26gfdcs3yp7r28xqn9hldw0")))) + (build-system cargo-build-system) + (arguments + `(#:features '("sequoia-openpgp/crypto-nettle") + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-dirs" ,rust-dirs-5) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-sequoia-keystore-backend" ,rust-sequoia-keystore-backend-0.2) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.10) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-test-log" ,rust-test-log-0.2) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + (native-inputs (list clang pkg-config)) + (inputs (list nettle)) + (home-page "https://sequoia-pgp.org/") + (synopsis "In-memory backend for Sequoia's private key store") + (description + "This package provides a soft key (in-memory key) backend for Sequoia's +private key store.") + (license license:lgpl2.0+))) + +(define-public rust-sequoia-net-0.28 + (package + (name "rust-sequoia-net") + (version "0.28.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "sequoia-net" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0jw1p8gwf505q6dh1281fl7kmh8mr1f4hswl5crrycwqlq5q3gva")))) + (build-system cargo-build-system) + (arguments + `(#:features '("sequoia-openpgp/crypto-nettle") + #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) + ("rust-base64" ,rust-base64-0.21) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-hickory-client" ,rust-hickory-client-0.24) + ("rust-hickory-resolver" ,rust-hickory-resolver-0.24) + ("rust-http" ,rust-http-0.2) + ("rust-hyper" ,rust-hyper-0.14) + ("rust-hyper-tls" ,rust-hyper-tls-0.5) + ("rust-libc" ,rust-libc-0.2) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-reqwest" ,rust-reqwest-0.11) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-url" ,rust-url-2) + ("rust-z-base-32" ,rust-z-base-32-0.1)) + #:cargo-development-inputs (("rust-hyper" ,rust-hyper-0.14) + ("rust-rand" ,rust-rand-0.8) + ("rust-reqwest" ,rust-reqwest-0.11) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)))) (native-inputs (list clang pkg-config)) (inputs @@ -208,27 +342,23 @@ HKP protocol, and searching and publishing Web Key Directories.") (define-public rust-sequoia-openpgp-1 (package (name "rust-sequoia-openpgp") - (version "1.16.0") + (version "1.19.0") (source (origin (method url-fetch) (uri (crate-uri "sequoia-openpgp" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1z0xl7hnm1p51pyhwdqyzcnl2dhzfjnvssz7hi15ps1hk4zzzvrh")))) + (base32 "1x3d4yj8mhra8yhcxz6z73pb77pzk0zl1vgxx0yrimzk9b759wgb")))) (build-system cargo-build-system) - (native-inputs - (list clang pkg-config)) - (inputs - (list gmp nettle)) (arguments `(#:features '("crypto-nettle") #:cargo-test-flags (list "--release" "--" - ;; TODO: Figure out how this test is supposed to fail. - "--skip=parse::test::panic_on_short_zip") + "--skip=leak_tests::test_ed25519") #:cargo-inputs (("rust-aes" ,rust-aes-0.8) + ("rust-aes-gcm" ,rust-aes-gcm-0.10) ("rust-anyhow" ,rust-anyhow-1) ("rust-base64" ,rust-base64-0.21) ("rust-block-padding" ,rust-block-padding-0.3) @@ -236,25 +366,26 @@ HKP protocol, and searching and publishing Web Key Directories.") ("rust-botan" ,rust-botan-0.10) ("rust-buffered-reader" ,rust-buffered-reader-1) ("rust-bzip2" ,rust-bzip2-0.4) + ("rust-camellia" ,rust-camellia-0.1) ("rust-cast5" ,rust-cast5-0.11) ("rust-cfb-mode" ,rust-cfb-mode-0.8) ("rust-chrono" ,rust-chrono-0.4) ("rust-cipher" ,rust-cipher-0.4) ("rust-des" ,rust-des-0.8) ("rust-digest" ,rust-digest-0.10) + ("rust-dsa" ,rust-dsa-0.6) ("rust-dyn-clone" ,rust-dyn-clone-1) ("rust-eax" ,rust-eax-0.5) ("rust-ecb" ,rust-ecb-0.1) ("rust-ecdsa" ,rust-ecdsa-0.16) - ("rust-ed25519" ,rust-ed25519-1) - ("rust-ed25519-dalek" ,rust-ed25519-dalek-1) + ("rust-ed25519" ,rust-ed25519-2) + ("rust-ed25519-dalek" ,rust-ed25519-dalek-2) ("rust-flate2" ,rust-flate2-1) - ("rust-generic-array" ,rust-generic-array-0.14) ("rust-getrandom" ,rust-getrandom-0.2) ("rust-idea" ,rust-idea-0.5) - ("rust-idna" ,rust-idna-0.3) - ("rust-lalrpop" ,rust-lalrpop-0.19) - ("rust-lalrpop-util" ,rust-lalrpop-util-0.19) + ("rust-idna" ,rust-idna-0.5) + ("rust-lalrpop" ,rust-lalrpop-0.20) + ("rust-lalrpop-util" ,rust-lalrpop-util-0.20) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) ("rust-md-5" ,rust-md-5-0.10) @@ -265,29 +396,30 @@ HKP protocol, and searching and publishing Web Key Directories.") ("rust-openssl" ,rust-openssl-0.10) ("rust-openssl-sys" ,rust-openssl-sys-0.9) ("rust-p256" ,rust-p256-0.13) - ("rust-rand" ,rust-rand-0.7) - ("rust-rand" ,rust-rand-0.7) ("rust-rand" ,rust-rand-0.8) ("rust-rand-core" ,rust-rand-core-0.6) ("rust-regex" ,rust-regex-1) - ("rust-regex-syntax" ,rust-regex-syntax-0.6) + ("rust-regex-syntax" ,rust-regex-syntax-0.8) ("rust-ripemd" ,rust-ripemd-0.1) ("rust-rsa" ,rust-rsa-0.9) - ("rust-sha-1" ,rust-sha-1-0.10) - ("rust-sha1collisiondetection" ,rust-sha1collisiondetection-0.2) + ("rust-sha1collisiondetection" ,rust-sha1collisiondetection-0.3) ("rust-sha2" ,rust-sha2-0.10) ("rust-thiserror" ,rust-thiserror-1) ("rust-twofish" ,rust-twofish-0.7) ("rust-typenum" ,rust-typenum-1) ("rust-win-crypto-ng" ,rust-win-crypto-ng-0.5) ("rust-winapi" ,rust-winapi-0.3) - ("rust-x25519-dalek-ng" ,rust-x25519-dalek-ng-1) + ("rust-x25519-dalek" ,rust-x25519-dalek-2) ("rust-xxhash-rust" ,rust-xxhash-rust-0.8)) #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.4) + (("rust-criterion" ,rust-criterion-0.5) ("rust-quickcheck" ,rust-quickcheck-1) ("rust-rand" ,rust-rand-0.8) - ("rust-rpassword" ,rust-rpassword-6)))) + ("rust-rpassword" ,rust-rpassword-7)))) + (native-inputs + (list clang pkg-config)) + (inputs + (list gmp nettle)) (home-page "https://sequoia-pgp.org/") (synopsis "OpenPGP data types and associated machinery") (description "This crate aims to provide a complete implementation of @@ -397,47 +529,43 @@ 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-sequoia-wot-0.8 +(define-public rust-sequoia-wot-0.11 (package (name "rust-sequoia-wot") - (version "0.8.1") - (source (origin - (method url-fetch) - (uri (crate-uri "sequoia-wot" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0rcp7ndjpdd4dkryhkkhakc8axbj93c1gr9qxxksdvrik803alfg")))) + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "sequoia-wot" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0hb17adcqz357ci3d4v57pmywy4giq8591p1vb7p83h56zdk0sfi")))) (build-system cargo-build-system) (arguments `(#:features '("sequoia-openpgp/crypto-nettle") - #:cargo-test-flags - (list "--release" "--" - ;; Not all files included. - "--skip=gpg_trust_roots") - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-4) - ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-clap-mangen" ,rust-clap-mangen-0.2) - ("rust-crossbeam" ,rust-crossbeam-0.8) - ("rust-dot-writer" ,rust-dot-writer-0.1) - ("rust-enumber" ,rust-enumber-0.3) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-openpgp-cert-d" ,rust-openpgp-cert-d-0.1) - ("rust-sequoia-cert-store" ,rust-sequoia-cert-store-0.3) - ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) - ("rust-sequoia-policy-config" ,rust-sequoia-policy-config-0.6) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-tokio" ,rust-tokio-1)) - #:cargo-development-inputs - (("rust-assert-cmd" ,rust-assert-cmd-2) - ("rust-predicates" ,rust-predicates-2) - ("rust-quickcheck" ,rust-quickcheck-1) - ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) - ("rust-tempfile" ,rust-tempfile-3)))) + #:cargo-test-flags '("--release" "--" + ;; Not all files included. + "--skip=gpg_trust_roots") + #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) + ("rust-anyhow" ,rust-anyhow-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-clap" ,rust-clap-4) + ("rust-clap" ,rust-clap-4) + ("rust-clap-complete" ,rust-clap-complete-4) + ("rust-clap-mangen" ,rust-clap-mangen-0.2) + ("rust-crossbeam" ,rust-crossbeam-0.8) + ("rust-dot-writer" ,rust-dot-writer-0.1) + ("rust-enumber" ,rust-enumber-0.3) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-sequoia-cert-store" ,rust-sequoia-cert-store-0.5) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-sequoia-policy-config" ,rust-sequoia-policy-config-0.6) + ("rust-thiserror" ,rust-thiserror-1)) + #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-predicates" ,rust-predicates-2) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-tempfile" ,rust-tempfile-3)))) (inputs (list nettle openssl sqlite)) (native-inputs @@ -450,22 +578,17 @@ rules are rather complex. This crate implements the whole grammar." ) (define-public sequoia-sq (package (name "sequoia-sq") - (version "0.30.0") + (version "0.34.0") (source - (origin - (method url-fetch) - (uri (crate-uri "sequoia-sq" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0l3mlhvh93b8s1853gyzzfh1dznjdhbsbyxxcm3bbyxmkyr74wkd")))) + (origin + (method url-fetch) + (uri (crate-uri "sequoia-sq" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0394xr4wxf5ymc8difnih5s9dpw7rpz9b0n7nnp6782gw65ch6lx")))) (build-system cargo-build-system) - (inputs - (list nettle openssl sqlite)) - (native-inputs - (list clang pkg-config)) (arguments - `(#:tests? #f ; `(dyn std::fmt::Display + 'static)` cannot be sent between threads safely - #:install-source? #f + `(#:install-source? #f #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) ("rust-buffered-reader" ,rust-buffered-reader-1) @@ -473,27 +596,73 @@ rules are rather complex. This crate implements the whole grammar." ) ("rust-chrono" ,rust-chrono-0.4) ("rust-clap" ,rust-clap-4) ("rust-clap-complete" ,rust-clap-complete-4) - ("rust-clap-mangen" ,rust-clap-mangen-0.2) ("rust-dirs" ,rust-dirs-5) ("rust-dot-writer" ,rust-dot-writer-0.1) + ("rust-humantime" ,rust-humantime-2) + ("rust-indicatif" ,rust-indicatif-0.17) ("rust-itertools" ,rust-itertools-0.10) - ("rust-rpassword" ,rust-rpassword-6) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-roff" ,rust-roff-0.2) + ("rust-rpassword" ,rust-rpassword-7) ("rust-sequoia-autocrypt" ,rust-sequoia-autocrypt-0.25) - ("rust-sequoia-cert-store" ,rust-sequoia-cert-store-0.3) - ("rust-sequoia-net" ,rust-sequoia-net-0.27) + ("rust-sequoia-cert-store" ,rust-sequoia-cert-store-0.5) + ("rust-sequoia-keystore" ,rust-sequoia-keystore-0.2) + ("rust-sequoia-net" ,rust-sequoia-net-0.28) ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) - ("rust-sequoia-wot" ,rust-sequoia-wot-0.8) + ("rust-sequoia-policy-config" ,rust-sequoia-policy-config-0.6) + ("rust-sequoia-wot" ,rust-sequoia-wot-0.11) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-subplot-build" ,rust-subplot-build-0.7) ("rust-tempfile" ,rust-tempfile-3) - ("rust-term-size" ,rust-term-size-0.3) + ("rust-termcolor" ,rust-termcolor-1) + ("rust-terminal-size" ,rust-terminal-size-0.2) + ("rust-textwrap" ,rust-textwrap-0.15) ("rust-tokio" ,rust-tokio-1)) #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-dircpy" ,rust-dircpy-0.3) ("rust-fehler" ,rust-fehler-1) + ("rust-libc" ,rust-libc-0.2) ("rust-predicates" ,rust-predicates-2) - ("rust-subplotlib" ,rust-subplotlib-0.7)))) + ("rust-regex" ,rust-regex-1) + ("rust-subplotlib" ,rust-subplotlib-0.7)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-asset-out-dir + (lambda _ + (setenv "ASSET_OUT_DIR" "target/assets"))) + (add-after 'install 'install-more + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (bash-completions-dir + (string-append out "/etc/bash_completion.d")) + (zsh-completions-dir + (string-append share "/zsh/site-functions")) + (fish-completions-dir + (string-append share "/fish/vendor_completions.d")) + (elvish-completions-dir + (string-append share "/elvish/lib")) + (man1 (string-append share "/man/man1"))) + ;; The completions are generated in build.rs. + (mkdir-p bash-completions-dir) + (mkdir-p elvish-completions-dir) + (for-each (lambda (file) + (install-file file man1)) + (find-files "target/assets/man-pages" "\\.1$")) + (copy-file "target/assets/shell-completions/sq.bash" + (string-append bash-completions-dir "/sq")) + (install-file "target/assets/shell-completions/_sq" + zsh-completions-dir) + (install-file "target/assets/shell-completions/sq.fish" + fish-completions-dir) + (copy-file "target/assets/shell-completions/sq.elv" + (string-append elvish-completions-dir "/sq")))))))) + (inputs + (list nettle openssl sqlite)) + (native-inputs + (list capnproto clang pkg-config)) (home-page "https://sequoia-pgp.org/") (synopsis "Command-line frontend for Sequoia OpenPGP") (description "This package provides the command-line frontend for Sequoia @@ -538,10 +707,10 @@ This Guix package is built to use the nettle cryptographic library.") (define-public sequoia-wot (package - (inherit rust-sequoia-wot-0.8) + (inherit rust-sequoia-wot-0.11) (name "sequoia-wot") (arguments - (substitute-keyword-arguments (package-arguments rust-sequoia-wot-0.8) + (substitute-keyword-arguments (package-arguments rust-sequoia-wot-0.11) ((#:install-source? _ #t) #f) ((#:phases phases '%standard-phases) `(modify-phases ,phases @@ -553,14 +722,16 @@ This Guix package is built to use the nettle cryptographic library.") (for-each (lambda (file) (install-file file man1)) (find-files "target/release" "\\.1$")) - ;; TODO: Install _sq-wot.ps1, sq-wot.elv (mkdir-p (string-append out "/etc/bash_completion.d")) (mkdir-p (string-append share "/fish/vendor_completions.d")) + (mkdir-p (string-append share "/elvish/lib")) (copy-file (car (find-files "target/release" "sq-wot.bash")) (string-append out "/etc/bash_completion.d/sq-wot")) (copy-file (car (find-files "target/release" "sq-wot.fish")) (string-append share "/fish/vendor_completions.d/sq-wot.fish")) + (copy-file (car (find-files "target/release" "sq-wot.elv")) + (string-append share "/elvish/lib/sq-wot")) (install-file (car (find-files "target/release" "_sq-wot")) (string-append share "/zsh/site-functions"))))))))) @@ -573,7 +744,7 @@ This Guix package is built to use the nettle cryptographic library."))) (define-public sequoia (package (name "sequoia") - (version "1.16.0") + (version "1.19.0") (source #f) (build-system trivial-build-system) (arguments |