gnu: rust-rayon-1.3: Rename to rust-rayon-1.
[jackhill/guix/guix.git] / gnu / packages / crates-io.scm
index 6edee04..3bc1ab1 100644 (file)
@@ -3,7 +3,7 @@
 ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
-;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
 ;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages nettle)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages serialization)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages version-control)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
@@ -146,10 +152,10 @@ Rust, using gimli.")
         ("rust-memmap" ,rust-memmap-0.7)
         ("rust-rustc-test" ,rust-rustc-test-0.3))))))
 
-(define-public rust-adler32-1.0
+(define-public rust-adler32-1
   (package
     (name "rust-adler32")
-    (version "1.0.4")
+    (version "1.1.0")
     (source
       (origin
         (method url-fetch)
@@ -158,12 +164,15 @@ Rust, using gimli.")
           (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1hnan4fgmnidgn2k84hh2i67c3wp2c5iwd5hs61yi7gwwx1p6bjx"))))
+          "0bgks405vz823bphgwhj4l9h6vpfh900s0phfk4qqijyh9xhfysn"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
+     `(#:cargo-inputs
+       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0))
        #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.4))))
+       (("rust-bencher" ,rust-bencher-0.1)
+        ("rust-rand" ,rust-rand-0.4))))
     (home-page "https://github.com/remram44/adler32-rs")
     (synopsis "Implementation of the Adler32 rolling hash algorithm")
     (description
@@ -436,7 +445,7 @@ shapes, lines and text to buffers.")
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
        (("rust-doc-comment" ,rust-doc-comment-0.3)
-        ("rust-regex" ,rust-regex-1.3)
+        ("rust-regex" ,rust-regex-1)
         ("rust-serde-json" ,rust-serde-json-1.0))))
     (home-page "https://github.com/ogham/rust-ansi-term")
     (synopsis "Library for ANSI terminal colours and styles")
@@ -1327,7 +1336,7 @@ that uses Serde for transforming structs into bytes and vice versa!")
         ("rust-rustc-hash" ,rust-rustc-hash-1.1)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-lazycell" ,rust-lazycell-1.2)
-        ("rust-regex" ,rust-regex-1.3)
+        ("rust-regex" ,rust-regex-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-clap" ,rust-clap-2)
         ("rust-which" ,rust-which-3.1))
@@ -1380,7 +1389,7 @@ that uses Serde for transforming structs into bytes and vice versa!")
         ("rust-quote" ,rust-quote-1.0)
         ("rust-rustc-hash" ,rust-rustc-hash-1.1)
         ("rust-bitflags" ,rust-bitflags-1)
-        ("rust-regex" ,rust-regex-1.3)
+        ("rust-regex" ,rust-regex-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-clap" ,rust-clap-2)
         ("rust-which" ,rust-which-3.1))
@@ -1418,7 +1427,7 @@ that uses Serde for transforming structs into bytes and vice versa!")
         ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
         ("rust-proc-macro2" ,rust-proc-macro2-0.4)
         ("rust-quote" ,rust-quote-0.6)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-shlex" ,rust-shlex-0.1)
         ("rust-which" ,rust-which-2.0))
        #:cargo-development-inputs
@@ -1453,7 +1462,7 @@ that uses Serde for transforming structs into bytes and vice versa!")
         ("rust-env-logger" ,rust-env-logger-0.5)
         ("rust-quote" ,rust-quote-0.5)
         ("rust-which" ,rust-which-1.0)
-        ("rust-regex" ,rust-regex-1.3)
+        ("rust-regex" ,rust-regex-1)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-clap" ,rust-clap-2))
        #:cargo-development-inputs
@@ -1487,7 +1496,7 @@ that uses Serde for transforming structs into bytes and vice versa!")
         ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
         ("rust-proc-macro2" ,rust-proc-macro2-0.4)
         ("rust-quote" ,rust-quote-0.6)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-shlex" ,rust-shlex-0.1)
         ("rust-which" ,rust-which-2.0))
        #:cargo-development-inputs
@@ -2306,7 +2315,7 @@ exposed as Reader/Writer streams.")
         ("rust-libc" ,rust-libc-0.2))
        #:cargo-development-inputs
        (("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)
-        ("rust-tempfile" ,rust-tempfile-3.1))))
+        ("rust-tempfile" ,rust-tempfile-3))))
     (inputs
      `(("cairo" ,cairo)))
     (home-page "https://gtk-rs.org/")
@@ -2339,7 +2348,7 @@ exposed as Reader/Writer streams.")
         ("rust-libc" ,rust-libc-0.2)
         ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
        #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.1))))))
+       (("rust-tempfile" ,rust-tempfile-3))))))
 
 (define-public rust-cairo-sys-rs-0.9
   (package
@@ -2673,7 +2682,7 @@ used in argon2rs' bench suite.")
        #:cargo-inputs
        (("rust-jobserver" ,rust-jobserver-0.1))
        #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.1))))
+       (("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/alexcrichton/cc-rs")
     (synopsis "Invoke the native C compiler")
     (description
@@ -3096,7 +3105,7 @@ for computer graphics.")
         ("rust-yaml-rust" ,rust-yaml-rust-0.3))
        #:cargo-development-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-version-sync" ,rust-version-sync-0.8))))
     (home-page "https://clap.rs/")
     (synopsis "Command Line Argument Parser")
@@ -3438,12 +3447,12 @@ need compiler-rt intrinsics.")
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-miow" ,rust-miow-0.3)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-rustfix" ,rust-rustfix-0.4)
         ("rust-serde" ,rust-serde-1.0)
         ("rust-serde-derive" ,rust-serde-derive-1.0)
         ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-tempfile" ,rust-tempfile-3.0)
+        ("rust-tempfile" ,rust-tempfile-3)
         ("rust-tester" ,rust-tester-0.5)
         ("rust-winapi" ,rust-winapi-0.3))))
     (home-page "https://github.com/laumann/compiletest-rs")
@@ -3496,7 +3505,7 @@ harness.")
         ("rust-encode-unicode" ,rust-encode-unicode-0.3)
         ("rust-winapi" ,rust-winapi-0.3)
         ("rust-clicolors-control" ,rust-clicolors-control-1.0)
-        ("rust-regex" ,rust-regex-1.3)
+        ("rust-regex" ,rust-regex-1)
         ("rust-lazy-static" ,rust-lazy-static-1))))
     (home-page "https://github.com/mitsuhiko/console")
     (synopsis "Terminal and console abstraction for Rust")
@@ -3527,7 +3536,7 @@ harness.")
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-parking-lot" ,rust-parking-lot-0.8)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-termios" ,rust-termios-0.3)
         ("rust-unicode-width" ,rust-unicode-width-0.1)
         ("rust-winapi" ,rust-winapi-0.3))))
@@ -3917,7 +3926,7 @@ intrinsics.")
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-oorandom" ,rust-oorandom-11.1)
         ("rust-plotters" ,rust-plotters-0.2)
-        ("rust-rayon" ,rust-rayon-1.3)
+        ("rust-rayon" ,rust-rayon-1)
         ("rust-serde" ,rust-serde-1.0)
         ("rust-serde-derive" ,rust-serde-derive-1.0)
         ("rust-serde-json" ,rust-serde-json-1.0)
@@ -3962,8 +3971,8 @@ intrinsics.")
         ("rust-rand-core" ,rust-rand-core-0.3)
         ("rust-rand-os" ,rust-rand-os-0.1)
         ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.1)
-        ("rust-rayon" ,rust-rayon-1.1)
-        ("rust-rayon-core" ,rust-rayon-core-1.5)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-rayon-core" ,rust-rayon-core-1)
         ("rust-serde" ,rust-serde-1.0)
         ("rust-serde-derive" ,rust-serde-derive-1.0)
         ("rust-serde-json" ,rust-serde-json-1.0)
@@ -4616,31 +4625,42 @@ Transparency logs for use with sct crate.")
       (origin
         (method url-fetch)
         (uri (crate-uri "curl-sys" version))
-        (file-name (string-append name "-" version ".crate"))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "02542zmvl3fpdqf7ai4cqnamm4albx9j645dkjx5qr1myq8ax42y"))))
+          "02542zmvl3fpdqf7ai4cqnamm4albx9j645dkjx5qr1myq8ax42y"))
+        (modules '((guix build utils)))
+        (snippet
+         '(begin (delete-file-recursively "curl") #t))))
     (build-system cargo-build-system)
-    ;(arguments
-    ; `(#:phases
-    ;   (modify-phases %standard-phases
-    ;    (add-after 'unpack 'find-openssl
-    ;      (lambda* (#:key inputs #:allow-other-keys)
-    ;        (let ((openssl (assoc-ref inputs "openssl")))
-    ;          (setenv "OPENSSL_DIR" openssl))
-    ;        #t)))))
-    ;(native-inputs
-    ; `(("pkg-config" ,pkg-config)))
-    ;(inputs
-    ; `(("curl" ,curl)
-    ;   ("nghttp2" ,nghttp2)
-    ;   ("openssl" ,openssl)
-    ;   ("zlib" ,zlib)))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-libnghttp2-sys" ,rust-libnghttp2-sys-0.1)
+        ("rust-libz-sys" ,rust-libz-sys-1.0)
+        ("rust-openssl-sys" ,rust-openssl-sys-0.9)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-cc" ,rust-cc-1.0)
+        ("rust-pkg-config" ,rust-pkg-config-0.3)
+        ("rust-vcpkg" ,rust-vcpkg-0.2))
+       #:phases
+       (modify-phases %standard-phases
+        (add-after 'unpack 'find-openssl
+          (lambda* (#:key inputs #:allow-other-keys)
+            (let ((openssl (assoc-ref inputs "openssl")))
+              (setenv "OPENSSL_DIR" openssl))
+            #t)))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("curl" ,curl)
+       ("nghttp2" ,nghttp2)
+       ("openssl" ,openssl)
+       ("zlib" ,zlib)))
     (home-page "https://github.com/alexcrichton/curl-rust")
     (synopsis "Native bindings to the libcurl library")
     (description
      "This package provides native bindings to the @code{libcurl} library.")
-    (properties '((hidden? . #t)))
     (license license:expat)))
 
 (define-public rust-custom-derive-0.1
@@ -4832,7 +4852,7 @@ and arithmetic.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-adler32" ,rust-adler32-1.0)
+       (("rust-adler32" ,rust-adler32-1)
         ("rust-byteorder" ,rust-byteorder-1.3)
         ("rust-gzip-header" ,rust-gzip-header-0.3)
         ("rust-flate2" ,rust-flate2-1.0))))
@@ -5319,7 +5339,7 @@ from macros.")
     (arguments
      `(#:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-serde" ,rust-serde-1.0)
         ("rust-strsim" ,rust-strsim-0.9))))
     (home-page "https://github.com/docopt/docopt.rs")
@@ -5957,7 +5977,7 @@ Standard.")
        (("rust-atty" ,rust-atty-0.2)
         ("rust-humantime" ,rust-humantime-1.3)
         ("rust-log" ,rust-log-0.4)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-termcolor" ,rust-termcolor-1.0))))
     (home-page "https://github.com/sebasmagri/env_logger/")
     (synopsis "Logging implementation for @code{log}")
@@ -5986,7 +6006,7 @@ is configured via an environment variable.")
        (("rust-atty" ,rust-atty-0.2)
         ("rust-humantime" ,rust-humantime-1.2)
         ("rust-log" ,rust-log-0.4)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-termcolor" ,rust-termcolor-1.0))))))
 
 (define-public rust-env-logger-0.5
@@ -6009,7 +6029,7 @@ is configured via an environment variable.")
        (("rust-atty" ,rust-atty-0.2)
         ("rust-humantime" ,rust-humantime-1.2)
         ("rust-log" ,rust-log-0.4)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-termcolor" ,rust-termcolor-1.0))))))
 
 (define-public rust-env-logger-0.4
@@ -6511,7 +6531,7 @@ provides implementations for @code{HashMap} and @code{HashSet}.")
         ("rust-redox-syscall" ,rust-redox-syscall-0.1)
         ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.0))))
+       (("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/alexcrichton/filetime")
     (synopsis "Platform-agnostic accessors of timestamps in File metadata")
     (description
@@ -7912,7 +7932,7 @@ API library @code{gdi32}.")
         ("rust-pkg-config" ,rust-pkg-config-0.3))
        #:cargo-development-inputs
        (("rust-shell-words" ,rust-shell-words-0.1)
-        ("rust-tempfile" ,rust-tempfile-3.1))))
+        ("rust-tempfile" ,rust-tempfile-3))))
     (inputs
      `(("gdk-pixbuf" ,gdk-pixbuf)))
     (home-page "https://gtk-rs.org/")
@@ -8074,6 +8094,72 @@ API library @code{gdi32}.")
 retrieving random data from system source.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-gettext-rs-0.4
+  (package
+    (name "rust-gettext-rs")
+    (version "0.4.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gettext-rs" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0z6fcsn1g3w9mlgfj6ln6qvqf8610w3zwvk6g062h657v114lifz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-gettext-sys" ,rust-gettext-sys-0.19)
+        ("rust-locale-config" ,rust-locale-config-0.2))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'use-system-gettext
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((gettext (assoc-ref inputs "gettext")))
+               (setenv "GETTEXT_SYSTEM" gettext)
+               #t))))))
+    (inputs
+     `(("gettext" ,gettext-minimal)))
+    (home-page "https://github.com/Koka/gettext-rs")
+    (synopsis "GNU Gettext FFI binding for Rust")
+    (description "This package provides GNU Gettext FFI bindings for Rust.")
+    (license license:expat)))
+
+(define-public rust-gettext-sys-0.19
+  (package
+    (name "rust-gettext-sys")
+    (version "0.19.9")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gettext-sys" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0lzi6ja81vc16mhcdmn3lw35120n9ijhvsy5dh5775mpbfxc8d70"))
+        (modules '((guix build utils)))
+        (snippet
+         '(begin (delete-file "gettext-0.19.8.1.tar.xz") #t))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-cc" ,rust-cc-1.0))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'use-system-gettext
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((gettext (assoc-ref inputs "gettext")))
+               (setenv "GETTEXT_SYSTEM" gettext)
+               #t))))))
+    (inputs
+     `(("gettext" ,gettext-minimal)))
+    (home-page "https://github.com/Koka/gettext-rs")
+    (synopsis "Gettext raw FFI bindings")
+    (description "This package provides raw FFI bindings for GNU Gettext.")
+    (license license:expat)))
+
 (define-public rust-gfx-0.18
   (package
     (name "rust-gfx")
@@ -8263,8 +8349,8 @@ retrieving random data from system source.")
         ("rust-memmap" ,rust-memmap-0.7)
         ("rust-num-cpus" ,rust-num-cpus-1.10)
         ("rust-object" ,rust-object-0.12)
-        ("rust-rayon" ,rust-rayon-1.1)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-test-assembler" ,rust-test-assembler-0.1)
         ("rust-typed-arena" ,rust-typed-arena-1.4))))
     (home-page "https://github.com/gimli-rs/gimli")
@@ -8332,7 +8418,7 @@ DWARF debugging format.")
         ("rust-pkg-config" ,rust-pkg-config-0.3))
        #:cargo-development-inputs
        (("rust-shell-words" ,rust-shell-words-0.1)
-        ("rust-tempfile" ,rust-tempfile-3.1))))
+        ("rust-tempfile" ,rust-tempfile-3))))
     (inputs
      `(("glib" ,glib)))
     (home-page "http://gtk-rs.org/")
@@ -8386,7 +8472,7 @@ DWARF debugging format.")
        (("rust-docopt" ,rust-docopt-1.1)
         ("rust-serde" ,rust-serde-1.0)
         ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-tempfile" ,rust-tempfile-3.1)
+        ("rust-tempfile" ,rust-tempfile-3)
         ("rust-thread-id" ,rust-thread-id-3.3)
         ("rust-time" ,rust-time-0.1))))
     (native-inputs
@@ -8590,7 +8676,7 @@ reading and writing git repositories.")
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2))
        #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.1))))
+       (("rust-tempfile" ,rust-tempfile-3))))
     (inputs
      `(("glib" ,glib)))
     (home-page "https://gtk-rs.org/")
@@ -8622,7 +8708,7 @@ reading and writing git repositories.")
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2))
        #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.1))))))
+       (("rust-tempfile" ,rust-tempfile-3))))))
 
 (define-public rust-glib-sys-0.9
   (package
@@ -8645,7 +8731,7 @@ reading and writing git repositories.")
         ("rust-pkg-config" ,rust-pkg-config-0.3))
        #:cargo-development-inputs
        (("rust-shell-words" ,rust-shell-words-0.1)
-        ("rust-tempfile" ,rust-tempfile-3.1))))
+        ("rust-tempfile" ,rust-tempfile-3))))
     (inputs
      `(("glib" ,glib)))
     (home-page "http://gtk-rs.org/")
@@ -8751,7 +8837,7 @@ shell style patterns.")
         ("rust-bstr" ,rust-bstr-0.2)
         ("rust-fnv" ,rust-fnv-1.0)
         ("rust-log" ,rust-log-0.4)
-        ("rust-regex" ,rust-regex-1.1))
+        ("rust-regex" ,rust-regex-1))
        #:cargo-development-inputs
        (("rust-glob" ,rust-glob-0.3))))
     (home-page
@@ -8973,7 +9059,7 @@ path simultaneously, and returning all of the globs that matched.")
         ("rust-pkg-config" ,rust-pkg-config-0.3))
        #:cargo-development-inputs
        (("rust-shell-words" ,rust-shell-words-0.1)
-        ("rust-tempfile" ,rust-tempfile-3.1))))
+        ("rust-tempfile" ,rust-tempfile-3))))
     (inputs
      `(("glib" ,glib)))
     (home-page "http://gtk-rs.org/")
@@ -9109,7 +9195,7 @@ loading crate.")
         ("rust-globset" ,rust-globset-0.4)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-log" ,rust-log-0.4)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-same-file" ,rust-same-file-1.0)
         ("rust-termcolor" ,rust-termcolor-1.0)
         ("rust-winapi-util" ,rust-winapi-util-0.1))))
@@ -9139,7 +9225,7 @@ loading crate.")
      `(#:cargo-inputs
        (("rust-memchr" ,rust-memchr-2.2))
        #:cargo-development-inputs
-       (("rust-regex" ,rust-regex-1.1))))
+       (("rust-regex" ,rust-regex-1))))
     (home-page "https://github.com/BurntSushi/ripgrep")
     (synopsis "Trait for regular expressions")
     (description
@@ -9228,7 +9314,7 @@ standard printing of search results, similar to grep itself.")
        (("rust-aho-corasick" ,rust-aho-corasick-0.7)
         ("rust-grep-matcher" ,rust-grep-matcher-0.1)
         ("rust-log" ,rust-log-0.4)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-regex-syntax" ,rust-regex-syntax-0.6)
         ("rust-thread-local" ,rust-thread-local-0.3)
         ("rust-utf8-ranges" ,rust-utf8-ranges-1.0))))
@@ -9264,7 +9350,7 @@ standard printing of search results, similar to grep itself.")
         ("rust-memmap" ,rust-memmap-0.7))
        #:cargo-development-inputs
        (("rust-grep-regex" ,rust-grep-regex-0.1)
-        ("rust-regex" ,rust-regex-1.1))))
+        ("rust-regex" ,rust-regex-1))))
     (home-page "https://github.com/BurntSushi/ripgrep")
     (synopsis "Line oriented regex searching as a library")
     (description
@@ -9415,7 +9501,7 @@ IEEE 754-2008 binary16 type.")
          ("rust-env-logger" ,rust-env-logger-0.6)
          ("rust-maplit" ,rust-maplit-1.0)
          ("rust-serde-derive" ,rust-serde-derive-1.0)
-         ("rust-tempfile" ,rust-tempfile-3.0))))
+         ("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/sunng87/handlebars-rust")
     (synopsis "Handlebars templating implemented in Rust")
     (description
@@ -9441,14 +9527,14 @@ the template engine that renders the official Rust website")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
-        ("rust-rayon" ,rust-rayon-1.1)
+        ("rust-rayon" ,rust-rayon-1)
         ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1.0)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)
         ("rust-serde" ,rust-serde-1.0))
        #:cargo-development-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-rand" ,rust-rand-0.5)
-        ("rust-rayon" ,rust-rayon-1.1)
+        ("rust-rayon" ,rust-rayon-1)
         ("rust-rustc-hash" ,rust-rustc-hash-1.0)
         ("rust-serde-test" ,rust-serde-test-1.0))))
     (home-page "https://github.com/rust-lang/hashbrown")
@@ -10121,7 +10207,7 @@ SystemTime}}.")
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-log" ,rust-log-0.4)
         ("rust-memchr" ,rust-memchr-2.2)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-same-file" ,rust-same-file-1.0)
         ("rust-thread-local" ,rust-thread-local-1.0)
         ("rust-walkdir" ,rust-walkdir-2.2)
@@ -10252,7 +10338,7 @@ for the most common image formats.")
        #:cargo-inputs
        (("rust-autocfg" ,rust-autocfg-1.0)
         ("rust-serde" ,rust-serde-1.0)
-        ("rust-rayon" ,rust-rayon-1.3))))
+        ("rust-rayon" ,rust-rayon-1))))
     (home-page "https://github.com/bluss/indexmap")
     (synopsis "Hash table with consistent order and fast iteration.")
     (description
@@ -10322,7 +10408,7 @@ renamed to indexmap.")
          "1zxjdn8iwa0ssxrnjmywm3r1v284wryvzrf8vkc7nyf5ijbjknqw"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs (("rust-adler32" ,rust-adler32-1.0))))
+     `(#:cargo-inputs (("rust-adler32" ,rust-adler32-1))))
     (home-page "https://github.com/PistonDevelopers/inflate.git")
     (synopsis "DEFLATE decoding")
     (description "This package provides DEFLATE decoding.")
@@ -10877,7 +10963,7 @@ primitives to an @code{io::Write}.")
      `(#:tests? #f      ; Some test files missing.
        #:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-rayon" ,rust-rayon-1.1))
+        ("rust-rayon" ,rust-rayon-1))
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.3)
         ("rust-png" ,rust-png-0.14)
@@ -11032,7 +11118,7 @@ language tags.")
        ("rust-itertools" ,rust-itertools-0.8)
        ("rust-lalrpop-util" ,rust-lalrpop-util-0.17)
        ("rust-petgraph" ,rust-petgraph-0.4)
-       ("rust-regex" ,rust-regex-1.3)
+       ("rust-regex" ,rust-regex-1)
        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
        ("rust-serde" ,rust-serde-1.0)
        ("rust-serde-derive" ,rust-serde-derive-1.0)
@@ -11063,7 +11149,7 @@ grammars.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-regex" ,rust-regex-1.3))))
+       (("rust-regex" ,rust-regex-1))))
   (home-page "https://github.com/lalrpop/lalrpop")
   (synopsis "Runtime library for parsers generated by LALRPOP")
   (description "THis package provides the runtime library for parsers
@@ -11175,8 +11261,43 @@ requires non-const function calls to be computed.")
      "This package provides a library providing a lazily filled Cell struct.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-lexical-core-0.7
+  (package
+    (name "rust-lexical-core")
+    (version "0.7.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "lexical-core" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "05i6b69ay8xbxw88vx89vglb7xm5n8ky82hax7d5a7z60bdccrfv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-arrayvec" ,rust-arrayvec-0.5)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-dtoa" ,rust-dtoa-0.4)
+        ("rust-ryu" ,rust-ryu-1.0)
+        ("rust-static-assertions" ,rust-static-assertions-1))
+       #:cargo-development-inputs
+       (("rust-approx" ,rust-approx-0.3)
+        ("rust-proptest" ,rust-proptest-0.9)
+        ("rust-quickcheck" ,rust-quickcheck-0.9))))
+    (home-page
+     "https://github.com/Alexhuszagh/rust-lexical/tree/master/lexical-core")
+    (synopsis
+     "Lexical, to- and from-string conversion routines")
+    (description
+     "Lexical, to- and from-string conversion routines.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-lexical-core-0.4
   (package
+    (inherit rust-lexical-core-0.7)
     (name "rust-lexical-core")
     (version "0.4.2")
     (source
@@ -11188,7 +11309,6 @@ requires non-const function calls to be computed.")
        (sha256
         (base32
          "1gr5y3ykghd3wjc00l3iizkj1dxylyhwi6fj6yn2qg06nzx771iz"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -11201,14 +11321,7 @@ requires non-const function calls to be computed.")
        (("rust-approx" ,rust-approx-0.3)
         ("rust-proptest" ,rust-proptest-0.9)
         ("rust-quickcheck" ,rust-quickcheck-0.8)
-        ("rust-rustc-version" ,rust-rustc-version-0.2))))
-    (home-page
-     "https://github.com/Alexhuszagh/rust-lexical/tree/master/lexical-core")
-    (synopsis
-     "Lexical, to- and from-string conversion routines")
-    (description
-     "Lexical, to- and from-string conversion routines.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-rustc-version" ,rust-rustc-version-0.2))))))
 
 (define-public rust-libc-0.2
   (package
@@ -11331,12 +11444,22 @@ macros on libc without stdlib.")
       (origin
         (method url-fetch)
         (uri (crate-uri "libgit2-sys" version))
-        (file-name (string-append name "-" version ".crate"))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "1wcvg2qqra2aviasvqcscl8gb2rnjnd6h998wy5dlmf2bnriqi28"))))
-    (arguments '())
-    (properties '((hidden? . #t)))))
+          "1wcvg2qqra2aviasvqcscl8gb2rnjnd6h998wy5dlmf2bnriqi28"))
+        (modules '((guix build utils)))
+        (snippet
+         '(begin (delete-file-recursively "libgit2") #t))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-curl-sys" ,rust-curl-sys-0.4)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-libssh2-sys" ,rust-libssh2-sys-0.2)
+        ("rust-libz-sys" ,rust-libz-sys-1.0)
+        ("rust-openssl-sys" ,rust-openssl-sys-0.9)
+        ("rust-cc" ,rust-cc-1.0)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))))
 
 (define-public rust-libloading-0.5
   (package
@@ -11435,18 +11558,25 @@ functions and static variables these libraries contain.")
       (origin
         (method url-fetch)
         (uri (crate-uri "libnghttp2-sys" version))
-        (file-name (string-append name "-" version ".crate"))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982"))))
+          "0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982"))
+        (modules '((guix build utils)))
+        (snippet
+         '(begin (delete-file-recursively "nghttp2") #t))))
     (build-system cargo-build-system)
-    ;(inputs
-    ; `(("nghttp2" ,nghttp2)))
+    (arguments
+     `(#:skip-build? #t     ; Uses unstable features
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-cc" ,rust-cc-1.0))))
+    (inputs
+     `(("nghttp2" ,nghttp2)))
     (home-page "https://github.com/alexcrichton/nghttp2-rs")
     (synopsis "FFI bindings for libnghttp2 (nghttp2)")
     (description
      "This package provides FFI bindings for libnghttp2 (nghttp2).")
-    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
@@ -11720,7 +11850,7 @@ pairs in insertion order.")
        (("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-objc" ,rust-objc-0.2)
         ("rust-objc-foundation" ,rust-objc-foundation-0.1)
-        ("rust-regex" ,rust-regex-1.3)
+        ("rust-regex" ,rust-regex-1)
         ("rust-winapi" ,rust-winapi-0.3))))
     (home-page "https://github.com/rust-locale/locale_config/")
     (synopsis "Maintains locale preferences for processes and threads")
@@ -11729,6 +11859,26 @@ pairs in insertion order.")
 by inspecting the system for user preference.")
     (license license:expat)))
 
+(define-public rust-locale-config-0.2
+  (package
+    (inherit rust-locale-config-0.3)
+    (name "rust-locale-config")
+    (version "0.2.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "locale-config" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0p2kdgc1c9cq5bi2rpszbhkh7pdk1fwxhij37gayb2alwkmikb3k"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-winapi" ,rust-winapi-0.3))))))
+
 (define-public rust-lock-api-0.3
   (package
     (name "rust-lock-api")
@@ -11943,7 +12093,7 @@ key-value pairs.")
      `(#:cargo-inputs
        (("rust-ansi-term" ,rust-ansi-term-0.12))
        #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.1))))
+       (("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/sharkdp/lscolors")
     (synopsis "Colorize paths using the LS_COLORS environment variable")
     (description
@@ -12636,7 +12786,7 @@ for Rust structs.")
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-       #:cargo-inputs (("rust-adler32" ,rust-adler32-1.0))))
+       #:cargo-inputs (("rust-adler32" ,rust-adler32-1))))
     (home-page  "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide")
     (synopsis "Pure rust replacement for the miniz DEFLATE/zlib encoder/decoder")
     (description
@@ -12995,7 +13145,7 @@ checking.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-rayon" ,rust-rayon-1.3))))
+       (("rust-rayon" ,rust-rayon-1))))
     (home-page "https://github.com/medek/nasm-rs")
     (synopsis "Run NASM during your Cargo build")
     (description "Run NASM during your Cargo build.")
@@ -13092,7 +13242,7 @@ IO of Windows's named pipes.")
         ("rust-schannel" ,rust-schannel-0.1)
         ("rust-security-framework" ,rust-security-framework-0.3)
         ("rust-security-framework-sys" ,rust-security-framework-sys-0.3)
-        ("rust-tempfile" ,rust-tempfile-3.1))
+        ("rust-tempfile" ,rust-tempfile-3))
        #:cargo-development-inputs
        (("rust-hex" ,rust-hex-0.3))
        #:phases
@@ -13183,6 +13333,79 @@ types as proposed in RFC 1158.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-nettle-7
+  (package
+    (name "rust-nettle")
+    (version "7.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "nettle" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1n6dwy9zba8853bmxzhwaashd3np0wxpx0pj43brm0hb8n2sxbxi"))
+       (patches (search-patches "rust-nettle-disable-vendor.patch"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("clang" ,clang)
+       ("gmp" ,gmp)
+       ("nettle" ,nettle)))
+    (arguments
+     `(#:skip-build? #t ;; provides nothing, has no tests
+       #:cargo-inputs
+       (("rust-getrandom" ,rust-getrandom-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-nettle-sys" ,rust-nettle-sys-2)
+        ("rust-thiserror" ,rust-thiserror-1.0))
+       #:cargo-development-inputs
+       (("rust-bindgen" ,rust-bindgen-0.51)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'set-missing-env-vars
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; FIXME: why do we need to set this?
+             (setenv "LIBCLANG_PATH"
+                     (string-append (assoc-ref inputs "clang") "/lib"))
+             #t)))))
+    (home-page "https://gitlab.com/sequoia-pgp/nettle-rs")
+  (synopsis "Rust bindings for the Nettle cryptographic library")
+  (description "This package provides Rust bindings for the Nettle
+cryptographic library.")
+  (license (list license:lgpl3 license:gpl2 license:gpl3))))
+
+(define-public rust-nettle-sys-2
+  (package
+    (name "rust-nettle-sys")
+    (version "2.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "nettle-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1yq1w6dlcmg89x529i7s20j29afdhgim7qnsa7978fszzwrr6qmq"))
+       (patches (search-patches "rust-nettle-sys-disable-vendor.patch"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("clang" ,clang)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("nettle", nettle)))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-bindgen" ,rust-bindgen-0.51)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page "https://gitlab.com/sequoia-pgp/nettle-sys")
+    (synopsis "Low-level Rust bindings for the Nettle cryptographic library")
+    (description "This package provides low-level Rust bindings for the Nettle
+cryptographic library.")
+    (license ;; licensed under either of these, at your option
+     (list license:lgpl3 license:gpl2 license:gpl3))))
+
 (define-public rust-new-debug-unreachable-1.0
   (package
     (name "rust-new-debug-unreachable")
@@ -13235,7 +13458,7 @@ release (fork of debug_unreachable)")
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-rand" ,rust-rand-0.6)
         ("rust-sysctl" ,rust-sysctl-0.1)
-        ("rust-tempfile" ,rust-tempfile-3.0))))
+        ("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/nix-rust/nix")
     (synopsis "Rust friendly bindings to *nix APIs")
     (description
@@ -13270,7 +13493,7 @@ release (fork of debug_unreachable)")
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-rand" ,rust-rand-0.6)
         ("rust-sysctl" ,rust-sysctl-0.1)
-        ("rust-tempfile" ,rust-tempfile-3.0))))))
+        ("rust-tempfile" ,rust-tempfile-3))))))
 
 (define-public rust-no-panic-0.1
   (package
@@ -13292,7 +13515,7 @@ release (fork of debug_unreachable)")
         ("rust-quote" ,rust-quote-1.0)
         ("rust-syn" ,rust-syn-1.0))
        #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.1))))
+       (("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/dtolnay/no-panic")
     (synopsis "Prove a function can't ever panic")
     (description
@@ -13345,10 +13568,10 @@ implementation (which is unstable / requires nightly).")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-nom-4.2
+(define-public rust-nom-5
   (package
     (name "rust-nom")
-    (version "4.2.3")
+    (version "5.1.2")
     (source
      (origin
        (method url-fetch)
@@ -13357,18 +13580,30 @@ implementation (which is unstable / requires nightly).")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1mkvby8b4m61p4g1px0pwr58yfkphyp1jcfbp4qfp7l6iqdaklia"))))
+         "1br74rwdp3c2ddga03bphnf355spn4mzwf1slg0a30zd4qnjdd7z"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
+     `(#:tests? #f  ; Tests require example directory, not included in tarball.
        #:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-lexical-core" ,rust-lexical-core-0.7)
         ("rust-memchr" ,rust-memchr-2.2)
-        ("rust-regex" ,rust-regex-1.1)
-        ("rust-version-check" ,rust-version-check-0.1))
+        ("rust-regex" ,rust-regex-1)
+        ("rust-version-check" ,rust-version-check-0.9))
        #:cargo-development-inputs
        (("rust-criterion" ,rust-criterion-0.2)
-        ("rust-jemallocator" ,rust-jemallocator-0.1))))
+        ("rust-doc-comment" ,rust-doc-comment-0.3)
+        ("rust-jemallocator" ,rust-jemallocator-0.1))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'override-jemalloc
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((jemalloc (assoc-ref inputs "jemalloc")))
+               (setenv "JEMALLOC_OVERRIDE"
+                       (string-append jemalloc "/lib/libjemalloc_pic.a")))
+             #t)))))
+    (native-inputs
+     `(("jemalloc" ,jemalloc)))
     (home-page "https://github.com/Geal/nom")
     (synopsis
      "Byte-oriented, zero-copy, parser combinators library")
@@ -13377,6 +13612,31 @@ implementation (which is unstable / requires nightly).")
 combinators library.")
     (license license:expat)))
 
+(define-public rust-nom-4.2
+  (package
+    (inherit rust-nom-5)
+    (name "rust-nom")
+    (version "4.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "nom" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mkvby8b4m61p4g1px0pwr58yfkphyp1jcfbp4qfp7l6iqdaklia"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-version-check" ,rust-version-check-0.1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2)
+        ("rust-jemallocator" ,rust-jemallocator-0.1))))))
+
 (define-public rust-nom-3
   (package
     (inherit rust-nom-4.2)
@@ -14233,13 +14493,33 @@ You probably don't want to link to this crate directly; instead check out the
        #:cargo-development-inputs
        (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
         ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-regex" ,rust-regex-1.1))))
+        ("rust-regex" ,rust-regex-1))))
     (home-page "https://github.com/matklad/once_cell")
     (synopsis "Single assignment cells and lazy values")
     (description
      "Single assignment cells and lazy values.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-once-cell-0.1
+  (package
+    (inherit rust-once-cell-1.2)
+    (name "rust-once-cell")
+    (version "0.1.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "once-cell" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0drcjs7si0hygc0v64y55hkxv9fpvlvrb3wl5374b2hnc6i2jb2k"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-parking-lot" ,rust-parking-lot-0.7))
+       #:cargo-development-inputs
+       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6))))))
+
 (define-public rust-oorandom-11.1
   (package
     (name "rust-oorandom")
@@ -14822,7 +15102,7 @@ normally prevent moving a type that has been borrowed from.")
         ("rust-pkg-config" ,rust-pkg-config-0.3))
        #:cargo-development-inputs
        (("rust-shell-words" ,rust-shell-words-0.1)
-        ("rust-tempfile" ,rust-tempfile-3.1))))
+        ("rust-tempfile" ,rust-tempfile-3))))
     (inputs
      `(("pango" ,pango)))
     (home-page "https://gtk-rs.org/")
@@ -14890,7 +15170,7 @@ normally prevent moving a type that has been borrowed from.")
         ("rust-pkg-config" ,rust-pkg-config-0.3))
        #:cargo-development-inputs
        (("rust-shell-words" ,rust-shell-words-0.1)
-        ("rust-tempfile" ,rust-tempfile-3.1))))
+        ("rust-tempfile" ,rust-tempfile-3))))
     (inputs
      `(("gtk+" ,gtk+)))
     (home-page "https://gtk-rs.org/")
@@ -16890,7 +17170,7 @@ macro use case.")
 (define-public rust-proptest-0.9
   (package
     (name "rust-proptest")
-    (version "0.9.4")
+    (version "0.9.6")
     (source
      (origin
        (method url-fetch)
@@ -16899,25 +17179,24 @@ macro use case.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "17sjg8isas4qk85807c4panih9k0lwa4k1mbajhciw5c5q17w56g"))))
+         "0nsslp46lvf3ll5rd83rin652qlz1kqyp0rmsciy0pw4kf0pgi01"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-bit-set" ,rust-bit-set-0.5)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-byteorder" ,rust-byteorder-1.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-quick-error" ,rust-quick-error-1.2)
-        ("rust-rand" ,rust-rand-0.4)
-        ("rust-rand-chacha" ,rust-rand-chacha-0.2)
-        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
+        ("rust-rand" ,rust-rand-0.6)
+        ("rust-rand-chacha" ,rust-rand-chacha-0.1)
+        ("rust-rand-xorshift" ,rust-rand-xorshift-0.1)
         ("rust-regex-syntax" ,rust-regex-syntax-0.6)
         ("rust-rusty-fork" ,rust-rusty-fork-0.2)
-        ("rust-tempfile" ,rust-tempfile-3.0))
+        ("rust-tempfile" ,rust-tempfile-3))
        #:cargo-development-inputs
-       (("rust-regex" ,rust-regex-1.1))))
+       (("rust-regex" ,rust-regex-1))))
     (home-page
      "https://altsysrq.github.io/proptest-book/proptest/index.html")
     (synopsis
@@ -16953,27 +17232,55 @@ macro use case.")
         ("rust-rand" ,rust-rand-0.5)
         ("rust-regex-syntax" ,rust-regex-syntax-0.6)
         ("rust-rusty-fork" ,rust-rusty-fork-0.2)
-        ("rust-tempfile" ,rust-tempfile-3.0))
+        ("rust-tempfile" ,rust-tempfile-3))
        #:cargo-development-inputs
-       (("rust-regex" ,rust-regex-1.1))))))
+       (("rust-regex" ,rust-regex-1))))))
 
-(define-public rust-psm-0.1
+(define-public rust-proptest-0.7
   (package
-    (name "rust-psm")
-    (version "0.1.6")
+    (inherit rust-proptest-0.9)
+    (name "rust-proptest")
+    (version "0.7.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "psm" version))
+        (uri (crate-uri "proptest" version))
         (file-name
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "1q1hdbnp2j3zz1vhzp1xhds6ynan3mg5bhjlhfy5m1sg8n5wckxi"))))
-    (build-system cargo-build-system)
+          "13giz85f7jkjc8miplzj4zh3fr704c1y1cg0dh218iw2dfkpbwi7"))))
     (arguments
-     `(#:cargo-development-inputs
-       (("rust-cc" ,rust-cc-1.0))))
+     `(#:cargo-inputs
+       (("rust-bit-set" ,rust-bit-set-0.5)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.4)
+        ("rust-rusty-fork" ,rust-rusty-fork-0.2)
+        ("rust-tempfile" ,rust-tempfile-3))
+       #:cargo-development-inputs
+       (("rust-regex" ,rust-regex-0.2))))))
+
+(define-public rust-psm-0.1
+  (package
+    (name "rust-psm")
+    (version "0.1.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "psm" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1q1hdbnp2j3zz1vhzp1xhds6ynan3mg5bhjlhfy5m1sg8n5wckxi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0))))
     (home-page "https://github.com/rust-lang/stacker/")
     (synopsis "Stack manipulation and introspection routines")
     (description "This crate provides very portable functions to control the
@@ -17005,7 +17312,7 @@ stack pointer and inspect the properties of the stack.")
        (("rust-criterion" ,rust-criterion-0.2)
         ("rust-html5ever" ,rust-html5ever-0.23)
         ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-tendril" ,rust-tendril-0.4))))
     (home-page "https://github.com/raphlinus/pulldown-cmark")
     (synopsis "Pull parser for CommonMark")
@@ -18102,7 +18409,7 @@ For example creation from raw pointers and start, end pointer
 accessors.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-rayon-1.3
+(define-public rust-rayon-1
   (package
     (name "rust-rayon")
     (version "1.3.0")
@@ -18121,7 +18428,7 @@ accessors.")
        #:cargo-inputs
        (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
         ("rust-either" ,rust-either-1.5)
-        ("rust-rayon-core" ,rust-rayon-core-1.7))
+        ("rust-rayon-core" ,rust-rayon-core-1))
        #:cargo-development-inputs
        (("rust-doc-comment" ,rust-doc-comment-0.3)
         ("rust-docopt" ,rust-docopt-1.1)
@@ -18135,37 +18442,9 @@ accessors.")
      "Simple work-stealing parallelism for Rust.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-rayon-1.1
-  (package
-    (inherit rust-rayon-1.3)
-    (name "rust-rayon")
-    (version "1.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "rayon" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "190hkbcdfvcphyyzkdg52zdia2y9d9yanpm072bmnzbn49p1ic54"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.6)
-        ("rust-either" ,rust-either-1.5)
-        ("rust-rayon-core" ,rust-rayon-core-1.5))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3)
-        ("rust-docopt" ,rust-docopt-1.1)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-rand" ,rust-rand-0.4)
-        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))))
-
 (define-public rust-rayon-0.8
-  (package/inherit rust-rayon-1.3
+  (package
+    (inherit rust-rayon-1)
     (name "rust-rayon")
     (version "0.8.2")
     (source
@@ -18178,7 +18457,7 @@ accessors.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-rayon-core" ,rust-rayon-core-1.7))
+       (("rust-rayon-core" ,rust-rayon-core-1))
       #:cargo-development-inputs
       (("rust-compiletest-rs" ,rust-compiletest-rs-0.2)
        ("rust-docopt" ,rust-docopt-0.7)
@@ -18186,7 +18465,7 @@ accessors.")
        ("rust-rand" ,rust-rand-0.3)
        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))
 
-(define-public rust-rayon-core-1.7
+(define-public rust-rayon-core-1
   (package
     (name "rust-rayon-core")
     (version "1.7.0")
@@ -18218,34 +18497,6 @@ accessors.")
     (description "Core APIs for Rayon.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-rayon-core-1.5
-  (package
-    (inherit rust-rayon-core-1.7)
-    (name "rust-rayon-core")
-    (version "1.5.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "rayon-core" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1ljva6blaf1wmzvg77h1i9pd0hsmsbbcmdk7sjbw7h2s8gw0vgpb"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
-        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)
-        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-num-cpus" ,rust-num-cpus-1.10))
-       #:cargo-development-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-rand" ,rust-rand-0.4)
-        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
-        ("rust-scoped-tls" ,rust-scoped-tls-1.0))))))
-
 (define-public rust-rctree-0.3
   (package
     (name "rust-rctree")
@@ -18498,7 +18749,7 @@ functionality.")
         (base32
          "0av43xxjlinfqklb67rpj217cmaxfjsf8151gs0hbs4hnr5664ck"))))))
 
-(define-public rust-regex-1.3
+(define-public rust-regex-1
   (package
     (name "rust-regex")
     (version "1.3.6")
@@ -18530,36 +18781,9 @@ functionality.")
 uses finite automata and guarantees linear time matching on all inputs.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-regex-1.1
-  (package
-    (inherit rust-regex-1.3)
-    (name "rust-regex")
-    (version "1.1.9")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "regex" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1ba47ivq8l1yikiwikjnq5barag6iqfgcpxlz2263fqbq9y2kn6r"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-aho-corasick" ,rust-aho-corasick-0.7)
-        ("rust-memchr" ,rust-memchr-2.2)
-        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
-        ("rust-thread-local" ,rust-thread-local-0.3)
-        ("rust-utf8-ranges" ,rust-utf8-ranges-1.0))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-quickcheck" ,rust-quickcheck-0.8)
-        ("rust-rand" ,rust-rand-0.6))))))
-
 (define-public rust-regex-0.2
   (package
-    (inherit rust-regex-1.3)
+    (inherit rust-regex-1)
     (name "rust-regex")
     (version "0.2.11")
     (source
@@ -18636,7 +18860,7 @@ uses finite automata and guarantees linear time matching on all inputs.")
        #:cargo-development-inputs
        (("rust-bstr" ,rust-bstr-0.2)
         ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-serde" ,rust-serde-1.0)
         ("rust-serde-bytes" ,rust-serde-bytes-0.11)
         ("rust-serde-derive" ,rust-serde-derive-1.0)
@@ -18687,6 +18911,25 @@ uses finite automata and guarantees linear time matching on all inputs.")
        #:cargo-inputs
        (("rust-ucd-util" ,rust-ucd-util-0.1))))))
 
+(define-public rust-regex-syntax-0.4
+  (package
+    (inherit rust-regex-syntax-0.6)
+    (name "rust-regex-syntax")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "regex-syntax" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "03p24bsfg2rw2cc5h8ri4fp7j06xwyyd5grlqy0g11ixp5c1r4wf"))))
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.6)
+        ("rust-rand" ,rust-rand-0.4))))))
+
 (define-public rust-regex-syntax-0.3
   (package
     (inherit rust-regex-syntax-0.6)
@@ -18781,6 +19024,56 @@ uses finite automata and guarantees linear time matching on all inputs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-ring-0.16
+  (package
+    (name "rust-ring")
+    (version "0.16.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ring" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "033sb54dlmiqdivc8v9ykkq3v08lzy0syjf5k1nag2gfcknai98v"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-spin" ,rust-spin-0.5)
+        ("rust-untrusted" ,rust-untrusted-0.7)
+        ("rust-web-sys" ,rust-web-sys-0.3)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ;; build dependencies
+        ("rust-cc" ,rust-cc-1.0))
+       #:cargo-development-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
+    (home-page "https://github.com/briansmith/ring")
+    (synopsis "Safe, fast, small crypto using Rust")
+    (description "This package provided safe, fast, small crypto using Rust.")
+    (license (list license:isc license:openssl))))
+
+(define-public rust-ring-0.13
+  (package/inherit rust-ring-0.16
+    (name "rust-ring")
+    (version "0.13.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ring" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "12j580by6a438i5mw3136cj3lxylywymdr5p8rqlkwrm5s5bck9c"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-untrusted" ,rust-untrusted-0.6)
+        ;; build dependencies
+        ("rust-cc" ,rust-cc-1.0))))))
+
 (define-public rust-ron-0.4
   (package
     (name "rust-ron")
@@ -18810,6 +19103,98 @@ uses finite automata and guarantees linear time matching on all inputs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rspec-1
+  (package
+    (name "rust-rspec")
+    (version "1.0.0-beta.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rspec" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1abfzwkbxlwahb243k8d3fp6i135lx1aqmbfl79w9zlpng182ndk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t ;; TODO unpackaged dev-dependencies
+       #:cargo-inputs
+       (("rust-colored" ,rust-colored-1.9)
+        ("rust-derive-new" ,rust-derive-new-0.5)
+        ("rust-derive-builder" ,rust-derive-builder-0.5)
+        ("rust-expectest" ,rust-expectest-0.9)
+        ("rust-rayon" ,rust-rayon-0.8))
+       #:cargo-development-inputs
+       (("rust-clippy" ,rust-clippy-0.0)))) ;; requires 0.0.153
+    (home-page "https://github.com/rust-rspec/rspec")
+    (synopsis "Write Rspec-like tests with stable rust")
+    (description "This package helps writing Rspec-like tests with stable
+rust.")
+    (license license:mpl2.0)))
+
+(define-public rust-rpassword-4
+  (package
+    (name "rust-rpassword")
+    (version "4.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rpassword" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "17z99xazhhbaczw0ib1vnnq450j0zacdn8b2zcbdir68sdbicdwr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/conradkleinespel/rpassword")
+    (synopsis "Read passwords in Rust console applications")
+    (description "This package provides a crate for reading passwords in
+console applications.")
+  (license license:asl2.0)))
+
+(define-public rust-rusqlite-0.19
+  (package
+    (name "rust-rusqlite")
+    (version "0.19.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rusqlite" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "19xq7s0kzhlljm3hqx0vidr91ia8hl49r4m5gwdj9dyywgks5g3f"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("sqlite" ,sqlite)))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-chrono" ,rust-chrono-0.4)
+        ("rust-csv" ,rust-csv-1.1)
+        ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
+        ("rust-fallible-streaming-iterator"
+         ,rust-fallible-streaming-iterator-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libsqlite3-sys" ,rust-libsqlite3-sys-0.15)
+        ("rust-lru-cache" ,rust-lru-cache-0.1)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-time" ,rust-time-0.1)
+        ("rust-url" ,rust-url-1.7)
+        ("rust-uuid" ,rust-uuid-0.7))
+       #:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-tempdir" ,rust-tempdir-0.3)
+        ("rust-unicase" ,rust-unicase-2.4)
+        ("rust-uuid" ,rust-uuid-0.7))))
+    (home-page "https://github.com/rusqlite/rusqlite")
+    (synopsis "Wrapper for SQLite")
+    (description "This prackage provides a wrapper for SQLite.")
+    (license license:expat)))
+
 (define-public rust-rust-argon2-0.7
   (package
     (name "rust-rust-argon2")
@@ -19227,7 +19612,7 @@ rustc compiler.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.1))))
+       (("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/GuillaumeGomez/rustdoc-stripper")
     (synopsis "Nanipulate rustdoc comments")
     (description
@@ -19268,6 +19653,69 @@ rustc compiler.")
      "Automatically apply the suggestions made by rustc.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustls-0.16
+  (package
+    (name "rust-rustls")
+    (version "0.16.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustls" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "17n0fx3fpkg4fhpdplrdhkissnl003kj90vzbqag11vkpyqihnmj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;; 1/114 tests fail (test file not found)
+       #:cargo-inputs
+       (("rust-base64" ,rust-base64-0.10)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-ring" ,rust-ring-0.16)
+        ("rust-sct" ,rust-sct-0.6)
+        ("rust-webpki" ,rust-webpki-0.21))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2)
+        ("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-tempfile" ,rust-tempfile-3)
+        ("rust-webpki-roots" ,rust-webpki-roots-0.17))))
+    (home-page "https://github.com/ctz/rustls")
+  (synopsis "Modern TLS library written in Rust")
+  (description "This package provides a modern TLS library written in Rust.")
+  (license (list license:asl2.0 license:isc license:expat))))
+
+(define-public rust-rustls-0.12
+  (package/inherit rust-rustls-0.16
+    (name "rust-rustls")
+    (version "0.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustls" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1k8b8cc0pjkv5cxdgs43jif7nslzsxair9b2sifgvjag7a4f8wmb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;; 1/45 tests fails due to some missing file
+       #:cargo-inputs
+       (("rust-base64" ,rust-base64-0.9)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-ring" ,rust-ring-0.13)
+        ("rust-sct" ,rust-sct-0.3)
+        ("rust-untrusted" ,rust-untrusted-0.6)
+        ("rust-webpki" ,rust-webpki-0.18))
+       #:cargo-development-inputs
+       (("rust-ct-logs" ,rust-ct-logs-0.3)
+        ("rust-docopt" ,rust-docopt-0.8)
+        ("rust-env-logger" ,rust-env-logger-0.4)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-regex" ,rust-regex-0.2)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-webpki-roots" ,rust-webpki-roots-0.14))))))
+
 (define-public rust-rusttype-0.8
   (package
     (name "rust-rusttype")
@@ -19400,7 +19848,7 @@ rustc compiler version.")
        #:cargo-inputs
        (("rust-fnv" ,rust-fnv-1.0)
         ("rust-quick-error" ,rust-quick-error-1.2)
-        ("rust-tempfile" ,rust-tempfile-3.0)
+        ("rust-tempfile" ,rust-tempfile-3)
         ("rust-wait-timeout" ,rust-wait-timeout-0.2))))
     (home-page "https://github.com/altsysrq/rusty-fork")
     (synopsis "Library for running Rust tests in sub-processes")
@@ -19522,7 +19970,7 @@ paths point to the same file.")
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-regex" ,rust-regex-1.3))))
+       (("rust-regex" ,rust-regex-1))))
     (home-page "https://github.com/wlentz/scan_fmt")
     (synopsis "Simple scanf()-like input for Rust")
     (description
@@ -19704,7 +20152,7 @@ endian-aware Read/Write traits for byte buffers.")
         ("rust-rustc-version" ,rust-rustc-version-0.2))
        #:cargo-development-inputs
        (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-rayon" ,rust-rayon-1.1))))
+        ("rust-rayon" ,rust-rayon-1))))
     (home-page "https://github.com/m4b/scroll")
     (synopsis "Read/Write traits for byte buffers")
     (description
@@ -19767,6 +20215,49 @@ Pwrite traits from the scroll crate.")
 Pwrite traits from the scroll crate.")
     (license license:expat)))
 
+(define-public rust-sct-0.6
+  (package
+    (name "rust-sct")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sct" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0g4dz7las43kcpi9vqv9c6l1afjkdv3g3w3s7d2w7a7w77wjl173"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-ring" ,rust-ring-0.16)
+        ("rust-untrusted" ,rust-untrusted-0.7))
+       #:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0))))
+    (home-page "https://github.com/ctz/sct.rs")
+    (synopsis "Certificate transparency SCT verification library")
+    (description "Certificate transparency SCT verification library")
+    (license (list license:asl2.0 license:isc license:expat))))
+
+(define-public rust-sct-0.3
+  (package/inherit rust-sct-0.6
+    (name "rust-sct")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sct" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0z090j3lvy0lqbhmpswm4vb2n4i8dqswy0l93abdx9biipnhlm5l"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-ring" ,rust-ring-0.13)
+        ("rust-untrusted" ,rust-untrusted-0.6))
+       #:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0))))))
+
+
 (define-public rust-seahash-3.0
   (package
     (name "rust-seahash")
@@ -19790,6 +20281,26 @@ Pwrite traits from the scroll crate.")
 proven statistical guarantees.")
     (license license:expat)))
 
+(define-public rust-section-testing-0.0
+  (package
+    (name "rust-section-testing")
+    (version "0.0.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "section-testing" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0a1zwpcs2dqhky2wd8y82cm25l3s9i5dbyn4ypgmvdysizcxgr7c"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/evanw/section_testing")
+    (synopsis "Library for section-style testing")
+    (description
+     "This package provides a library for section-style testing.")
+    (license license:expat)))
+
 (define-public rust-security-framework-0.3
   (package
     (name "rust-security-framework")
@@ -20056,7 +20567,7 @@ proven statistical guarantees.")
 (define-public rust-serde-bytes-0.11
   (package
     (name "rust-serde-bytes")
-    (version "0.11.3")
+    (version "0.11.5")
     (source
      (origin
        (method url-fetch)
@@ -20064,8 +20575,7 @@ proven statistical guarantees.")
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "1bl45kf3c71xclv7wzk5525nswm4bgsnjd3s1s15f4k2a8whfnij"))))
+        (base32 "1fcb6sw8wkrj4ylm118wkb31hw124nkjnqyhbgqnd8w85zfhgbhn"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -20076,8 +20586,7 @@ proven statistical guarantees.")
         ("rust-serde-derive" ,rust-serde-derive-1.0)
         ("rust-serde-test" ,rust-serde-test-1.0))))
     (home-page "https://github.com/serde-rs/bytes")
-    (synopsis
-     "Handle of integer arrays and vectors for Serde")
+    (synopsis "Handle integer arrays and vectors for Serde")
     (description
      "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.")
     (license (list license:expat license:asl2.0))))
@@ -20640,6 +21149,56 @@ for the serde framework.")
      "Assembly implementation of SHA-1 compression function.")
     (license license:expat)))
 
+(define-public rust-sha2-0.8
+  (package
+    (name "rust-sha2")
+    (version "0.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sha2" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1827pplynq0ahxid1xq281kiv56kj2afp7gm97v7gw71sbgll117"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-block-buffer" ,rust-block-buffer-0.7)
+        ("rust-digest" ,rust-digest-0.8)
+        ("rust-fake-simd" ,rust-fake-simd-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-opaque-debug" ,rust-opaque-debug-0.2)
+        ("rust-sha2-asm" ,rust-sha2-asm-0.5))
+       #:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0) ;; FIXME for rust-sha2-asm, why again?
+        ("rust-digest" ,rust-digest-0.8)
+        ("rust-hex-literal" ,rust-hex-literal-0.1))))
+    (home-page "https://github.com/RustCrypto/hashes")
+    (synopsis "SHA-2 hash functions")
+    (description "SHA-2 hash functions")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-sha2-asm-0.5
+  (package
+    (name "rust-sha2-asm")
+    (version "0.5.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sha2-asm" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0k3qwv2yl8fyi2i6cprfb8d874ii5kmcmckgnjkwnz2ac9fayyl1"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-cc" ,rust-cc-1.0)))) ;; build dependency
+    (home-page "https://github.com/RustCrypto/asm-hashes")
+    (synopsis "Assembly implementation of SHA-2")
+    (description "This package provides an assembly implementations of hash
+functions core functionality.")
+    (license license:expat)))
+
 (define-public rust-shader-version-0.6
   (package
     (name "rust-shader-version")
@@ -20955,6 +21514,27 @@ variants in pure Rust.")
      "SipHash functions from rust-core < 1.13.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-skeptic-0.9
+  (package
+    (name "rust-skeptic")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "skeptic" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0savk91xy74izw9z6vn6ialkaqrp81w7dayha801b52h670qszfx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-pulldown-cmark" ,rust-pulldown-cmark-0.0.8)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://github.com/budziq/rust-skeptic")
+    (synopsis "Test your Rust markdown documentation via Cargo")
+    (description "Test your Rust markdown documentation via Cargo")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-skeptic-0.13
   (package
     (name "rust-skeptic")
@@ -21273,7 +21853,7 @@ maximal amount of configuration possible intended.")
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.1))))
+       (("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/derekdreery/sourcefile-rs")
     (synopsis "Concatenate source from multiple files")
     (description
@@ -21345,6 +21925,27 @@ initializers are available.")
          "07ywqn1vrpi3c43fmvsx7pawk9h3rb77yyqbnhap2micl454kb6f"))))
     (arguments '(#:skip-build? #t))))
 
+(define-public rust-spmc-0.3
+  (package
+    (name "rust-spmc")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "spmc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1rgcqgj6b3d0cshi7277akr2xk0cx11rkmviaahy7a3pla6l5a02"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;; tests hang
+       #:cargo-development-inputs
+       (("rust-loom" ,rust-loom-0.2))))
+    (home-page "https://github.com/seanmonstar/spmc")
+    (synopsis "Simple SPMC channel")
+    (description "Simple SPMC channel")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-spsc-buffer-0.1
   (package
     (name "rust-spsc-buffer")
@@ -21447,10 +22048,10 @@ deeply recursive algorithms that may accidentally blow the stack.")
      "StackVec: vector-like facade for stack-allocated arrays.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-static-assertions-0.3
+(define-public rust-static-assertions-1
   (package
     (name "rust-static-assertions")
-    (version "0.3.4")
+    (version "1.1.0")
     (source
       (origin
         (method url-fetch)
@@ -21458,7 +22059,7 @@ deeply recursive algorithms that may accidentally blow the stack.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz"))))
+          "0gsl6xmw10gvn3zs1rv99laj5ig7ylffnh71f9l34js4nr4r7sx2"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/nvzqz/static-assertions-rs")
     (synopsis "Compile-time assertions for rust")
@@ -21467,6 +22068,20 @@ deeply recursive algorithms that may accidentally blow the stack.")
 are met.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-static-assertions-0.3
+  (package
+    (inherit rust-static-assertions-1)
+    (name "rust-static-assertions")
+    (version "0.3.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "static-assertions" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz"))))))
+
 (define-public rust-stb-truetype-0.3
   (package
     (name "rust-stb-truetype")
@@ -21686,6 +22301,26 @@ crate.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-string-0.2
+  (package
+    (name "rust-string")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "string" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0vaxz85ja52fn66akgvggb29wqa5bpj3y38syykpr1pbrjzi8hfj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-0.4))))
+    (home-page "https://github.com/carllerche/string")
+    (synopsis "UTF-8 encoded string with configurable byte storage")
+    (description "This package provides a UTF-8 encoded string with
+configurable byte storage.")
+    (license license:expat)))
+
 (define-public rust-string-cache-0.7
   (package
     (name "rust-string-cache")
@@ -22032,9 +22667,9 @@ cryptographic implementations.")
        (("rust-anyhow" ,rust-anyhow-1.0)
         ("rust-flate2" ,rust-flate2-1.0)
         ;("rust-insta" ,rust-insta-0.12)
-        ("rust-rayon" ,rust-rayon-1.3)
+        ("rust-rayon" ,rust-rayon-1)
         ("rust-ref-cast" ,rust-ref-cast-1.0)
-        ("rust-regex" ,rust-regex-1.3)
+        ("rust-regex" ,rust-regex-1)
         ;("rust-reqwest" ,rust-reqwest-0.10)
         ("rust-tar" ,rust-tar-0.4)
         ("rust-termcolor" ,rust-termcolor-1.0)
@@ -22066,9 +22701,9 @@ cryptographic implementations.")
         ("rust-unicode-xid" ,rust-unicode-xid-0.1))
        #:cargo-development-inputs
        (("rust-insta" ,rust-insta-0.8)
-        ("rust-rayon" ,rust-rayon-1.1)
+        ("rust-rayon" ,rust-rayon-1)
         ("rust-ref-cast" ,rust-ref-cast-0.2)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-termcolor" ,rust-termcolor-1.0)
         ("rust-walkdir" ,rust-walkdir-2.2))))
     (properties '())))
@@ -22608,7 +23243,7 @@ deleting all contents when it's dropped.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-tempfile-3.1
+(define-public rust-tempfile-3
   (package
     (name "rust-tempfile")
     (version "3.1.0")
@@ -22633,33 +23268,10 @@ deleting all contents when it's dropped.")
     (home-page "https://stebalien.com/projects/tempfile-rs")
     (synopsis "Library for managing temporary files and directories")
     (description
-     "This package provides a library for managing temporary files and
-directories.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-tempfile-3.0
-  (package
-    (inherit rust-tempfile-3.1)
-    (name "rust-tempfile")
-    (version "3.0.8")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "tempfile" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1vqk7aq2l04my2r3jiyyxirnf8f90nzcvjasvrajivb85s7p7i3x"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-rand" ,rust-rand-0.6)
-        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
-        ("rust-remove-dir-all" ,rust-remove-dir-all-0.5)
-        ("rust-winapi" ,rust-winapi-0.3))))))
+     "This package provides a library for managing temporary files and
+directories.")
+    (license (list license:asl2.0
+                   license:expat))))
 
 (define-public rust-tendril-0.4
   (package
@@ -22753,6 +23365,22 @@ directories.")
        (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
         ("rust-winapi" ,rust-winapi-0.2))))))
 
+(define-public rust-term-0.2
+  (package/inherit rust-term-0.4
+    (name "rust-term")
+    (version "0.2.14")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "term" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32 "109jmzddq1kz6wm2ndgddy7yrlqcw2i36ygxl0fcymc0sda7w1zj"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-winapi" ,rust-winapi-0.2))))))
+
 (define-public rust-term-grid-0.1
   (package
     (name "rust-term-grid")
@@ -23204,7 +23832,7 @@ fixed set of worker threads.")
         ("rust-num-derive" ,rust-num-derive-0.2)
         ("rust-num-traits" ,rust-num-traits-0.2))
        #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.0))))
+       (("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/image-rs/image-tiff")
     (synopsis
      "TIFF decoding and encoding library in pure Rust")
@@ -23292,6 +23920,51 @@ in Rust.")
      "Simple, lightweight template engine.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-tokio-0.2
+  (package
+    (name "rust-tokio")
+    (version "0.2.21")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0n1dxsjv9fxv3kmr3nh4n8v8pqckwgdlls942msysavhp4kzm6fh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.5)
+        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-futures-core" ,rust-futures-core-0.3)
+        ("rust-iovec" ,rust-iovec-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1)
+        ("rust-mio-uds" ,rust-mio-uds-0.6)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-parking-lot" ,rust-parking-lot-0.10)
+        ("rust-pin-project-lite" ,rust-pin-project-lite-0.1)
+        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1.2)
+        ("rust-slab" ,rust-slab-0.4)
+        ("rust-tokio-macros" ,rust-tokio-macros-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))
+      #:cargo-development-inputs
+      (("rust-futures" ,rust-futures-0.3)
+       ("rust-loom" ,rust-loom-0.3)
+       ("rust-proptest" ,rust-proptest-0.9)
+       ("rust-tempfile" ,rust-tempfile-3)
+       ("rust-tokio-test" ,rust-tokio-test-0.2))))
+    (home-page "https://tokio.rs")
+    (synopsis "Event-driven, non-blocking I/O platform")
+    (description
+     "An event-driven, non-blocking I/O platform for writing asynchronous I/O
+backed applications.")
+    (license license:expat)))
+
 (define-public rust-tokio-0.1
   (package
     (name "rust-tokio")
@@ -23346,6 +24019,30 @@ in Rust.")
 backed applications.")
     (license license:expat)))
 
+(define-public rust-tokio-buf-0.1
+  (package
+    (name "rust-tokio-buf")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-buf" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0inwrkh8knqy44mr9h2i305zyy4pxhfy90y0gr5rm1akdks21clg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-either" ,rust-either-1.5)
+        ("rust-futures" ,rust-futures-0.1))
+       #:cargo-development-inputs
+       (("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1))))
+    (home-page "https://tokio.rs")
+    (synopsis "Asynchronous stream of byte buffers")
+    (description "Asynchronous stream of byte buffers")
+    (license license:expat)))
+
 ;; Cyclic dependency with tokio-io
 (define-public rust-tokio-codec-0.1
   (package
@@ -23499,7 +24196,7 @@ the current thread.")
        #:cargo-development-inputs
        (("rust-rand" ,rust-rand-0.4)
         ("rust-tempdir" ,rust-tempdir-0.3)
-        ("rust-tempfile" ,rust-tempfile-3.0)
+        ("rust-tempfile" ,rust-tempfile-3)
         ("rust-tokio" ,rust-tokio-0.1)
         ("rust-tokio-codec" ,rust-tokio-codec-0.1)
         ("rust-tokio-io" ,rust-tokio-io-0.1))))
@@ -23568,6 +24265,31 @@ the current thread.")
 futures efficiently")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-tokio-macros-0.2
+  (package
+    (name "rust-tokio-macros")
+    (version "0.2.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-macros" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1283aq0l7rnh79zzqk4r34dgimvwcymrzmg1yah9ai2nmb3arhzh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;; FIXME tests use bytes-0.5, require Rust >= 1.39
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))
+       #:cargo-development-inputs
+       (("rust-tokio" ,rust-tokio-0.2))))
+    (home-page "https://tokio.rs")
+    (synopsis "Tokio's proc macros")
+    (description "This package provides Tokio's proc macros.")
+    (license license:expat)))
+
 (define-public rust-tokio-mock-task-0.1
   (package
     (name "rust-tokio-mock-task")
@@ -23589,6 +24311,56 @@ futures efficiently")
     (description "Mock a Tokio task.")
     (license license:expat)))
 
+(define-public rust-tokio-mockstream-1
+  (package
+    (name "rust-tokio-mockstream")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-mockstream" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0mg1i39cl8x32wxwbn74hlirks8a6f3g0gfzkb0n0zwbxwvc9gs1"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1))
+       #:cargo-development-inputs
+       (("rust-bytes" ,rust-bytes-0.4))))
+    (home-page "https://github.com/aatxe/tokio-mockstream")
+    (synopsis "Fake stream for testing network applications backed by
+buffers")
+    (description "This package provides a fake stream for testing network
+applications backed by buffers.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-tokio-named-pipes-0.1
+  (package
+    (name "rust-tokio-named-pipes")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-named-pipes" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1bjy59wdl2anl22w6qyzkff1afv7ynayfpms10iqna2j6142sa4x"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1)
+        ("rust-tokio" ,rust-tokio-0.1))))
+    (home-page "https://github.com/nikvolf/tokio-named-pipes")
+    (synopsis "Windows named pipe bindings for tokio")
+    (description "This package provides bindings for Windows named pipe for
+Tokio.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-tokio-process-0.2
   (package
     (name "rust-tokio-process")
@@ -23668,6 +24440,37 @@ futures.")
      "Event loop that drives Tokio I/O resources.")
     (license license:expat)))
 
+(define-public rust-tokio-rustls-0.12
+  (package
+    (name "rust-tokio-rustls")
+    (version "0.12.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-rustls" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1k6rpw4nmgsamh8vbf8xqrf4rr5sqs18i93561bydflajz0gw6hl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t ;; FIXME requires Rust >= 1.39 for building
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.5)
+        ("rust-futures-core" ,rust-futures-core-0.3)
+        ("rust-rustls" ,rust-rustls-0.16)
+        ("rust-tokio" ,rust-tokio-0.2)
+        ("rust-webpki" ,rust-webpki-0.21))
+       #:cargo-development-inputs
+       (("rust-futures-util" ,rust-futures-util-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-tokio" ,rust-tokio-0.2)
+        ("rust-webpki-roots" ,rust-webpki-roots-0.18))))
+    (home-page "https://github.com/quininer/tokio-rustls")
+    (synopsis "Asynchronous TLS/SSL streams for Tokio using Rustls")
+    (description "This package provides asynchronous TLS/SSL streams for Tokio
+using Rustls.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-tokio-signal-0.2
   (package
     (name "rust-tokio-signal")
@@ -23733,6 +24536,32 @@ futures.")
     (description "Synchronization utilities.")
     (license license:expat)))
 
+(define-public rust-tokio-test-0.2
+  (package
+    (name "rust-tokio-test")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-test" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0v81p2n853b1kzyla3dbfmnazirn6s3n8p3z8k20bmdn370lj07d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t ;; FIXME requires Rust >= 1.39 for building
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.5)
+        ("rust-futures-core" ,rust-futures-core-0.3)
+        ("rust-tokio" ,rust-tokio-0.2))
+       #:cargo-development-inputs
+       (("rust-futures-util" ,rust-futures-util-0.3)
+        ("rust-tokio" ,rust-tokio-0.2))))
+    (home-page "https://tokio.rs")
+    (synopsis "Testing utilities for Tokio- and futures-based code")
+    (description "Testing utilities for Tokio- and futures-based code")
+    (license license:expat)))
+
 (define-public rust-tokio-tcp-0.1
   (package
     (name "rust-tokio-tcp")
@@ -23914,7 +24743,7 @@ pool.")
         ("rust-tokio-io" ,rust-tokio-io-0.1)
         ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
        #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.0)
+       (("rust-tempfile" ,rust-tempfile-3)
         ("rust-tokio" ,rust-tokio-0.1))))
     (home-page "https://github.com/tokio-rs/tokio")
     (synopsis "Unix Domain sockets for Tokio")
@@ -24193,7 +25022,7 @@ implementation is incomplete.")
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-regex" ,rust-regex-1.1))))
+        ("rust-regex" ,rust-regex-1))))
     (home-page "https://github.com/BurntSushi/ucd-generate")
     (synopsis "Parse data files in the Unicode character database")
     (description
@@ -24607,6 +25436,18 @@ whitespace from a string.")
 untrusted inputs in Rust.")
     (license license:isc)))
 
+(define-public rust-untrusted-0.6
+  (package/inherit rust-untrusted-0.7
+    (name "rust-untrusted")
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "untrusted" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0byf88b7ca1kb5aap8f6npp6xncvg95dnma8ipmnmd4n9r5izkam"))))))
+
 (define-public rust-url-2.1
   (package
     (name "rust-url")
@@ -25016,15 +25857,14 @@ designed for reexporting.")
 (define-public rust-version-check-0.9
   (package
     (name "rust-version-check")
-    (version "0.9.1")
+    (version "0.9.2")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "version_check" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
-         (base32
-          "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7"))))
+         (base32 "1vbaqdf802qinsq8q20w8w0qn2pv0rkq5p73ijcblrwxcvjp5adm"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/SergioBenitez/version_check")
     (synopsis "Check that the installed rustc meets some version requirements")
@@ -25071,7 +25911,7 @@ If that fails, no determination is made, and calls return None.")
        (("rust-itertools" ,rust-itertools-0.8)
         ("rust-proc-macro2" ,rust-proc-macro2-0.4)
         ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.4)
-        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex" ,rust-regex-1)
         ("rust-semver-parser" ,rust-semver-parser-0.9)
         ("rust-syn" ,rust-syn-0.15)
         ("rust-toml" ,rust-toml-0.5)
@@ -25275,6 +26115,29 @@ specified across Unix and Windows platforms.")
         ("rust-rand" ,rust-rand-0.3)
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))
 
+(define-public rust-want-0.2
+  (package
+    (name "rust-want")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "want" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0c52g7b4hhj033jc56sx9z3krivyciz0hlblixq2gc448zx5wfdn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;; 2/5 tests fail
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-try-lock" ,rust-try-lock-0.2))))
+    (home-page "https://github.com/seanmonstar/want")
+    (synopsis "Detect when another Future wants a result")
+    (description "Detect when another Future wants a result.")
+    (license license:expat)))
+
 (define-public rust-wasi-0.9
   (package
     (name "rust-wasi")
@@ -25724,7 +26587,7 @@ attribute that is not in the shared backend crate.")
         ("rust-wayland-scanner" ,rust-wayland-scanner-0.23))
        #:cargo-development-inputs
        (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-tempfile" ,rust-tempfile-3.1))))
+        ("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/smithay/wayland-rs")
     (synopsis
      "Rust bindings to the standard C implementation of the wayland protocol")
@@ -25760,7 +26623,7 @@ the wayland protocol, client side.")
         ("rust-wayland-scanner" ,rust-wayland-scanner-0.21))
        #:cargo-development-inputs
        (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-tempfile" ,rust-tempfile-3.1))))))
+        ("rust-tempfile" ,rust-tempfile-3))))))
 
 (define-public rust-wayland-commons-0.23
   (package
@@ -26030,6 +26893,97 @@ protocol extensions.  Look at the crate wayland-client for usable bindings.")
      "Bindings for all Web APIs, a procedurally generated crate from WebIDL.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-webpki-0.21
+  (package
+    (name "rust-webpki")
+    (version "0.21.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "webpki" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1vv3x2alvczfy6jhx79c9h00d1nliqf7s5jlvcd6npc6f8chxxgi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;; tests fail to build "missing file tests/ed25519/ee.der"
+       #:cargo-inputs
+       (("rust-ring" ,rust-ring-0.16)
+        ("rust-untrusted" ,rust-untrusted-0.7))
+       #:cargo-development-inputs
+       (("rust-base64" ,rust-base64-0.9))))
+    (home-page "https://github.com/briansmith/webpki")
+    (synopsis "Web PKI X.509 Certificate Verification")
+    (description "This packge provides Web PKI X.509 Certificate
+Verification.")
+    (license license:isc)))
+
+(define-public rust-webpki-0.18
+  (package/inherit rust-webpki-0.21
+    (name "rust-webpki")
+    (version "0.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "webpki" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0zx1v8afa4ig97dyqfrnlj5i7pib6dnfw88qn2iiqhfq2rrrdmqp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-ring" ,rust-ring-0.13)
+        ("rust-untrusted" ,rust-untrusted-0.6))
+       #:cargo-development-inputs
+       (("rust-base64" ,rust-base64-0.9))))))
+
+(define-public rust-webpki-roots-0.18
+  (package
+    (name "rust-webpki-roots")
+    (version "0.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "webpki-roots" version))
+      (file-name (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32 "1d4ss607rgi9pj01zzqa13c1p3m35z314yh6lmjaj4kzvwv5gkci"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-webpki" ,rust-webpki-0.21))))
+    (home-page "https://github.com/ctz/webpki-roots")
+    (synopsis "Mozilla's CA root certificates for use with webpki")
+    (description "Mozilla's CA root certificates for use with webpki")
+    (license license:mpl2.0)))
+
+(define-public rust-webpki-roots-0.17
+  (package/inherit rust-webpki-roots-0.18
+    (name "rust-webpki-roots")
+    (version "0.17.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "webpki-roots" version))
+      (file-name (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32 "12vi8dh0yik0h4f0b9dnlw5i3gxyky7iblbksh6zcq4xvlvswqm2"))))))
+
+(define-public rust-webpki-roots-0.14
+  (package/inherit rust-webpki-roots-0.18
+    (name "rust-webpki-roots")
+    (version "0.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "webpki-roots" version))
+      (file-name (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32 "05zw919077i3jadbvdsvl69wv2siijg2pjbykl6fyi7hmgb7bggd"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-untrusted" ,rust-untrusted-0.6)
+        ("rust-webpki" ,rust-webpki-0.18))))))
+
 (define-public rust-weedle-0.10
   (package
     (name "rust-weedle")
@@ -26589,7 +27543,7 @@ color in a Windows console.")
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2))
        #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.0))))
+       (("rust-tempfile" ,rust-tempfile-3))))
     (home-page "https://github.com/Stebalien/xattr")
     (synopsis "Unix extended filesystem attributes")
     (description
@@ -26656,7 +27610,7 @@ to XDG Base Directory specification")
 (define-public rust-xml-rs-0.8
   (package
     (name "rust-xml-rs")
-    (version "0.8.1")
+    (version "0.8.3")
     (source
      (origin
        (method url-fetch)
@@ -26665,7 +27619,14 @@ to XDG Base Directory specification")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0c905wsmk995xypxljpxzq6vv660r1pzgyrpsfiz13kw3hf0dzcs"))))
+         "12ndxyhzxw2zdr76ql8nfdwb2vwhvdkrxwk4pbjafqfglmjv0zdh"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; 'doctest' isn't stable until rust-1.40
+           (substitute* "src/lib.rs"
+             (("\\(doctest") "(test"))
+           #t))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-development-inputs
@@ -26699,22 +27660,20 @@ to XDG Base Directory specification")
 (define-public rust-yaml-rust-0.4
   (package
     (name "rust-yaml-rust")
-    (version "0.4.3")
+    (version "0.4.4")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "yaml-rust" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "0ka3qhqc5lvk3hz14wmsj32jhmh44blcbfrx5hfxli2gg38kv4k5"))))
+        (base32 "038byay0dxsz6isckviz4qshfpyjqmyvda7pq96i6d53y4ickw1r"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-linked-hash-map" ,rust-linked-hash-map-0.5))
        #:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck-0.7))))
+       (("rust-quickcheck" ,rust-quickcheck-0.9))))
     (home-page "https://chyh1990.github.io/yaml-rust/")
     (synopsis "The missing YAML 1.2 parser for rust")
     (description
@@ -26739,6 +27698,29 @@ to XDG Base Directory specification")
        (("rust-clippy" ,rust-clippy-0.0)
         ("rust-linked-hash-map" ,rust-linked-hash-map-0.3))))))
 
+(define-public rust-zbase32-0.1
+  (package
+    (name "rust-zbase32")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zbase32" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0gz3nmiaidscb5c85rh3qxi8i584gz5xm3amlxqminl8jq27k40g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t ;; dependency cypthon not yet availalbe
+       #:cargo-development-inputs
+       (;; ("rust-cpython" ,rust-cpython-0.2)  TODO
+        ("rust-quickcheck" ,rust-quickcheck-0.7)
+        ("rust-rand" ,rust-rand-0.6))))
+    (home-page "https://gitlab.com/pgerber/zbase32-rust")
+    (synopsis "Implementation of zbase32")
+    (description "This package provides an implementation of zbase32.")
+    (license license:lgpl3+)))
+
 (define-public rust-zip-0.5
   (package
     (name "rust-zip")