gnu: Add rust-tokio-rustls-0.22.
[jackhill/guix/guix.git] / gnu / packages / crates-io.scm
index 1eca11a..6202326 100644 (file)
@@ -14,6 +14,7 @@
 ;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
 ;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
 ;;; Copyright @ 2021 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1037,6 +1038,33 @@ Rust, using gimli.")
         ("rust-memmap" ,rust-memmap-0.7)
         ("rust-rustc-test" ,rust-rustc-test-0.3))))))
 
+(define-public rust-adler-0.2
+  (package
+    (name "rust-adler")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "adler" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0zpdsrfq5bd34941gmrlamnzjfbsx0x586afb7b0jqhr8g1lwapf"))))
+    (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))))
+    (home-page "https://github.com/jonas-schievink/adler")
+    (synopsis "Implementation of the Adler-32 checksum")
+    (description
+     "This crate provides a simple implementation of the Adler-32
+checksum, used in the zlib compression format.")
+    (license
+     (list license:expat
+           license:asl2.0
+           (license:non-copyleft "https://spdx.org/licenses/0BSD.html")))))
+
 (define-public rust-adler32-1
   (package
     (name "rust-adler32")
@@ -1876,8 +1904,38 @@ on every platform.")
          "153awzwywmb61xg857b80l63b1x6hifx2pha7lxf6fck9qxwraq8"))))
     (arguments '())))
 
+(define-public rust-arbitrary-0.4
+  (package
+    (name "rust-arbitrary")
+    (version "0.4.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "arbitrary" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0sa55cynafwzvlhyhfpm3vmi2fydj3ipdj5yfbaif7l56cixfmfv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-derive-arbitrary" ,rust-derive-arbitrary-0.4))))
+    (home-page "https://github.com/nagisa/rust_arbitrary")
+    (synopsis "Trait for generating structured data from unstructured data")
+    (description
+     "The @code{Arbitrary} crate lets you construct arbitrary instance of
+a type.
+
+This crate is primarily intended to be combined with a fuzzer like
+@code{libFuzzer} and @code{cargo-fuzz} or AFL, and to help you turn the raw,
+untyped byte buffers that they produce into well-typed, valid, structured
+values.  This allows you to combine structure-aware test case generation with
+coverage-guided, mutation-based fuzzers.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-arbitrary-0.2
   (package
+    (inherit rust-arbitrary-0.4)
     (name "rust-arbitrary")
     (version "0.2.0")
     (source
@@ -1888,12 +1946,39 @@ on every platform.")
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1i3fhcdyjq4isn22xx2svmpfr5hwyzi0wavbm07fs8i2dv5pdkv4"))))
+            "1i3fhcdyjq4isn22xx2svmpfr5hwyzi0wavbm07fs8i2dv5pdkv4"))))))
+
+(define-public rust-arboard-1
+  (package
+    (name "rust-arboard")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "arboard" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0wpyv732fxkplmiwik1sbgdlnbk748w1aqpkc71gn5lm2ns9w545"))))
     (build-system cargo-build-system)
-    (home-page "https://github.com/nagisa/rust_arbitrary/")
-    (synopsis "Trait for generating structured data from unstructured data")
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clipboard-win" ,rust-clipboard-win-4)
+        ("rust-core-graphics" ,rust-core-graphics-0.21)
+        ("rust-image" ,rust-image-0.23)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-objc" ,rust-objc-0.2)
+        ("rust-objc-foundation" ,rust-objc-foundation-0.1)
+        ("rust-objc-id" ,rust-objc-id-0.1)
+        ("rust-scopeguard" ,rust-scopeguard-1)
+        ("rust-thiserror" ,rust-thiserror-1)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-xcb" ,rust-xcb-0.9))))
+    (home-page "https://github.com/ArturKovacs/arboard")
+    (synopsis "Image and text handling for the OS clipboard")
     (description
-     "The trait for generating structured data from unstructured data.")
+     "This package provides image and text handling for the OS clipboard.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-arc-swap-1
@@ -2033,7 +2118,7 @@ that runs on Argon2.")
 (define-public rust-arrayvec-0.5
   (package
     (name "rust-arrayvec")
-    (version "0.5.1")
+    (version "0.5.2")
     (source
      (origin
        (method url-fetch)
@@ -2042,7 +2127,7 @@ that runs on Argon2.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1f5mca8kiiwhvhxd1mbnq68j6v6rk139sch567zwwzl6hs37vxyg"))))
+         "12q6hn01x5435bprwlb7w9m7817dyfq55yrl4psygr78bp32zdi3"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -2527,29 +2612,32 @@ AsyncSeek if the inner type does.")
     (description "This library provides async executors.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-async-global-executor-1
+(define-public rust-async-global-executor-2
   (package
     (name "rust-async-global-executor")
-    (version "1.4.3")
+    (version "2.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "async-global-executor" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "017s1lik153s587l6q9x5bf9i1n7gxqcg3zn2mdgvf16rm4rn1vk"))))
+        (base32 "1xjacr43sbz2zk0zygpd9k14n95wa61x8n9i8mcdwdkz659fr1lm"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-async-executor" ,rust-async-executor-1)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-async-channel" ,rust-async-channel-1)
+        ("rust-async-executor" ,rust-async-executor-1)
         ("rust-async-io" ,rust-async-io-1)
+        ("rust-async-mutex" ,rust-async-mutex-1)
+        ("rust-blocking" ,rust-blocking-1)
         ("rust-futures-lite" ,rust-futures-lite-1)
         ("rust-num-cpus" ,rust-num-cpus-1)
         ("rust-once-cell" ,rust-once-cell-1)
+        ("rust-tokio" ,rust-tokio-1)
         ("rust-tokio" ,rust-tokio-0.2)
-        ("rust-tokio" ,rust-tokio-0.3))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3))))
+        ("rust-tokio" ,rust-tokio-0.3))))
     (home-page "https://github.com/async-rs/async-global-executor")
     (synopsis "Global executor built on top of @code{async-executor} and
 @code{async-io}")
@@ -2558,6 +2646,61 @@ AsyncSeek if the inner type does.")
 @code{async-executor} and @code{async-io}.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-async-global-executor-1
+  (package
+    (inherit rust-async-global-executor-2)
+    (name "rust-async-global-executor")
+    (version "1.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "async-global-executor" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "017s1lik153s587l6q9x5bf9i1n7gxqcg3zn2mdgvf16rm4rn1vk"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-async-executor" ,rust-async-executor-1)
+        ("rust-async-io" ,rust-async-io-1)
+        ("rust-futures-lite" ,rust-futures-lite-1)
+        ("rust-num-cpus" ,rust-num-cpus-1)
+        ("rust-once-cell" ,rust-once-cell-1)
+        ("rust-tokio" ,rust-tokio-0.2)
+        ("rust-tokio" ,rust-tokio-0.3))
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment-0.3))))))
+
+(define-public rust-async-h1-2
+  (package
+    (name "rust-async-h1")
+    (version "2.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "async-h1" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1p6ls50p1ixnxrhmx4sdb5d2kqrl1kfhcb0lkqlhzzqjz1sqmip5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-async-channel" ,rust-async-channel-1)
+        ("rust-async-dup" ,rust-async-dup-1)
+        ("rust-async-std" ,rust-async-std-1)
+        ("rust-byte-pool" ,rust-byte-pool-0.2)
+        ("rust-futures-core" ,rust-futures-core-0.3)
+        ("rust-http-types" ,rust-http-types-2)
+        ("rust-httparse" ,rust-httparse-1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-pin-project" ,rust-pin-project-1))))
+    (home-page "https://github.com/http-rs/async-h1")
+    (synopsis "Asynchronous HTTP 1.1 parser")
+    (description
+     "This package provides an asynchronous HTTP 1.1 parser.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-async-io-1
   (package
     (name "rust-async-io")
@@ -2601,6 +2744,27 @@ types (and many other types) to use in async programs, and Timer, a future
 that expires at a point in time.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-async-lock-2
+  (package
+    (name "rust-async-lock")
+    (version "2.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "async-lock" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1yrvnshs94aiimvprqkhcg1z7x9abzsja8f4ifcakr5x6abn15hr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-event-listener" ,rust-event-listener-2))))
+    (home-page "https://github.com/stjepang/async-lock")
+    (synopsis "Async synchronization primitives")
+    (description "This package provides Async synchronization primitives.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-async-log-1
   (package
     (name "rust-async-log")
@@ -2821,8 +2985,79 @@ implementing async state machines that can later be wrapped in dedicated
 futures.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-async-recursion-0.3
+  (package
+    (name "rust-async-recursion")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "async-recursion" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "18npixkwglnpvjgp89fpcyzf820ngx3a1hxp4hqbkw81p9b8dmyp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/dcchut/async-recursion")
+    (synopsis "Recursion for async functions")
+    (description
+     "This package provides a procedural macro for recursive async
+functions.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-async-std-1
+  (package
+    (name "rust-async-std")
+    (version "1.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "async-std" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0h834fni3npsggjqin8386d2fn11m2z42dr1ymq0aknppa2ndw6r"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-async-attributes" ,rust-async-attributes-1)
+        ("rust-async-channel" ,rust-async-channel-1)
+        ("rust-async-global-executor" ,rust-async-global-executor-2)
+        ("rust-async-io" ,rust-async-io-1)
+        ("rust-async-lock" ,rust-async-lock-2)
+        ("rust-async-process" ,rust-async-process-1)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
+        ("rust-futures-channel" ,rust-futures-channel-0.3)
+        ("rust-futures-core" ,rust-futures-core-0.3)
+        ("rust-futures-io" ,rust-futures-io-0.3)
+        ("rust-futures-lite" ,rust-futures-lite-1)
+        ("rust-gloo-timers" ,rust-gloo-timers-0.2)
+        ("rust-kv-log-macro" ,rust-kv-log-macro-1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-memchr" ,rust-memchr-2)
+        ("rust-num-cpus" ,rust-num-cpus-1)
+        ("rust-once-cell" ,rust-once-cell-1)
+        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
+        ("rust-pin-utils" ,rust-pin-utils-0.1)
+        ("rust-slab" ,rust-slab-0.4)
+        ("rust-surf" ,rust-surf-2)
+        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4))))
+    (home-page "https://async.rs")
+    (synopsis "Async version of the Rust standard library")
+    (description
+     "This crate provides an async version of @code{std}.  It provides all the
+interfaces you are used to, but in an async version and ready for Rust's
+@code{async/await} syntax.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-async-std-0.99
   (package
+    (inherit rust-async-std-1)
     (name "rust-async-std")
     (version "0.99.12")
     (source
@@ -2833,7 +3068,6 @@ futures.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1k34181r1xzalyf7alka0ibnbqll6s5l435ycydm7fv1g6gill24"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-test-flags '("--release" "--" "--skip=io_timeout")
        #:cargo-inputs
@@ -2860,14 +3094,7 @@ futures.")
        #:cargo-development-inputs
        (("rust-femme" ,rust-femme-1)
         ("rust-futures" ,rust-futures-0.3)
-        ("rust-tempdir" ,rust-tempdir-0.3))))
-    (home-page "https://async.rs")
-    (synopsis "Async version of the Rust standard library")
-    (description
-     "This crate provides an async version of @code{std}.  It provides all the
-interfaces you are used to, but in an async version and ready for Rust's
-@code{async/await} syntax.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-tempdir" ,rust-tempdir-0.3))))))
 
 (define-public rust-async-stream-0.3
   (package
@@ -3180,6 +3407,36 @@ methods.")
 in Rust.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-av-metrics-0.6
+  (package
+    (name "rust-av-metrics")
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "av-metrics" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1g4k2q3226246jad3jl8pny7aphq8i03x4qyilzj4zgp27350hsz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam" ,rust-crossbeam-0.8)
+        ("rust-itertools" ,rust-itertools-0.10)
+        ("rust-lab" ,rust-lab-0.8)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-thiserror" ,rust-thiserror-1)
+        ("rust-v-frame" ,rust-v-frame-0.2))))
+    (home-page "https://github.com/rust-av/av-metrics")
+    (synopsis "Collection of algorithms for measuring audio/video metrics")
+    (description
+     "This package provides a collection of algorithms for measuring
+audio/video metrics.")
+    (license license:expat)))
+
 (define-public rust-average-0.9
   (package
     (inherit rust-average-0.10)
@@ -3516,6 +3773,24 @@ c6e7d37.  However, this package works only up to 128 bytes.")
        #:cargo-development-inputs
        (("rust-rand" ,rust-rand-0.4))))))
 
+(define-public rust-base64-0.6
+  (package
+    (inherit rust-base64-0.13)
+    (name "rust-base64")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "base64" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1ja3c7wlzp3sb14f2ksp27x1mk8ycgh1391nnd7fvw01fnc4yhwn"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-safemem" ,rust-safemem-0.2))))))
+
 (define-public rust-base-x-0.2
   (package
     (name "rust-base-x")
@@ -4299,29 +4574,42 @@ behave like a set of bitflags.")
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))))
 
-(define-public rust-bitstream-io-0.8
+(define-public rust-bitstream-io-1
   (package
     (name "rust-bitstream-io")
-    (version "0.8.5")
+    (version "1.0.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "bitstream-io" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "00a6wy54s1dmadm5xz8k2cbsd7ixvm48mlc45bk0fdy0pbra6jk1"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bitstream-io" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "01pyk3pipwcbaghi7f0lmp3izjl902cv21yf4b1v5nipkrrrqlq3"))))
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/tuffy/bitstream-io")
-    (synopsis
-      "Library for reading/writing un-aligned values from/to streams in big-endian and little-endian formats.")
+    (home-page "https://github.com/tuffy/bitstream-io")
+    (synopsis "Read/write un-aligned values from big or little-endian streams")
     (description
-      "Library for reading/writing un-aligned values from/to streams in big-endian and little-endian formats.")
+     "This package is a library for reading/writing un-aligned values from/to
+streams in big-endian and little-endian formats.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-bitstream-io-0.8
+  (package
+    (inherit rust-bitstream-io-1)
+    (name "rust-bitstream-io")
+    (version "0.8.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bitstream-io" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "00a6wy54s1dmadm5xz8k2cbsd7ixvm48mlc45bk0fdy0pbra6jk1"))))
+    (arguments `(#:skip-build? #t))))
+
 (define-public rust-bitvec-0.19
   (package
     (name "rust-bitvec")
@@ -4599,6 +4887,24 @@ extension of blocks.")
         ("rust-byteorder" ,rust-byteorder-1)
         ("rust-generic-array" ,rust-generic-array-0.12))))))
 
+(define-public rust-block-buffer-0.3
+  (package
+    (inherit rust-block-buffer-0.9)
+    (name "rust-block-buffer")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "block-buffer" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1axki8f4rhnxvk6hlli4i53sgmi7c15ffryrv4757nzcp6cc4xm0"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-arrayref" ,rust-arrayref-0.3)
+        ("rust-byte-tools" ,rust-byte-tools-0.2))))))
+
 (define-public rust-block-buffer-0.2
   (package
     (inherit rust-block-buffer-0.9)
@@ -5473,20 +5779,18 @@ little-endian.")
   (package
     (inherit rust-bytes-0.6)
     (name "rust-bytes")
-    (version "0.5.4")
+    (version "0.5.6")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytes" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1q9r7si1l8vndg4n2ny2nv833ghp5vyqzk5indb9rmhd5ibaq2hk"))))
+        (base32 "0f5s7xq6qzmdh22ygsy8v0sp02m51y0radvq4i4y8cizy1lfqk0f"))))
     (arguments
-     `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1))
-       #:cargo-development-inputs
-       (("rust-loom" ,rust-loom-0.2)
-        ("rust-serde-test" ,rust-serde-test-1))))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1))))))
 
 (define-public rust-bytes-0.4
   (package/inherit rust-bytes-0.5
@@ -5730,6 +6034,36 @@ cached data.")
 directories and @code{CACHEDIR.TAG} files.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-calamine-0.16
+  (package
+    (name "rust-calamine")
+    (version "0.16.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "calamine" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "03nl0n79rbq5x0crgg59brxr86hc9k5kjbf3h7d5c8g5mzlkxf9n"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-chrono" ,rust-chrono-0.4)
+        ("rust-codepage" ,rust-codepage-0.1)
+        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-quick-xml" ,rust-quick-xml-0.19)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-zip" ,rust-zip-0.5))))
+    (home-page "https://github.com/tafia/calamine")
+    (synopsis "Reader and deserializer for spreadsheet files")
+    (description
+     "@code{calamine} is a pure Rust library to read and deserialize any
+spreadsheet file.")
+    (license license:expat)))
+
 (define-public rust-calloop-0.6
   (package
     (name "rust-calloop")
@@ -6556,28 +6890,47 @@ Command Line Argument Parser.")
 colorization.")
     (license license:expat)))
 
-(define-public rust-clipboard-win-3
+(define-public rust-clipboard-win-4
   (package
     (name "rust-clipboard-win")
-    (version "3.1.1")
+    (version "4.0.3")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "clipboard-win" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0hh3npqfa1lfn62fwvkmjlpfnizq343a994b898ffsvb100mxpwz"))))
+        (base32 "0bd9gw35zjdh50n2gy6qq2gwpnqfafzwkliqkvm9z046fawwc8si"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-lazy-bytes-cast" ,rust-lazy-bytes-cast-5)
+       (("rust-error-code" ,rust-error-code-2)
+        ("rust-str-buf" ,rust-str-buf-1)
         ("rust-winapi" ,rust-winapi-0.3))))
     (home-page "https://github.com/DoumanAsh/clipboard-win")
     (synopsis "Simple way to interact with Windows clipboard")
     (description
      "This package provides simple way to interact with Windows clipboard.")
-    (license license:expat)))
+    (license license:boost1.0)))
+
+(define-public rust-clipboard-win-3
+  (package
+    (inherit rust-clipboard-win-4)
+    (name "rust-clipboard-win")
+    (version "3.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "clipboard-win" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0hh3npqfa1lfn62fwvkmjlpfnizq343a994b898ffsvb100mxpwz"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-bytes-cast" ,rust-lazy-bytes-cast-5)
+        ("rust-winapi" ,rust-winapi-0.3))))))
 
 (define-public rust-clipboard-win-2
   (package
@@ -6884,6 +7237,29 @@ CMAKE environmental variable is set.")
      "This package provides bindings to Cocoa Foundation for macOS.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-codepage-0.1
+  (package
+    (name "rust-codepage")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "codepage" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1sdxp0f8dy2rscln646326lny9i0jm7ncgyp4yncdwndq0i943lb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-encoding-rs" ,rust-encoding-rs-0.8))))
+    (home-page "https://docs.rs/codepage/")
+    (synopsis "Mapping between Windows code page and @code{encoding_rs}")
+    (description
+     "This package provides mapping between Windows code page numbers and
+@code{encoding_rs} character encodings.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-codespan-reporting-0.11
   (package
     (name "rust-codespan-reporting")
@@ -6943,7 +7319,7 @@ diagnostics easy and relatively painless for everyone!")
 (define-public rust-color-quant-1
   (package
     (name "rust-color-quant")
-    (version "1.0.1")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
@@ -6951,14 +7327,14 @@ diagnostics easy and relatively painless for everyone!")
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "1ga56jrafnjm80903nnqjkyii4bwd6a7visxh0g8hgi6cmrvbfqd"))))
+        (base32 "12q1n427h2bbmmm1mnglr57jaz2dj9apk0plcxw7nwqiai7qjyrx"))))
     (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
     (home-page "https://github.com/PistonDevelopers/color_quant.git")
-    (synopsis
-     "Color quantization library to reduce n colors to 256 colors")
+    (synopsis "Color quantization library to reduce n colors to 256 colors")
     (description
-     "Color quantization library to reduce n colors to 256 colors.")
+     "This package is a color quantization library to reduce n colors to 256
+colors.")
     (license license:expat)))
 
 (define-public rust-colored-1
@@ -7256,20 +7632,21 @@ queue.")
 applications.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-console-0.13
+(define-public rust-console-0.14
   (package
     (name "rust-console")
-    (version "0.13.0")
+    (version "0.14.0")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "console" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "022ai0jbbawngrx396qppwgzk4pk3v2fdwckzamvz6h154jsn2m5"))))
+        (base32 "1ajnr0rga4vya0fza12ighf3ffkm86w1rv8p5wf443s8nd30kj3w"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
+     `(#:skip-build? #t
+       #:cargo-inputs
        (("rust-encode-unicode" ,rust-encode-unicode-0.3)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-libc" ,rust-libc-0.2)
@@ -7284,6 +7661,29 @@ applications.")
      "This package provides a terminal and console abstraction for Rust.")
     (license license:expat)))
 
+(define-public rust-console-0.13
+  (package
+    (inherit rust-console-0.14)
+    (name "rust-console")
+    (version "0.13.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "console" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "022ai0jbbawngrx396qppwgzk4pk3v2fdwckzamvz6h154jsn2m5"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-encode-unicode" ,rust-encode-unicode-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-terminal-size" ,rust-terminal-size-0.1)
+        ("rust-unicode-width" ,rust-unicode-width-0.1)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-winapi-util" ,rust-winapi-util-0.1))))))
+
 (define-public rust-console-0.11
   (package
     (inherit rust-console-0.13)
@@ -8315,8 +8715,35 @@ criterion.")
         ("rust-num-complex" ,rust-num-complex-0.2)
         ("rust-rand" ,rust-rand-0.4))))))
 
+(define-public rust-crossbeam-0.8
+  (package
+    (name "rust-crossbeam")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crossbeam" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "103xnwzkk1zd9kiy6f0f131ap433qfkc757wyrha5bxa7pmsc0gx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-1)
+        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
+        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8)
+        ("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.9)
+        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.3)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8))))
+    (home-page "https://github.com/crossbeam-rs/crossbeam")
+    (synopsis "Tools for concurrent programming in Rust")
+    (description "This package provides tools for concurrent programming.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-crossbeam-0.7
   (package
+    (inherit rust-crossbeam-0.8)
     (name "rust-crossbeam")
     (version "0.7.3")
     (source
@@ -8328,7 +8755,6 @@ criterion.")
        (sha256
         (base32
          "13kzn2d49n2qn5q42y2dj48kyv6aln2d9smq8x9n675l3zzknck9"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-0.1)
@@ -8338,11 +8764,7 @@ criterion.")
         ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.2)
         ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7))
        #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.6))))
-    (home-page "https://github.com/crossbeam-rs/crossbeam")
-    (synopsis "Tools for concurrent programming")
-    (description "Tools for concurrent programming.")
-    (license (list license:expat license:asl2.0))))
+       (("rust-rand" ,rust-rand-0.6))))))
 
 (define-public rust-crossbeam-channel-0.5
   (package
@@ -8559,8 +8981,33 @@ message passing.")
        #:cargo-development-inputs
        (("rust-rand" ,rust-rand-0.6))))))
 
+(define-public rust-crossbeam-queue-0.3
+  (package
+    (name "rust-crossbeam-queue")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crossbeam-queue" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0mk790w2y7cn9zqj6cn1kl8vvgaamlkj6fmpxg1iprdqyp3v6v0g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-1)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8))))
+    (home-page
+     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils")
+    (synopsis "Concurrent queues in Rust")
+    (description
+     "This crate provides concurrent queues that can be shared among threads.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-crossbeam-queue-0.2
   (package
+    (inherit rust-crossbeam-queue-0.3)
     (name "rust-crossbeam-queue")
     (version "0.2.3")
     (source
@@ -8571,22 +9018,13 @@ message passing.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0w15z68nz3ac4f2s4djhwha8vmlwsh9dlfrmsl4x84y2ah5acjvp"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
         ("rust-maybe-uninit" ,rust-maybe-uninit-2))
        #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.6))))
-    (home-page
-     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-queue")
-    (synopsis "Concurrent queues in Rust")
-    (description
-     "This crate provides concurrent queues that can be shared among threads.")
-    (license (list license:expat
-                   license:asl2.0
-                   license:bsd-2))))
+       (("rust-rand" ,rust-rand-0.6))))))
 
 (define-public rust-crossbeam-queue-0.1
   (package
@@ -8962,6 +9400,24 @@ Code} (MAC) algorithms.")
         ("rust-generic-array" ,rust-generic-array-0.12)
         ("rust-subtle" ,rust-subtle-1))))))
 
+(define-public rust-crypto-mac-0.5
+  (package
+    (inherit rust-crypto-mac-0.10)
+    (name "rust-crypto-mac")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crypto-mac" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0n6r10zlnfv9gbjj0380sxfffxhq1khfjqwsn7fx8iil9pzv9689"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-constant-time-eq" ,rust-constant-time-eq-0.1)
+        ("rust-generic-array" ,rust-generic-array-0.9))))))
+
 (define-public rust-crypto-mac-0.4
   (package
     (name "rust-crypto-mac")
@@ -9340,23 +9796,20 @@ Mode functionality is accessed using traits from re-exported cipher crate.")
 (define-public rust-ctrlc-3
   (package
     (name "rust-ctrlc")
-    (version "3.1.3")
+    (version "3.1.7")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ctrlc" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "0zz8ad4bk28s111af5vy1c5kii4zw0cgh87ivzgj28f8nkcd5py7"))))
+        (base32 "027bzbddk0wg7s2wnbgcwx2iv6bjzvxfpp0s2xdg444yfklr4ymm"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-nix" ,rust-nix-0.14)
-        ("rust-winapi" ,rust-winapi-0.3))
-       #:cargo-development-inputs
-       (("rust-winapi" ,rust-winapi-0.3))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-nix" ,rust-nix-0.18)
+        ("rust-winapi" ,rust-winapi-0.3))))
     (home-page "https://github.com/Detegr/rust-ctrlc")
     (synopsis "Easy Ctrl-C handler for Rust projects")
     (description
@@ -10184,6 +10637,31 @@ algorithm which serves to quantify the difference between two colors.")
 Rust.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-derive-arbitrary-0.4
+  (package
+    (name "rust-derive-arbitrary")
+    (version "0.4.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "derive_arbitrary" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1rp0z4k0j5ip0bx6dssg97l4q6bakhf6lm5h1lpr3p3kwjsi585i"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/rust-fuzz/arbitrary")
+    (synopsis "Derives arbitrary traits")
+    (description "This crate implements support for automatically deriving the
+@code{Arbitrary} trait.  Don't depend on this crate directly, though.
+Instead, enable the @code{derive} feature of the @code{arbitrary} crate.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-derive-builder-0.9
   (package
     (name "rust-derive-builder")
@@ -10316,6 +10794,31 @@ for arbitrary structs.")
 error-chain.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-derive-is-enum-variant-0.1
+  (package
+    (name "rust-derive-is-enum-variant")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "derive_is_enum_variant" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "15w18649m4h47pdpr04id0wv8br8bg606zvrafcrfijihicqib6h"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-heck" ,rust-heck-0.3)
+        ("rust-quote" ,rust-quote-0.3)
+        ("rust-syn" ,rust-syn-0.11))))
+    (home-page "https://github.com/fitzgen/derive_is_enum_variant")
+    (synopsis "Automatically derives predicates for enums")
+    (description
+     "This package automatically derives @samp{is_dog} and @samp{is_cat}
+methods for @samp{enum Pet @{ Dog, Cat @}}.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-derive-more-0.99
   (package
     (name "rust-derive-more")
@@ -10728,6 +11231,23 @@ diff.")
        (("rust-blobby" ,rust-blobby-0.1)
         ("rust-generic-array" ,rust-generic-array-0.13))))))
 
+(define-public rust-digest-0.7
+  (package
+    (inherit rust-digest-0.9)
+    (name "rust-digest")
+    (version "0.7.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "digest" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "142vdpvkqlqk9s1dcgpqb2wz76n5a39gjnk68p0zkflc58j75c03"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-generic-array" ,rust-generic-array-0.9))))))
+
 (define-public rust-digest-0.6
   (package
     (name "rust-digest")
@@ -10798,9 +11318,34 @@ Directory guidelines on macOS.")
        (("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-dirs-sys" ,rust-dirs-sys-0.3))))))
 
+(define-public rust-directories-next-2
+  (package
+    (name "rust-directories-next")
+    (version "2.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "directories-next" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1g1vq8d8mv0vp0l317gh9y46ipqg2fxjnbc7lnjhwqbsv4qf37ik"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-1)
+        ("rust-dirs-sys-next" ,rust-dirs-sys-next-0.1))))
+    (home-page "https://github.com/xdg-rs/dirs/tree/master/directories")
+    (synopsis "Mid-level library for standard locations of data directories")
+    (description
+     "This package provides a tiny mid-level library that provides
+platform-specific standard locations of directories for config, cache and
+other data.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-directories-next-1
   (package
-    (inherit rust-directories-3)
+    (inherit rust-directories-next-2)
     (name "rust-directories-next")
     (version "1.0.3")
     (source
@@ -10817,8 +11362,7 @@ Directory guidelines on macOS.")
        (("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-dirs-sys" ,rust-dirs-sys-next-0.1))
        #:cargo-development-inputs
-       (("rust-bencher" ,rust-bencher-0.1))))
-    (home-page "https://github.com/xdg-rs/dirs/tree/master/directories")))
+       (("rust-bencher" ,rust-bencher-0.1))))))
 
 (define-public rust-dirs-3
   (package
@@ -10879,9 +11423,34 @@ standard locations of directories for config, cache and other data.")
         ("rust-redox-users" ,rust-redox-users-0.3)
         ("rust-winapi" ,rust-winapi-0.3))))))
 
+(define-public rust-dirs-next-2
+  (package
+    (name "rust-dirs-next")
+    (version "2.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "dirs-next" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1q9kr151h9681wwp6is18750ssghz6j9j7qm7qi1ngcwy7mzi35r"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-1)
+        ("rust-dirs-sys-next" ,rust-dirs-sys-next-0.1))))
+    (home-page "https://github.com/xdg-rs/dirs")
+    (synopsis "Abstractions for standard locations for various platforms")
+    (description
+     "This package provides a tiny low-level library that provides
+platform-specific standard locations of directories for config, cache and
+other data.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-dirs-next-1
   (package
-    (inherit rust-dirs-1)
+    (inherit rust-dirs-next-2)
     (name "rust-dirs-next")
     (version "1.0.2")
     (source
@@ -11349,6 +11918,33 @@ floating-point primitives to an @code{io::Write}.")
      "Serialize float number and truncate to certain precision in Rust.")
     (license license:mpl2.0)))
 
+(define-public rust-dtparse-1
+  (package
+    (name "rust-dtparse")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "dtparse" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1xh9hasfffnfyv8q9pwr31g63rigfx114qz6xw05wdkzpmfnq9qk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-chrono" ,rust-chrono-0.4)
+        ("rust-chrono-tz" ,rust-chrono-tz-0.5)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-rust-decimal" ,rust-rust-decimal-0.10))))
+    (home-page "https://github.com/bspeice/dtparse.git")
+    (synopsis "Dateutil-compatible timestamp parser for Rust")
+    (description
+     "This package provides a @code{dateutil}-compatible timestamp parser for
+Rust.")
+    (license license:asl2.0)))
+
 (define-public rust-duct-0.13
   (package
     (name "rust-duct")
@@ -11380,6 +11976,29 @@ floating-point primitives to an @code{io::Write}.")
      "A library for running child processes.")
     (license license:expat)))
 
+(define-public rust-dunce-1
+  (package
+    (name "rust-dunce")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "dunce" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1d7f7wg83i1by16rxc1fdipi872nvkzjnmzaaggh2h8cgi51qr5j"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://gitlab.com/kornelski/dunce")
+    (synopsis "Normalize Windows paths to the most compatible format")
+    (description
+     "This crate converts Windows UNC paths to the MS-DOS-compatible format
+whenever possible, but leaves UNC paths as-is when they can't be unambiguously
+expressed in a simpler way.  This allows legacy programs to access all paths
+they can possibly access, and doesn't break any paths for UNC-aware
+programs.")
+    (license license:cc0)))
+
 (define-public rust-dyn-clone-1
   (package
     (name "rust-dyn-clone")
@@ -12398,6 +13017,30 @@ variables.")
      `(#:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3))))))
 
+(define-public rust-error-code-2
+  (package
+    (name "rust-error-code")
+    (version "2.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "error-code" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0lmblmk2kr0cy6x3d1y2ywxg3jg6nicf8fahd3l5wb1ddzv9975l"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-str-buf" ,rust-str-buf-1))))
+    (home-page "")
+    (synopsis "Alternative @code{Error} for Rust")
+    (description
+     "This package provides a simplified @code{Error} which works in
+@code{no_std} environment.")
+    (license license:boost1.0)))
+
 (define-public rust-escargot-0.5
   (package
     (name "rust-escargot")
@@ -12673,6 +13316,20 @@ provides implementations for @code{HashMap} and @code{HashSet}.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-fallible-iterator-0.1
+  (package
+    (inherit rust-fallible-iterator-0.2)
+    (name "rust-fallible-iterator")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fallible-iterator" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0bpp2812lxm9fjv082dsy70ggsfg40nhqva7nxr5dp0j9091fwpb"))))
+    (arguments `(#:skip-build? #t))))
+
 (define-public rust-fallible-streaming-iterator-0.1
   (package
     (name "rust-fallible-streaming-iterator")
@@ -12872,6 +13529,30 @@ supported in purely NFA-based implementations.")
        (("rust-clap" ,rust-clap-2)
         ("rust-tempdir" ,rust-tempdir-0.3))))))
 
+(define-public rust-filesize-0.2
+  (package
+    (name "rust-filesize")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "filesize" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0hvx4dfnara3a2dnhb9ci5bmm1m8s44h9l61s5djwkjx87i43mqj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/Freaky/rust-filesize")
+    (synopsis "Find the physical space used by a file")
+    (description
+     "@code{filesize} abstracts platform-specific methods of determining the
+real space used by files, taking into account filesystem compression and
+sparse files.")
+    (license license:expat)))
+
 (define-public rust-filetime-0.2
   (package
     (name "rust-filetime")
@@ -13685,15 +14366,14 @@ duplication.")
 (define-public rust-fs-extra-1
   (package
     (name "rust-fs-extra")
-    (version "1.1.0")
+    (version "1.2.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "fs_extra" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0x6675wdhsx277k1k1235jwcv38naf20d8kwrk948ds26hh4lajz"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fs_extra" version))
+       (file-name (string-append name "-" version ".crate"))
+       (sha256
+        (base32 "151k6dr35mhq5d8pc8krhw55ajhkyiv0pm14s7zzlc5bc9fp28i0"))))
     (build-system cargo-build-system)
     (arguments '(#:skip-build? #t))
     (home-page "https://github.com/webdesus/fs_extra")
@@ -13923,7 +14603,7 @@ stabilized, and eventually removed.  This library reïnstates these traits.")
 (define-public rust-futures-0.3
   (package
     (name "rust-futures")
-    (version "0.3.8")
+    (version "0.3.12")
     (source
      (origin
        (method url-fetch)
@@ -13932,10 +14612,10 @@ stabilized, and eventually removed.  This library reïnstates these traits.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1l434mh7p5na5c3c7lih575hszqc515r9idk62fm5rhz1820qfwv"))))
+         "0l7i1hcag46k5v34cbn5dk45gwxn5yy5rxcvmbaxhi02lnhm546s"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f
+     `(#:skip-build? #t
        #:cargo-inputs
        (("rust-futures-channel" ,rust-futures-channel-0.3)
         ("rust-futures-core" ,rust-futures-core-0.3)
@@ -13943,16 +14623,12 @@ stabilized, and eventually removed.  This library reïnstates these traits.")
         ("rust-futures-io" ,rust-futures-io-0.3)
         ("rust-futures-sink" ,rust-futures-sink-0.3)
         ("rust-futures-task" ,rust-futures-task-0.3)
-        ("rust-futures-util" ,rust-futures-util-0.3))
-       #:cargo-development-inputs
-       (("rust-assert-matches" ,rust-assert-matches-1)
-        ("rust-pin-utils" ,rust-pin-utils-0.1)
-        ("rust-tokio" ,rust-tokio-0.1))))
-    (home-page "https://rust-lang-nursery.github.io/futures-rs")
+        ("rust-futures-util" ,rust-futures-util-0.3))))
+    (home-page "https://rust-lang.github.io/futures-rs")
     (synopsis "Rust implementation of futures and streams")
     (description
-     "A Rust implementation of futures and streams featuring zero allocations,
-composability, and iterator-like interfaces.")
+     "This package is a Rust implementation of futures and streams featuring
+zero allocations, composability, and iterator-like interfaces.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-futures-0.1
@@ -13979,7 +14655,7 @@ featuring zero allocations, composability, and iterator-like interfaces.")
 (define-public rust-futures-channel-0.3
   (package
     (name "rust-futures-channel")
-    (version "0.3.8")
+    (version "0.3.12")
     (source
      (origin
        (method url-fetch)
@@ -13988,17 +14664,18 @@ featuring zero allocations, composability, and iterator-like interfaces.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0r7y228kkhwx9jj3ny5ppmw2gvw0capm6ig8dzppgqd4g9l0jwab"))))
+         "0ihq3a3yc6ial3sw536q75hrhixq22xk6wn5qzpnxazgqxz1plzj"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f
+     `(#:skip-build? #t
        #:cargo-inputs
        (("rust-futures-core" ,rust-futures-core-0.3)
         ("rust-futures-sink" ,rust-futures-sink-0.3))))
-    (home-page  "https://rust-lang-nursery.github.io/futures-rs")
-    (synopsis "Channels for asynchronous communication using futures-rs")
+    (home-page  "https://rust-lang.github.io/futures-rs")
+    (synopsis "Channels for asynchronous communication using @code{futures-rs}")
     (description
-     "Channels for asynchronous communication using futures-rs.")
+     "This package provides channels for asynchronous communication using
+@code{futures-rs}.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-futures-channel-preview-0.3
@@ -14026,10 +14703,40 @@ featuring zero allocations, composability, and iterator-like interfaces.")
      "Channels for asynchronous communication using futures-rs.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-futures-codec-0.4
+  (package
+    (name "rust-futures-codec")
+    (version "0.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures_codec" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0nzadpxhdxdlnlk2f0gfn0qbifqc3pbnzm10v4z04x8ciczxcm6f"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.5)
+        ("rust-futures" ,rust-futures-0.3)
+        ("rust-memchr" ,rust-memchr-2)
+        ("rust-pin-project" ,rust-pin-project-0.4)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-cbor" ,rust-serde-cbor-0.11)
+        ("rust-serde-json" ,rust-serde-json-1))))
+    (home-page "https://github.com/matthunz/futures-codec")
+    (synopsis
+     "Utilities for encoding and decoding frames using @code{async/await}")
+    (description
+     "This package provides utilities for encoding and decoding frames using
+@code{async/await}.")
+    (license license:expat)))
+
 (define-public rust-futures-core-0.3
   (package
     (name "rust-futures-core")
-    (version "0.3.8")
+    (version "0.3.12")
     (source
      (origin
        (method url-fetch)
@@ -14038,11 +14745,11 @@ featuring zero allocations, composability, and iterator-like interfaces.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0j0pixxv8dmqas1h5cgy92z4r9lpmnlis8ls22v17yrgnwqy2z44"))))
+         "0r8ag0mkxx9cd74yrccjk31lph4gr6lhgb9di6rx39wdvrfi9rbr"))))
     (build-system cargo-build-system)
-    (arguments '(#:tests? #f))
-    (home-page "https://rust-lang-nursery.github.io/futures-rs")
-    (synopsis "Core traits and types in for the `futures` library")
+    (arguments '(#:skip-build? #t))
+    (home-page "https://rust-lang.github.io/futures-rs")
+    (synopsis "Core traits and types in for the @code{futures} library")
     (description "This package provides the core traits and types in for the
 @code{futures} library.")
     (license (list license:expat license:asl2.0))))
@@ -14096,7 +14803,7 @@ the computation on the threads themselves.")
 (define-public rust-futures-executor-0.3
   (package
     (name "rust-futures-executor")
-    (version "0.3.8")
+    (version "0.3.12")
     (source
      (origin
        (method url-fetch)
@@ -14105,17 +14812,18 @@ the computation on the threads themselves.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0r8ayj6g08d1i0hj2v6g5zr3hzlkxpqlkpf1awq0105qd0mjpajc"))))
+         "1ffr1zclhz60ql49n2pj44jhhk22yah41xwlpyb30jws03f9zrg9"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f
+     `(#:skip-build? #t
        #:cargo-inputs
        (("rust-futures-core" ,rust-futures-core-0.3)
         ("rust-futures-task" ,rust-futures-task-0.3)
         ("rust-futures-util" ,rust-futures-util-0.3)
         ("rust-num-cpus" ,rust-num-cpus-1))))
-    (home-page "https://rust-lang-nursery.github.io/futures-rs")
-    (synopsis "Executors for asynchronous tasks based on the futures-rs library")
+    (home-page "https://rust-lang.github.io/futures-rs")
+    (synopsis
+     "Executors for asynchronous tasks based on the @code{futures-rs} library")
     (description
      "This package provides executors for asynchronous tasks based on the
 @code{futures-rs} library.")
@@ -14180,7 +14888,7 @@ intrusive collections.")
 (define-public rust-futures-io-0.3
   (package
     (name "rust-futures-io")
-    (version "0.3.8")
+    (version "0.3.12")
     (source
      (origin
        (method url-fetch)
@@ -14189,14 +14897,16 @@ intrusive collections.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1frh7d0n96lczy22al3bkgwpq0p1agbgax5kqh9vv8da33738631"))))
+         "0005hz30pdxlbdamhd0imixmxcjpwrfxxr27kljxh6i84lshbgi8"))))
     (build-system cargo-build-system)
-    (home-page "https://rust-lang-nursery.github.io/futures-rs")
+    (arguments `(#:skip-build? #t))
+    (home-page "https://rust-lang.github.io/futures-rs")
     (synopsis
-     "`AsyncRead` and `AsyncWrite` traits for the futures-rs library")
+     "@code{AsyncRead} and @code{AsyncWrite} traits for the @code{futures-rs}
+library")
     (description
      "This package provides the @code{AsyncRead} and @code{AsyncWrite} traits
-for the futures-rs library.")
+for the @code{futures-rs} library.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-futures-io-preview-0.3
@@ -14300,27 +15010,27 @@ and removes almost all unsafe code from it.")
 (define-public rust-futures-macro-0.3
   (package
     (name "rust-futures-macro")
-    (version "0.3.8")
+    (version "0.3.12")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-macro" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "0mjmb46zapb59iilsbljpj7l0hq6w19df0f03p3br5qz5xlqlh3p"))))
+        (base32 "1pgyb219ybh3fj3ig0h1c2b7k4cqldy95ifdpnd9yb9jvmdd51y2"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
+     `(#:skip-build? #t
+       #:cargo-inputs
        (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
         ("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))))
-    (home-page "https://rust-lang-nursery.github.io/futures-rs")
-    (synopsis "Futures-rs procedural macro implementations")
+    (home-page "https://rust-lang.github.io/futures-rs")
+    (synopsis "@code{futures-rs} procedural macro implementations")
     (description
-     "This package provides the @code{futures-rs} procedural macro implementations.")
+     "This package provides the @code{futures-rs} procedural macro
+implementations.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-futures-preview-0.3
@@ -14387,7 +15097,7 @@ different @code{Future}s at once and handling the first one to complete.")
 (define-public rust-futures-sink-0.3
   (package
     (name "rust-futures-sink")
-    (version "0.3.8")
+    (version "0.3.12")
     (source
      (origin
        (method url-fetch)
@@ -14396,12 +15106,13 @@ different @code{Future}s at once and handling the first one to complete.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0gfb1z97q861ki6lqsvpgfn3hnm9w3vkrf82dc00xrff95d1jy7q"))))
+         "1mj22d4w6digh7wfp6jkr5fdcl9r138q41fxzm1yg8mx568cdxfa"))))
     (build-system cargo-build-system)
-    (home-page "https://rust-lang-nursery.github.io/futures-rs")
-    (synopsis "Asynchronous `Sink` trait for the futures-rs library")
+    (arguments `(#:skip-build? #t))
+    (home-page "https://rust-lang.github.io/futures-rs")
+    (synopsis "Asynchronous @code{Sink} trait for the @code{futures-rs} library")
     (description "This package provides the asynchronous @code{Sink} trait for
-the futures-rs library.")
+the @code{futures-rs} library.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-futures-sink-preview-0.3
@@ -14431,23 +15142,21 @@ futures-rs library.")
 (define-public rust-futures-task-0.3
   (package
     (name "rust-futures-task")
-    (version "0.3.8")
+    (version "0.3.12")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures-task" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "03ad39v8scy353src2f9dkkvcs24n736iavi8xn45cj8pyslwmbw"))))
+        (base32 "11ldlpl7mis5crys731dj7s7npgigdgrzdm7mi2y86m8ivmhgphk"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f
+     `(#:skip-build? #t
        #:cargo-inputs (("rust-once-cell" ,rust-once-cell-1))))
-    (home-page "https://rust-lang-nursery.github.io/futures-rs")
+    (home-page "https://rust-lang.github.io/futures-rs")
     (synopsis "Tools for working with tasks")
-    (description "Tools for working with tasks.")
+    (description "This package provides tools for working with tasks.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-futures-test-0.3
@@ -14557,7 +15266,7 @@ timeouts and delays with futures.")
 (define-public rust-futures-util-0.3
   (package
     (name "rust-futures-util")
-    (version "0.3.8")
+    (version "0.3.12")
     (source
      (origin
        (method url-fetch)
@@ -14565,11 +15274,10 @@ timeouts and delays with futures.")
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "1lnbhpyrypn9giw6122af0pffxfijfz3zm7phrwzp75rlzscy16k"))))
+        (base32 "0jv25s07igmqavigdfzr02yw6j1q0vg8pw2p2vmgvcx4yb88qak3"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #false
+     `(#:skip-build? #t
        #:cargo-inputs
        (("rust-futures" ,rust-futures-0.1)
         ("rust-futures-channel" ,rust-futures-channel-0.3)
@@ -14579,16 +15287,17 @@ timeouts and delays with futures.")
         ("rust-futures-sink" ,rust-futures-sink-0.3)
         ("rust-futures-task" ,rust-futures-task-0.3)
         ("rust-memchr" ,rust-memchr-2)
-        ("rust-pin-project" ,rust-pin-project-1)
+        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
         ("rust-pin-utils" ,rust-pin-utils-0.1)
         ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
         ("rust-proc-macro-nested" ,rust-proc-macro-nested-0.1)
         ("rust-slab" ,rust-slab-0.4)
         ("rust-tokio-io" ,rust-tokio-io-0.1))))
-    (home-page "https://rust-lang-nursery.github.io/futures-rs")
-    (synopsis "Common utilities and extension traits for the futures-rs library")
+    (home-page "https://rust-lang.github.io/futures-rs")
+    (synopsis
+     "Common utilities and extension traits for the @code{futures-rs} library")
     (description "This package provides common utilities and extension traits
-for the futures-rs library.")
+for the @code{futures-rs} library.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-futures-util-preview-0.3
@@ -14874,6 +15583,24 @@ API library @code{gdi32}.")
         (base32
          "1v5jg7djicq34nbiv1dwaki71gkny002wyy9qfn3y0hfmrs053y6"))))))
 
+(define-public rust-generic-array-0.9
+  (package
+    (inherit rust-generic-array-0.14)
+    (name "rust-generic-array")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "generic-array" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "17avshwh41d1w9p75mw2k6pflmbaj9ra7svxplmhqmv76xlca9gg"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1)
+        ("rust-typenum" ,rust-typenum-1))))))
+
 (define-public rust-generic-array-0.8
   (package
     (inherit rust-generic-array-0.12)
@@ -14919,6 +15646,30 @@ API library @code{gdi32}.")
      "This package provides a package for generating 3D meshes/")
     (license license:asl2.0)))
 
+(define-public rust-geo-0.4
+  (package
+    (name "rust-geo")
+    (version "0.4.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "geo" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "10mvrmi5xgpil6hxl6h3b0w4lvg7mxy04n3388ah0gwhcnc1whh3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-num-traits" ,rust-num-traits-0.1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1))))
+    (home-page "https://github.com/georust/geo")
+    (synopsis "Geospatial primitives and algorithms")
+    (description
+     "This package provides geospatial primitives and algorithms.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-getch-0.2
   (package
     (name "rust-getch")
@@ -15026,6 +15777,32 @@ retrieving random data from system source.")
         ("rust-wasi" ,rust-wasi-0.9)
         ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))))
 
+(define-public rust-getset-0.1
+  (package
+    (name "rust-getset")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "getset" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "016590lxhlqga016z1qnavl0zavk59b97aix2zcd4wad3b02icr4"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro-error" ,rust-proc-macro-error-1)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/Hoverbear/getset")
+    (synopsis "Getters and setters for Rust")
+    (description
+     "This package provides a procedural macro for generating the most basic
+getters and setters on fields.")
+    (license license:expat)))
+
 (define-public rust-gettext-rs-0.5
   (package
     (name "rust-gettext-rs")
@@ -16708,6 +17485,24 @@ Hash-based Message Authentication Code}.")
         ("rust-md-5" ,rust-md-5-0.8)
         ("rust-sha2" ,rust-sha2-0.8))))))
 
+(define-public rust-hmac-0.5
+  (package
+    (inherit rust-hmac-0.8)
+    (name "rust-hmac")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "hmac" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0ppm927wsczkkvybj0y7r2w2lprvy5kf5h31qxyrvnbrhnqbvws4"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crypto-mac" ,rust-crypto-mac-0.5)
+        ("rust-digest" ,rust-digest-0.7))))))
+
 (define-public rust-hmac-0.4
   (package
     (inherit rust-hmac-0.8)
@@ -16876,6 +17671,25 @@ Authentication Code Algoritm (HMAC) for SHA1.")
         ("rust-rustc-test" ,rust-rustc-test-0.3)
         ("rust-typed-arena" ,rust-typed-arena-1))))))
 
+(define-public rust-htmlescape-0.3
+  (package
+    (name "rust-htmlescape")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "htmlescape" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0qria8paf19qy5sgzzk3iiii9fp2j7spbhqf0zjxwrg7v9c500p9"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/veddan/rust-htmlescape")
+    (synopsis "Library for HTML entity encoding and decoding")
+    (description
+     "This package provides a library for HTML entity encoding and decoding.")
+    (license (list license:asl2.0 license:expat license:mpl2.0))))
+
 (define-public rust-http-0.2
   (package
     (name "rust-http")
@@ -16974,6 +17788,41 @@ or response body.")
         ("rust-http" ,rust-http-0.1)
         ("rust-tokio-buf" ,rust-tokio-buf-0.1))))))
 
+(define-public rust-http-client-6
+  (package
+    (name "rust-http-client")
+    (version "6.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "http-client" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "077jw39npmjgm27hij4r825qnxq7lvkmqqlm74llkvll3fvr4001"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-async-h1" ,rust-async-h1-2)
+        ("rust-async-native-tls" ,rust-async-native-tls-0.3)
+        ("rust-async-std" ,rust-async-std-1)
+        ("rust-async-trait" ,rust-async-trait-0.1)
+        ("rust-futures" ,rust-futures-0.3)
+        ("rust-futures-util" ,rust-futures-util-0.3)
+        ("rust-http-types" ,rust-http-types-2)
+        ("rust-hyper" ,rust-hyper-0.13)
+        ("rust-hyper-tls" ,rust-hyper-tls-0.4)
+        ("rust-isahc" ,rust-isahc-0.9)
+        ("rust-js-sys" ,rust-js-sys-0.3)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
+        ("rust-web-sys" ,rust-web-sys-0.3))))
+    (home-page "https://github.com/http-rs/http-client")
+    (synopsis "Types and traits for HTTP clients")
+    (description "This package provides types and traits for HTTP clients.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-http-req-0.5
   (package
     (name "rust-http-req")
@@ -17001,6 +17850,42 @@ or response body.")
      "Simple and lightweight HTTP client with built-in HTTPS support.")
     (license license:expat)))
 
+(define-public rust-http-types-2
+  (package
+    (name "rust-http-types")
+    (version "2.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "http-types" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0p7g2rzgzvnd419a5ddlyb2nz85z9bw7cdkqyl7467cx2fxkwq9j"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-anyhow" ,rust-anyhow-1)
+        ("rust-async-channel" ,rust-async-channel-1)
+        ("rust-async-std" ,rust-async-std-1)
+        ("rust-base64" ,rust-base64-0.13)
+        ("rust-cookie" ,rust-cookie-0.14)
+        ("rust-futures-lite" ,rust-futures-lite-1)
+        ("rust-http" ,rust-http-0.2)
+        ("rust-infer" ,rust-infer-0.2)
+        ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-serde-qs" ,rust-serde-qs-0.7)
+        ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.7)
+        ("rust-url" ,rust-url-2))))
+    (home-page "https://github.com/http-rs/http-types")
+    (synopsis "Common types for HTTP operations.")
+    (description
+     "This package provides common types for HTTP operations.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-httparse-1
   (package
     (name "rust-httparse")
@@ -18455,8 +19340,32 @@ whether or not a given path points to an executable file.")
     (description "Parsing ISO8601 dates using nom.")
     (license license:expat)))
 
+(define-public rust-itertools-0.10
+  (package
+    (name "rust-itertools")
+    (version "0.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "itertools" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "06dkghwi1a6ah2103gibxnr2ys762m5x4rp75x0q43imis8p5m9p"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-either" ,rust-either-1))))
+    (home-page "https://github.com/rust-itertools/itertools")
+    (synopsis "Extra iterator adaptors, methods, free functions, and macros")
+    (description
+     "This package provides extra iterator adaptors, iterator methods, free
+functions, and macros.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-itertools-0.9
   (package
+    (inherit rust-itertools-0.10)
     (name "rust-itertools")
     (version "0.9.0")
     (source
@@ -18468,7 +19377,6 @@ whether or not a given path points to an executable file.")
         (sha256
          (base32
           "0jyml7ygr7kijkcjdl3fk5f34y5h5jsavclim7l13zjiavw1hkr8"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-either" ,rust-either-1))
@@ -18483,14 +19391,7 @@ whether or not a given path points to an executable file.")
            (lambda _
              (substitute* "Cargo.toml"
                (("=0.3.0") "0.3"))
-             #t)))))
-    (home-page
-     "https://github.com/rust-itertools/itertools")
-    (synopsis
-     "Extra iterator adaptors, iterator methods, free functions, and macros")
-    (description
-     "Extra iterator adaptors, iterator methods, free functions, and macros.")
-    (license (list license:expat license:asl2.0))))
+             #t)))))))
 
 (define-public rust-itertools-0.8
   (package
@@ -19672,6 +20573,30 @@ algorithm and related formats (ZLIB, GZIP).")
     (description "This package provides a LZ77 encoder for libflate crate.")
     (license license:expat)))
 
+(define-public rust-libfuzzer-sys-0.3
+  (package
+    (name "rust-libfuzzer-sys")
+    (version "0.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libfuzzer-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1vv42rpvmfr83hlblyrjf8ifilsmc3d5gcznblmghx5jnsj89wgw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-arbitrary" ,rust-arbitrary-0.4)
+        ("rust-cc" ,rust-cc-1))))
+    (home-page "https://github.com/rust-fuzz/libfuzzer")
+    (synopsis "Wrapper around LLVM's libFuzzer runtime")
+    (description
+     "This package provides a wrapper around LLVM's libFuzzer runtime.")
+    (license
+     (list license:expat license:asl2.0 license:ncsa))))
+
 (define-public rust-libgit2-sys-0.12
   (package
     (name "rust-libgit2-sys")
@@ -20733,6 +21658,29 @@ explosion.")
         ("rust-serde-derive" ,rust-serde-derive-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-loop9-0.1
+  (package
+    (name "rust-loop9")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "loop9" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0h4rys8001cdq4l2f30k66wmvscm4lb2laxgpia794p5652800x7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-imgref" ,rust-imgref-1))))
+    (home-page "https://lib.rs/loop9")
+    (synopsis "Helper function to visit every pixel and its neighbors")
+    (description
+     "This package provides a tiny helper function to visit every pixel in the
+image together with its neighboring pixels.")
+    (license license:expat)))
+
 (define-public rust-lopdf-0.25
   (package
     (name "rust-lopdf")
@@ -21778,6 +22726,30 @@ based on Rustls and Ring.")
        (("rust-sema" ,rust-sema-0.1)
         ("rust-winit" ,rust-winit-0.19)))))) ; 0.17?
 
+(define-public rust-meval-0.2
+  (package
+    (name "rust-meval")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "meval" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1ncj0fv9q3b4his7g947fmgkskpfly6dsniw0g6mg38wcnjrd57p"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-fnv" ,rust-fnv-1)
+        ("rust-nom" ,rust-nom-1)
+        ("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/rekka/meval-rs")
+    (synopsis "Simple math expression parser and evaluator")
+    (description
+     "This package provides a simple math expression parser and evaluator.")
+    (license (list license:unlicense license:expat))))
+
 (define-public rust-mimalloc-0.1
   (package
     (name "rust-mimalloc")
@@ -21886,8 +22858,37 @@ file's MIME type by its extension.")
         ("rust-phf-codegen" ,rust-phf-codegen-0.7)
         ("rust-unicase" ,rust-unicase-1))))))
 
+(define-public rust-miniz-oxide-0.4
+  (package
+    (name "rust-miniz-oxide")
+    (version "0.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "miniz_oxide" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "17d1xp29v5xgh4vahxld14w1c1hgh38qmxpv7i18wy096gn2cb8g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-adler" ,rust-adler-0.2)
+        ("rust-autocfg" ,rust-autocfg-1)
+        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+        ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
+        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-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
+     "A pure rust replacement for the miniz DEFLATE/zlib encoder/decoder.  Using
+@code{flate2} with the @code{rust_backend} feature provides an easy to use
+streaming API for miniz_oxide.")
+    (license (list license:expat license:zlib license:asl2.0))))
+
 (define-public rust-miniz-oxide-0.3
   (package
+    (inherit rust-miniz-oxide-0.4)
     (name "rust-miniz-oxide")
     (version "0.3.6")
     (source
@@ -21898,17 +22899,9 @@ file's MIME type by its extension.")
         (sha256
          (base32
           "198n4hfpq0qcxf275l6fpzh7b9cl7ck2xs6pjgpds74bazv9yrxa"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-       #: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
-     "A pure rust replacement for the miniz DEFLATE/zlib encoder/decoder.  Using
-@code{flate2} with the @code{rust_backend} feature provides an easy to use
-streaming API for miniz_oxide.")
-    (license license:expat)))
+       #:cargo-inputs (("rust-adler32" ,rust-adler32-1))))))
 
 (define-public rust-miniz-oxide-0.2
   (package
@@ -22797,6 +23790,29 @@ IO of Windows's named pipes.")
      "This package provides a wrapper over a platform's native TLS implementation.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-native-tls-0.1
+  (package
+    (inherit rust-native-tls-0.2)
+    (name "rust-native-tls")
+    (version "0.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "native-tls" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1h7v80nlskyr7b1gsg4ivlpm6pilj6ybgvcwadj7ips3igfblkgp"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-openssl" ,rust-openssl-0.9)
+        ("rust-schannel" ,rust-schannel-0.1)
+        ("rust-security-framework" ,rust-security-framework-0.1)
+        ("rust-security-framework-sys" ,rust-security-framework-sys-0.1)
+        ("rust-tempdir" ,rust-tempdir-0.3))))))
+
 (define-public rust-natord-1
   (package
     (name "rust-natord")
@@ -23592,29 +24608,42 @@ combinators library.")
       ;; This is an ancient version and all inputs are optional.
      `(#:skip-build? #t))))
 
-(define-public rust-noop-proc-macro-0.2
+(define-public rust-noop-proc-macro-0.3
   (package
     (name "rust-noop-proc-macro")
-    (version "0.2.1")
+    (version "0.3.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "noop_proc_macro" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0in1l0rjxzs4fylb6zad484z1c58jxyzchhc12k0cjrvm0y6zwsz"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "noop_proc_macro" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1j2v1c6ric4w9v12h34jghzmngcwmn0hll1ywly4h6lcm4rbnxh6"))))
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/lu-zero/noop_proc_macro")
-    (synopsis
-      "No-op proc_macro, literally does nothing")
+    (home-page "https://github.com/lu-zero/noop_proc_macro")
+    (synopsis "No-op procedural macro, literally does nothing")
     (description
-      "No-op proc_macro, literally does nothing")
+     "This package provides a no-op procedural macro, which literally does
+nothing.")
     (license license:expat)))
 
+(define-public rust-noop-proc-macro-0.2
+  (package
+    (inherit rust-noop-proc-macro-0.3)
+    (name "rust-noop-proc-macro")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "noop_proc_macro" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0in1l0rjxzs4fylb6zad484z1c58jxyzchhc12k0cjrvm0y6zwsz"))))
+    (arguments `(#:skip-build? #t))))
+
 (define-public rust-normalize-line-endings-0.3
   (package
     (name "rust-normalize-line-endings")
@@ -23860,29 +24889,29 @@ including bigint, complex, rational, range iterators, generic integers, and more
 (define-public rust-num-bigint-0.3
   (package
     (name "rust-num-bigint")
-    (version "0.3.0")
+    (version "0.3.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "num-bigint" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "186glgapg71zicah3wjld3sr5kx6rkcf6rf43gxmjw39wdszrwxp"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num-bigint" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1gq7cpvmzk5jixzr26fbjfayiigzh4p4vyyzbb73yqz4g9s436jy"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-num-integer" ,rust-num-integer-0.1)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-arbitrary" ,rust-arbitrary-0.4)
+        ("rust-autocfg" ,rust-autocfg-1)
+        ("rust-num-integer" ,rust-num-integer-0.1)
         ("rust-num-traits" ,rust-num-traits-0.2)
         ("rust-quickcheck" ,rust-quickcheck-0.9)
         ("rust-rand" ,rust-rand-0.7)
-        ("rust-serde" ,rust-serde-1)
-        ("rust-autocfg" ,rust-autocfg-1))))
+        ("rust-serde" ,rust-serde-1))))
     (home-page "https://github.com/rust-num/num-bigint")
     (synopsis "Big integer implementation for Rust")
     (description
-     "Big integer implementation for Rust.")
+     "This package provides a big integer implementation for Rust.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-num-bigint-0.2
@@ -24347,26 +25376,25 @@ directly.")
 (define-public rust-num-traits-0.2
   (package
     (name "rust-num-traits")
-    (version "0.2.12")
+    (version "0.2.14")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "num-traits" version))
-       (file-name
-        (string-append name "-" version ".crate"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "04fnzwlnn6fcy09jjbi9l7bj5dvg657x5c2sjgwfb3pl0z67n9mc"))))
+        (base32 "144j176s2p76azy2ngk2vkdzgwdc0bc8c93jhki8c9fsbknb2r4s"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
+     `(#:skip-build? #t
+       #:cargo-inputs
        (("rust-autocfg" ,rust-autocfg-1)
         ("rust-libm" ,rust-libm-0.2))))
     (home-page "https://github.com/rust-num/num-traits")
     (synopsis "Numeric traits for generic mathematics")
-    (description "Numeric traits for generic mathematics.")
-    (license (list license:asl2.0
-                   license:expat))))
+    (description "This package provides numeric traits for generic
+mathematics.")
+    (license (list license:asl2.0 license:expat))))
 
 (define-public rust-num-traits-0.1
   (package
@@ -24942,6 +25970,27 @@ the system.")
     (description "OpenSSL bindings.")
     (license license:asl2.0)))
 
+(define-public rust-openssl-0.9
+  (package
+    (inherit rust-openssl-0.10)
+    (name "rust-openssl")
+    (version "0.9.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "openssl" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "11br5b8x1kc5klsn50ihiml82ajyzcwi3lljvrlsm8vlhhlmqq53"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-0.9)
+        ("rust-foreign-types" ,rust-foreign-types-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-openssl-sys" ,rust-openssl-sys-0.9))))))
+
 (define-public rust-openssl-0.7
   (package
     (inherit rust-openssl-0.10)
@@ -25910,8 +26959,28 @@ and would-block I/O operations.")
         ("rust-tokio-core" ,rust-tokio-core-0.1))))
     (license license:bsd-3)))
 
+(define-public rust-paste-1
+  (package
+    (name "rust-paste")
+    (version "1.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "paste" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1hfikh0bds8hqn371l2wf039mp6b5wrmwrwg96jcs6lkjm6mrmn5"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/dtolnay/paste")
+    (synopsis "Macros for all your token pasting needs")
+    (description
+     "This package provides macros for all your token pasting needs.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-paste-0.1
   (package
+    (inherit rust-paste-1)
     (name "rust-paste")
     (version "0.1.18")
     (source
@@ -25923,19 +26992,13 @@ and would-block I/O operations.")
        (sha256
         (base32
          "10587zrlmzhq66yhd0z36fzglf32m1nlhi9bxxm6dgl0gp3j1jj5"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-paste-impl" ,rust-paste-impl-0.1)
         ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))
        #:cargo-development-inputs
        (("rust-rustversion" ,rust-rustversion-1)
-        ("rust-trybuild" ,rust-trybuild-1))))
-    (home-page "https://github.com/dtolnay/paste")
-    (synopsis "Macros for all your token pasting needs")
-    (description
-     "Macros for all your token pasting needs.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-trybuild" ,rust-trybuild-1))))))
 
 (define-public rust-paste-impl-0.1
   (package
@@ -26974,14 +28037,14 @@ crate.")
 (define-public rust-pin-project-lite-0.2
   (package
     (name "rust-pin-project-lite")
-    (version "0.2.0")
+    (version "0.2.4")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pin-project-lite" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "070klqy200alrhxb79fxarrrrn0vbwg95dmqw9062vhqxibky1kb"))))
+        (base32 "09x8chns8apal89pndqdrr0c2nv8jw6nmi8hl38acjbc6sprg5j3"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-development-inputs
@@ -27389,6 +28452,105 @@ overloading without macros in Rust.")
 UDP.")
     (license license:unlicense)))
 
+(define-public rust-postgres-0.15
+  (package
+    (name "rust-postgres")
+    (version "0.15.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "postgres" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1id6jb56jack7kxivpp3rnjjmkmymmxqadf0h0smgbsixy8dwp8i"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-fallible-iterator" ,rust-fallible-iterator-0.1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-native-tls" ,rust-native-tls-0.1)
+        ("rust-openssl" ,rust-openssl-0.9)
+        ("rust-postgres-protocol" ,rust-postgres-protocol-0.3)
+        ("rust-postgres-shared" ,rust-postgres-shared-0.4)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-schannel" ,rust-schannel-0.1)
+        ("rust-security-framework" ,rust-security-framework-0.1)
+        ("rust-socket2" ,rust-socket2-0.3))))
+    (home-page "https://github.com/sfackler/rust-postgres")
+    (synopsis "Native, synchronous PostgreSQL client")
+    (description
+     "This package provides a native, synchronous PostgreSQL client.")
+    (license license:expat)))
+
+(define-public rust-postgres-protocol-0.3
+  (package
+    (name "rust-postgres-protocol")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "postgres-protocol" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "04kkznbhwspfn0hdja3jsv37l6g5gz7a625z8yra325zamjfd1r4"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-base64" ,rust-base64-0.6)
+        ("rust-byteorder" ,rust-byteorder-1)
+        ("rust-bytes" ,rust-bytes-0.4)
+        ("rust-fallible-iterator" ,rust-fallible-iterator-0.1)
+        ("rust-generic-array" ,rust-generic-array-0.9)
+        ("rust-hmac" ,rust-hmac-0.5)
+        ("rust-md5" ,rust-md5-0.3)
+        ("rust-memchr" ,rust-memchr-1)
+        ("rust-rand" ,rust-rand-0.3)
+        ("rust-sha2" ,rust-sha2-0.7)
+        ("rust-stringprep" ,rust-stringprep-0.1))))
+    (home-page "https://github.com/sfackler/rust-postgres")
+    (synopsis "Low level Postgres protocol APIs")
+    (description
+     "This package provides low level Postgres protocol APIs.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-postgres-shared-0.4
+  (package
+    (name "rust-postgres-shared")
+    (version "0.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "postgres-shared" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0vzk1njkqkd2xxz34jnax29z4179ni4j3f534i6416q2w2rkbb7z"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bit-vec" ,rust-bit-vec-0.4)
+        ("rust-chrono" ,rust-chrono-0.4)
+        ("rust-eui48" ,rust-eui48-0.3)
+        ("rust-fallible-iterator" ,rust-fallible-iterator-0.1)
+        ("rust-geo" ,rust-geo-0.4)
+        ("rust-hex" ,rust-hex-0.2)
+        ("rust-phf" ,rust-phf-0.7)
+        ("rust-postgres-protocol" ,rust-postgres-protocol-0.3)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-time" ,rust-time-0.1)
+        ("rust-uuid" ,rust-uuid-0.5))))
+    (home-page "https://github.com/sfackler/rust-postgres")
+    (synopsis
+     "Internal crate used by @code{postgres} and @code{postgres-tokio}")
+    (description
+     "This is an internal crate used by @code{postgres} and
+@code{postgres-tokio}.")
+    (license license:expat)))
+
 (define-public rust-ppv-lite86-0.2
   (package
     (name "rust-ppv-lite86")
@@ -27591,6 +28753,30 @@ functions.")
        (("rust-predicates-core" ,rust-predicates-core-0.9)
         ("rust-treeline" ,rust-treeline-0.1))))))
 
+(define-public rust-pretty-0.5
+  (package
+    (name "rust-pretty")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pretty" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1lzn7d60l79vsdwcfgrh6jmk193nzwh1j36r8p9cv3n8dyghs37n"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-termcolor" ,rust-termcolor-0.3)
+        ("rust-typed-arena" ,rust-typed-arena-1))))
+    (home-page "https://github.com/Marwes/pretty.rs")
+    (synopsis "Pretty printing combinators for Rust")
+    (description
+     "This crate provides functionality for defining pretty printers.  It is
+particularly useful for printing structured recursive data like trees.")
+    (license license:expat)))
+
 (define-public rust-pretty-assertions-0.6
   (package
     (name "rust-pretty-assertions")
@@ -28574,6 +29760,29 @@ compliant email address validation.")
     (description "This package provides a quasi-quoting macro system.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-query-interface-0.3
+  (package
+    (name "rust-query-interface")
+    (version "0.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "query_interface" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "14rn7i6jr8zf3h103jhmivw39429gmkzk4wgns3bpvl4c82g1h3q"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1))))
+    (home-page "https://github.com/Diggsey/query_interface")
+    (synopsis "Dynamically query a type-erased object for any trait implementation")
+    (description
+     "This package dynamically queries a type-erased object for any trait
+implementation.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-quick-error-1
   (package
     (name "rust-quick-error")
@@ -28618,6 +29827,25 @@ to write.")
      "This package provides a high performance XML reader and writer.")
     (license license:expat)))
 
+(define-public rust-quick-xml-0.19
+  (package
+    (inherit rust-quick-xml-0.20)
+    (name "rust-quick-xml")
+    (version "0.19.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quick-xml" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "16qzavgdfdhw325hpyfwmb6wc7msvy01flmn02yqb3s7fxa2vmxk"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-encoding-rs" ,rust-encoding-rs-0.8)
+        ("rust-memchr" ,rust-memchr-2)
+        ("rust-serde" ,rust-serde-1))))))
+
 (define-public rust-quick-xml-0.12
   (package
     (inherit rust-quick-xml-0.20)
@@ -31610,6 +32838,33 @@ password hashing function.")
  Currently the conversion uses the Bitcoin base58 alphabet.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-rust-decimal-0.10
+  (package
+    (name "rust-rust-decimal")
+    (version "0.10.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rust_decimal" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1h80xz88f07ifb4i0mfh9j9p67afiy4xm6xswkk9gnf1spirag59"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-num" ,rust-num-0.2)
+        ("rust-postgres" ,rust-postgres-0.15)
+        ("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/paupino/rust-decimal")
+    (synopsis "Decimal implementation suitable for financial calculations")
+    (description
+     "This package provides a decimal implementation written in pure Rust
+suitable for financial calculations.")
+    (license license:expat)))
+
 (define-public rust-rust-embed-5
   (package
     (name "rust-rust-embed")
@@ -31692,6 +32947,28 @@ the file-system during development.")
     (description "This package provides utilities for @code{rust-embed}.")
     (license license:expat)))
 
+(define-public rust-eml-parser-0.1
+  (package
+    (name "rust-eml-parser")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "eml-parser" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0f82z4ryz4wchr0n99gj20s093ygx8ps0dqq6pr01ljcw8a0vqyr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-regex" ,rust-regex-1))))
+    (home-page "https://github.com/aeshirey/EmlParser/")
+    (synopsis "Library for parsing @file{.eml} files")
+    (description
+     "This package provides a library for parsing @file{.eml} files.")
+    (license license:asl2.0)))
+
 (define-public rust-rust-hawktracer-0.7
   (package
     (name "rust-rust-hawktracer")
@@ -32421,8 +33698,32 @@ require unstable language features.")
      "small helper to generate version information for git packages")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustc-version-0.3
+  (package
+    (name "rust-rustc-version")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustc_version" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1vjmw7xcdri0spsf24mkpwpph853wrbqppihhw061i2igh4f5pzh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-semver" ,rust-semver-0.11))))
+    (home-page "https://github.com/Kimundi/rustc-version-rs")
+    (synopsis "Library for querying the version of an installed rustc compiler")
+    (description
+     "This package provides a library for querying the version of an installed
+rustc compiler.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-rustc-version-0.2
   (package
+    (inherit rust-rustc-version-0.3)
     (name "rust-rustc-version")
     (version "0.2.3")
     (source
@@ -32434,17 +33735,9 @@ require unstable language features.")
        (sha256
         (base32
          "02h3x57lcr8l2pm0a645s9whdh33pn5cnrwvn5cb57vcrc53x3hk"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-       #:cargo-inputs (("rust-semver" ,rust-semver-0.9))))
-    (home-page "https://github.com/Kimundi/rustc-version-rs")
-    (synopsis
-     "Library for querying the version of a installed rustc compiler")
-    (description
-     "This package provides a library for querying the version of a installed
-rustc compiler.")
-    (license (list license:expat license:asl2.0))))
+       #:cargo-inputs (("rust-semver" ,rust-semver-0.9))))))
 
 (define-public rust-rustdoc-stripper-0.1
   (package
@@ -32502,8 +33795,37 @@ rustc compiler.")
      "Automatically apply the suggestions made by rustc.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustls-0.19
+  (package
+    (name "rust-rustls")
+    (version "0.19.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustls" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "02wqas2pcxk75s9l9c9f1r5am7258bmqprh68pnqfvkwz0gx4kq6"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-ring" ,rust-ring-0.16)
+        ("rust-sct" ,rust-sct-0.6)
+        ("rust-webpki" ,rust-webpki-0.21))))
+    (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.18
   (package
+    (inherit rust-rustls-0.19)
     (name "rust-rustls")
     (version "0.18.1")
     (source
@@ -32515,7 +33837,6 @@ rustc compiler.")
        (sha256
         (base32
          "108cf3bfw5high066shz9xrfv4jz7djdmnwqs3kwx4wfypf2c4ax"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-base64" ,rust-base64-0.12)
@@ -32527,13 +33848,7 @@ rustc compiler.")
        (("rust-criterion" ,rust-criterion-0.3)
         ("rust-env-logger" ,rust-env-logger-0.7)
         ("rust-log" ,rust-log-0.4)
-        ("rust-webpki-roots" ,rust-webpki-roots-0.20))))
-    (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))))
+        ("rust-webpki-roots" ,rust-webpki-roots-0.20))))))
 
 (define-public rust-rustls-0.17
   (package
@@ -33041,6 +34356,20 @@ client (S3RS).")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-safemem-0.2
+  (package
+    (inherit rust-safemem-0.3)
+    (name "rust-safemem")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "safemem" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "13rx2vl5bqc7x4xpfc0can3a39f3bhgqg3l112lsxxrmp0cqnyp2"))))
+    (arguments `(#:skip-build? #t))))
+
 (define-public rust-same-file-1
   (package
     (name "rust-same-file")
@@ -35442,6 +36771,27 @@ function family including SHA-224, SHA-256, SHA-384, and SHA-512.")
        (("rust-digest" ,rust-digest-0.8)
         ("rust-hex-literal" ,rust-hex-literal-0.1))))))
 
+(define-public rust-sha2-0.7
+  (package
+    (inherit rust-sha2-0.9)
+    (name "rust-sha2")
+    (version "0.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sha2" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "183yhkj16i7yzdp8i7aavpy329vz5xrd502233bq8fn2whjbxdly"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-block-buffer" ,rust-block-buffer-0.3)
+        ("rust-byte-tools" ,rust-byte-tools-0.2)
+        ("rust-digest" ,rust-digest-0.7)
+        ("rust-fake-simd" ,rust-fake-simd-0.1)
+        ("rust-sha2-asm" ,rust-sha2-asm-0.5))))))
+
 (define-public rust-sha2-0.6
   (package
     (inherit rust-sha2-0.9)
@@ -35685,6 +37035,32 @@ shell.")
        (sha256
         (base32 "0jnrw3f174974fsi2hg48l0klpy24767ib28w0xcvi2ll5axxb1r"))))))
 
+(define-public rust-shellexpand-2
+  (package
+    (name "rust-shellexpand")
+    (version "2.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "shellexpand" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0a981ynym0hipnvkd93ihszdszjqs0cslj5ilzsdv19d3f1vggc3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-dirs-next" ,rust-dirs-next-2))))
+    (home-page "https://github.com/netvl/shellexpand")
+    (synopsis "Shell-like expansions in strings")
+    (description
+     "@code{shellexpand} is a single dependency library which allows one to
+perform shell-like expansions in strings, that is, to expand variables like
+@samp{$A} or @samp{$@{B@}} into their values inside some context and to expand
+@samp{~} in the beginning of a string into the home directory (again, inside
+some context).")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-shlex-0.1
   (package
     (name "rust-shlex")
@@ -35705,8 +37081,32 @@ words, like Python's shlex.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-signal-hook-0.3
+  (package
+    (name "rust-signal-hook")
+    (version "0.3.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "signal-hook" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0h628smm9y22qi3szpkg3xpj31hyvs4ps29nf8cnfvy6w0zmw3vq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cc" ,rust-cc-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1))))
+    (home-page "https://github.com/vorner/signal-hook")
+    (synopsis "Unix signal handling")
+    (description "This package provides Unix signal handling.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-signal-hook-0.1
   (package
+    (inherit rust-signal-hook-0.3)
     (name "rust-signal-hook")
     (version "0.1.16")
     (source
@@ -35718,25 +37118,46 @@ words, like Python's shlex.")
        (sha256
         (base32
          "1v85mgs4dbgw0765b9nx0jd8lamv55425aawjbhxz6cb870hhib0"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-futures" ,rust-futures-0.1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-mio" ,rust-mio-0.7)
         ("rust-mio-uds" ,rust-mio-uds-0.6)
-        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
+        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1.2)
         ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
        #:cargo-development-inputs
        (("rust-tokio" ,rust-tokio-0.1)
-        ("rust-version-sync" ,rust-version-sync-0.8))))
+        ("rust-version-sync" ,rust-version-sync-0.8))))))
+
+(define-public rust-signal-hook-registry-1
+  (package
+    (name "rust-signal-hook-registry")
+    (version "1.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "signal-hook-registry" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "19hirq0h33jjyh505s8hf9q5dq0ky80ygivkl3vshjv0y7zd1w8n"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))))
     (home-page "https://github.com/vorner/signal-hook")
-    (synopsis "Unix signal handling")
-    (description "Unix signal handling.")
+    (synopsis "Backend crate for signal-hook")
+    (description "This package is a backend crate for @code{signal-hook}.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-signal-hook-registry-1
+;; XXX: This package is needed for `rust-signal-hook-0.1', where "Cargo.toml"
+;; contains "~1.2".
+(define-public rust-signal-hook-registry-1.2
   (package
+    (inherit rust-signal-hook-registry-1)
     (name "rust-signal-hook-registry")
     (version "1.2.0")
     (source
@@ -35748,18 +37169,13 @@ words, like Python's shlex.")
        (sha256
         (base32
          "0haz828bif1lbp3alx17zkcy5hwy15bbpmvks72j8iznx7npix4l"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-arc-swap" ,rust-arc-swap-0.4)
         ("rust-libc" ,rust-libc-0.2))
        #:cargo-development-inputs
        (("rust-signal-hook" ,rust-signal-hook-0.1)
-        ("rust-version-sync" ,rust-version-sync-0.8))))
-    (home-page "https://github.com/vorner/signal-hook")
-    (synopsis "Backend crate for signal-hook")
-    (description "Backend crate for signal-hook.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-version-sync" ,rust-version-sync-0.8))))))
 
 (define-public rust-signature-1
   (package
@@ -36491,6 +37907,31 @@ stack.")
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))))
 
+(define-public rust-smart-default-0.6
+  (package
+    (name "rust-smart-default")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "smart-default" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1xnvxz9wilj4d5b8kg4wbs0yk48wm41fnwkmn3p6wi9rafhmjdhk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/idanarye/rust-smart-default")
+    (synopsis "Custom-derive macro for Default with more control on the fields")
+    (description
+     "This package provides a custom-derive macro for Default with more
+control on the fields.")
+    (license license:expat)))
+
 (define-public rust-smol-0.1
   (package
     (name "rust-smol")
@@ -37236,6 +38677,27 @@ longform text (e.g., ESC becomes @code{r\x1B}) and tries to encode ill-formed
 UTF-8.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-str-buf-1
+  (package
+    (name "rust-str-buf")
+    (version "1.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "str-buf" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0shprf95kywspn4vbn706n8kvh6n473c5sffmdbsz77zni1kcjnl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/DoumanAsh/str-buf")
+    (synopsis "Static string buffer")
+    (description "This package provides a static string buffer.")
+    (license license:boost1.0)))
+
 (define-public rust-stream-cipher-0.4
   (package
     (name "rust-stream-cipher")
@@ -37446,6 +38908,30 @@ developed as part of the Servo project.")
      "Code share between string_cache and string_cache_codegen.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-stringprep-0.1
+  (package
+    (name "rust-stringprep")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stringprep" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1hd1x7s8fnzqwz5fm2pq0jh10n024zvwnldmykzm8x5qfk5liqwf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-unicode-bidi" ,rust-unicode-bidi-0.3)
+        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))
+    (home-page "https://github.com/sfackler/rust-stringprep")
+    (synopsis "Implementation of the ``stringprep'' algorithm")
+    (description
+     "This package provides an implementation of the ``stringprep'' algorithm
+as defined in RFC 3454.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-strip-ansi-escapes-0.1
   (package
     (name "rust-strip-ansi-escapes")
@@ -37724,8 +39210,45 @@ cryptographic implementations.")
         (base32
          "1vm80mxbwfj334izwm8x8l65v1xl9hr0kwrg36r1rq565fkaarrd"))))))
 
+(define-public rust-surf-2
+  (package
+    (name "rust-surf")
+    (version "2.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "surf" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1sl2d1ka01qz3qh4m2l5f2fjs0lhsmvdwl29f3pqzqbgv63wg2bi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-async-std" ,rust-async-std-1)
+        ("rust-async-trait" ,rust-async-trait-0.1)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+        ("rust-futures-util" ,rust-futures-util-0.3)
+        ("rust-http-client" ,rust-http-client-6)
+        ("rust-http-types" ,rust-http-types-2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-mime-guess" ,rust-mime-guess-2)
+        ("rust-once-cell" ,rust-once-cell-1)
+        ("rust-pin-project-lite" ,rust-pin-project-lite-0.1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-web-sys" ,rust-web-sys-0.3))))
+    (home-page "https://github.com/http-rs/surf")
+    (synopsis "HTTP client framework")
+    (description
+     "Surf is a friendly HTTP client built for casual Rustaceans and veterans
+alike.  It's completely modular, and built directly for @code{async/await}.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-surf-1
   (package
+    (inherit rust-surf-2)
     (name "rust-surf")
     (version "1.0.3")
     (source
@@ -37735,7 +39258,6 @@ cryptographic implementations.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "1kksp41r5w7pwv1bj8pq5cngny24flq4mybxyhbfycx8z04806kl"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -37758,13 +39280,7 @@ cryptographic implementations.")
         ("rust-url" ,rust-url-2)
         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.3)
-        ("rust-web-sys" ,rust-web-sys-0.3))))
-    (home-page "https://github.com/http-rs/surf")
-    (synopsis "HTTP client framework")
-    (description
-     "Surf is a friendly HTTP client built for casual Rustaceans and veterans
-alike.  It's completely modular, and built directly for @code{async/await}. ")
-    (license (list license:expat license:asl2.0))))
+        ("rust-web-sys" ,rust-web-sys-0.3))))))
 
 (define-public rust-sval-0.5
   (package
@@ -39138,21 +40654,19 @@ library.")
 (define-public rust-termcolor-1
   (package
     (name "rust-termcolor")
-    (version "1.1.0")
+    (version "1.1.2")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "termcolor" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0pyp8vc0gx7124y80ixdl6plbfn1yjhw04i875k5fz2dk8lglsxv"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "termcolor" version))
+       (file-name (string-append name "-" version ".crate"))
+       (sha256
+        (base32 "1x65i1ny4m6z1by62ra6wdcrd557p2ysm866x0pg60zby2cxizid"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-winapi-util" ,rust-winapi-util-0.1))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-winapi-util" ,rust-winapi-util-0.1))))
     (home-page "https://github.com/BurntSushi/termcolor")
     (synopsis "Library for writing colored text to a terminal")
     (description "This package provides a simple cross platform library for
@@ -39160,22 +40674,37 @@ writing colored text to a terminal.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-termcolor-0.3
+  (package
+    (inherit rust-termcolor-1)
+    (name "rust-termcolor")
+    (version "0.3.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "termcolor" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "10sg0w2xhwz5zn84xnqrba5mc1jcc9dfa0xg25ph3gs1mmz5ii5d"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-wincolor" ,rust-wincolor-0.1))))))
+
 (define-public rust-terminal-size-0.1
   (package
     (name "rust-terminal-size")
-    (version "0.1.13")
+    (version "0.1.16")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "terminal-size" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "04qy9i0k3qkhl749xk30xga0l7w61rf4bj5zy0r44w3jijgws54s"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "terminal-size" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "01i4zlv8dplx8ps328wl14xv7w1ah0ni6i3g0w1dnd07fpnqrjl6"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f      ; Tests expect access to /dev/stderr
+     `(#:skip-build? #f
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-winapi" ,rust-winapi-0.3))))
@@ -39967,17 +41496,18 @@ Fireball''.")
 (define-public rust-tokio-1
   (package
     (name "rust-tokio")
-    (version "1.0.1")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tokio" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1gd6qc9xvm568kicbkch40kjn5w0q2nsn527gcy80v3baqgj4n6j"))))
+        (base32
+         "0fmfykdp29hjq5264mp6sa4c0wp5mlimbi0dd9mrxsk5qq20s6g8"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #false                  ;FIXME: unresolved import
+     `(#:skip-build? #t
        #:cargo-inputs
        (("rust-autocfg" ,rust-autocfg-1)
         ("rust-bytes" ,rust-bytes-1)
@@ -39991,15 +41521,7 @@ Fireball''.")
         ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
         ("rust-tokio-macros" ,rust-tokio-macros-1)
         ("rust-tracing" ,rust-tracing-0.1)
-        ("rust-winapi" ,rust-winapi-0.3))
-       #:cargo-development-inputs
-       (("rust-async-stream" ,rust-async-stream-0.3)
-        ("rust-futures" ,rust-futures-0.3)
-        ("rust-loom" ,rust-loom-0.4)
-        ("rust-nix" ,rust-nix-0.19)
-        ("rust-proptest" ,rust-proptest-0.10)
-        ("rust-tokio-stream" ,rust-tokio-stream-0.1)
-        ("rust-tokio-test" ,rust-tokio-test-0.4))))
+        ("rust-winapi" ,rust-winapi-0.3))))
     (home-page "https://tokio.rs")
     (synopsis "Event-driven, non-blocking I/O platform")
     (description
@@ -40407,17 +41929,18 @@ futures efficiently")
 (define-public rust-tokio-macros-1
   (package
     (name "rust-tokio-macros")
-    (version "1.0.0")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tokio-macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "150l6wfcqw2rcjaf22qk3z6ca794x0s2c68n5ar18cfafllpsla2"))))
+        (base32
+         "0mys5zm2gcdgc0iq8nqipzn703q26x1bpw59m04shikgacdb3xya"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #false                  ;FIXME: undeclared type `tokio`
+     `(#:skip-build? #t
        #:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
@@ -40771,8 +42294,35 @@ servers.")
      "Event loop that drives Tokio I/O resources.")
     (license license:expat)))
 
+(define-public rust-tokio-rustls-0.22
+  (package
+    (name "rust-tokio-rustls")
+    (version "0.22.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-rustls" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1dp1s2kai081f3fn9gjq92x2lw7lm7iqpcsl02cg2zg5fbg48s5w"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-rustls" ,rust-rustls-0.19)
+        ("rust-tokio" ,rust-tokio-1)
+        ("rust-webpki" ,rust-webpki-0.21))))
+    (home-page "https://github.com/tokio-rs/tls")
+    (synopsis "Asynchronous TLS/SSL streams for Tokio")
+    (description
+     "This package provides asynchronous TLS/SSL streams for Tokio using
+Rustls.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-tokio-rustls-0.14
   (package
+    (inherit rust-tokio-rustls-0.22)
     (name "rust-tokio-rustls")
     (version "0.14.1")
     (source
@@ -40783,7 +42333,6 @@ servers.")
        (sha256
         (base32
          "16l8kx3j7i3jxq36qs3hnmys6cd2zqcixc1n0kf3kymwanr32a71"))))
-    (build-system cargo-build-system)
     (arguments
      `(;; These tests require network access.
        #:cargo-test-flags '("--release" "--" "--skip=tls12" "--skip=modern")
@@ -40797,12 +42346,7 @@ servers.")
        (("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.20))))
-    (home-page "https://github.com/tokio-rs/tls")
-    (synopsis "Asynchronous TLS/SSL streams for Tokio")
-    (description "This package provides asynchronous TLS/SSL streams for Tokio
-using Rustls.")
-    (license (list license:expat license:asl2.0))))
+        ("rust-webpki-roots" ,rust-webpki-roots-0.20))))))
 
 (define-public rust-tokio-rustls-0.13
   (package
@@ -43248,6 +44792,25 @@ panic-free alternative to @code{core::fmt}.")
     (description "This package provides @code{μfmt}'s @code{uWrite} trait.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-umask-1
+  (package
+    (name "rust-umask")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "umask" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0ipyyv82lpy5xpqzmq3ra0d61vsd3bfh6b06c9w8zln41vvznblq"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/Canop/umask")
+    (synopsis "Utility to deal with unix access mode")
+    (description
+     "This package provides an utility to deal with Unix access mode.")
+    (license license:expat)))
+
 (define-public rust-unchecked-index-0.2
   (package
     (name "rust-unchecked-index")
@@ -44150,6 +45713,34 @@ first byte.")
         ("rust-serde" ,rust-serde-1)
         ("rust-sha1" ,rust-sha1-0.2))))))
 
+(define-public rust-v-frame-0.2
+  (package
+    (name "rust-v-frame")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "v_frame" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0xqf7dynsc6fm94jz3hknwi2n4ch1j7wrs0dd333r1ldniw49rf3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-1)
+        ("rust-noop-proc-macro" ,rust-noop-proc-macro-0.3)
+        ("rust-num-derive" ,rust-num-derive-0.3)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
+    (home-page "https://github.com/xiph/rav1e")
+    (synopsis "@code{Video Frame} data structures, part of rav1e")
+    (description
+     "This package provides @code{Video Frame} data structures, as a part of
+rav1e.")
+    (license license:bsd-2)))
+
 (define-public rust-vcpkg-0.2
   (package
     (name "rust-vcpkg")
@@ -45404,6 +46995,28 @@ with webpki.")
      "This package provides a WebIDL Parser.")
     (license license:expat)))
 
+(define-public rust-weezl-0.1
+  (package
+    (name "rust-weezl")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "weezl" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0v16mvdmsicinbhgsm1l7gq1jmcaqrvm22rgn9lrhkhg71wb6cja"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.3))))
+    (home-page "https://github.com/image-rs/lzw.git")
+    (synopsis "Fast LZW compression and decompression")
+    (description
+     "This package provides fast LZW compression and decompression.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-wepoll-sys-3
   (package
     (name "rust-wepoll-sys")
@@ -45778,6 +47391,23 @@ color in a Windows console.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-wincolor-0.1
+  (package
+    (inherit rust-wincolor-1)
+    (name "rust-wincolor")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wincolor" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0rvpvv26a8c4dla5i5hsxlkvjcjjbl0dylhhg4147m54lfcn9c7f"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.3))))))
+
 (define-public rust-win-crypto-ng-0.4
   (package
     (name "rust-win-crypto-ng")
@@ -46410,7 +48040,7 @@ implementation that works everywhere, even WASM!")
 (define-public rust-zip-0.5
   (package
     (name "rust-zip")
-    (version "0.5.6")
+    (version "0.5.9")
     (source
      (origin
        (method url-fetch)
@@ -46419,19 +48049,17 @@ implementation that works everywhere, even WASM!")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0zfv0ascxl8gqqxgjck99kypcb0f67lg2k1a3zwza1w5swl7qa2q"))))
+         "1i9axf7h9l04l1cy14js30svjb6zcira5yj1d4v42b14b93rca6c"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-bzip2" ,rust-bzip2-0.3)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-bzip2" ,rust-bzip2-0.3)
         ("rust-crc32fast" ,rust-crc32fast-1)
         ("rust-flate2" ,rust-flate2-1)
-        ("rust-podio" ,rust-podio-0.1)
-        ("rust-time" ,rust-time-0.1))
-       #:cargo-development-inputs
-       (("rust-bencher" ,rust-bencher-0.1)
-        ("rust-rand" ,rust-rand-0.4)
-        ("rust-walkdir" ,rust-walkdir-1))))
+        ("rust-thiserror" ,rust-thiserror-1)
+        ("rust-time" ,rust-time-0.1))))
     (home-page "https://github.com/mvdnes/zip-rs.git")
     (synopsis
      "Library to support the reading and writing of zip files")